程琦,梁武衛,汪培
(武漢市測繪研究院,湖北 武漢 430022)
地名地址匹配定位是將文字性的描述地址與其空間的地理位置坐標建立起對應關系的過程。地名地址匹配定位按照特定的步驟為地址查找匹配對象,首先要將地址標準化,然后搜索地址匹配參考數據進行分詞,最后根據與地址的接近程度為每個候選位置指定分值,用分值最高的來匹配地址,達到空間定位的目的。
通常來說,地名地址匹配工作分為標準地址數據庫建設和中文分詞算法實現兩個步驟。一是建立標準地址數據庫建設是研究城市地名地址要素分類及描述規則,在此基礎上構建地址標準化模型,依據地址標準化模型來建立標準地址數據庫,同時在數據庫中記錄各類地名地址要素的標準名稱和空間坐標的編碼。二是實現一種適合本地化的地名地址中文分詞算法,將拆分結果與標準地址數據庫地址要素進行匹配,通過將標準化的地址賦予空間坐標信息,完成地址字符串的空間定位,從而實現地名地址匹配。
地名地址信息中的地名數據具有數據量大、覆蓋范圍廣、信息復雜度高的特點。在地名地址匹配過程中,地名庫的字典設計既要考慮區域范圍內地名數據的特征,還要考慮用戶對地名數據的模糊查詢、日常用詞、短語、專用詞匯、地名詞條等均應包含其中。
中文分詞的精確性很大程度上取決于分詞字典的規范程度。目前,用于分詞的傳統字典存在以下不足:一是對于同音字、錯別字、簡稱、舊稱等情況沒有進行更好地糾正;二是僅包含日常用詞、短語、專用詞匯、地名地址信息,未對其精確程度進行分級;三是對于特殊字符沒有考慮更多,導致錯分、漏分等多種情況。因此,針對以上三點問題設計了一套復合字典,包括用于糾錯的標準化字典,用于定位精確度分級的地名字典、用于提取地址準確度標識信息的特殊標識字典等,我們將這一系列不同作用的字典組合而成的字典組稱之為“復合字典”。
復合字典的主要作用有以下四點:使用“通用字典”,拆分出常用詞語;使用“標準化字典”,標準化位置描述;使用帶權重級別的“地名字典”,量化拆分結果;使用“標識字典”,精確標識出門(樓)牌號。
通用字典的目的在于拆分出常用詞語,該字典在拆分與地域性無關的單位名稱時十分有效,如:招商銀行武漢市分行,拆分為“招商銀行/武漢市/分行”,其來源為新華字典。
標準化字典的來源有兩部分:一部分來源于標準地名地址編碼庫中對行政區劃、街路巷、小區、標志性建筑物的標準稱謂,其數據出處一般來源于當地公安機關戶政處或民政部門的地名辦;另一部分來源于社會上對地名的各種叫法和稱呼,如一個地名不同的叫法、簡稱、別名等。標準化字典則是建立兩者之間的關系,將非標準的地名與標準名稱進行對照,其作用是在中文分詞步驟前將待分析的詞進行標準化處理,從而提高地名地址匹配的準確率。
標準化字典的建立主要是在地名地址批量匹配后,對未匹配的大量地址結果逐級進行篩選分析出來的。標準化字典中的對應關系可以是一對一或多對一,例如:我們在實際工作中遇到過土地發證部門的土地坐落中有“轉車樓小區”,工商組織機構代碼中有“轉車樓社區”,其對應的標準名稱應均為“轉車樓一村”。表1顯示了標準化字典的結構:

標準化字典 表1
注:經過30 w條地名地址匹配的實驗結果,使用標準化字典能使匹配準確率提高20%左右。
地名字典包含各級行政區劃、道路、小區、標志性建筑物名稱、各場所、單位名稱等,除了單一的拆分作用外,還根據其精確程度進行逐級排序,取累計權重最大的為精確結果。表2顯示了地名字典的結構:

帶分級權重的地名字典 表2
特殊標識字典主要作用是識別出地址描述中與門(樓)牌號相關的數字和字母。來源于待處理地址的具體描述,包含:號棟門幢座#舍#等。
實際應用的字典根據不同目標源還有很多種,以上只是列出了幾個主要的字典。
選擇了基于字符串匹配的分詞算法作為基本算法。此算法也稱為機械分詞算法,它是按照一定的策略將待分析的漢字串與一個“充分大的”機器詞典中的詞條進行配,若在詞典中找到某個字符串,則匹配成功(識別出一個詞)。按照掃描方向的不同,串匹配分詞方法可以分為正向匹配和逆向匹配;按照不同長度優先匹配的情況,可以分為最大(最長)匹配和最小(最短)匹配。實際過程中設計了一種正向最大匹配方法和逆向最大匹配方法結合的雙向匹配法,以提高分詞的準確性。
首先,選擇了易于實現的、準確率高的基于字符串匹配的分詞算法。其逆向匹配的切分精度略高于正向匹配,遇到的歧義現象也較少。統計結果表明,單純使用正向最大匹配的錯誤率為1/169,單純使用逆向最大匹配的錯誤率為1/245。但這種精度還遠遠不能滿足實際的需要。因此,我們將此分詞作為一種初分手段,利用復合字典和算法特性相匹配,進一步提高切分的準確率。
其次,除了通常的批量匹配、正向反相匹配、單條匹配之外,為了適應地址的復雜性,還增加了豐富的地址標準化處理功能,如繁體簡體轉換、半角全角轉換、漢字和數字轉化等,對匹配條件也可設置選擇,特別是別名處理功能,抗干擾處理功能,多次匹配功能,以這些豐富的手段和方法來提高地址匹配得準確率。流程如圖1所示:

