《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 測試測量 > 設(shè)計應(yīng)用 > 基于Apache Lucene的地址匹配技術(shù)研究
基于Apache Lucene的地址匹配技術(shù)研究
2015年微型機與應(yīng)用第18期
盧盛祺1,2,3,何施晶2,韓景倜1
(1.上海財經(jīng)大學 信息管理與工程學院,上海 200433; 2.復旦大學 軟件學院,上海 200433; 3.上海市智能信息處理重點實驗室(復旦大學),上海 200433)
摘要: 地址匹配技術(shù)常常被用于對屬性地址信息快速定位,也是解決目前GIS系統(tǒng)分析能力瓶頸的重要方法。首先分析了中文地址匹配技術(shù)應(yīng)用的現(xiàn)狀以及常用地址匹配方法的優(yōu)缺點,在此基礎(chǔ)上給出了基于全文檢索技術(shù)的地址匹配方法,并使用參考規(guī)則進行匹配結(jié)果優(yōu)化,隨后使用實驗證明了方法的準確性。
關(guān)鍵詞: 全文檢索 地址匹配 GIS Lucene
Abstract:
Key words :

  摘  要地址匹配技術(shù)常常被用于對屬性地址信息快速定位,也是解決目前GIS系統(tǒng)分析能力瓶頸的重要方法。首先分析了中文地址匹配技術(shù)應(yīng)用的現(xiàn)狀以及常用地址匹配方法的優(yōu)缺點,在此基礎(chǔ)上給出了基于全文檢索技術(shù)的地址匹配方法,并使用參考規(guī)則進行匹配結(jié)果優(yōu)化,隨后使用實驗證明了方法的準確性。

  關(guān)鍵詞: 全文檢索;地址匹配;GIS;Lucene

0 引言

  企業(yè)管理以及信息化業(yè)務(wù)越來越多地依賴于電子地圖[1-2]。國外對空間地址匹配技術(shù)的研究已經(jīng)形成了完善的規(guī)范體系,各大地圖提供廠商也形成了標準的工業(yè)化組件[3-4]。一些特殊領(lǐng)域也針對地理編碼精度的量化以及評估方法進行了一系列的研究[5-6]。隨著GIS技術(shù)在空間分析上的普及,一些研究人員開始探索使用空間要素之間的相關(guān)性幫助對地址匹配結(jié)果進行糾偏[7]。

  中文地址匹配的研究在國內(nèi)盡管已經(jīng)有了成熟的應(yīng)用,但對不規(guī)范地址的匹配仍然依賴于數(shù)據(jù)的預處理,對于模糊地址的查詢還依賴用戶對系統(tǒng)推薦的結(jié)果進行二次選擇。

  中文地址匹配的難度主要來自城市門牌地址不規(guī)范以及中文的語言復雜性。由于國內(nèi)城市地址編碼規(guī)范的缺失,門牌地址的缺、跳、同、錯等問題非常普遍,增加了地址匹配的難度,同時一些糾偏手段也往往也很難達到預期的效果。另外,不同機構(gòu)所采集的地址門牌數(shù)據(jù)往往使用不同的描述風格,甚至地址要素的先后順序都存在不同。此外,對同一地點查詢的地址描述也可能使用截然不同的描述方式。對此,一方面需要對門牌地址的標準進行研究[8],另一方面需要對現(xiàn)有城市地址的規(guī)則進行研究。

  本文針對地址匹配技術(shù)中地址庫維護成本高、可拓展性差的問題,給出了基于Apache Lucene的地址匹配技術(shù),利用搜索引擎技術(shù)對空間地址要素進行索引,通過搜索規(guī)則進行地址匹配,實現(xiàn)地址庫的自學習并可提高地址匹配的精度。

