馬照亭,李志剛,孫 偉,印 潔
(1.中國(guó)測(cè)繪科學(xué)研究院,北京 100830;2.嘉興市規(guī)劃 (測(cè)繪)管理局,浙江嘉興 314000)
一種基于地址分詞的自動(dòng)地理編碼算法
馬照亭1,李志剛2,孫 偉1,印 潔1
(1.中國(guó)測(cè)繪科學(xué)研究院,北京 100830;2.嘉興市規(guī)劃 (測(cè)繪)管理局,浙江嘉興 314000)
針對(duì)我國(guó)多數(shù)城市地名/地址表述的不規(guī)范性,基于可伸縮地址模型提出地理編碼數(shù)據(jù)庫(kù)的構(gòu)建方案,設(shè)計(jì)一種基于地址分詞的自動(dòng)地理編碼算法。首先根據(jù)地理編碼庫(kù)編制地址詞典,利用地址詞典對(duì)地名/地址進(jìn)行地址分詞,形成地址要素及其級(jí)別;然后再對(duì)地址要素及其級(jí)別組合形成查詢條件到地理編碼庫(kù)中進(jìn)行匹配;最后分析影響這種地理編碼算法精準(zhǔn)度的因素,并提出相應(yīng)的改進(jìn)措施。實(shí)踐證明,該算法匹配準(zhǔn)確率高,可以服務(wù)于我國(guó)數(shù)字城市、省區(qū)和國(guó)家級(jí)地理信息化建設(shè)。
地址模型;地理編碼數(shù)據(jù)庫(kù);地址詞典;地址分詞;地址匹配;地理編碼量化
隨著地理信息采集手段的不斷普及和 GIS軟件的不斷成熟,越來(lái)越多的政府部門、公司、企事業(yè)單位基于地理信息構(gòu)建本單位的業(yè)務(wù)應(yīng)用。一些傳統(tǒng)上似乎與地理信息系統(tǒng)關(guān)聯(lián)性較弱的部門或單位,如工商、稅務(wù)、藥監(jiān)、傳媒等,也紛紛提出了借助地理信息管理本部門信息的要求。但是這些部門或單位的專題信息采集時(shí)并不直接具備空間坐標(biāo),只是具有文字描述的地名/地址信息。只有將這些地名 /地址轉(zhuǎn)換成空間坐標(biāo),專題部門才能將專題數(shù)據(jù)與地理信息疊加,才能利用 GIS軟件的可視化和空間分析功能輔助本部門應(yīng)用。這種將地名/地址信息映射成空間坐標(biāo)的過(guò)程就是地理編碼[1]。
發(fā)達(dá)國(guó)家對(duì)地理編碼的研究較為成功,美國(guó)是地理編碼技術(shù)應(yīng)用最早、最廣泛的國(guó)家。20世紀(jì) 70年代美國(guó)就建立了全國(guó)的地理編碼標(biāo)準(zhǔn),并開(kāi)發(fā)了通用的地理編碼軟件工具,20世紀(jì) 90年代后開(kāi)始成功地應(yīng)用于與人口數(shù)據(jù)相關(guān)的全國(guó)人口地址編碼系統(tǒng) (TIGER系統(tǒng)),在歷次全國(guó)人口普查統(tǒng)計(jì)中發(fā)揮了巨大作用[2]。一些著名的國(guó)外 GIS軟件都具有地理編碼模塊,如 Map Info的 MapMarker和ArcGIS的 GeoCoding等,實(shí)現(xiàn)了基本的地址編碼框架和匹配引擎。由于國(guó)情不同,我國(guó)的地名/地址體系異常復(fù)雜,其管理缺少統(tǒng)一的標(biāo)準(zhǔn)和有效的服務(wù)體系,導(dǎo)致國(guó)外的地理編碼技術(shù)和軟件在我國(guó)并不適用[3]。
近年來(lái),我國(guó)在地理編碼方面也作出了大量的努力,不少單位在地址模型、地理編碼標(biāo)準(zhǔn)以及地址匹配技術(shù)方面取得了一些成果。如李軍針對(duì)北京市地址現(xiàn)狀,提出了復(fù)雜層次的地址模型[4];在地理編碼標(biāo)準(zhǔn)方面,國(guó)家測(cè)繪局組織編制了國(guó)家標(biāo)準(zhǔn)《數(shù)字城市地理信息公共平臺(tái)地名/地址分類、描述及編碼規(guī)則》(GB/T 23705—2009),提出了城市內(nèi)部地名 /地址分類、規(guī)范描述及編碼的規(guī)則[5];在地址匹配技術(shù)和軟件方面,文獻(xiàn)提及較多的是早期北京長(zhǎng)地計(jì)算機(jī)公司的“尋址神”和北大方正數(shù)碼公司的“Map Search”軟件,近期并無(wú)成熟軟件問(wèn)世。由于沒(méi)有適合國(guó)內(nèi)應(yīng)用的地址模型,未能建立標(biāo)準(zhǔn)的地理編碼數(shù)據(jù)庫(kù)系統(tǒng),現(xiàn)有地理編碼技術(shù)仍局限于某個(gè)具體的應(yīng)用系統(tǒng),難以推廣應(yīng)用[6]。有些部門在對(duì)本部門信息空間化時(shí),甚至不惜重金將其逐一在地理信息底圖上人工定位,既耗時(shí)又費(fèi)力。
基于地址分詞的自動(dòng)地理編碼是基于地址詞典將地名/地址字符串切分為一組記錄級(jí)別的地址要素或標(biāo)志物通名,然后利用切分到的一個(gè)或多個(gè)地址要素或關(guān)鍵詞組織成查詢條件與規(guī)范的地理編碼庫(kù)進(jìn)行匹配。如果匹配成功,返回地理編碼庫(kù)中相應(yīng)記錄的地理坐標(biāo);否則,根據(jù)需要,返回地名/地址所在道路、社區(qū)或其他行政區(qū)劃的地理坐標(biāo)。匹配完成后,再對(duì)算法的精準(zhǔn)度進(jìn)行效果量化。基于地址分詞的自動(dòng)地理編碼的實(shí)現(xiàn)流程如圖 1所示。
圖 1 算法實(shí)現(xiàn)流程
利用結(jié)構(gòu)化的詞組對(duì)地名/地址進(jìn)行表述和交流即地址模型,它反映了一個(gè)國(guó)家或地區(qū)對(duì)于地名/地址描述的不同方式。國(guó)家標(biāo)準(zhǔn)《數(shù)字城市地理信息公共平臺(tái)地名/地址編碼規(guī)則》(GB/T 23705—2009)中規(guī)定了不同粒度范圍地名 /地址的描述規(guī)則,可以看作是一種在層次上可伸縮的地名 /地址模型:根據(jù)地名 /地址描述粒度的不同描述規(guī)則自動(dòng)伸縮,如圖 2所示。
圖 2 可伸縮的地名 /地址層次模型結(jié)構(gòu)圖
由于一個(gè)城市內(nèi)的道路名和小區(qū)名是唯一的,因此利用“道路名 (小區(qū)名)+門 (樓)牌號(hào)”可以精確定位一個(gè)地址,利用“行政區(qū)劃 +標(biāo)志物名”一般也可以準(zhǔn)確定位一個(gè)地址,而道路名、小區(qū)名、街道名也可以大致定位一個(gè)地址范圍。即當(dāng)存在門(樓 )牌號(hào)時(shí) ,僅使用“道路名 (小區(qū)名 )+門 (樓 )牌號(hào)”來(lái)表述一個(gè)地址;當(dāng)存在標(biāo)志物時(shí),使用“行政區(qū)劃 +標(biāo)志物名”進(jìn)行表述;當(dāng)此表述的標(biāo)志物多于一個(gè)時(shí),對(duì)行政區(qū)劃的粒度進(jìn)行延伸,直至唯一確定此地址。例如,中國(guó)測(cè)繪創(chuàng)新基地的地址是“北京市海淀區(qū)蓮花池西路 28號(hào)中國(guó)測(cè)繪創(chuàng)新基地”,在北京市的應(yīng)用中可以簡(jiǎn)化為“蓮花池西路 28號(hào)”而不會(huì)造成任何歧義;再如,將“北京市石景山區(qū)華聯(lián)商廈”使用“北京市華聯(lián)商廈”進(jìn)行描述可能定位到多個(gè)標(biāo)志物,這時(shí)就需要延伸區(qū)級(jí)乃至街道級(jí)的區(qū)劃對(duì)其進(jìn)行描述。
根據(jù)可伸縮地址模型對(duì)地名/地址描述的規(guī)則,筆者在地理編碼庫(kù)中分別設(shè)計(jì)了地名、標(biāo)志物和門 (樓)牌三個(gè)數(shù)據(jù)表分別框架地名 (行政區(qū)劃、道路、小區(qū))、標(biāo)志物和門 (樓)牌及其地理坐標(biāo),并定義了各數(shù)據(jù)表的結(jié)構(gòu)。按庫(kù)表結(jié)構(gòu)依次錄入全市所有區(qū)縣、街道、道路、小區(qū)、標(biāo)志物、門 (樓)牌的名稱 (簡(jiǎn)稱、別名)和地理坐標(biāo)即可構(gòu)建一個(gè)城市的地理編碼庫(kù)。地理編碼庫(kù)檢查無(wú)誤后,分別選取框架地名數(shù)據(jù)表中的“城市名稱、城市別稱、區(qū)縣名稱、區(qū)縣別稱、街道辦名稱、道路名稱、小區(qū)名稱、小區(qū)別稱”、標(biāo)志物數(shù)據(jù)表中的“標(biāo)志物名稱、標(biāo)志物別稱”以及門 (樓)牌數(shù)據(jù)表中的“門 (樓)牌 ”字段值作為地名/地址詞條,連同相應(yīng)的地址級(jí)別記錄在地址詞典中。當(dāng)?shù)孛麆e稱作為一個(gè)詞條時(shí),還需記錄與本詞條相對(duì)應(yīng)的標(biāo)準(zhǔn)名稱,以便在地址分詞時(shí)實(shí)現(xiàn)地址要素的規(guī)范化。
借助地址詞典和中文自動(dòng)分詞算法,將一串文字描述形式的地名/地址切分、轉(zhuǎn)化為計(jì)算機(jī)能夠理解的、結(jié)構(gòu)化的多個(gè)地址要素或標(biāo)志物通名 (如酒店、大廈等),這一過(guò)程即地址分詞,它是實(shí)現(xiàn)地址標(biāo)準(zhǔn)化的重要途徑。地址分詞與中文自動(dòng)分詞的不同在于詞典的內(nèi)容和結(jié)構(gòu):在內(nèi)容上,前者需在后者詞庫(kù)內(nèi)容的基礎(chǔ)上擴(kuò)充《中國(guó)地名用詞庫(kù)》中的通用地名詞條和一個(gè)城市中的專用地名/地址詞條;在結(jié)構(gòu)上,地址詞典需要為地址要素掛接“標(biāo)準(zhǔn)名稱”和“地址級(jí)別”兩個(gè)屬性字段。有關(guān)中文自動(dòng)分詞算法的技術(shù)細(xì)節(jié),請(qǐng)參考文獻(xiàn)[7]。
表 1是可伸縮地址模型中地址要素采用的地址級(jí)別。這樣,當(dāng)?shù)刂贩衷~切分出“北京市”、“西城區(qū)”、“華聯(lián)商廈”三個(gè)地址要素時(shí),根據(jù)地址詞條中記錄的級(jí)別,我們可以準(zhǔn)備定位到北京市西城區(qū)的“華聯(lián)商廈”,而不是北京市石景山區(qū)的“華聯(lián)商廈”,也不是沈陽(yáng)市西城區(qū)的“華聯(lián)商廈”。
表 1 可伸縮地址模型中地址要素采用的地址級(jí)別
地址分詞后,需要對(duì)切分出來(lái)的地址要素進(jìn)行標(biāo)準(zhǔn)化處理,如將城市、區(qū)縣、小區(qū)、標(biāo)志物的別稱標(biāo)準(zhǔn)化為規(guī)范名稱。這一過(guò)程可通過(guò)關(guān)于地址詞典中詞條的“標(biāo)準(zhǔn)名稱”屬性實(shí)現(xiàn)。
將地址分詞切分出的地址要素或通用詞按可伸縮地址模型恢復(fù)成計(jì)算機(jī)可以識(shí)別的地址,并在地理編碼庫(kù)中比對(duì)出地理坐標(biāo)的過(guò)程即地址匹配。由于切分出來(lái)的地址要素中具有可伸縮地址模型的地址級(jí)別,按如下流程可以在地理編碼庫(kù)中進(jìn)行快速匹配。
1)切分出來(lái)的一組地址要素中含有門 (樓)牌號(hào)碼時(shí) (如果門 (樓)牌地址要素前無(wú)道路名或小區(qū)名地址要素,視同門 (樓)牌),利用門 (樓)牌號(hào)碼可以在門 (樓)牌數(shù)據(jù)表中精確匹配。
2)當(dāng)切分出來(lái)的一組地址要素中不含門 (樓)牌號(hào)碼,但包含標(biāo)志物時(shí),為了避免同名標(biāo)志物的出現(xiàn),結(jié)合地址模型中的行政區(qū)劃進(jìn)行地址匹配。
3)當(dāng)切分出來(lái)的地址要素中不含門 (樓)牌號(hào)碼和標(biāo)志物,但包含標(biāo)志物通用詞時(shí),可以按標(biāo)志物通用詞進(jìn)行模糊查詢,將滿足條件的一條或多條記錄返回給用戶,供用戶交互甄別。
4)當(dāng)切分出來(lái)的地址要素中不含任何門 (樓)牌號(hào)碼、標(biāo)志物和標(biāo)志物通用詞時(shí),用最高地址級(jí)別地址要素進(jìn)行匹配,返回道路、小區(qū)或行政區(qū)劃的地理坐標(biāo)。
為了驗(yàn)證算法的有效性,筆者提出了可信度作為地理編碼確定性評(píng)價(jià)的量化指標(biāo)。當(dāng)一個(gè)地名/地址經(jīng)本算法能精確轉(zhuǎn)換為地理坐標(biāo)時(shí)可信度為100%,完全不能定位時(shí)為可信度為 0。從算法流程上可以看出,本地理編碼算法的可信度與地址分詞的地址切分準(zhǔn)確度、匹配準(zhǔn)確度正相關(guān)。在地理編碼庫(kù)和地址詞典相同的情況下,可信度只取決于匹配準(zhǔn)確度。根據(jù)可伸縮地址模型,定義匹配準(zhǔn)確度的計(jì)算方法如下
式中,Mi為地址要素在地理編碼庫(kù)中的匹配準(zhǔn)確度,匹配成功時(shí)為 1,匹配失敗時(shí)為 0;Wi為各地址要素在可伸縮地址模型中所占的權(quán)重,取值介于0.0和 1.0之間。可伸縮地址模型中各地址要素在本算法中量化計(jì)算時(shí)的權(quán)重如表 2所示。
表 2 可伸縮地址模型中地址要素采用的權(quán)重值
在本算法中,由于地理編碼庫(kù)中的所有地址要素均包含在地址詞典中,匹配準(zhǔn)確度完全取決于地址分詞切分的地址要素,取決于地址詞典 (地理編碼庫(kù))的豐富性和全面程度。當(dāng)?shù)刂吩~典中缺少“石景山醫(yī)院”時(shí),匹配地址“北京市石景山醫(yī)院”時(shí)只能分解出“北京市”、“石景山”、“醫(yī)院”三個(gè)詞條,只能通過(guò)模糊搜索,得到北京市石景山區(qū)內(nèi)包含“醫(yī)院”的所有標(biāo)志物的空間坐標(biāo),供用戶確認(rèn)。如“北京市石景山區(qū)中醫(yī)醫(yī)院”、“北京市石景山醫(yī)院”、“北京市石景山同心醫(yī)院”、“北京市石景山區(qū)五里坨醫(yī)院”等都在結(jié)果之列。如果在地址詞典中擴(kuò)充“石景山醫(yī)院”一詞,可以直接到“北京市石景山醫(yī)院”的空間坐標(biāo)??梢?jiàn),提高本算法可信度的關(guān)鍵是按照可伸縮地址模型的規(guī)范不斷更新與完善地理編碼庫(kù)。
基于上述設(shè)計(jì)思想和算法,通過(guò)改造開(kāi)源的中文分詞代碼包,筆者開(kāi)發(fā)了利用地理編碼庫(kù)編制地址詞典的工具,搭建了基于地址分詞的地名/地址批量匹配工具。圖 3是地名 /地址批量匹配工具的操作界面,用戶選擇一個(gè) Access或 Excel格式的表格,就可以按表格中指定的地名/地址字段進(jìn)行批量地址匹配。對(duì)于有多個(gè)可能結(jié)果的地名/地址,由用戶根據(jù)返回的結(jié)果在地圖窗口中予以確認(rèn)。
圖 3 自動(dòng)地理編碼批量處理工具界面
依托國(guó)家測(cè)繪局開(kāi)展的數(shù)字城市地理信息公共平臺(tái)建設(shè)項(xiàng)目,分別針對(duì)多個(gè)城市不同部門的專題數(shù)據(jù)進(jìn)行地理編碼試驗(yàn),結(jié)果表明,匹配成功率均在 90%以上,如圖 4所示。
圖 4 不同城市不同部門地理編碼結(jié)果統(tǒng)計(jì)圖
本文提出了一種基于地址分詞的自動(dòng)地理編碼算法,在深刻剖析實(shí)現(xiàn)所需關(guān)鍵技術(shù)的基礎(chǔ)上,在數(shù)字城市地理信息公共平臺(tái)軟件 NewMap GIS中實(shí)現(xiàn)了適用于我國(guó)城市地名/地址的地理編碼功能。試驗(yàn)表明,本算法正確、有效,不但適應(yīng)于城市級(jí)地名/地址的地理編碼,而且適用于省級(jí)和國(guó)家級(jí)地名信息向空間坐標(biāo)的轉(zhuǎn)換。但是,由于地理編碼庫(kù)中未考慮諸如地址中存在錯(cuò)別字、同音字等地址筆誤的情況,算法在此方面的兼容性還有待加強(qiáng)。
[1]江洲,李琦.地理編碼 (Geocoding)的應(yīng)用研究 [J].地理與地理信息科學(xué),2003,19(3):22-25.
[2]U.S.Census Bureau.TIGERμ,TIGER/Lineμ and TIGERμ-Related Products[EB/OL].[2010-01-20].http:∥www.census.gov/geo/www/tiger/,2008-12/2009-10-1.
[3]王凌云、李琦、江洲.國(guó)內(nèi)地理編碼數(shù)據(jù)庫(kù)系統(tǒng)開(kāi)發(fā)與研究[J].計(jì)算機(jī)工程與應(yīng)用,2004(21):167-168,212.
[4]李軍,李琦,毛東軍,等.北京市地理編碼數(shù)據(jù)庫(kù)的研究[J].計(jì)算機(jī)工程與應(yīng)用,2004(2):1-3,6.
[5]國(guó)家質(zhì)量監(jiān)督檢驗(yàn)檢疫總局.GB/T 23705—2009數(shù)字城市地理信息公共平臺(tái)地名/地址編碼規(guī)則 [S].北京:中國(guó)標(biāo)準(zhǔn)出版社,2009.
[6]江洲,李小林,劉碧松.地理信息系統(tǒng)地址編碼技術(shù)標(biāo)準(zhǔn)化研究[J].標(biāo)準(zhǔn)化研究,2007(5):22-25.
[7]劉開(kāi)瑛.中文文本自動(dòng)分詞和標(biāo)注 [M].北京:商務(wù)印書館,2000.
An Automatic Geocoding Algorithm Based on Address Segmentation
MA Zhaoting,L I Zhigang,SUN Wei,YIN Jie
0494-0911(2011)02-0059-04
P208
B
2010-05-17
馬照亭 (1976—),男,河南睢縣人,助理研究員,主要研究方向?yàn)閿?shù)字城市、GIS應(yīng)用和三維 GIS。