盧盛祺,何施晶,韓景倜(.上海財經(jīng)大學(xué) 信息管理與工程學(xué)院,上海 00433;.復(fù)旦大學(xué) 軟件學(xué)院,上海 00433;3.上海市智能信息處理重點實驗室(復(fù)旦大學(xué)),上海 00433)
基于Apache Lucene的地址匹配技術(shù)研究*
盧盛祺1,2,3,何施晶2,韓景倜1
(1.上海財經(jīng)大學(xué) 信息管理與工程學(xué)院,上海 200433;
2.復(fù)旦大學(xué) 軟件學(xué)院,上海 200433;3.上海市智能信息處理重點實驗室(復(fù)旦大學(xué)),上海 200433)
地址匹配技術(shù)常常被用于對屬性地址信息快速定位,也是解決目前GIS系統(tǒng)分析能力瓶頸的重要方法。首先分析了中文地址匹配技術(shù)應(yīng)用的現(xiàn)狀以及常用地址匹配方法的優(yōu)缺點,在此基礎(chǔ)上給出了基于全文檢索技術(shù)的地址匹配方法,并使用參考規(guī)則進(jìn)行匹配結(jié)果優(yōu)化,隨后使用實驗證明了方法的準(zhǔn)確性。
全文檢索;地址匹配;GIS;Lucene
企業(yè)管理以及信息化業(yè)務(wù)越來越多地依賴于電子地圖[1-2]。國外對空間地址匹配技術(shù)的研究已經(jīng)形成了完善的規(guī)范體系,各大地圖提供廠商也形成了標(biāo)準(zhǔn)的工業(yè)化組件[3-4]。一些特殊領(lǐng)域也針對地理編碼精度的量化以及評估方法進(jìn)行了一系列的研究[5-6]。隨著GIS技術(shù)在空間分析上的普及,一些研究人員開始探索使用空間要素之間的相關(guān)性幫助對地址匹配結(jié)果進(jìn)行糾偏[7]。
中文地址匹配的研究在國內(nèi)盡管已經(jīng)有了成熟的應(yīng)用,但對不規(guī)范地址的匹配仍然依賴于數(shù)據(jù)的預(yù)處理,對于模糊地址的查詢還依賴用戶對系統(tǒng)推薦的結(jié)果進(jìn)行二次選擇。
中文地址匹配的難度主要來自城市門牌地址不規(guī)范以及中文的語言復(fù)雜性。由于國內(nèi)城市地址編碼規(guī)范的缺失,門牌地址的缺、跳、同、錯等問題非常普遍,增加了地址匹配的難度,同時一些糾偏手段也往往也很難達(dá)到預(yù)期的效果。另外,不同機(jī)構(gòu)所采集的地址門牌數(shù)據(jù)往往使用不同的描述風(fēng)格,甚至地址要素的先后順序都存在不同。此外,對同一地點查詢的地址描述也可能使用截然不同的描述方式。對此,一方面需要對門牌地址的標(biāo)準(zhǔn)進(jìn)行研究[8],另一方面需要對現(xiàn)有城市地址的規(guī)則進(jìn)行研究。
本文針對地址匹配技術(shù)中地址庫維護(hù)成本高、可拓展性差的問題,給出了基于 Apache Lucene的地址匹配技術(shù),利用搜索引擎技術(shù)對空間地址要素進(jìn)行索引,通過搜索規(guī)則進(jìn)行地址匹配,實現(xiàn)地址庫的自學(xué)習(xí)并可提高地址匹配的精度。
現(xiàn)有地址匹配技術(shù)包括:地址庫預(yù)處理(對不規(guī)則的地址數(shù)據(jù)進(jìn)行一些人工干預(yù)的處理使之達(dá)到設(shè)計所需的格式要求),提高地址分詞精度以及與用戶交互(當(dāng)用戶輸入的地址得到多個匹配度相似的結(jié)果時,通過詢問用戶而得到更為準(zhǔn)確的結(jié)果)。這些方法需要大量人工干預(yù)。常見的中文地址匹配方法有:正則表達(dá)式法、關(guān)鍵路徑法以及自然語言理解法[9]。
本文針對對中文地址描述模糊、不規(guī)范以及使用參照物等特點,提出一種可用于中文地址匹配的思路:首先確定地址的大概方位,然后通過待匹配地址中的參考值進(jìn)行地址修正。
本文方法的核心是基于Apache Lucene全文檢索工具包[10]的全文檢索:首先對現(xiàn)有地址門牌以及POI等空間地址數(shù)據(jù)進(jìn)行分析并建立索引,形成基礎(chǔ)地址索引庫;接下來通過對索引庫的搜索實現(xiàn)初步的地址匹配;最后在此基礎(chǔ)上利用參照物糾偏等方法對匹配結(jié)果進(jìn)行進(jìn)一步糾正以得到精確的地址空間位置信息。
常見的地址數(shù)據(jù)有3種:第一種是精確的地址描述,如“上海宛平南路75號”,搜索引擎可以很容易地搜索到相似度最高的結(jié)果;第二種是基于參考物的描述,如“肇嘉浜路上7號線地鐵站”,地址匹配通過執(zhí)行預(yù)先制定的“地點+參照物”的規(guī)則得到最終的匹配結(jié)果;第三種是基于不確定的指路形式,如“上海宛平南路75號向南 50米”,地址匹配引擎按照規(guī)則“地點+方向”得到最終的匹配結(jié)果。
在設(shè)計時定義了3種類型的規(guī)則:第一種是預(yù)處理規(guī)則,對地址文本進(jìn)行預(yù)處理,包含錯別字替換、特殊符號替換以及錯誤描述替換等;第二種是計算以及參考規(guī)則,對原地址進(jìn)行要素拆分提取,比如在地址數(shù)據(jù)中常見的方向描述、當(dāng)不清楚具體門牌時的參照物描述以及一些專業(yè)領(lǐng)域中的特有對象的內(nèi)容;第三種是檢索規(guī)則,當(dāng)無法檢索到合適的結(jié)果時,引擎需要減少檢索的條件,檢索規(guī)則用來判斷舍棄哪些關(guān)鍵要素,比如在路名庫中存在的詞不可舍棄、數(shù)值要素可以舍棄等。
通過完善規(guī)則可以提高匹配精確度,此外可針對特定領(lǐng)域制定特定的規(guī)則,通過數(shù)據(jù)分析以及規(guī)則挖取也為地址匹配引擎的自我學(xué)習(xí)打下了基礎(chǔ)。
本文的地址匹配基本思路包含以下步驟。
(1)詞庫準(zhǔn)備。詞庫主要有地址固定名詞庫、興趣點固定詞庫、常用別稱庫以及常見誤稱庫。其中地址固定名詞庫包含城市名、鄉(xiāng)鎮(zhèn)名以及道路名等;興趣點則包括如超市、醫(yī)院以及學(xué)校等POI數(shù)據(jù);常用別稱則是對一些地點約定俗成的非官方叫法或者一地多名的叫法,如新客站、上?;疖囌径贾傅氖峭坏攸c;而誤稱庫則是在地址描述中一些常見的錯誤描述形式。
(2)地址索引建立。在準(zhǔn)備好詞庫的基礎(chǔ)上對門牌地址庫以及POI數(shù)據(jù)庫進(jìn)行分詞索引。
(3)匹配規(guī)則制定。使用了預(yù)設(shè)的規(guī)則引擎進(jìn)行匹配規(guī)則描述,匹配規(guī)則主要用于對已經(jīng)經(jīng)過初步篩選的大致范圍進(jìn)行精確定位的情況,比如方位描述規(guī)則“[D]{關(guān)鍵字}〈計算符〉(數(shù)據(jù)提取正則表達(dá)式)”可以用于對“路口向東20米”這類數(shù)據(jù)進(jìn)行糾偏,參考物規(guī)則“[R]{關(guān)鍵字}〈空間圖層ID〉”可以對“人民路口東側(cè)行道樹”這類數(shù)據(jù)進(jìn)行糾偏,還可以通過規(guī)則的組合來實現(xiàn)更為復(fù)雜的情況。
(4)地址匹配過程。首先對待匹配地址進(jìn)行規(guī)則檢測,如果符合地址匹配規(guī)則庫中的規(guī)則,則對地址數(shù)據(jù)進(jìn)行規(guī)則運(yùn)算,得到匹配規(guī)則以及規(guī)則計算后的地址文本。之后對地址文本進(jìn)行分詞,進(jìn)而使用檢索規(guī)則進(jìn)行檢索條件的構(gòu)建,并對索引進(jìn)行搜索。
對于不規(guī)范或有問題的地址,往往會出現(xiàn)無法檢索到結(jié)果的情況,這時系統(tǒng)將根據(jù)制定的縮詞規(guī)則對分詞的結(jié)果進(jìn)行篩選,去除權(quán)重低的詞匯并重新構(gòu)建檢索條件進(jìn)行地址庫檢索。
最終如果成功檢索到結(jié)果,則根據(jù)先前提取到的規(guī)則,系統(tǒng)還將對這個結(jié)果進(jìn)行修正,比如“向東20米”這樣的方向規(guī)則,那么地址匹配引擎將在匹配的結(jié)果上進(jìn)行方向距離的計算得到最終的精確結(jié)果;而類似“某某路便利店”這類的情況,則可以應(yīng)用地圖要素參考的規(guī)則,使用地圖要素的空間進(jìn)行分析計算得到更為精確的結(jié)果。
在地址信息發(fā)生變化或詞庫信息發(fā)生變化時,還需要對索引文件進(jìn)行維護(hù)。
地址匹配流程如圖1所示。
圖1 地址匹配流程圖
本文的實驗將分兩部分進(jìn)行,第一部分驗證對于門牌地址的匹配效果。數(shù)據(jù)來源主要有兩部分,某企業(yè)的用戶信息庫中的地址以及某企業(yè)員工外出登記中的地址。第二部分驗證本文地址匹配方法中的參考規(guī)則對于實現(xiàn)專業(yè)領(lǐng)域的地址精確定位的效果,這部分?jǐn)?shù)據(jù)來自某燃?xì)夤芾砥髽I(yè)的故障報修地址數(shù)據(jù)。
實驗分別從地址庫中抽取500條地址數(shù)據(jù)進(jìn)行匹配,測試庫中的樣本數(shù)據(jù)事先都進(jìn)行了空間位置確認(rèn),實驗規(guī)定匹配得到的空間位置與數(shù)據(jù)基準(zhǔn)位置距離在50米內(nèi)則視為正確匹配。每部分實驗分別進(jìn)行3次,結(jié)果取平均值,實驗結(jié)果表1和表2所示。
表1 門牌地址匹配結(jié)果
(1)門牌號數(shù)據(jù)地址匹配結(jié)果分析
從表1可以看到,對門牌地址的匹配成功率,本文的方法與關(guān)鍵路徑法相近,且略高于在線地圖的匹配結(jié)果,而本文方法的匹配準(zhǔn)確率則略高于另外兩項。通過分析,由于匹配的成功率主要取決于分詞的精度以及基準(zhǔn)數(shù)據(jù)庫的質(zhì)量,在實驗中本文的算法與關(guān)鍵路徑法使用的是相同的基準(zhǔn)數(shù)據(jù)庫,因此結(jié)果也更加接近。
由于實驗所使用的門牌數(shù)據(jù)相對比較規(guī)范,系統(tǒng)在地址采集時作了較為嚴(yán)格的格式驗證,因此幾種方法的匹配準(zhǔn)確率相對都比較高,通過數(shù)據(jù)分析,其中存在的差異主要來源有如下幾點:
①在線地圖在對待“xx路xx路”這類路口數(shù)據(jù)時并沒有準(zhǔn)確定位到路口;
②關(guān)鍵路徑法實現(xiàn)的地址匹配工具對于中文表述的門牌號碼沒有做好數(shù)據(jù)處理,使得在定位時準(zhǔn)確性降低了不少;
③在線地圖對于門牌插值的效果在幾種方法中最好。
通過地址匹配的基本概念分析可以發(fā)現(xiàn),這些都不是影響地址匹配效果的關(guān)鍵因素,因此,通過門牌號實驗驗證了幾種算法對于規(guī)范化的門牌數(shù)據(jù)都有不錯的定位效果。
(2)特定領(lǐng)域地址匹配結(jié)果分析
從表2可以看到,對于像燃?xì)鈭笮捱@個特殊領(lǐng)域,本文方法的匹配成功率最高,在線地圖結(jié)果略低,而關(guān)鍵路徑法相對就比較低了;而匹配的準(zhǔn)確率上,本文的方法要遠(yuǎn)遠(yuǎn)高于其他兩種方法。
經(jīng)過分析發(fā)現(xiàn),燃?xì)鈭笮薜臄?shù)據(jù)庫中的數(shù)據(jù)存在著嚴(yán)重的描述不規(guī)范現(xiàn)象,這使得關(guān)鍵路徑這一辦法在這里的應(yīng)用效果就沒有那么理想,而對于模糊地址的匹配,在線地圖做得相當(dāng)出色,而本文的方法由于使用了搜索引擎技術(shù),這也使得對不規(guī)范地址有著不錯的匹配成功率。
在特定領(lǐng)域地址匹配實驗中,本文方法準(zhǔn)確率遠(yuǎn)遠(yuǎn)高于其他兩種方法的原因主要來自于引擎的規(guī)則系統(tǒng),同門牌號數(shù)據(jù)地址匹配實驗類似,對于“xx路xx路”這類數(shù)據(jù),本文的方法可以準(zhǔn)確定位到路口,而在線地圖僅僅能識別“xx路xx路路口”這種形式。而在燃?xì)鈭笮薜臄?shù)據(jù)中,路口這類數(shù)據(jù)是非常多的,本文通過數(shù)據(jù)的預(yù)處理規(guī)則、參考規(guī)則以及檢索規(guī)則的添加,可以很好地適應(yīng)如“xx路xx路向東20米”、“xx路xx號附近窨井”等這類數(shù)據(jù)形式。
本文給出的方法具有減少對地址庫格式的依賴、提高對不規(guī)范數(shù)據(jù)的利用率的優(yōu)點,它將技術(shù)以及人力都集中在對匹配引擎規(guī)則的研發(fā)和制定上,通過完善和補(bǔ)充匹配規(guī)則以及搜索引擎排序規(guī)則,可以在使用過程中不斷提高地址匹配引擎的精度。
在未來的研究中,還需要進(jìn)一步研究通過匹配日志的分析挖掘提供規(guī)則自動學(xué)習(xí)的功能,使得系統(tǒng)可以分析并抽取大量數(shù)據(jù)中潛在的匹配規(guī)則,滿足特定領(lǐng)域特定描述習(xí)慣的自適應(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].地球信息科學(xué)學(xué)報,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,F(xiàn)udan University,Shanghai 200433,China;
3.Shanghai Key Laboratory of Intelligent Information Processing,F(xiàn)udan 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的地址匹配技術(shù)研究[J].微型機(jī)與應(yīng)用,2015,34(18):73-75,79.
2015-05-16)
盧盛祺(1978-),男,博士研究生,主要研究方向:電子商務(wù),數(shù)據(jù)挖掘。
何施晶(1989-),男,碩士,主要研究方向:軟件工程。
韓景倜(1959-),男,博士,教授,主要研究方向:復(fù)雜系統(tǒng),應(yīng)急管理。
國家自然科學(xué)基金( 71271126 ) ;教育部博士點專項科研基金( 20120078110002 )