1 常見中文地址匹配技術(shù)比較

  現(xiàn)有地址匹配技術(shù)包括:地址庫預處理(對不規(guī)則的地址數(shù)據(jù)進行一些人工干預的處理使之達到設(shè)計所需的格式要求),提高地址分詞精度以及與用戶交互(當用戶輸入的地址得到多個匹配度相似的結(jié)果時,通過詢問用戶而得到更為準確的結(jié)果)。這些方法需要大量人工干預。常見的中文地址匹配方法有:正則表達式法、關(guān)鍵路徑法以及自然語言理解法[9]。

  本文針對對中文地址描述模糊、不規(guī)范以及使用參照物等特點,提出一種可用于中文地址匹配的思路:首先確定地址的大概方位,然后通過待匹配地址中的參考值進行地址修正。

2 基于全文搜索的地址匹配法

  本文方法的核心是基于Apache Lucene全文檢索工具包[10]的全文檢索:首先對現(xiàn)有地址門牌以及POI等空間地址數(shù)據(jù)進行分析并建立索引,形成基礎(chǔ)地址索引庫;接下來通過對索引庫的搜索實現(xiàn)初步的地址匹配;最后在此基礎(chǔ)上利用參照物糾偏等方法對匹配結(jié)果進行進一步糾正以得到精確的地址空間位置信息。

  常見的地址數(shù)據(jù)有3種:第一種是精確的地址描述,如“上海宛平南路75號”,搜索引擎可以很容易地搜索到相似度最高的結(jié)果;第二種是基于參考物的描述,如“肇嘉浜路上7號線地鐵站”,地址匹配通過執(zhí)行預先制定的“地點+參照物”的規(guī)則得到最終的匹配結(jié)果;第三種是基于不確定的指路形式,如“上海宛平南路75號向南50米”,地址匹配引擎按照規(guī)則“地點+方向”得到最終的匹配結(jié)果。

  在設(shè)計時定義了3種類型的規(guī)則:第一種是預處理規(guī)則,對地址文本進行預處理,包含錯別字替換、特殊符號替換以及錯誤描述替換等;第二種是計算以及參考規(guī)則,對原地址進行要素拆分提取,比如在地址數(shù)據(jù)中常見的方向描述、當不清楚具體門牌時的參照物描述以及一些專業(yè)領(lǐng)域中的特有對象的內(nèi)容;第三種是檢索規(guī)則,當無法檢索到合適的結(jié)果時,引擎需要減少檢索的條件,檢索規(guī)則用來判斷舍棄哪些關(guān)鍵要素,比如在路名庫中存在的詞不可舍棄、數(shù)值要素可以舍棄等。

  通過完善規(guī)則可以提高匹配精確度,此外可針對特定領(lǐng)域制定特定的規(guī)則,通過數(shù)據(jù)分析以及規(guī)則挖取也為地址匹配引擎的自我學習打下了基礎(chǔ)。

  本文的地址匹配基本思路包含以下步驟。

 ?。?)詞庫準備。詞庫主要有地址固定名詞庫、興趣點固定詞庫、常用別稱庫以及常見誤稱庫。其中地址固定名詞庫包含城市名、鄉(xiāng)鎮(zhèn)名以及道路名等;興趣點則包括如超市、醫(yī)院以及學校等POI數(shù)據(jù);常用別稱則是對一些地點約定俗成的非官方叫法或者一地多名的叫法,如新客站、上海火車站都指的是同一地點;而誤稱庫則是在地址描述中一些常見的錯誤描述形式。

 ?。?)地址索引建立。在準備好詞庫的基礎(chǔ)上對門牌地址庫以及POI數(shù)據(jù)庫進行分詞索引。

 ?。?)匹配規(guī)則制定。使用了預設(shè)的規(guī)則引擎進行匹配規(guī)則描述,匹配規(guī)則主要用于對已經(jīng)經(jīng)過初步篩選的大致范圍進行精確定位的情況,比如方位描述規(guī)則“[D]{關(guān)鍵字}<計算符>(數(shù)據(jù)提取正則表達式)”可以用于對“路口向東20米”這類數(shù)據(jù)進行糾偏,參考物規(guī)則“[R]{關(guān)鍵字}<空間圖層ID>”可以對“人民路口東側(cè)行道樹”這類數(shù)據(jù)進行糾偏,還可以通過規(guī)則的組合來實現(xiàn)更為復雜的情況。

 ?。?)地址匹配過程。首先對待匹配地址進行規(guī)則檢測,如果符合地址匹配規(guī)則庫中的規(guī)則,則對地址數(shù)據(jù)進行規(guī)則運算,得到匹配規(guī)則以及規(guī)則計算后的地址文本。之后對地址文本進行分詞,進而使用檢索規(guī)則進行檢索條件的構(gòu)建,并對索引進行搜索。

  對于不規(guī)范或有問題的地址,往往會出現(xiàn)無法檢索到結(jié)果的情況,這時系統(tǒng)將根據(jù)制定的縮詞規(guī)則對分詞的結(jié)果進行篩選,去除權(quán)重低的詞匯并重新構(gòu)建檢索條件進行地址庫檢索。

  最終如果成功檢索到結(jié)果,則根據(jù)先前提取到的規(guī)則,系統(tǒng)還將對這個結(jié)果進行修正,比如“向東20米”這樣的方向規(guī)則,那么地址匹配引擎將在匹配的結(jié)果上進行方向距離的計算得到最終的精確結(jié)果;而類似“某某路便利店”這類的情況,則可以應(yīng)用地圖要素參考的規(guī)則,使用地圖要素的空間進行分析計算得到更為精確的結(jié)果。

  在地址信息發(fā)生變化或詞庫信息發(fā)生變化時,還需要對索引文件進行維護。

  地址匹配流程如圖1所示。

