本發(fā)明涉及一種地址標(biāo)準(zhǔn)化方法。
背景技術(shù):
百分之八十的商業(yè)活動(dòng)都離不開(kāi)地址。準(zhǔn)確的地址,不僅可幫助商業(yè)機(jī)構(gòu)和政府機(jī)關(guān)減少郵件費(fèi)用,甚至還可降低欺詐風(fēng)險(xiǎn),促進(jìn)社會(huì)和諧發(fā)展。對(duì)于商業(yè)機(jī)構(gòu)來(lái)說(shuō),如何能在第一時(shí)間判斷出錯(cuò)誤地址,不完整地址,并提醒客戶相關(guān)的正確地址,進(jìn)而通過(guò)地理信息系統(tǒng)將這些地址空間化表達(dá),實(shí)現(xiàn)各種信息在不同部門(mén),不同行業(yè)之間的數(shù)據(jù)共享,這是提升競(jìng)爭(zhēng)力和獲益能力的關(guān)鍵。
目前商業(yè)社會(huì)和政府部門(mén)都存有大量與地址有關(guān)的地理位置信息,這些數(shù)據(jù)大多是非空間信息,無(wú)法通過(guò)地理信息系統(tǒng)來(lái)實(shí)現(xiàn)行業(yè)之間的數(shù)據(jù)共享。因此,城市地址信息空間化是數(shù)字城市建設(shè)的重要組成部分。
地理編碼技術(shù)正是實(shí)現(xiàn)城市地址信息空間化的方法,它提供了一種將文本描述的地址信息轉(zhuǎn)換為地理坐標(biāo)的方式,通過(guò)編碼技術(shù)和地址匹配來(lái)確定此地址數(shù)據(jù)在電子地圖上對(duì)應(yīng)的地理實(shí)體位置。通過(guò)地理編碼技術(shù),大量的社會(huì)經(jīng)濟(jì)數(shù)據(jù)將變成坐標(biāo)化的空間信息,從而進(jìn)行更快速有效的空間分析,為政府決策和商業(yè)決策提供支持。
國(guó)內(nèi)的地理編碼技術(shù)研究起步比較晚而且進(jìn)展比較緩慢,從上世紀(jì)80年代才逐步開(kāi)展了城市地址編碼的研究工作。最早是北京市城市規(guī)劃設(shè)計(jì)研究院1988年開(kāi)始《北京市城市地理編碼》的研究,并組織相關(guān)單位編制了《城市基礎(chǔ)地理信息系統(tǒng)技術(shù)規(guī)范》提出了地名、門(mén)牌和樓牌的采集原則。之后還建設(shè)了北京市的地址編碼數(shù)據(jù)庫(kù),研究了地址數(shù)據(jù)的采集工藝流程,建立了標(biāo)準(zhǔn)地址模型。隨后,國(guó)內(nèi)的其他城市如上海、大連、廣州等,在建設(shè)城市地理信息系統(tǒng)的同時(shí)也開(kāi)展了地理編碼的研究。
國(guó)內(nèi)一些公司和科研單位也在研究適合我國(guó)使用的地址編碼技術(shù)和標(biāo)準(zhǔn),并開(kāi)發(fā)了一些應(yīng)用軟件,例如:
北京長(zhǎng)地公司的“尋址神”;北大方正的“小紅帽物流管理系統(tǒng)”;超圖的“客戶關(guān)系管理系統(tǒng)”;supermapobjects.net/java6r中的地址匹配模塊提供了中文地址模糊匹配搜索的功能。
圖信時(shí)代研發(fā)的地理編碼系統(tǒng)mapworldgeocodingsystem,包括數(shù)據(jù)轉(zhuǎn)換、數(shù)據(jù)清洗以及地址匹配三個(gè)子系統(tǒng)。建設(shè)了基礎(chǔ)地理信息庫(kù),可以對(duì)不同的精度要求提供地址匹配服務(wù),并將結(jié)果定位到地圖上進(jìn)行可視化展示與應(yīng)用。geocoding服務(wù)返回的結(jié)果可包括:地址的經(jīng)緯度信息,國(guó)家行政區(qū)劃代碼,6位郵編號(hào)碼,人口普查信息鄉(xiāng)鎮(zhèn)街道名等等。
山海易繪的地址編碼系統(tǒng)提供了比較全面的地址信息編碼和匹配方案,可以快速地將以自然語(yǔ)言描述的地址信息定位到地圖上,使得以前傳統(tǒng)的mis數(shù)據(jù)和gis數(shù)據(jù)可以互相融合利用。
mapgis-ems是中地公司自主研發(fā)的面向嵌入式終端的gis開(kāi)發(fā)平臺(tái),全面應(yīng)用構(gòu)件技術(shù)、中間件技術(shù),整合最新的gis技術(shù)、嵌入式操作系統(tǒng)和網(wǎng)絡(luò)通訊技術(shù),實(shí)現(xiàn)了利用地址簿進(jìn)行快速地址查詢及實(shí)現(xiàn)了模糊地址匹配。
由于區(qū)域面積比較小,地址編碼的工作量相應(yīng)的就比較小。因此,香港特別行政區(qū)和臺(tái)灣省的地址匹配精確度相對(duì)于大陸是比較高的。香港的匹配精度可達(dá)到街道門(mén)牌和建筑物,臺(tái)灣省可以達(dá)到街道和主要景點(diǎn)。
不同行業(yè)或部門(mén)都有自己不同的需求,以不同的形式采集、處理和傳播空間信息,因此采集的地址數(shù)據(jù)的格式和質(zhì)量有很大區(qū)別,存在輸入拼寫(xiě)錯(cuò)誤或者表達(dá)模糊、地址殘缺等情況。比如由于地址規(guī)范不統(tǒng)一,同一個(gè)地址可能有好幾種不同寫(xiě)法。同樣一個(gè)小區(qū),開(kāi)發(fā)商可能一個(gè)叫法,銷售商另外一個(gè),老百姓約定俗成又是一個(gè)。銀行a可能記下來(lái)一個(gè),保險(xiǎn)公司b又是另外一個(gè),水,電,煤,有線,電信,寬帶等等各行其是。
前述由于地址規(guī)范不統(tǒng)一,導(dǎo)致的同一個(gè)地址可能有好幾種不同寫(xiě)法的問(wèn)題,除了對(duì)商業(yè)機(jī)構(gòu)本身造成困擾,也會(huì)對(duì)機(jī)關(guān)間的合作造成極大不便,客戶信息無(wú)法充分整合,資源極大浪費(fèi)。歸根到底,這是由于地址不規(guī)范,不完整,不準(zhǔn)確的原因。
因此,在進(jìn)行地理編碼之前,需要將這些來(lái)源不同的混亂數(shù)據(jù)進(jìn)行清洗和預(yù)處理,并按照確定的標(biāo)準(zhǔn)地址模型進(jìn)行修改,使地址數(shù)據(jù)用一致的形式表現(xiàn)出來(lái)。
技術(shù)實(shí)現(xiàn)要素:
為解決地址不規(guī)范不統(tǒng)一造成的前述問(wèn)題,根據(jù)本發(fā)明的一個(gè)方面,提出一種地址標(biāo)準(zhǔn)化方法,又叫做地址規(guī)范化方法,其通過(guò)地址拆分、修改或去除錯(cuò)誤地址、完善模糊地址等方法對(duì)地址數(shù)據(jù)進(jìn)行處理,使其滿足確定的地址模型的要求。具體技術(shù)方案包括:
建立地址分層系統(tǒng)模型,并針對(duì)每個(gè)層級(jí)預(yù)置字典庫(kù);
根據(jù)字典庫(kù)確定每個(gè)層級(jí)的地址要素通名;
接收第三方地址信息;
按照通名,利用正則表達(dá)式對(duì)第三方地址信息初步劃分層級(jí);
將正則表達(dá)式劃分的結(jié)果與地址分層系統(tǒng)進(jìn)行正則匹配;
對(duì)匹配成功后不完整的地址信息進(jìn)行補(bǔ)齊;
將補(bǔ)齊后的地址信息作為標(biāo)準(zhǔn)地址保存在標(biāo)準(zhǔn)地址庫(kù);以及
將標(biāo)準(zhǔn)化結(jié)果匯總輸出。
進(jìn)一步地,在正則匹配的步驟之后還包括:
分詞匹配步驟,對(duì)接收的無(wú)法匹配或無(wú)法拆分的部分地址信息進(jìn)行分詞匹配處理;以及
地址信息修正的步驟,將分詞后仍無(wú)法匹配的地址信息按照預(yù)置的修正標(biāo)準(zhǔn)與標(biāo)準(zhǔn)地址庫(kù)進(jìn)行對(duì)比修正,如果得到的修正結(jié)果唯一,則將地址信息替換為修正后的地址信息,并將修正后的地址信息保存在標(biāo)準(zhǔn)地址庫(kù)中。
進(jìn)一步地,修正標(biāo)準(zhǔn)包括通名修正、別名修正、舊名修正、同音修正和別字修正。
進(jìn)一步地,地址分層系統(tǒng)為四級(jí)六層地址分層系統(tǒng);四級(jí)分別為行政區(qū)級(jí)、路弄級(jí)、樓棟級(jí)和室級(jí);六層分別為屬于行政區(qū)級(jí)的區(qū)縣、街道、居委,屬于路弄級(jí)的路弄,屬于樓棟級(jí)的樓號(hào)和屬于室級(jí)的室號(hào)。
進(jìn)一步地,分詞匹配處理采用逆向最大匹配法。
根據(jù)本發(fā)明的另一個(gè)方面,提出一種地址標(biāo)準(zhǔn)化裝置,包括:
地址分層系統(tǒng)模型建立單元,地址分層系統(tǒng)模型建立單元被配置為建立地址分層系統(tǒng)模型,并針對(duì)每個(gè)層級(jí)預(yù)置字典庫(kù);
通名確定單元,通名確定單元根據(jù)字典庫(kù)確定每個(gè)層級(jí)的地址要素通名;
接收單元,接收單元接收第三方地址信息;
層級(jí)劃分單元,層級(jí)劃分單元按照通名,利用正則表達(dá)式對(duì)第三方地址信息初步劃分層級(jí);
正則匹配單元,正則匹配單元將正則表達(dá)式劃分的結(jié)果與地址分層系統(tǒng)進(jìn)行正則匹配;
補(bǔ)齊單元,補(bǔ)齊單元對(duì)匹配成功后不完整的地址信息進(jìn)行補(bǔ)齊;
存儲(chǔ)單元,存儲(chǔ)單元將補(bǔ)齊后的地址信息作為標(biāo)準(zhǔn)地址保存在標(biāo)準(zhǔn)地址庫(kù)中;以及
輸出單元,輸出單元將標(biāo)準(zhǔn)化結(jié)果匯總輸出。
進(jìn)一步地,還包括:
分詞匹配單元,分詞匹配單元對(duì)接收的無(wú)法匹配或無(wú)法拆分的部分地址進(jìn)行分詞匹配處理;以及
地址信息修正單元,地址信息修正單元將分詞后仍無(wú)法匹配的地址信息按照預(yù)置的修正標(biāo)準(zhǔn)與標(biāo)準(zhǔn)地址庫(kù)進(jìn)行對(duì)比修正,如果得到的修正結(jié)果唯一,則將地址信息替換為修正后的地址信息,并將修正后的地址信息保存在標(biāo)準(zhǔn)地址庫(kù)中。
根據(jù)本發(fā)明的另一個(gè)方面,提出一種非易失性存儲(chǔ)介質(zhì),在存儲(chǔ)介質(zhì)上存儲(chǔ)有地址標(biāo)準(zhǔn)化程序,地址標(biāo)準(zhǔn)化程序被計(jì)算機(jī)執(zhí)行以實(shí)施前述的地址標(biāo)準(zhǔn)化方法。
根據(jù)本發(fā)明的另一個(gè)方面,提出一種計(jì)算機(jī),包括:
存儲(chǔ)器,存儲(chǔ)器存儲(chǔ)有計(jì)算機(jī)可以執(zhí)行的地址標(biāo)準(zhǔn)化程序;以及
處理器,連接至存儲(chǔ)器,并且被配置為執(zhí)行地址標(biāo)準(zhǔn)化程序以實(shí)現(xiàn)前述的地址標(biāo)準(zhǔn)化方法。
本發(fā)明是地址匹配的重要組成部分,不論是標(biāo)準(zhǔn)地址編碼數(shù)據(jù)庫(kù)的建設(shè),還是原始地址匹配,都要通過(guò)地址標(biāo)準(zhǔn)化這一過(guò)程才能完成。本發(fā)明能夠有效解決前述地址規(guī)范不統(tǒng)一的問(wèn)題,為商業(yè)機(jī)構(gòu)鋪橋墊路,打造智慧城市的基礎(chǔ)。
附圖說(shuō)明
圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的四級(jí)六層地址分層系統(tǒng)示意圖。
圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的地址標(biāo)準(zhǔn)化方法流程圖。
圖3是根據(jù)本發(fā)明的另一實(shí)施例的地址標(biāo)準(zhǔn)化方法流程圖。
圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的正向最大匹配法的分詞流程示意圖。
圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的更細(xì)層次的分層模型示意圖。
圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的地址標(biāo)準(zhǔn)化裝置示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明做進(jìn)一步說(shuō)明。
要進(jìn)行地址的標(biāo)準(zhǔn)化,首先要確定一個(gè)當(dāng)前適用的標(biāo)準(zhǔn)地址模型。地址模型的建立要結(jié)合中文地址的特點(diǎn)。中文地址通常有以下特點(diǎn):
1.日常生活中所用的地址很多都不是傳統(tǒng)的街道地址形式。例如地址字段上海市武東路財(cái)大科技園13f,對(duì)比正確的地址上海市楊浦區(qū)武東路財(cái)大科技園13f,缺少了必要的“區(qū)”以及道路信息,這加大了地址匹配的難度。
2.由于一些歷史遺留問(wèn)題,或者地方性的約定俗成的習(xí)慣,有些地名地址還是歷史地址,沒(méi)有重新規(guī)劃命名,也造成了城市地名地址的偏僻、混亂或重復(fù)現(xiàn)象。
3.漢語(yǔ)字符串的組成較之英文多了一層,英文單詞獨(dú)立成詞且有符號(hào)進(jìn)行分割,而漢語(yǔ)詞組是由字組成的,而且中文地址的表達(dá)沒(méi)有空格或者逗號(hào)之類的符號(hào)。
下面首先引入一些地址組成的基本概念:
1.地址串:就是一般的地址,日常的通信門(mén)牌地址。例如:上海市楊浦區(qū)武東路198號(hào)。
2.地址要素:組成地址串的若干詞組,如前述的地址就是由4個(gè)地址要素組成的,分別是“上海市”、“楊浦區(qū)”、“武東路”和“198號(hào)”,每個(gè)地址要素相對(duì)獨(dú)立。
3.地址通名:顧名思義,就是地址要素中通用的那些字段。例如:地址要素“楊浦區(qū)”中“區(qū)”為地址通名,“武東路”中“路”為地址通名。地址要素都表示一個(gè)地理區(qū)域,按照這個(gè)區(qū)域的范圍大小,可以把地址要素分類。同一類地址要素的字符串中都有相同的字段,這些字段就是地址通名。
4.地址專名:例如:“楊浦區(qū)”中“楊浦”為地址專名。地址要素中去掉地址通名后剩余的部分就稱為地址專名。城市的地址模型是一種復(fù)雜的層次模型。為了準(zhǔn)確地分析并描述地址模型,需要確定最小地址要素,最小地址要素是指不可再分的地址要素,具有最小的地址意義。
例如,漢中路就是一個(gè)最小地址要素,如果再將漢中路拆分為漢、中和路就沒(méi)有意義了。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,可以將地址要素分為3大類,分別是:行政區(qū)界、地址部分和子地址部分。
1.行政區(qū)界
行政區(qū)劃部分:它包括以下幾層:
國(guó)家:可以缺??;
省級(jí):可缺省。通名:省、直轄市、自治區(qū)、特別行政區(qū);
市級(jí):不能為空。通名:市、盟、自治州等;
區(qū)縣:可以為空。通名:區(qū)、(縣級(jí))市、縣、旗等;
鄉(xiāng)級(jí):鄉(xiāng)、鎮(zhèn)、街道辦等;
村級(jí):社區(qū)、小區(qū)、村、莊、屯、里等。
2.地址部分:它是一條地址數(shù)據(jù)的核心組成部分,描述地址的具體內(nèi)容。這部分不可以為空。它主要包括:道路和門(mén)牌號(hào)。
道路通名:路、街、道、大街、大道、胡同、巷、弄、條等。
門(mén)牌通名:號(hào)、#等。
3.子地址部分:它是一條地址數(shù)據(jù)中剩余的部分,描述地址的補(bǔ)充信息。該部分可以為空。它包括樓牌號(hào)、住宅小區(qū)、社區(qū)。
社區(qū)通名:社區(qū)、園等。
住宅小區(qū)通名:小區(qū)、公寓、苑、花園、街坊等。例:翠園小區(qū)。
樓牌號(hào)通名:門(mén)、棟、號(hào)樓、樓、館、堂等。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,結(jié)合國(guó)家和區(qū)域標(biāo)準(zhǔn),提出四級(jí)六層的地址分層系統(tǒng)模型,如圖1所示,并針對(duì)每個(gè)層級(jí)預(yù)置一個(gè)字典庫(kù)。字典庫(kù)包括該層級(jí)的通用信息,例如,以上海為例,圖1中的區(qū)縣層可以包括上海的16個(gè)轄區(qū)。此外,地址舊名也可以納入字典庫(kù)中,并與新名建立映射關(guān)系,例如,原來(lái)的上海南市區(qū),其對(duì)應(yīng)于現(xiàn)在的黃浦區(qū)。
需要注意的是,該四級(jí)六層的地址分層系統(tǒng)僅僅是分層模型的一個(gè)示范性實(shí)例,在其他實(shí)施例中,也可以采用其他層級(jí)劃分方式。
根據(jù)本發(fā)明的一個(gè)實(shí)施例的地址標(biāo)準(zhǔn)化裝置如圖6所示,包括:地址分層系統(tǒng)模型建立單元,所述地址分層系統(tǒng)模型建立單元被配置為建立地址分層系統(tǒng)模型,并針對(duì)每個(gè)層級(jí)預(yù)置字典庫(kù);通名確定單元,所述通名確定單元根據(jù)所述字典庫(kù)確定每個(gè)層級(jí)的地址要素通名;接收單元(圖中未示出),所述接收單元接收第三方地址信息;層級(jí)劃分單元,所述層級(jí)劃分單元按照所述通名,利用正則表達(dá)式對(duì)所述第三方地址信息初步劃分層級(jí);正則匹配單元,所述正則匹配單元將正則表達(dá)式劃分的結(jié)果與所述地址分層系統(tǒng)進(jìn)行正則匹配;分詞匹配單元,所述分詞匹配單元對(duì)接收的無(wú)法匹配或無(wú)法拆分的部分地址進(jìn)行分詞匹配處理;地址信息修正單元,所述地址信息修正單元將所述分詞后仍無(wú)法匹配的地址信息按照預(yù)置的修正標(biāo)準(zhǔn)與標(biāo)準(zhǔn)地址庫(kù)進(jìn)行對(duì)比修正,如果得到的修正結(jié)果唯一,則將所述地址信息替換為修正后的地址信息,并將修正后的地址信息保存在所述標(biāo)準(zhǔn)地址庫(kù)中;補(bǔ)齊單元,所述補(bǔ)齊單元對(duì)匹配成功后不完整的地址信息進(jìn)行補(bǔ)齊;存儲(chǔ)單元,所述存儲(chǔ)單元將所述補(bǔ)齊后的地址信息作為標(biāo)準(zhǔn)地址保存在標(biāo)準(zhǔn)地址庫(kù)中;以及輸出單元(圖中未示出),所述輸出單元將標(biāo)準(zhǔn)化結(jié)果匯總輸出。可選擇地,在一些實(shí)施例中,根據(jù)不同需求,可以包括其他合適的單元,以上單元中的一部分也可以省略。
下面參照?qǐng)D2介紹根據(jù)本發(fā)明的一個(gè)實(shí)施例的地址標(biāo)準(zhǔn)化方法。根據(jù)本發(fā)明的一個(gè)實(shí)施例,建立四級(jí)六層的地址分層系統(tǒng)(步驟s201)后,根據(jù)所述字典庫(kù)確定每個(gè)層級(jí)的地址要素通名(步驟s202),接收批量的第三方地址(步驟s203)后,按照所述通名,利用正則表達(dá)式對(duì)地址信息初步劃分層級(jí)(步驟s204)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例的地址解析正則表達(dá)式處理方法如下:
首先進(jìn)行地址預(yù)處理,包括以下步驟:
1.去除地址進(jìn)行前后和中間空格,去除“:”、“.”等特殊符號(hào),去除地址中以“下”結(jié)尾的,縣替換“區(qū)”,去除“農(nóng)場(chǎng)村”(農(nóng)場(chǎng)路除外);
2.去除區(qū)縣(解析到區(qū)縣返回)、鎮(zhèn),去除地址中的“復(fù)式”關(guān)鍵字;
3.去除帶“層”信息,“號(hào)幢”替換“號(hào)”,去除帶“幢”信息,去除帶“單元”的信息。
可選擇地,在其他實(shí)施例中,根據(jù)不同需求,以上地址預(yù)處理的步驟可以包括其他未示出的步驟,也可以省略其中的一些或者全部。
地址預(yù)處理后,首先利用正則表達(dá)式進(jìn)行常規(guī)正則匹配(步驟s205),解析出路、弄、樓棟號(hào)、室等常規(guī)信息。
隨后,進(jìn)行非常規(guī)正則匹配,包括:小區(qū)樓棟匹配:小區(qū)、樓棟特殊關(guān)鍵字;路弄樓棟匹配:路弄、樓棟特殊關(guān)鍵字;小區(qū)樓棟房間匹配:小區(qū)、樓棟、房間特殊關(guān)鍵字匹配;房間解析方法:匹配地址中“全幢室”、“樓層-室”等??蛇x擇地,根據(jù)不同地區(qū)的地址特點(diǎn),還可以加入其它正則匹配方式。
查看匹配結(jié)果(步驟s206),對(duì)于匹配成功后的地址信息與地址分層系統(tǒng)模型進(jìn)行對(duì)比,判斷地址信息是否完整(步驟s207),對(duì)其中不完整的地址信息按照四級(jí)六層的系統(tǒng)模型進(jìn)行補(bǔ)齊(步驟s208);對(duì)于補(bǔ)齊后的地址信息,將保存為標(biāo)準(zhǔn)地址庫(kù)(步驟s210);對(duì)于其余匹配不上的地址信息,輸出列表并保存(步驟s209);最后將信息匯總輸出(步驟s211),可選擇地,可以同時(shí)輸出匹配率等信息,其中匹配率的計(jì)算方式為:匹配通過(guò)的地址數(shù)量/全部地址數(shù)量。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,在以上步驟完成后,可選擇地,可以人工對(duì)匹配不上的地址進(jìn)行檢查,確定入庫(kù)或修改的地址,通過(guò)更新程序更新。
下面根據(jù)附圖3介紹根據(jù)本發(fā)明的另一實(shí)施例的地址標(biāo)準(zhǔn)化方法。如圖3所示,步驟s301-s306與前述實(shí)施例的步驟s201-s206相同,此處不再贅述。與前述實(shí)施例不同的是,在正則匹配的步驟之后,還包括分詞匹配的步驟和地址信息修正的步驟。
而對(duì)于步驟s306中被判斷為無(wú)法匹配或無(wú)法拆分的部分地址可以進(jìn)行分詞匹配處理(步驟s307)。現(xiàn)有的中文分詞方法多種多樣,都各有自己的特點(diǎn)。常用的中文分詞方法概括可以分為四大類:基于字典匹配的分詞方法、基于理解的分詞方法、基于統(tǒng)計(jì)的分詞方法和基于語(yǔ)義的分詞方法。由于基于語(yǔ)義的分詞方法實(shí)現(xiàn)難度大,目前研究較少而不成熟,故不在本研究范圍之內(nèi)。下面詳細(xì)的介紹其他幾種方法。
1.基于字典的分詞方法
又叫做基于字符串的分詞方法或機(jī)械分詞方法。由于這種方法是基于詞典的,因此要事先準(zhǔn)備好一個(gè)“充分大的”分詞詞典,“充分大”就是說(shuō)字典包含的詞語(yǔ)盡量多,盡可能的減少未登錄詞。然后將待切分的漢語(yǔ)字符串,如句子,按照一定的掃描規(guī)則與詞典中的詞條進(jìn)行匹配。如果在詞典中找到了句子中的某個(gè)字符串,則將這個(gè)詞切分出來(lái),這就成功匹配識(shí)別出一個(gè)詞。待切分句子可以按照任意長(zhǎng)度或順序分為若干字符串,所以要進(jìn)行數(shù)次匹配,才能將句子切分為詞。
在字典中進(jìn)行查詢匹配時(shí)的規(guī)則有很多種,根據(jù)掃描方向的不同,可以分為正向匹配和逆向匹配;按照不同長(zhǎng)度優(yōu)先匹配的情況,可以分為最大(最長(zhǎng))匹配和最小(最短)匹配。目前最常用的是最大匹配法,有正向和逆向兩種方式。由于漢語(yǔ)單字成詞的特點(diǎn),最小匹配法一般很少使用。下面分別介紹基于字符串的幾種分詞方法:
(1)正向最大匹配法
最大匹配,意思就是說(shuō)用最長(zhǎng)的中文切分方式,使切分結(jié)果中的詞組盡可能最大長(zhǎng)度而其總數(shù)最少。例如,待切分的中文句子“武東路上的財(cái)大科技園”,如果在詞典中匹配成功就將詞切分出來(lái),那么切分的結(jié)果應(yīng)該是“武東路/上/的/財(cái)大/科技園”。而按照最大匹配的原則,“財(cái)大科技園”就是一個(gè)詞,有時(shí)更符合我們的要求。
它的基本思想是:首先創(chuàng)建一個(gè)用于自動(dòng)分詞的中文詞典,可以得知詞典中的最長(zhǎng)詞條的漢字個(gè)數(shù),假設(shè)個(gè)數(shù)為n。然后,取待切分句子的前n個(gè)字符作為匹配字段,在分詞詞典中進(jìn)行字段的查詢匹配。如果詞典中有這樣的字段,則匹配成功。這樣,由n個(gè)字符組成的字段被切分出來(lái),作為一個(gè)詞。如果詞典中不存在這樣的字段,則匹配失敗,將字段末尾減去一個(gè)漢字,剩下的n-1個(gè)字符作為新的字段,再進(jìn)行匹配,如此重復(fù),直到匹配成功為止。例如句子“武東路上的財(cái)大科技園”,假設(shè)字典的最長(zhǎng)詞長(zhǎng)為5,它的正向最大匹配法的分詞流程如圖4所示。
這種分詞方法過(guò)程比較簡(jiǎn)單,切分精度與中文詞典的數(shù)據(jù)量和數(shù)據(jù)結(jié)構(gòu)有關(guān),分詞正確率并不是很高。實(shí)驗(yàn)表明,該分詞方法的錯(cuò)誤率為1/169。
(2)逆向最大匹配法。
它的分詞過(guò)程與正向最大匹配法基本相同,不再重復(fù)說(shuō)明。它與正向最大匹配法不同的是從句子末尾開(kāi)始切分,如果匹配不成功則減掉最前面的一個(gè)字。逆向最大匹配的切分精度略高于正向。通過(guò)實(shí)驗(yàn)表明,其分詞錯(cuò)誤率為1/245。從以上實(shí)驗(yàn)可以看出,逆向匹配的切分精度相對(duì)于正向匹配要略高,而且歧義現(xiàn)象也較少。
(3)最少切分詞方法,就是使切分后得到得詞組數(shù)量盡可能的少。
(4)逐詞遍歷法。
這種方法比較另類,它是把詞典中的詞與待切分句子進(jìn)行匹配,詞典中的每個(gè)詞全部都要與切分目標(biāo)句子匹配一遍。
另外還有很多中文分詞方法,如設(shè)立切分標(biāo)志法、最佳匹配法、聯(lián)想匹配法、二次掃描法等等。
2.基于理解的分詞方法
它一般有三個(gè)部分:分詞子系統(tǒng)、句法語(yǔ)義子系統(tǒng)和總控部分。專家系統(tǒng)分詞法和神經(jīng)網(wǎng)絡(luò)分詞法等都是基于理解的分詞方法。這種方法要利用語(yǔ)法、句法分析來(lái)進(jìn)行分詞,還要結(jié)合語(yǔ)義分析,根據(jù)上下文提供的信息來(lái)分析詞的切分,判斷分詞歧義現(xiàn)象。這是一種人工智能的分詞方法,需要使用大量的語(yǔ)言知識(shí)和信息,也可以應(yīng)用在本發(fā)明的實(shí)施例中。
3.基于統(tǒng)計(jì)的分詞方法
這種方法又稱為無(wú)字典分詞,也也就是說(shuō)不用分詞詞典。在概率學(xué)上,單個(gè)字組合成詞組的概率是比較大的。當(dāng)相鄰的字經(jīng)常在語(yǔ)句中出現(xiàn),那么這幾個(gè)相鄰字很有可能就是一個(gè)詞。因此字與字相鄰出現(xiàn)的概率或頻率能較好反映成詞的可信度。在對(duì)待切分語(yǔ)言資料分詞的時(shí)候,統(tǒng)計(jì)相鄰字組合出現(xiàn)的頻度。如果相鄰字組合出現(xiàn)的頻率遠(yuǎn)大于單個(gè)字出現(xiàn)的頻率之積,超過(guò)了某個(gè)閾值,則認(rèn)為相鄰的字串就是一個(gè)詞組。該方法需要應(yīng)用很多統(tǒng)計(jì)模型,主要有:n元文法模型、隱markov模型和最大熵模型等。
以上分詞方法各有優(yōu)劣,根據(jù)本發(fā)明的一個(gè)實(shí)施例,優(yōu)選基于字符串的逆向最大匹配法,在具體的應(yīng)用中,這些方法均可以單獨(dú)或組合使用,以便提高分詞的速度和精度。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,在分詞階段,可以不局限于標(biāo)準(zhǔn)地址四級(jí)六層的層次結(jié)構(gòu),先劃分為較細(xì)的層次,如圖5所示,以便于進(jìn)行邏輯判斷,在最終標(biāo)準(zhǔn)化輸出時(shí)根據(jù)映射關(guān)系轉(zhuǎn)化為標(biāo)準(zhǔn)層次。
分詞匹配完后再次查看匹配結(jié)果(步驟s308),判斷地址信息是否完整(步驟s312),對(duì)于其中不完整的地址信息按照四級(jí)六層的系統(tǒng)模型進(jìn)行補(bǔ)齊(步驟s313)。
根據(jù)本發(fā)明的一個(gè)實(shí)施例,在分詞匹配后,還包括對(duì)于無(wú)法匹配的部分地址按照層次結(jié)構(gòu)分別進(jìn)行修正的步驟(步驟s309)。修正可以包括以下幾類:
1.通名修正
和標(biāo)準(zhǔn)庫(kù)相比,名稱相同而通名不同(或通名缺失),如果修正結(jié)果唯一,則進(jìn)行自動(dòng)修正,并標(biāo)記類型為通名修正。
比如寶安路與寶安公路
比如號(hào)甲與甲號(hào)
2.別名修正
針對(duì)有多個(gè)別名的小區(qū),小區(qū)名稱無(wú)法與標(biāo)準(zhǔn)庫(kù)中的小區(qū)名稱匹配上,但可以和小區(qū)別名匹配上的,取得小區(qū)地址,并替換小區(qū)名稱為標(biāo)準(zhǔn)名稱,同時(shí)標(biāo)記類型為別名修正。
除了名稱之外,地址也存在地址別名的情況。如漢中路333弄。處理方法參照別名修正。
3.舊名修正
針對(duì)行政區(qū)、道路、地址存在舊名的情況,名稱無(wú)法標(biāo)準(zhǔn)名稱匹配,但可以和舊名匹配上的,用新名替換舊名,并標(biāo)記類型為舊名修正。
4.同音修正
和標(biāo)準(zhǔn)庫(kù)相比,文字不同而發(fā)音相同,如果修正結(jié)果唯一,則進(jìn)行自動(dòng)修正,并標(biāo)記類型為同音修正。比如浦東大道與普東大道。
5.別字修正
和標(biāo)準(zhǔn)庫(kù)相比,名稱無(wú)法標(biāo)準(zhǔn)名稱匹配,但可以和別字匹配上的,如果修正結(jié)果唯一,則進(jìn)行自動(dòng)修正,并標(biāo)記類型為通名修正。比如大渡河路與大渡可路。
當(dāng)然,修正的結(jié)果并不能保證百分百的正確,在本實(shí)施例中,可以根據(jù)統(tǒng)計(jì)結(jié)果為各種修正結(jié)果賦予不同的置信度,在出現(xiàn)沖突時(shí),優(yōu)選置信度較高的結(jié)果作為最終結(jié)果。
判斷修正是否成功(步驟s310),對(duì)于修正成功的地址信息,判斷地址信息是否完整(步驟s312),對(duì)其中不完整的地址信息按照四級(jí)六層的系統(tǒng)模型進(jìn)行補(bǔ)齊(步驟s313)。
補(bǔ)齊操作后,將補(bǔ)齊后的地址信息保存為標(biāo)準(zhǔn)地址庫(kù)(步驟s314)。對(duì)于其余匹配不上的、修正不成功的地址及小區(qū),輸出列表并保存(步驟s311),最后將信息匯總輸出(步驟s315),可選擇地,可以同時(shí)輸出匹配率等信息,其中匹配率的計(jì)算方式為:匹配通過(guò)的地址數(shù)量/全部地址數(shù)量。
根據(jù)本發(fā)明的實(shí)施例,在修正完成后,可選擇地,可以人工對(duì)匹配不上的地址進(jìn)行檢查,確定入庫(kù)或修改的地址,通過(guò)更新程序更新。
下面介紹標(biāo)準(zhǔn)地址的匹配方法。地址數(shù)據(jù)經(jīng)過(guò)清洗和規(guī)范化,并由地址分詞處理得到一系列的地址要素詞組,然后將這些地址要素按照一定的規(guī)則在標(biāo)準(zhǔn)地址庫(kù)中進(jìn)行查詢匹配的過(guò)程,就是數(shù)據(jù)庫(kù)匹配。顯然,如何減少查詢和比較的次數(shù),關(guān)系到匹配的效率和成功率。一種方法是采集的地址信息和地址庫(kù)中的信息一一對(duì)應(yīng),但該方法精度高卻效率低。為了提高地址匹配的效率,在與數(shù)據(jù)庫(kù)進(jìn)行匹配之前,可以根據(jù)地址中地址要素的組成形式來(lái)制定地址匹配的規(guī)則,以及地址匹配的模式。地址的組成形式有很多,常見(jiàn)的包括以下幾類,如:街道+門(mén)牌,街道+門(mén)牌+樓牌,住宅小區(qū)+樓牌,街道+建筑物等。
常見(jiàn)的地址匹配的方式有三種:定位到街道,定位到區(qū)域的,如居民小區(qū)、配送點(diǎn)式區(qū)域等,以及兩種方式結(jié)合的方法。另外還有基于郵政編碼的和基于邊界的地址匹配方法。
1.定位到街道的方法
是通過(guò)道路名和門(mén)牌號(hào)碼進(jìn)行匹配。這種匹配方式的標(biāo)準(zhǔn)地址庫(kù)中每一個(gè)路段都具有道路名和起止門(mén)牌號(hào)碼信息,在地理編碼時(shí),首先根據(jù)地址信息中道路名找到參考主題中相同名稱的路段(一般情況下有多個(gè)路段),然后根據(jù)地址信息中的門(mén)牌號(hào)及每個(gè)路段的起止門(mén)牌號(hào)碼信息找到門(mén)牌號(hào)所在路段,最后根據(jù)門(mén)牌號(hào)及該路段的起止門(mén)牌號(hào)碼信息進(jìn)行內(nèi)插確定該記錄在該路段上的位置。這種方式利用了數(shù)值逼近方法中的插值原理進(jìn)行模糊定位。另外,如果待匹配地址的門(mén)牌號(hào)在數(shù)據(jù)庫(kù)中查找不到,可以查找和它最臨近的建筑物門(mén)牌號(hào),由此來(lái)輔助定位,可以提高插值定位的精度。
插值定位的方法不受道路形狀的影響,定位的精度比較高,它是根據(jù)地址記錄的門(mén)牌號(hào)以及其與街道的垂直距離進(jìn)行準(zhǔn)確的定位。這種方法比較適用于國(guó)外的定位到街道的地址匹配,因?yàn)閲?guó)外的門(mén)牌號(hào)碼一般是按奇偶數(shù)分別排在路的兩端,門(mén)牌號(hào)的分布比較有規(guī)律,這樣插值時(shí)點(diǎn)位的位置不會(huì)出現(xiàn)太大的誤差。然而我國(guó)的道路門(mén)牌號(hào)體系復(fù)雜多樣,存在很多問(wèn)題。例如城市建設(shè)中道路拆除或者改名,但門(mén)牌號(hào)沒(méi)有重新編制、門(mén)牌號(hào)丟失、門(mén)牌樓牌混編等情況。這些問(wèn)題使得利用插值方法時(shí)容易出現(xiàn)較大的誤差,定位的精確度不高。
2.定位到區(qū)域的方法
待匹配地址具有區(qū)域?qū)傩杂涗?,在地址?shù)據(jù)庫(kù)中查詢與之相應(yīng)的區(qū)域?qū)傩杂涗洸⑦M(jìn)行比較,若匹配成功,則將記錄以點(diǎn)要素的形式生成在地圖的相應(yīng)區(qū)域內(nèi)。若匹配失敗,可以利用地址模型的層級(jí)關(guān)系,查找上一級(jí)地址要素來(lái)進(jìn)行模糊定位。
這種方法的定位精度與數(shù)據(jù)庫(kù)中地址的區(qū)域?qū)傩运淼目臻g范圍大小有關(guān),空間范圍越小則精度越高。如定位到居民小區(qū)的精度高于定位到行政區(qū)的精度。
優(yōu)選地,本實(shí)施例中將定位到街道的方法與定位到區(qū)域的方法結(jié)合起來(lái)使用,以提高匹配的精度。在其他實(shí)施例中,也可以單獨(dú)使用其中的一種或者其他未進(jìn)行說(shuō)明的匹配方法。
根據(jù)本發(fā)明的又一實(shí)施例,還包括一種分易失性存儲(chǔ)介質(zhì),在存儲(chǔ)介質(zhì)上存儲(chǔ)有地址標(biāo)準(zhǔn)化程序,地址標(biāo)準(zhǔn)化程序被計(jì)算機(jī)執(zhí)行以實(shí)施前述地址標(biāo)準(zhǔn)化方法。
根據(jù)本發(fā)明的又一實(shí)施例,還包括一種計(jì)算機(jī),包括:存儲(chǔ)器,存儲(chǔ)有計(jì)算機(jī)可以執(zhí)行的地址標(biāo)準(zhǔn)化程序;以及處理器,連接至存儲(chǔ)器,并且被配置為執(zhí)行地址標(biāo)準(zhǔn)化程序以實(shí)現(xiàn)前述地址標(biāo)準(zhǔn)化。
上面結(jié)合附圖對(duì)本發(fā)明的實(shí)施例做了詳細(xì)說(shuō)明,但本發(fā)明并不限于上述實(shí)施例,在本領(lǐng)域普通技術(shù)人員所具備的知識(shí)范圍內(nèi),在不脫離本發(fā)明宗旨的前提下做出的各種變化,均應(yīng)歸屬于本發(fā)明專利涵蓋范圍。