盧盛祺,何施晶,韓景倜(.上海財經大學 信息管理與工程學院,上海 00433;.復旦大學 軟件學院,上海 00433;3.上海市智能信息處理重點實驗室(復旦大學),上海 00433)
基于Apache Lucene的地址匹配技術研究*
盧盛祺1,2,3,何施晶2,韓景倜1
(1.上海財經大學 信息管理與工程學院,上海 200433;
2.復旦大學 軟件學院,上海 200433;3.上海市智能信息處理重點實驗室(復旦大學),上海 200433)
地址匹配技術常常被用于對屬性地址信息快速定位,也是解決目前GIS系統分析能力瓶頸的重要方法。首先分析了中文地址匹配技術應用的現狀以及常用地址匹配方法的優缺點,在此基礎上給出了基于全文檢索技術的地址匹配方法,并使用參考規則進行匹配結果優化,隨后使用實驗證明了方法的準確性。
全文檢索;地址匹配;GIS;Lucene
企業管理以及信息化業務越來越多地依賴于電子地圖[1-2]。國外對空間地址匹配技術的研究已經形成了完善的規范體系,各大地圖提供廠商也形成了標準的工業化組件[3-4]。一些特殊領域也針對地理編碼精度的量化以及評估方法進行了一系列的研究[5-6]。隨著GIS技術在空間分析上的普及,一些研究人員開始探索使用空間要素之間的相關性幫助對地址匹配結果進行糾偏[7]。
中文地址匹配的研究在國內盡管已經有了成熟的應用,但對不規范地址的匹配仍然依賴于數據的預處理,對于模糊地址的查詢還依賴用戶對系統推薦的結果進行二次選擇。
中文地址匹配的難度主要來自城市門牌地址不規范以及中文的語言復雜性。由于國內城市地址編碼規范的缺失,門牌地址的缺、跳、同、錯等問題非常普遍,增加了地址匹配的難度,同時一些糾偏手段也往往也很難達到預期的效果。另外,不同機構所采集的地址門牌數據往往使用不同的描述風格,甚至地址要素的先后順序都存在不同。此外,對同一地點查詢的地址描述也可能使用截然不同的描述方式。對此,一方面需要對門牌地址的標準進行研究[8],另一方面需要對現有城市地址的規則進行研究。
本文針對地址匹配技術中地址庫維護成本高、可拓展性差的問題,給出了基于 Apache Lucene的地址匹配技術,利用搜索引擎技術對空間地址要素進行索引,通過搜索規則進行地址匹配,實現地址庫的自學習并可提高地址匹配的精度。
現有地址匹配技術包括:地址庫預處理(對不規則的地址數據進行一些人工干預的處理使之達到設計所需的格式要求),提高地址分詞精度以及與用戶交互(當用戶輸入的地址得到多個匹配度相似的結果時,通過詢問用戶而得到更為準確的結果)。這些方法需要大量人工干預。常見的中文地址匹配方法有:正則表達式法、關鍵路徑法以及自然語言理解法[9]。
本文針對對中文地址描述模糊、不規范以及使用參照物等特點,提出一種可用于中文地址匹配的思路:首先確定地址的大概方位,然后通過待匹配地址中的參考值進行地址修正。
本文方法的核心是基于Apache Lucene全文檢索工具包[10]的全文檢索:首先對現有地址門牌以及POI等空間地址數據進行分析并建立索引,形成基礎地址索引庫;接下來通過對索引庫的搜索實現初步的地址匹配;最后在此基礎上利用參照物糾偏等方法對匹配結果進行進一步糾正以得到精確的地址空間位置信息。
常見的地址數據有3種:第一種是精確的地址描述,如“上海宛平南路75號”,搜索引擎可以很容易地搜索到相似度最高的結果;第二種是基于參考物的描述,如“肇嘉浜路上7號線地鐵站”,地址匹配通過執行預先制定的“地點+參照物”的規則得到最終的匹配結果;第三種是基于不確定的指路形式,如“上海宛平南路75號向南 50米”,地址匹配引擎按照規則“地點+方向”得到最終的匹配結果。
在設計時定義了3種類型的規則:第一種是預處理規則,對地址文本進行預處理,包含錯別字替換、特殊符號替換以及錯誤描述替換等;第二種是計算以及參考規則,對原地址進行要素拆分提取,比如在地址數據中常見的方向描述、當不清楚具體門牌時的參照物描述以及一些專業領域中的特有對象的內容;第三種是檢索規則,當無法檢索到合適的結果時,引擎需要減少檢索的條件,檢索規則用來判斷舍棄哪些關鍵要素,比如在路名庫中存在的詞不可舍棄、數值要素可以舍棄等。
通過完善規則可以提高匹配精確度,此外可針對特定領域制定特定的規則,通過數據分析以及規則挖取也為地址匹配引擎的自我學習打下了基礎。
本文的地址匹配基本思路包含以下步驟。
(1)詞庫準備。詞庫主要有地址固定名詞庫、興趣點固定詞庫、常用別稱庫以及常見誤稱庫。其中地址固定名詞庫包含城市名、鄉鎮名以及道路名等;興趣點則包括如超市、醫院以及學校等POI數據;常用別稱則是對一些地點約定俗成的非官方叫法或者一地多名的叫法,如新客站、上海火車站都指的是同一地點;而誤稱庫則是在地址描述中一些常見的錯誤描述形式。
(2)地址索引建立。在準備好詞庫的基礎上對門牌地址庫以及POI數據庫進行分詞索引。
(3)匹配規則制定。使用了預設的規則引擎進行匹配規則描述,匹配規則主要用于對已經經過初步篩選的大致范圍進行精確定位的情況,比如方位描述規則“[D]{關鍵字}〈計算符〉(數據提取正則表達式)”可以用于對“路口向東20米”這類數據進行糾偏,參考物規則“[R]{關鍵字}〈空間圖層ID〉”可以對“人民路口東側行道樹”這類數據進行糾偏,還可以通過規則的組合來實現更為復雜的情況。
(4)地址匹配過程。首先對待匹配地址進行規則檢測,如果符合地址匹配規則庫中的規則,則對地址數據進行規則運算,得到匹配規則以及規則計算后的地址文本。之后對地址文本進行分詞,進而使用檢索規則進行檢索條件的構建,并對索引進行搜索。
對于不規范或有問題的地址,往往會出現無法檢索到結果的情況,這時系統將根據制定的縮詞規則對分詞的結果進行篩選,去除權重低的詞匯并重新構建檢索條件進行地址庫檢索。
最終如果成功檢索到結果,則根據先前提取到的規則,系統還將對這個結果進行修正,比如“向東20米”這樣的方向規則,那么地址匹配引擎將在匹配的結果上進行方向距離的計算得到最終的精確結果;而類似“某某路便利店”這類的情況,則可以應用地圖要素參考的規則,使用地圖要素的空間進行分析計算得到更為精確的結果。
在地址信息發生變化或詞庫信息發生變化時,還需要對索引文件進行維護。
地址匹配流程如圖1所示。