001.jpg

3 實驗結(jié)果與分析

  本文的實驗將分兩部分進行,第一部分驗證對于門牌地址的匹配效果。數(shù)據(jù)來源主要有兩部分,某企業(yè)的用戶信息庫中的地址以及某企業(yè)員工外出登記中的地址。第二部分驗證本文地址匹配方法中的參考規(guī)則對于實現(xiàn)專業(yè)領(lǐng)域的地址精確定位的效果,這部分數(shù)據(jù)來自某燃氣管理企業(yè)的故障報修地址數(shù)據(jù)。

  實驗分別從地址庫中抽取500條地址數(shù)據(jù)進行匹配,測試庫中的樣本數(shù)據(jù)事先都進行了空間位置確認,實驗規(guī)定匹配得到的空間位置與數(shù)據(jù)基準位置距離在50米內(nèi)則視為正確匹配。每部分實驗分別進行3次,結(jié)果取平均值,實驗結(jié)果表1和表2所示。

002.jpg

 ?。?)門牌號數(shù)據(jù)地址匹配結(jié)果分析

  從表1可以看到,對門牌地址的匹配成功率,本文的方法與關(guān)鍵路徑法相近,且略高于在線地圖的匹配結(jié)果,而本文方法的匹配準確率則略高于另外兩項。通過分析,由于匹配的成功率主要取決于分詞的精度以及基準數(shù)據(jù)庫的質(zhì)量,在實驗中本文的算法與關(guān)鍵路徑法使用的是相同的基準數(shù)據(jù)庫,因此結(jié)果也更加接近。

  由于實驗所使用的門牌數(shù)據(jù)相對比較規(guī)范,系統(tǒng)在地址采集時作了較為嚴格的格式驗證,因此幾種方法的匹配準確率相對都比較高,通過數(shù)據(jù)分析,其中存在的差異主要來源有如下幾點:

 ?、僭诰€地圖在對待“xx路xx路”這類路口數(shù)據(jù)時并沒有準確定位到路口;

  ②關(guān)鍵路徑法實現(xiàn)的地址匹配工具對于中文表述的門牌號碼沒有做好數(shù)據(jù)處理,使得在定位時準確性降低了不少;

  ③在線地圖對于門牌插值的效果在幾種方法中最好。

  通過地址匹配的基本概念分析可以發(fā)現(xiàn),這些都不是影響地址匹配效果的關(guān)鍵因素,因此,通過門牌號實驗驗證了幾種算法對于規(guī)范化的門牌數(shù)據(jù)都有不錯的定位效果。

 ?。?)特定領(lǐng)域地址匹配結(jié)果分析

  從表2可以看到,對于像燃氣報修這個特殊領(lǐng)域,本文方法的匹配成功率最高,在線地圖結(jié)果略低,而關(guān)鍵路徑法相對就比較低了;而匹配的準確率上,本文的方法要遠遠高于其他兩種方法。

  經(jīng)過分析發(fā)現(xiàn),燃氣報修的數(shù)據(jù)庫中的數(shù)據(jù)存在著嚴重的描述不規(guī)范現(xiàn)象,這使得關(guān)鍵路徑這一辦法在這里的應(yīng)用效果就沒有那么理想,而對于模糊地址的匹配,在線地圖做得相當出色,而本文的方法由于使用了搜索引擎技術(shù),這也使得對不規(guī)范地址有著不錯的匹配成功率。

  在特定領(lǐng)域地址匹配實驗中,本文方法準確率遠遠高于其他兩種方法的原因主要來自于引擎的規(guī)則系統(tǒng),同門牌號數(shù)據(jù)地址匹配實驗類似,對于“xx路xx路”這類數(shù)據(jù),本文的方法可以準確定位到路口,而在線地圖僅僅能識別“xx路xx路路口”這種形式。而在燃氣報修的數(shù)據(jù)中,路口這類數(shù)據(jù)是非常多的,本文通過數(shù)據(jù)的預處理規(guī)則、參考規(guī)則以及檢索規(guī)則的添加,可以很好地適應(yīng)如“xx路xx路向東20米”、“xx路xx號附近窨井”等這類數(shù)據(jù)形式。