圖1 地名地址逐級定位匹配流程
(1)解決地址描述不規范問題。如“1棟”變為“一棟”、統一增加或去掉“江漢區”等,使之與標準地址庫中的描述一致。解決思路就是設計一個類似WORD里的Replace功能,用規范的描述來代替不規范的描述,并且具有智能擴展功能的選項,將類似的“二棟”、“乙棟”變成所希望的描述“2棟”;建立常見替換詞典庫,把常見的、需要替換的詞匯和對應詞匯建立一個通用詞典,讓程序對常見不規范的描述批量判別和替換(如別名、簡稱等),達到常見問題自動處理,個別問題單獨處理的目的,逐個規范。
(2)解決地址拆分問題。將地址按標準地址庫的描述,拆分成區、街、路、巷、小區、棟、號格式。解決辦法就是:建立可維護(添加、編輯、查找、刪除等)常用拆分詞匯字典,按照其精確度建立包括區、街道、道路、小區、獨棟房屋、標志性樓宇等詞典庫,設計不同類型經典匹配算法和拆分處理步驟,并對其反復鍛煉優化,按照分類處理的原則,逐類拆分。
(3)解決地址匹配問題。將目標地址與標準地址進行關聯。解決辦法就是,建立標準地址庫維護更新模塊,確保標準地址庫的規范描述;根據目標數據的不同特點,按照拆分后的標準地址庫字段結構,由大地址向小地址(按權重進行遞減),逐級匹配。

圖2 地名地址逐級定位匹配層次
目前,武漢市標準地址編碼數據庫覆蓋了武漢市中心城區、兩個開發區及新城區城關鎮,共計63萬余條,能滿足絕大多數行業對武漢地區地址匹配技術的需要。例如,在武漢警用信息數據庫建設過程中,對4大類、33小類警用公共地理信息以及16類業務信息,采用批量匹配的方法進行定位,大大提高了數據采集的效率,縮短了外業數據采集的時間。在武漢市土地證落地項目中針對武漢市10萬余發證土地進行了定位,依據其采集要求,以完成80%左右土地證精確定位。在武漢市“兩實”人口調查應用中,利用算法成功將武漢市800多萬戶籍人口信息進行了定位,由于其效率高、并具有多線程功能,一個月的時間內完成了所有人口的定位工作。在2015年開展的武漢市第一次地理國情普查中利用算法將武漢市5萬余工商登記企業進行了上圖定位,準確率達76%。
經過反復調試和優化,并結合抗干擾、別名、多次匹配等技術,效率和精度得到大幅提升,匹配速度達到200條/分鐘,準確度能達90%以上。目前,通過該算法已完成了100多種業務數據的定位工作,業務數據涉及公安、安全、土地、環保等多個部門,極大地提高了管理對象定位上圖的效率;同時通過相關匹配上圖工作,又大大拓展了地理信息外延,這些數據涉及了房產、機關團體、文教衛生、食宿娛樂、金融保險、工商質監、環保水務和應急危險源等。

圖3 匹配軟件

圖4 匹配上圖效果
今后,匹配算法的發展方向一是在線封裝,通過將算法編寫成JSON、API之類的接口,借助網絡進行在線實時解析,提供在線式服務。二是通過網絡爬蟲技術進行網絡熱詞的自動搜索,通過大數據手段使得更新復合字典,不斷提高匹配效率。三是通過不同行業的信息對比,積累不同行業的分詞信息,不斷豐富分詞字典內容,以提高地名地址匹配的成功率。
[1] 袁園. 標準地址庫系統的設計與實現[J]. 地理空間信息,2009(6).
[2] 宋子輝. 自然語言理解的中文地址匹配算法[J]. 遙感學報,2013(4).
[3] 黃華國. 標準地址模型在PGIS中的研究與應用[J]. 中小企業管理與科技(中旬刊).2014(4).
[4] 錢敏,顧國強,魯明. 用于地址(地理位置) 匹配的關鍵路徑法[J]. 計算機應用與軟件,2012(29).
[5] 馬照亭,李志剛,張偉等. 一種基于地址分詞的自動地理編碼算法[J]. 測繪通報,2011(2).
[6] 范立新,謝曉能,吳飛. 基于過濾的中文多模式近似字符串匹配算法[J]. 計算機工程,2006(20).
[7] 丁小陸,黃炳耀,鮑曉娣. 基于GIS的地名地址管理系統構建[J] . 地理空間信息,2015(4).
[8] 王野,張志文. 沈陽市地名地址數據采集與建庫[J]. 城市勘測,2013(6).