圖1 地址匹配流程圖
本文的實驗將分兩部分進行,第一部分驗證對于門牌地址的匹配效果。數據來源主要有兩部分,某企業的用戶信息庫中的地址以及某企業員工外出登記中的地址。第二部分驗證本文地址匹配方法中的參考規則對于實現專業領域的地址精確定位的效果,這部分數據來自某燃氣管理企業的故障報修地址數據。
實驗分別從地址庫中抽取500條地址數據進行匹配,測試庫中的樣本數據事先都進行了空間位置確認,實驗規定匹配得到的空間位置與數據基準位置距離在50米內則視為正確匹配。每部分實驗分別進行3次,結果取平均值,實驗結果表1和表2所示。

表1 門牌地址匹配結果
(1)門牌號數據地址匹配結果分析
從表1可以看到,對門牌地址的匹配成功率,本文的方法與關鍵路徑法相近,且略高于在線地圖的匹配結果,而本文方法的匹配準確率則略高于另外兩項。通過分析,由于匹配的成功率主要取決于分詞的精度以及基準數據庫的質量,在實驗中本文的算法與關鍵路徑法使用的是相同的基準數據庫,因此結果也更加接近。
由于實驗所使用的門牌數據相對比較規范,系統在地址采集時作了較為嚴格的格式驗證,因此幾種方法的匹配準確率相對都比較高,通過數據分析,其中存在的差異主要來源有如下幾點:
①在線地圖在對待“xx路xx路”這類路口數據時并沒有準確定位到路口;
②關鍵路徑法實現的地址匹配工具對于中文表述的門牌號碼沒有做好數據處理,使得在定位時準確性降低了不少;
③在線地圖對于門牌插值的效果在幾種方法中最好。
通過地址匹配的基本概念分析可以發現,這些都不是影響地址匹配效果的關鍵因素,因此,通過門牌號實驗驗證了幾種算法對于規范化的門牌數據都有不錯的定位效果。
(2)特定領域地址匹配結果分析
從表2可以看到,對于像燃氣報修這個特殊領域,本文方法的匹配成功率最高,在線地圖結果略低,而關鍵路徑法相對就比較低了;而匹配的準確率上,本文的方法要遠遠高于其他兩種方法。
經過分析發現,燃氣報修的數據庫中的數據存在著嚴重的描述不規范現象,這使得關鍵路徑這一辦法在這里的應用效果就沒有那么理想,而對于模糊地址的匹配,在線地圖做得相當出色,而本文的方法由于使用了搜索引擎技術,這也使得對不規范地址有著不錯的匹配成功率。
在特定領域地址匹配實驗中,本文方法準確率遠遠高于其他兩種方法的原因主要來自于引擎的規則系統,同門牌號數據地址匹配實驗類似,對于“xx路xx路”這類數據,本文的方法可以準確定位到路口,而在線地圖僅僅能識別“xx路xx路路口”這種形式。而在燃氣報修的數據中,路口這類數據是非常多的,本文通過數據的預處理規則、參考規則以及檢索規則的添加,可以很好地適應如“xx路xx路向東20米”、“xx路xx號附近窨井”等這類數據形式。
本文給出的方法具有減少對地址庫格式的依賴、提高對不規范數據的利用率的優點,它將技術以及人力都集中在對匹配引擎規則的研發和制定上,通過完善和補充匹配規則以及搜索引擎排序規則,可以在使用過程中不斷提高地址匹配引擎的精度。
在未來的研究中,還需要進一步研究通過匹配日志的分析挖掘提供規則自動學習的功能,使得系統可以分析并抽取大量數據中潛在的匹配規則,滿足特定領域特定描述習慣的自適應需求。另外,基于空間位置的參照糾偏計算成為系統潛在的性能瓶頸,因此這方面也是今后研究優化的一個方向。
[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]夏蘭芳,毛煒青,郭功舉.上海城市地理編碼系統應用與研究[J].測繪通報,2012(1):78-80.
[9]張雪英,閭國年,李伯秋,等.基于規則的中文地址要素解析方法[J].地球信息科學學報,2010(1):9-16.
[10]MICHAEL M,ERIK H,OTIS G.Lucene in Action[M]. American:MANNING PUBN,2010.
Research on geocoding based on Apache Lucene
Lu Shengqi1,2,3,He Shijing2,Han Jingti1
(1.School of Information Management and Engineering,Shanghai University of Finance and Economics,Shanghai 200433,China;
2.Software School,Fudan University,Shanghai 200433,China;
3.Shanghai Key Laboratory of Intelligent Information Processing,Fudan University,Shanghai 200433,China)
Geocoding is widely used in accurate positioning of text address,and it′s also an important way to solve the current GIS analysis capacity bottlenecks.The paper discusses the current situation of Chinese geocoding application and the advantages and disadvantages of common geocoding methods.A geocoding method based on full-text retrieval technologies is presented and the geocoding results are optimized by reference rules.The accuracy of the method is proved by experiment.
full-text search;geocoding;GIS;Lucene
TP391
A
1674-7720(2015)18-0073-03
盧盛祺,何施晶,韓景倜.基于Apache Lucene的地址匹配技術研究[J].微型機與應用,2015,34(18):73-75,79.
2015-05-16)
盧盛祺(1978-),男,博士研究生,主要研究方向:電子商務,數據挖掘。
何施晶(1989-),男,碩士,主要研究方向:軟件工程。
韓景倜(1959-),男,博士,教授,主要研究方向:復雜系統,應急管理。
國家自然科學基金( 71271126 ) ;教育部博士點專項科研基金( 20120078110002 )