4 結(jié)論

  本文給出的方法具有減少對地址庫格式的依賴、提高對不規(guī)范數(shù)據(jù)的利用率的優(yōu)點,它將技術(shù)以及人力都集中在對匹配引擎規(guī)則的研發(fā)和制定上,通過完善和補充匹配規(guī)則以及搜索引擎排序規(guī)則,可以在使用過程中不斷提高地址匹配引擎的精度。

  在未來的研究中,還需要進一步研究通過匹配日志的分析挖掘提供規(guī)則自動學習的功能,使得系統(tǒng)可以分析并抽取大量數(shù)據(jù)中潛在的匹配規(guī)則,滿足特定領(lǐng)域特定描述習慣的自適應(yīng)需求。另外,基于空間位置的參照糾偏計算成為系統(tǒng)潛在的性能瓶頸,因此這方面也是今后研究優(yōu)化的一個方向。

參考文獻

  [1] WILLIAM J D. Address matching: GIS technology for mapping human activity patterns[J]. Journal of the American Planning Association, 1995,61(2):240-251.

  [2] KWAN M P. How GIS can help address the uncertain geographic context problem in social science research[J]. Annals of GIS,2012,18(4):245-255.

  [3] ROTH A, SCHREIER G. The D-PAF ERS-1 geocoding system[J]. International Journal of Remote Sensing, 1992,13(9):1619-1625.

  [4] JERRY H. R. On the accuracy of TIGER-type geocoded address data in relation to cadastral and census areal units[J]. International Journal of Geographical Information Science,2001,15(5):473-485.

  [5] GEOFFREY M J. A research agenda: does geocoding positional error matter in health GIS studies[J]. Spatial and Spatio-temporal Epidemiology, 2012,3(1):7-16.

  [6] CAYO M R, TALBOT T O. Positional error in automated geocoding of residential addresses[J]. International Journal of Health Geographics,2003,2(1):10.

  [7] TIMOTHY C. H, PAUL A Z. Reference data and geocoding quality: examining completeness and positional accuracy of street geocoded crime incidents[J]. Policing: An International Journal of Police Strategies & Management,2013,36(2):263-294.

  [8] 夏蘭芳,毛煒青,郭功舉.上海城市地理編碼系統(tǒng)應(yīng)用與研究[J].測繪通報,2012(1):78-80.

  [9] 張雪英,閭國年,李伯秋,等.基于規(guī)則的中文地址要素解析方法[J].地球信息科學學報,2010(1):9-16.

  [10] MICHAEL M, ERIK H, OTIS G. Lucene in Action[M]. American: MANNING PUBN, 2010.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。