一種基于集合運算的中文地址行政區(qū)劃解析方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及中文地址解析技術(shù),尤其涉及一種基于集合運算的中文地址行政區(qū)劃 解析方法。
【背景技術(shù)】
[0002] 科技的不斷發(fā)展,人們對生活中各個方面的需求不斷提升,服務化社會成為未來 發(fā)展的趨勢。作為服務化中的一種形式,當今地理信息位置服務是通過國家地理信息普查、 實地勘察等方式獲取數(shù)據(jù)建立一個標準的中文地址庫,然后通過匹配進行信息返回。
[0003] 在互聯(lián)網(wǎng)位置服務中,地理位置可以有多種方式來表達,中文地址是其中之一。一 個規(guī)范的中文地址應包含完整的行政區(qū)劃,并按照行政區(qū)劃(省/市/縣/鄉(xiāng)/村)、路街、牌 號、建筑、戶室的次序來表達。一個完整規(guī)范的中文地址可以得到與其對應的地理位置。然 而,在互聯(lián)網(wǎng)上,中文地址的經(jīng)常用非規(guī)范行政區(qū)劃方式來描述,中文地址中與行政區(qū)劃相 關(guān)的方式有:行政區(qū)劃用簡稱(省略行政區(qū)劃特征詞)、省略部分行政區(qū)劃、省略行政區(qū)劃、 行政區(qū)劃信息不是規(guī)范次序出現(xiàn)。此外,地址的非行政區(qū)劃部分存在與行政區(qū)劃同名的情 況,主要表現(xiàn)在:路街的名稱常用行政區(qū)劃名稱命名、建筑(或企業(yè))名稱中包含行政區(qū)劃 名稱、地名與行政區(qū)劃同名,等等。在互聯(lián)網(wǎng)中紛雜的非規(guī)范信息中,辨別出相對于用戶需 要的信任度比較高的信息,在當今地理信息位置服務方面變得十分必要,一個基于集合運 算的中文地址行政區(qū)劃解析算法隨著用戶的需要而產(chǎn)生。
[0004] 對于一個中文地址為了快速地解析出地址的行政區(qū)劃,一般借助行政區(qū)劃字典來 匹配地址中的行政區(qū)劃。由于可能存在多個行政區(qū)劃信息,利用字典則會匹配出多個行政 區(qū)劃集合。例如地址中存在行政區(qū)劃詞"江蘇"和"鼓樓",查詢返回的結(jié)果集為{{江蘇省,南 京市,鼓樓區(qū)},{江蘇省,徐州市,鼓樓區(qū)},{福建省,福州市,鼓樓區(qū)},{河南省,開封市,鼓 樓區(qū)}},{江蘇省,,},無法得到更詳盡更準確的行政區(qū)劃信息。因此,針對上訴問題,發(fā)明一 種基于集合運算的中文地址行政區(qū)劃解析算法,可以有效的提高地址數(shù)據(jù)查找的速度和準 確性,從而提高網(wǎng)絡地圖在線服務質(zhì)量,為用戶更好的定位。
【發(fā)明內(nèi)容】
[0005] 本發(fā)明要解決的技術(shù)問題在于針對現(xiàn)有技術(shù)中的缺陷,提供一種基于集合運算的 中文地址行政區(qū)劃解析方法。
[0006] 本發(fā)明解決其技術(shù)問題所采用的技術(shù)方案是:一種基于集合運算的中文地址行政 區(qū)劃解析方法,它包括以下步驟:
[0007] 1)利用行政區(qū)劃字典和移動窗口最大匹配算法(Move Window Max Match,MWMM), 查詢匹配出所需解析的中文地址字符串中所有可能的行政區(qū)劃結(jié)果集;
[0008] 2)根據(jù)步驟1)得到的所有可能的行政區(qū)劃結(jié)果集,進行條件集合運算;
[0009] 行政區(qū)劃條件集合運算規(guī)則如下:
[0010] -個行政區(qū)劃是包括省、市、縣、鄉(xiāng)、村5級行政區(qū)劃元素,并按照省、市、縣、鄉(xiāng)、村 的次序組成,于是行政區(qū)劃D記為:D = {di,d2,d3,d4,d5};
[0011] 2.1)若所有可能的行政區(qū)劃結(jié)果集為1個行政區(qū)劃集合,則計算1個行政區(qū)劃集合 的交集;
[0012] 一個行政區(qū)劃集合DSziDhDs,···,0?},并且DlDs,···,0?的省級區(qū)劃元素都不為 空,則行政區(qū)劃集合DS的交集為DI (D!,D2,…,Dm);用公式(1)表示:
[0013] DI(Di,D2,---,Dm)= HDS= Γ? {Di ,D2, ·'· ,Dm} =Di Π D2 Γ? ··· Π Dm (1)
[0014] 2.2)若所有可能的行政區(qū)劃結(jié)果集為多個行政區(qū)劃集合,則計算多個行政區(qū)劃集 合的交集;
[0015] 多個行政區(qū)劃集合的交為多個行政區(qū)劃集合分別兩兩相交結(jié)果的集合,記為DSI;
[0016] 用公式(2)表示:
[0017]
[0018]
[0019] 若上述兩兩相交結(jié)果的集合中有運算結(jié)果為空的,則將對應的行政區(qū)劃的交運算 變成并運算;
[0020] 3)輸出解析出的行政區(qū)劃。
[0021] 按上述方案,步驟2)中計算行政區(qū)劃的交集具體規(guī)則如下:
[0022] 行政區(qū)劃的交為各級行政區(qū)劃元素的交,2個行政區(qū)劃元素的交記為:dlniil, 2,3,4,5;
[0023] 由于行政區(qū)劃元素之間存在包含關(guān)系,即除了省級區(qū)劃外,其它各級區(qū)劃都屬于1 個或η個上級行政區(qū)劃,先計算省級行政化元素的交,再計算非省級區(qū)劃元素的交;
[0024] a)省級行政區(qū)劃元素的交規(guī)則如下:
[0025]
[0026] 其中P表示不確定,即2個行政區(qū)劃中存在一個行政區(qū)劃的省級區(qū)劃元素為空_,此 時需要對省級區(qū)劃元素為空的行政區(qū)劃利用行政區(qū)劃字典查詢得到其省級區(qū)劃元素再進 行計算;
[0027] 即當省級區(qū)劃元素相等時,則交的結(jié)果為該省級區(qū)劃元素;
[0028] 當省級區(qū)劃元素不相等,且省級區(qū)劃元素都不為空,則交的結(jié)果為空;
[0029] 當省級區(qū)劃元素不相等,且區(qū)劃元素有一個為空時,此時需要對省級區(qū)劃元素為 空的行政區(qū)劃利用行政區(qū)劃字典查詢得到其省級區(qū)劃元素再進行計算;
[0030] b)非省級區(qū)劃元素的交結(jié)果采用以下規(guī)則;
[0031]
[0032] 即當區(qū)劃元素相等時,則交的結(jié)果為區(qū)劃元素;
[0033] 當區(qū)劃元素不相等,且區(qū)劃元素都不為空,則結(jié)果為空;
[0034] 當區(qū)劃元素不相等,且區(qū)劃元素有一個為空時,如果存在非空的交父元素 (彐關(guān)0),結(jié)果為非空區(qū)劃元素值。
[0035]本發(fā)明產(chǎn)生的有益效果是:本發(fā)明方法解決了在互聯(lián)網(wǎng)中中文地址數(shù)據(jù)混亂無序 的情況下快速解析出中文地址行政區(qū)劃的問題,并能得到信息量最完整最準確的中文地址 的行政區(qū)劃解析結(jié)果。
【具體實施方式】
[0036]為了使本發(fā)明的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合實施例,對本發(fā)明 進行進一步詳細說明。應當理解,此處所描述的具體實施例僅用以解釋本發(fā)明,并不用于 限定本發(fā)明。
[0037] -種基于集合運算的中文地址行政區(qū)劃解析方法,它包括以下步驟:
[0038] S1、利用行政區(qū)劃字典和移動窗口最大匹配算法(Move Window Max Match, MWMM),查詢匹配出一個中文地址字符串中所有可能的行政區(qū)劃結(jié)果集。
[0039 ] S1中的MWMM得到的所有可能的行政區(qū)劃結(jié)果集,是根據(jù)中文地址中包含的行政區(qū) 劃元素詞計算出這個地址字符串所包含的可能行政區(qū)劃結(jié)果集。行政區(qū)劃元素詞是指中文 地址中的詞可以與行政區(qū)劃字典成功匹配出一個或多個行政區(qū)劃的詞。
[0040] (1) -個中文地址中只包含一個行政區(qū)劃元素詞,且只匹配一個行政區(qū)劃。
[0041] (2) -個中文地址中只包含一個行政區(qū)劃元素詞,且可以匹配多個行政區(qū)劃,則只 有一個行政區(qū)劃集合。
[0042] (3)-個中文地址中包含多個行政區(qū)劃元素詞。每個行政區(qū)劃元素都匹配一個行 政區(qū)劃集合,則多個行政區(qū)劃元素詞可以匹配多個行政區(qū)劃集合。
[0043] S2、根據(jù)S1中行政區(qū)劃集合個數(shù),計算行政區(qū)劃的交集、1個行政區(qū)劃集合的交集、 多個行政區(qū)劃的交集。
[0044] (1)計算行政區(qū)劃的交集:
[0045] 若有2個行政區(qū)劃〇1={(111,(112,(113,(114,(115}和〇2={(121,(122,(123,(124,(125}。則行政區(qū) 劃的交為各級行政區(qū)劃元素的交。記為:DI。用公式(1)表示。2個行政區(qū)劃元素的交記為: dli,i = l,2,3,4,5〇
[0046] DI(Di,D2)=Di HD2 = {dii,di2,di3,di4,di5} Π {d2i,d22,d23,d24,d25}
[0047] = {dii Π cbi,di2 Π (I22,di3 Π d23,di4 Π d24,di5 Π d25}
[0048] (1)
[0049] 由于行政區(qū)劃元素之間存在包含關(guān)系,即除了省級區(qū)劃外,其它各級區(qū)劃都屬于1 個或η個上級行政區(qū)劃。先計算省級行政化元素的交,再計算非省級區(qū)劃元素的交。
[0050] a)省