專利名稱:一種基于匹配規(guī)則的模糊中文地址地理賦值方法
技術(shù)領(lǐng)域:
本發(fā)明屬于地理信息系統(tǒng)領(lǐng)域,涉及面向模糊中文地址的地址賦值方法。
背景技術(shù):
隨著電子地圖的應(yīng)用與普及,各行各業(yè)都普遍存在著大量由自然語言描述的中文 地址數(shù)據(jù),需要映射為地理坐標(biāo),并定位到電子地圖上,從而使原有非空間數(shù)據(jù)獲得空間坐 標(biāo)信息,實現(xiàn)各部門和各地理范圍的數(shù)據(jù)的整合與共享。這就需要用到地理(地址)賦值 技術(shù),即把文本地址轉(zhuǎn)換成地理坐標(biāo)的技術(shù)。地理賦值方法一般被劃分為地址標(biāo)準(zhǔn)化,地址 分詞,數(shù)據(jù)庫匹配,空間定位等幾個步驟。國外的地理賦值技術(shù)已基本成熟,但是對于中文地址的地理賦值方法還有待研 究。一是因為中英文之間的差異,比如中文地址的詞與詞之間沒有空格隔開等問題的存在。 二是因為我國的現(xiàn)有地名,地址體系異常復(fù)雜,地址系統(tǒng)混亂、無序、缺乏規(guī)律性和統(tǒng)一的 標(biāo)準(zhǔn)。因此,國外已有的地理賦值技術(shù)并不適合中國國情,直接套用國外的地理賦值技術(shù)是 不可行的。目前,國內(nèi)各部門與學(xué)者已經(jīng)陸續(xù)開展了中國地址標(biāo)準(zhǔn)化的研究,為標(biāo)準(zhǔn)地址庫 的建立奠定了良好的數(shù)據(jù)基礎(chǔ)。但是普通百姓在輸入其需要定位的地址時,往往輸入的往 往是一些模糊中文地址。以標(biāo)準(zhǔn)地址“東直門內(nèi)大街5號東興樓”為列,普通百姓輸入的地 址可能五花八門,如含冗余信息的“東直門橋東直門內(nèi)大街5號西東興樓”、信息殘缺的“東 興樓”、易引起歧義的“東直門5號”、使用別名的“簋街5號東興樓”等。如何做好模糊中文 的地址匹配是地理賦值方法在我國進入實用階段的一個重要問題。此外,我國不同地區(qū)、不同行業(yè)對地址匹配的精度要求不同。例如,在農(nóng)村信件的 投遞中,地址匹配最小行政區(qū)“村”即可,而在城市的信件投遞中則可能需要定位到“街道號 +門牌號”或“小區(qū)+樓號+房間號”等。因此,為了提高中文地址賦值方法的通用性,需要 研究如何基于用戶定義的匹配規(guī)則對已分詞的中文地址進行地址匹配。
發(fā)明內(nèi)容
本發(fā)明要解決的技術(shù)問題是克服現(xiàn)有技術(shù)的不足,提出一種基于規(guī)則的模糊中 文地址地理賦值方法;該方法基于標(biāo)準(zhǔn)地址庫和既定的地址匹配規(guī)則,能夠?qū)崿F(xiàn)模糊中文 地址的分詞與匹配,從而實現(xiàn)模型中文地址的地理賦值。本發(fā)明為解決其技術(shù)問題所采用的技術(shù)方案是一種基于規(guī)則的模糊中文地址地 理賦值方法,包括以下步驟(1)數(shù)據(jù)準(zhǔn)備a)輸入地址字符串Addr ;b)讀入整個標(biāo)準(zhǔn)地址庫,作為目標(biāo)數(shù)據(jù)集RecSet ;標(biāo)準(zhǔn)地址庫中包含以下內(nèi)容 12位代碼表示的行政區(qū)劃;存儲詳細街道地址中最小地址要素的五個字段,即道路1、門牌 號2、住宅小區(qū)3、樓牌號4、興趣點POI (Point of Interest) 5 ;用于存儲空間信息的字段,
4存儲地理坐標(biāo)、經(jīng)緯度或建筑物編碼;c)讀入行政區(qū)劃代碼表;表中包括以下幾個字段序號,行政區(qū)劃名稱,行政區(qū)劃 級別,行政區(qū)劃12位代碼;d)定義匹配規(guī)則庫,將地址總結(jié)為常見的地址公式,并根據(jù)步驟(1)中步驟b)里 所述標(biāo)準(zhǔn)地址庫中對應(yīng)的字段編號,將每條地址公式轉(zhuǎn)化成對應(yīng)的地址規(guī)則并存儲到文本 文件Rule中;(2)讀入標(biāo)準(zhǔn)地址庫、行政區(qū)劃代碼表和規(guī)則庫;地址字符串作為待匹配記錄,用 Addr表示;標(biāo)準(zhǔn)地址庫作為初始目標(biāo)數(shù)據(jù)集,用RecSet表示;(3)將Addr中的行政區(qū)劃部分轉(zhuǎn)換為12位代碼,縮小目標(biāo)數(shù)據(jù)集a)在行政區(qū)劃代碼表中,搜索Addr中存在的行政區(qū)劃標(biāo)志詞,根據(jù)所述行政區(qū)劃 標(biāo)志詞從Addr中識別并拆分出行政區(qū)劃部分;b)如果搜索到的行政區(qū)劃標(biāo)志詞為多個,則比較各個行政區(qū)劃標(biāo)志詞的級別屬 性,確定行政區(qū)劃標(biāo)志詞中行政級別最低的詞語,并據(jù)此將所述行政區(qū)劃部分轉(zhuǎn)化為與確 定的行政級別最低的詞語相對應(yīng)的12位行政區(qū)劃代碼;c)過濾RecSet,除去與得到的12位行政區(qū)劃代碼不符的記錄;d)將除去的行政區(qū)劃部分的地址字符串重新賦值為Addr ;(4)對Addr進行地址分詞與匹配,將分詞結(jié)果存儲到數(shù)組Addr_Split[i]里,將匹 配結(jié)果存儲到數(shù)據(jù)集RecSet里a)定義Addr的子串為Sub,首先將整個Addr賦值給Sub,定義歧義棧為Stack, Stack用于存儲匹配中產(chǎn)生的語義歧義,Stack中存儲的元素為結(jié)構(gòu)體變量Struct (i);b)查詢地址匹配規(guī)則庫,根據(jù)查詢規(guī)則庫的次數(shù),限定步驟(4)中步驟c)里的搜 索字段范圍;如果為第n次查詢規(guī)則庫,則依次訪問庫中的每條規(guī)則,將每條規(guī)則中第n個 字段的合集限定為搜索字段范圍;c)判斷Sub是否為空i)如果Sub為空,則繼續(xù)查看Stack是否為空,如果Stack也為空,則地址分詞 匹配失敗,整個方法終止退出;如果Stack不為空,則根據(jù)先進后出原則取出棧頂元素,將 Struct (i)中的各個值賦給相應(yīng)變量,并根據(jù)結(jié)構(gòu)體變量中存儲的匹配字段分量中存儲的 值,將該字段標(biāo)記為匹配,轉(zhuǎn)到步驟(4)中的步驟e);ii)如果Sub不為空,則調(diào)用最大正向匹配算法,根據(jù)步驟(4)中的步驟b)里限定 的字段,在RecSet相應(yīng)字段中分別搜索與Sub匹配的記錄;d)判斷與Sub匹配的字段個數(shù)i)如果匹配失敗,則繼續(xù)調(diào)用最大正向匹配算法進行分詞,轉(zhuǎn)到步驟(4)中的步 驟c);ii)如果匹配的字段個數(shù)大于1,則將Sub存儲到分詞數(shù)組Addr_Split[i]中;由 于產(chǎn)生了歧義,將每一種歧義情況的多個分量存儲到結(jié)構(gòu)體變量Struct (i)中,并依次存 入Stack中;取出棧頂元素,并根據(jù)棧頂元素中存儲的匹配字段,將該字段標(biāo)記為匹配;iii)如果匹配的字段個數(shù)等于1,則將Sub存儲到分詞數(shù)組Addr_Split[i],并將 查詢到的匹配字段標(biāo)記為匹配;e)查詢規(guī)則庫,比對已經(jīng)標(biāo)記為匹配的字段與每條規(guī)則,查看是否有滿足條件的規(guī)則存在i)如果存在,則返回分詞結(jié)果數(shù)組Addr_Split與匹配結(jié)果數(shù)據(jù)集RecSet,整個方 法終止退出;ii)如果不存在,則將查詢到的子串Sub在字符串Addr中去掉,重新賦值為Sub = Addr-Sub,返回步驟步驟(4)中的步驟b)繼續(xù)進行分詞匹配。本發(fā)明與現(xiàn)有技術(shù)相比所具有的優(yōu)點如下(1)將地理賦值的兩個環(huán)節(jié)地址分詞與地址匹配整合在了一起,即在分詞的同時 進行數(shù)據(jù)庫地址匹配,實現(xiàn)了在分詞完成的同時也查找到了所匹配的記錄。顯而易見,通過 這種方法可以有效的減少數(shù)據(jù)庫的查詢訪問次數(shù),從而加快匹配速度。(2)算法中首先通過識別字符串中的行政區(qū)劃部分來對目標(biāo)數(shù)據(jù)集進行一次過 濾,實現(xiàn)了對于地址數(shù)據(jù)中行政區(qū)劃和詳細街道地址兩部分信息的分離,從而提高了算法 的匹配效率。然后,在調(diào)用最大正向匹配算法時,借助每一次成功分詞時對數(shù)據(jù)集的搜索, 可以達到橫向縮小目標(biāo)數(shù)據(jù)集,加快匹配速度的目的。(3)對于分詞匹配時產(chǎn)生的語意歧義,算法中通過建立一棵歧義樹并利用棧進行 臨時存儲,然后依據(jù)深度優(yōu)先原則,對歧義樹進行遍歷訪問,直至滿足匹配規(guī)則終止算法, 否則繼續(xù)完成整棵歧義樹的遍歷。從而解決了第一類模糊地址的分詞匹配問題。(4)借助規(guī)則樹,一方面可以實時的限定在標(biāo)準(zhǔn)地址庫中每一步搜索時的備選字 段范圍。例如,第一次搜索時是限定備選字段為1、3、5,如果第一次搜索匹配到字段3,則根 據(jù)規(guī)則樹,第二次搜索時限定字段只能為4。以此類推,從而實現(xiàn)縱向縮小目標(biāo)數(shù)據(jù)集,進一 步加快匹配速度的目的;另一方面,利用樹中的匹配規(guī)則,對于殘缺地址要素的第二類模糊 地址數(shù)據(jù),也可以提高其匹配成功率。
圖1為本發(fā)明的基于規(guī)則的模糊中文地址地理賦值方法實現(xiàn)流程圖;圖2為北京市標(biāo)準(zhǔn)地址庫部分數(shù)據(jù);圖3為行政區(qū)劃代碼的碼段意義;圖4為北京市行政區(qū)劃代碼表部分數(shù)據(jù);圖5為規(guī)則庫中包含的規(guī)則;圖6為規(guī)則樹示意圖;圖7為地址分詞匹配流程圖(以字符串“海淀安寧莊北側(cè)22號樓C座1120室”為 例);圖8為實驗結(jié)果統(tǒng)計;圖9為部分模糊中文地址的地理賦值結(jié)果示意。
具體實施例方式下面結(jié)合附圖及具體實施方式
詳細介紹本發(fā)明。本發(fā)明的基于規(guī)則的模糊中文地址地理賦值方法,實現(xiàn)流程圖如圖1所示。這里 選取中文地址“海淀安寧莊北側(cè)22號樓C座1120室”對本發(fā)明的具體實施過程進行說明。 首先對地址進行分析,該地址是由行政區(qū)劃部分(“海淀”)與詳細街道地址部分(“安寧莊北側(cè)22號樓C座1120室”)組成的。其中包含以下幾方面問題a)行政區(qū)劃部分描述不完整,且“海淀” 一詞表述模糊;b) “安寧莊”一詞表述有歧義,可能為道路名,也可能為小區(qū)名;c)地址中存在要素殘缺,缺少門牌號等信息;d) “北側(cè)”與"C座1120室”為冗余干擾信息。由此可見,該地址中存在語義歧義與地址要素殘缺兩類地址中常見的模糊問題, 很具有代表性。下面就以上述地址為例(參考圖7),詳細說明本發(fā)明的具體實施過程,其具 體步驟(1)數(shù)據(jù)準(zhǔn)備a)輸入地址字符串Addr為“海淀安寧莊北側(cè)22號樓C座1120室”;b)讀入整個標(biāo)準(zhǔn)地址庫,作為目標(biāo)數(shù)據(jù)集RecSet。標(biāo)準(zhǔn)地址庫中包含以下內(nèi)容 12位代碼表示的行政區(qū)劃;存儲詳細街道地址中最小地址要素的五個字段,即道路、門牌 號、住宅小區(qū)、樓牌號、P0I(興趣點);用于存儲空間信息的字段,該字段可以是地理坐標(biāo)、 經(jīng)緯度或者建筑物編碼等。北京市部分標(biāo)準(zhǔn)地址庫數(shù)據(jù)如圖2所示。c)讀入行政區(qū)劃代碼表。將每個地址中有關(guān)行政區(qū)劃的部分都轉(zhuǎn)化為一個對應(yīng) 的12位行政區(qū)劃代碼。其編碼方式與碼段意義具體來說(參考圖3)前六位每兩位代表 一級,后六位中每三位代表一級,如果已知的行政區(qū)劃部分描述不夠完整,導(dǎo)致轉(zhuǎn)化為代碼 后不足12位,則后面位數(shù)用0補齊。北京市部分行政區(qū)劃代碼表如圖4所示。d)定義匹配規(guī)則庫,將北京地區(qū)的地址總結(jié)為六種常見的地址公式,并根據(jù)地址 公式中各個項在標(biāo)準(zhǔn)地址庫中對應(yīng)的字段編號(即道路(1)、門牌號(2)、住宅小區(qū)(3)、樓 牌號(4)、興趣點POI (Point of Interest) (5),將其定義為規(guī)則,例如將地址形式“道路+ 住宅小區(qū)+樓牌號”定義為“規(guī)則一 1、3、4”,北京市匹配規(guī)則庫參考圖5(2)判斷字符串中是否存在行政區(qū)劃部分,通過搜索比對行政區(qū)劃表,查找到字符 串中“海淀”一詞與記錄“海淀區(qū)”模糊匹配,所以將其分割出來,并轉(zhuǎn)換為相應(yīng)的12位代 碼“110108000000”。對目標(biāo)數(shù)據(jù)集RecSet進行過濾,將行政區(qū)劃代碼字段與該代碼前六位 “110108”不符的記錄去掉。(3)把剩余字符串“安寧莊北側(cè)22號樓C座1120室”傳入地址分詞匹配模塊,通 過查詢地址匹配規(guī)則樹(參考圖6),限定搜索字段為1、3、5。調(diào)用最大正向匹配算法,查詢 到“安寧莊”一詞分別與1(道路名)和3(住宅小區(qū)名)兩個字段模糊匹配,因此產(chǎn)生語義 歧義。將“安寧莊”一詞記入分詞結(jié)果數(shù)組,并將1字段與3字段先后入棧,然后取棧頂元 素,先將“安寧莊”匹配到3字段(住宅小區(qū)名),同時數(shù)據(jù)集RecSet中滿足要求的記錄縮小 為8條。此時查詢規(guī)則庫,由于沒有滿足條件的規(guī)則,故對“北側(cè)22號樓C座1120室”繼續(xù) 進行分詞匹配。第二次查詢規(guī)則樹,確定備選字段為4。繼續(xù)調(diào)用最大匹配算法,在RecSet 中的4字段(樓牌號)中查詢剩余子串“北側(cè)22號樓C座1120室”,無匹配結(jié)果。故重新 選取棧頂元素,將“安寧莊”匹配到1字段(道路名),過濾后當(dāng)前數(shù)據(jù)集RecSet縮小為11 條,查詢規(guī)則庫無滿足的終止條件,故繼續(xù)分詞匹配。重新查詢規(guī)則樹并確定備選字段為2、 3、4。調(diào)用最大正向匹配算法,在RecSet的限定字段中搜尋字符串“北側(cè)22號樓C座1120 室”,查找到“22號樓”一詞,與4字段(樓牌號)有一條匹配記錄,將該詞記入分詞結(jié)果詞 組,同時數(shù)據(jù)集RecSet中滿足要求的記錄縮小為1條。此時繼續(xù)查詢規(guī)則庫,發(fā)現(xiàn)有滿足條件的規(guī)則,即規(guī)則三(1和4字段匹配)。返回目標(biāo)數(shù)據(jù)集R中的剩余記錄,分詞匹配算法 成功終止。運算結(jié)果對于模糊地址“海淀安寧莊北側(cè)22號樓C座1120室”,分詞結(jié)果為 “安寧莊、22號樓”;在目標(biāo)數(shù)據(jù)集RecSet中找到了一條模糊匹配記錄“安寧莊東路15號22 號樓”。以全國經(jīng)濟普查中北京市1827條模糊企業(yè)為例,用本發(fā)明方法進行匹配,匹配的 結(jié)果如圖8所示。在上述實驗中,成功匹配的地址有1527條,占總數(shù)的83.6%。其中,一 類地址描述比較完整,或為標(biāo)準(zhǔn)地址,或為本身存在小部分地址要素殘缺的第二類模糊地 址,它們在地址分詞匹配過程中滿足了規(guī)則要求,返回了正確匹配結(jié)果,這類完全匹配的地 址共1292條,占總數(shù)的70. 7% ;另一類地址雖然本身存在描述歧義導(dǎo)致的第一類地址模 糊,但通過程序推理機的智能推理,最終找到了滿足規(guī)則的記錄并返回了正確匹配結(jié)果,此 類模糊匹配的地址共235條,占總數(shù)的12. 9%,圖9中給出了實驗中“金泰富地大廈”、“怡 美家園6號樓”、“安寧莊摩碼園1號樓”3個模糊地址匹配成功后得到的標(biāo)準(zhǔn)地址以及空間 定位的結(jié)果。對于其中300條(占總數(shù)的16.4% )無法匹配的企業(yè)地址,主要由以下兩個 方面的原因?qū)е碌囊皇怯捎诘刂繁旧泶嬖阱e誤,例如,地址所屬地區(qū)為非實驗區(qū)數(shù)據(jù),存 在此類錯誤的地址較少,共9條;二是由于地址本身的描述過于模糊,比如“北京市海淀區(qū) 西三旗橋西”、“北京市海淀區(qū)清河西二旗字寧莊路北側(cè)”等地址,它們由于過于模糊導(dǎo)致在 標(biāo)準(zhǔn)地址庫中無法匹配到滿足規(guī)則要求的地址記錄,這類錯誤在無法匹配的地址中占大多 數(shù),共291條??梢?,本發(fā)明的方法可以實現(xiàn)模糊中文地址的地理賦值,且具有較高的定位 準(zhǔn)確率。以上所述僅是本發(fā)明的優(yōu)選實施方式,應(yīng)當(dāng)指出,對于本技術(shù)領(lǐng)域的普通技術(shù)人 員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應(yīng) 視為本發(fā)明的保護范圍。
權(quán)利要求
一種基于匹配規(guī)則的模糊中文地址地理賦值方法,其特征在于步驟如下(1)數(shù)據(jù)準(zhǔn)備a)輸入地址字符串Addr;b)讀入整個標(biāo)準(zhǔn)地址庫,作為目標(biāo)數(shù)據(jù)集RecSet;標(biāo)準(zhǔn)地址庫中包含以下內(nèi)容12位代碼表示的行政區(qū)劃;存儲詳細街道地址中最小地址要素的五個字段,即道路1、門牌號2、住宅小區(qū)3、樓牌號4、興趣點POI(Point of Interest)5;用于存儲空間信息的字段,存儲地理坐標(biāo)、經(jīng)緯度或建筑物編碼;c)讀入行政區(qū)劃代碼表;表中包括以下幾個字段序號,行政區(qū)劃名稱,行政區(qū)劃級別,行政區(qū)劃12位代碼;d)定義匹配規(guī)則庫,將地址總結(jié)為地址公式,并根據(jù)步驟(1)中步驟b)里所述標(biāo)準(zhǔn)地址庫中對應(yīng)的字段編號,將每條地址公式轉(zhuǎn)化成對應(yīng)的地址規(guī)則并存儲到文本文件Rule中;(2)讀入標(biāo)準(zhǔn)地址庫、行政區(qū)劃代碼表和規(guī)則庫;地址字符串作為待匹配記錄,用Addr表示;標(biāo)準(zhǔn)地址庫作為初始目標(biāo)數(shù)據(jù)集,用RecSet表示;(3)將Addr中的行政區(qū)劃部分轉(zhuǎn)換為12位代碼,縮小目標(biāo)數(shù)據(jù)集a)在行政區(qū)劃代碼表中,搜索Addr中存在的行政區(qū)劃標(biāo)志詞,根據(jù)所述行政區(qū)劃標(biāo)志詞從Addr中識別并拆分出行政區(qū)劃部分;b)如果搜索到的行政區(qū)劃標(biāo)志詞為多個,則比較各個行政區(qū)劃標(biāo)志詞的級別屬性,確定行政區(qū)劃標(biāo)志詞中行政級別最低的詞語,并據(jù)此將所述行政區(qū)劃部分轉(zhuǎn)化為與確定的行政級別最低的詞語相對應(yīng)的12位行政區(qū)劃代碼;c)過濾RecSet,除去與得到的12位行政區(qū)劃代碼不符的記錄;d)將除去的行政區(qū)劃部分的地址字符串重新賦值為Addr;(4)對Addr進行地址分詞與匹配,將分詞結(jié)果存儲到數(shù)組Addr_Split[i]里,將匹配結(jié)果存儲到數(shù)據(jù)集RecSet里a)定義Addr的子串為Sub,首先將整個Addr賦值給Sub,定義歧義棧為Stack,Stack用于存儲匹配中產(chǎn)生的語義歧義,Stack中存儲的元素為結(jié)構(gòu)體變量Struct(i);b)查詢地址匹配規(guī)則庫,根據(jù)查詢規(guī)則庫的次數(shù),限定步驟(4)中步驟c)里的搜索字段范圍;如果為第n次查詢規(guī)則庫,則依次訪問庫中的每條規(guī)則,將每條規(guī)則中第n個字段的合集限定為搜索字段范圍;c)判斷Sub是否為空i)如果Sub為空,則繼續(xù)查看Stack是否為空,如果Stack也為空,則地址分詞匹配失敗,整個方法終止退出;如果Stack不為空,則根據(jù)先進后出原則取出棧頂元素,將Struct(i)中的各個值賦給相應(yīng)變量,并根據(jù)結(jié)構(gòu)體變量中存儲的匹配字段分量中存儲的值,將該字段標(biāo)記為匹配,轉(zhuǎn)到步驟(4)中的步驟e);ii)如果Sub不為空,則調(diào)用最大正向匹配算法,根據(jù)步驟(4)中的步驟b)里限定的字段,在RecSet相應(yīng)字段中分別搜索與Sub匹配的記錄;d)判斷與Sub匹配的字段個數(shù)i)如果匹配失敗,則繼續(xù)調(diào)用最大正向匹配算法進行分詞,轉(zhuǎn)到步驟(4)中的步驟c);ii)如果匹配的字段個數(shù)大于1,則將Sub存儲到分詞數(shù)組Addr_Split[i]中;由于產(chǎn)生了歧義,將每一種歧義情況的多個分量存儲到結(jié)構(gòu)體變量Struct(i)中,并依次存入Stack中;取出棧頂元素,并根據(jù)棧頂元素中存儲的匹配字段,將該字段標(biāo)記為匹配;iii)如果匹配的字段個數(shù)等于1,則將Sub存儲到分詞數(shù)組Addr_Split[i],并將查詢到的匹配字段標(biāo)記為匹配;e)查詢規(guī)則庫,比對已經(jīng)標(biāo)記為匹配的字段與每條規(guī)則,查看是否有滿足條件的規(guī)則存在i)如果存在,則返回分詞結(jié)果數(shù)組Addr_Split與匹配結(jié)果數(shù)據(jù)集RecSet,整個方法終止退出;ii)如果不存在,則將查詢到的子串Sub在字符串Addr中去掉,重新賦值為Sub=Addr-Sub,返回步驟步驟(4)中的步驟b)繼續(xù)進行分詞匹配。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于在所述標(biāo)準(zhǔn)地址庫中,將中文地址中的行政區(qū)劃部分存儲為12位代碼;將詳細街道 地址部分分割為多種不同的最小地址要素分別存儲;并單獨建立一個字段用于存儲空間信 肩、o
3.根據(jù)權(quán)利要求2所述的方法,其特征在于在所述定義匹配規(guī)則庫中,將標(biāo)準(zhǔn)地址庫中包含的五種最小地址要素字段分別由數(shù)字 1-5代替道路1、門牌號2、住宅小區(qū)3、樓牌號4、興趣點POI (Point of Interest) 5 ;總結(jié) 常見的地址公式,將其定義成相應(yīng)的多個地址匹配規(guī)則。
4.根據(jù)權(quán)利要求1所述的方法,其特征在于在所述行政區(qū)劃代碼表中存儲各級行政區(qū)劃的級別、名稱以及相應(yīng)的12位代碼,利用 該表將每個地址中有關(guān)行政區(qū)劃的部分都轉(zhuǎn)化為一個對應(yīng)的12位行政區(qū)劃代碼。
5.根據(jù)權(quán)利要求1所述的方法,其特征在于所述歧義棧中存放地址分詞匹配過程中產(chǎn)生的所有語義歧義情況;棧中的每個元素代 表一種歧義情況,由結(jié)構(gòu)體變量Struct (i)表示;每個結(jié)構(gòu)體變量Struct (i)中,存儲了產(chǎn) 生某一歧義時的多個全局變量,包括目標(biāo)數(shù)據(jù)集RecSet、剩余字符串Addr-Sub、記錄所有 已標(biāo)記為匹配字段的數(shù)組MatchField。
全文摘要
一種基于匹配規(guī)則的模糊中文地址地理賦值方法,屬于地理信息系統(tǒng)的地址賦值領(lǐng)域。首先讀入地址字符串與標(biāo)準(zhǔn)地址庫;查詢與分割地址字符串中的行政區(qū)劃部分并過濾縮小目標(biāo)數(shù)據(jù)集;然后,借助匹配規(guī)則樹與規(guī)則庫,針對地址字符串中經(jīng)常出現(xiàn)的地址要素殘缺與地址歧義等模糊問題,實現(xiàn)地址的分詞與匹配,返回滿足要求的匹配記錄。本發(fā)明整合了地理賦值中的地址分詞與數(shù)據(jù)庫匹配兩個重要環(huán)節(jié),實現(xiàn)了在分詞的同時完成地址的數(shù)據(jù)庫匹配,且有效的解決了模糊中文地址的地址匹配問題,提高了地址匹配的準(zhǔn)確性與正確性。
文檔編號G06F17/30GK101882163SQ20101022194
公開日2010年11月10日 申請日期2010年6月30日 優(yōu)先權(quán)日2010年6月30日
發(fā)明者于濱, 程昌秀 申請人:中國科學(xué)院地理科學(xué)與資源研究所