地址相似度的評估方法和評估裝置的制造方法
【專利摘要】本發(fā)明提供的地址相似度的評估方法,通過將待評估地址進行分詞處理,得到組成待評估地址的多個分詞,分別計算每個分詞和標準地址的相似度,以及每個分詞的權重,通過分詞相似度和分詞權重計算最終的地址相似度,在相似度計算中兼顧了每個分詞和分詞次序對相似度的影響,使最后的相似度比值更能反應地址比對的真實結果。在進一步的實施例中,引入逆向的斐波那契數(shù)進行權重計算。本發(fā)明同時提供地址相似度的評估裝置。
【專利說明】
地址相似度的評估方法和評估裝置
技術領域
[0001] 本發(fā)明涉及信息處理技術領域,具體涉及一種地址相似度的評估方法和評估裝 置。
【背景技術】
[0002] 目前地理信息系統(tǒng)在業(yè)務系統(tǒng)中應用得越來越廣泛。例如,電子商務系統(tǒng)中,揀貨 員根據(jù)發(fā)貨地址或收貨地址將業(yè)務指派給特定的配送站點;在GIS系統(tǒng)中,用戶輸入目標地 址查詢公交線路,或查詢某個地址周邊的信息。針對這些應用場景中,需要根據(jù)地址確定該 地址對應的坐標位置?,F(xiàn)有技術的做法是在標準地址庫中查找和該地址最為相似的標準地 址,然后返回標準地址的坐標作為該地址的近似坐標。
[0003] 判定地址和標準地址庫是否相似,非常突出的技術困難是輸入的地址不完整,例 如,北京市朝陽公園南路6號院,漏掉了朝陽區(qū),或者輸入的地址格式不規(guī)范,例如,北京市 朝陽區(qū)朝陽公園南路6號院(聯(lián)系電話138********)。
[0004] 目前識別地址相似度的評估技術中使用最多的是基于編輯距離(Levenshtein Distance)相似度的算法。在編輯距離相似度算法中,通過距離矩陣算出2個地址字符串之 間的編輯距離,根據(jù)編輯距離和字符串長度計算出最終2個地址字符串的相似度。但是該評 估技術沒有考慮地址字符串中分詞順序和關鍵詞對相似度的影響,例如,朝陽區(qū)人民公園 和朝陽市人民公園,地址字符串相似度很高,但實際上相距很遠。
【發(fā)明內容】
[0005] 有鑒于此,本發(fā)明提供一種地址相似度的評估方法和裝置,以解決上述問題。
[0006] 根據(jù)本發(fā)明的第一方面,本發(fā)明提供一種地址相似度的評估方法,包括:根據(jù)地址 詞庫對待評估地址進行分詞處理,得到組成所述待評估地址的多個分詞;計算每個所述分 詞和標準地址的分詞相似度;計算每個所述分詞的分詞權重;以及根據(jù)所述分詞相似度和 所述分詞權重計算所述待評估地址和所述標準地址的相似度。
[0007] 優(yōu)選地,所述計算每個所述分詞和標準地址的分詞相似度包括:將所述待評估地 址的分詞和所述標準地址的分詞分別編碼;根據(jù)分詞編碼構建距離矩陣;以及根據(jù)所述距 離矩陣計算所述分詞相似度。
[0008] 優(yōu)選地,所述計算每個所述分詞的分詞權重包括:從斐波那契數(shù)列中選擇若干個 連續(xù)數(shù)值,所述連續(xù)數(shù)值的個數(shù)等于所述分詞的個數(shù);以及將所述連續(xù)數(shù)值的逆序后計算 所述分詞權重。
[0009] 優(yōu)選地,所述計算每個所述分詞的分詞權重包括:獲取每一所述分詞對應的角色 類型;以及根據(jù)所述角色分類獲取每一所述分詞的權重。
[0010] 優(yōu)選地,在根據(jù)地址詞庫對待評估地址進行分詞處理前,將所述待評估地址進行 預處理。
[0011]優(yōu)選地,所述地址詞庫包含地名數(shù)據(jù),地址后綴數(shù)據(jù)和數(shù)字地址數(shù)據(jù)。
[0012] 根據(jù)本發(fā)明的第二方面,本發(fā)明提供一種地址相似度的評估裝置,包括:分詞單 元,用于根據(jù)地址詞庫對待評估地址進行分詞處理,得到組成所述待評估地址的多個分詞; 第一計算單元,用于計算每個所述分詞和標準地址的分詞相似度;第二計算單元,用于計算 每個所述分詞的分詞權重;第三計算單元,用于根據(jù)所述分詞相似度和所述分詞權重計算 所述待評估地址和所述標準地址的相似度。
[0013] 優(yōu)選地,第一計算單元包括:編碼模塊,用于將所述待評估地址的分詞和所述標準 地址的分詞分別編碼;距離矩陣構建模塊,用于根據(jù)分詞編碼構建距離矩陣;以及分詞相似 度計算模塊,用于根據(jù)所述距離矩陣計算所述分詞相似度。
[0014] 優(yōu)選地,所述第二計算單元包括:從斐波那契數(shù)列中選擇若干個連續(xù)數(shù)值,所述連 續(xù)數(shù)值的個數(shù)等于所述分詞的個數(shù);以及將所述連續(xù)數(shù)值的逆序后計算所述分詞權重。
[0015] 優(yōu)選地,所述第二計算單元包括:獲取每一所述分詞對應的角色類型;以及根據(jù)所 述角色分類獲取每一所述分詞的權重。
[0016] 優(yōu)選地,還包括:預處理單元,用于對所述待評估地址進行預處理。
[0017] 優(yōu)選地,所述地址詞庫包含地名數(shù)據(jù),地址后綴數(shù)據(jù)和數(shù)字地址數(shù)據(jù)。
[0018] 本發(fā)明提供的地址相似度的評估方法,通過將待評估地址進行分詞處理,得到組 成待評估地址的多個分詞,分別計算每個分詞和標準地址的相似度,以及每個分詞的權重, 通過分詞相似度和分詞權重計算最終的地址相似度,在相似度計算中兼顧了每個分詞和分 詞次序對相似度的影響,使最后的相似度比值更能反應地址比對的真實結果。在進一步的 實施例中,引入逆向的斐波那契數(shù)進行權重計算。
【附圖說明】
[0019] 通過參照以下附圖對本發(fā)明實施例的描述,本發(fā)明的上述以及其它目的、特征和 優(yōu)點將更為清楚,在附圖中:
[0020] 圖1是根據(jù)本發(fā)明實施例的地址相似度評估方法的流程圖;
[0021 ]圖2是根據(jù)本發(fā)明另一實施例的地址相似度評估方法的流程圖;
[0022]圖3是根據(jù)本發(fā)明實施例的地址相似度的評估裝置的結構圖;
[0023]圖4是圖3中第一計算單元的進一步的分解結構圖。
【具體實施方式】
[0024] 以下基于實施例對本發(fā)明進行描述,但是本發(fā)明并不僅僅限于這些實施例。在下 文對本發(fā)明的細節(jié)描述中,詳盡描述了一些特定的細節(jié)部分。對本領域技術人員來說沒有 這些細節(jié)部分的描述也可以完全理解本發(fā)明。為了避免混淆本發(fā)明的實質,公知的方法、過 程、流程沒有詳細敘述。另外附圖不一定是按比例繪制的。
[0025] 附圖中的流程圖、框圖圖示了本發(fā)明實施例的系統(tǒng)、方法、裝置的可能的體系框 架、功能和操作,流程圖和框圖上的方框可以代表一個模塊、程序段或僅僅是一段代碼,所 述模塊、程序段和代碼都是用來實現(xiàn)規(guī)定邏輯功能的可執(zhí)行指令。也應當注意,所述實現(xiàn)規(guī) 定邏輯功能的可執(zhí)行指令可以重新組合,從而生成新的模塊和程序段。因此附圖的方框以 及方框順序只是用來更好的圖示實施例的過程和步驟,而不應以此作為對發(fā)明本身的限 制。
[0026]圖1是根據(jù)本發(fā)明實施例的地址相似度評估方法的流程圖,包括步驟101至步驟 104〇
[0027]在步驟101中,根據(jù)地址詞庫對待評估地址進行分詞處理,得到組成待評估地址的 多個分詞。
[0028] 本發(fā)明中的地址詞庫泛指一切存儲地址關鍵詞的詞料庫,這些詞料包括諸如北 京,海淀,文化大廈等地名數(shù)據(jù),和諸如省、市、縣、小區(qū)、號、棟、室等地址后綴信息,區(qū)域,地 理專有名詞等,和諸如5-302等數(shù)字地址信息。通常地址詞庫越完備,本步驟中的分詞效果 越準確,越有助于地址相似度的計算。例如,"北京市朝陽區(qū)朝陽公園南路6號院"經(jīng)過分詞 得到五個分詞"北京市,朝陽區(qū),朝陽公園,南路,6號院"。
[0029] 在步驟102中,計算每個分詞和標準地址的分詞相似度。
[0030] 在本步驟中計算從前述步驟中獲得的每個分詞和標準地址的分詞相似度。目前計 算字符串相似度的算法有編輯距離算法、最長公共子串算法、貪心字符串匹配算法等多種 算法。這些算法由于側重點不同,應用于不同的領域中。
[0031] 在步驟103中,計算待評估地址的每個分詞的分詞權重。
[0032] 可以理解,在地址字符串中,每個分詞權重不僅和分詞本身相關,同時和該分詞在 地址串中的位置相關。例如,北京市朝陽區(qū)前進大街,分詞"北京市"的權重理應大于"朝陽 區(qū)","前進大街",分詞"朝陽區(qū)"的權重應該大于"前進大街",因此將權重特征加入到相似 度計算中,有助于更好的體現(xiàn)地址相似度比較的真實特征。
[0033] 在一個優(yōu)選的實施例中,在進行分詞權重分析時,先確定每個分詞對應的角色定 義,再根據(jù)角色檢索對應的權重。分詞角色從預先定義的數(shù)據(jù)庫中檢索獲得。例如,"北京 市"定義為一級行政區(qū)劃,"朝陽區(qū)","海淀區(qū)"定義為二級行政區(qū)劃,"海淀大廈","京東貿 易公司"定義為實體名稱。
[0034] 在另一個優(yōu)選的實施例中,通過逆向斐波那契數(shù)列計算分詞權重。斐波那契數(shù)列 指的是這樣一個數(shù)列:〇、1、1、2、3、5、8、13、21…用文字來說,就是斐波那契數(shù)列由0和1開 始,之后的斐波那契數(shù)列系數(shù)就由之前的兩數(shù)相加。因為〇在當前場景中沒有實際業(yè)務意 義,本發(fā)明中采用從1開始的斐波那契數(shù)。根據(jù)分詞序列的長度,例如,"北京市朝陽區(qū)朝陽 公園南路6號院"包括"北京市,朝陽區(qū),朝陽公園,南路,6號院"五個分詞,對應的逆向的斐 波那契數(shù)為[5,3,2,1,1],按照當前值在總值的比例(比如"北京市"對應的斐波那契數(shù)是5, 除以總和(5+3+2+1+1)精確2位小數(shù)等于0.42)換算成權重[0.42,0.25,0.17,0.08,0.08]。
[0035] 在步驟104中,根據(jù)分詞相似度和分詞權重計算待評估地址和標準地址的相似度。
[0036] 在步驟102和步驟103中分別計算獲得分詞相似度和分詞權重,通過公式分詞相似 度和分詞權重相乘之和,獲得待評估地址和標準地址的相似度。例如,分詞相似度為:[1, 0.5,0.33,0.5,0.6]和分詞權重為:[0.42,0.25,0.17,0.08,0.08],最終得到地址相似度 為:1*0 · 42+0 · 5*0 · 25+0 · 33*0 · 17+0 · 5*0 · 08+0 · 6*0 · 08 = 0 · 687,相似度值的取值范圍在0 ~ 1〇
[0037]本領域的技術人員可以理解到,現(xiàn)有技術中的其他計算分詞權重的算法也適用于 本發(fā)明,也應屬于本發(fā)明的保護范圍之內。
[0038]圖2是根據(jù)本發(fā)明另一實施例的地址相似度評估方法的流程圖,包括步驟201-步 驟206。
[0039] 其中,步驟201,205,206和圖1中的步驟101,103和104相同,這里就不再贅述。步驟 202-204詳細描寫了分詞相似度的計算方式。
[0040] 在步驟202中,將待評估地址的分詞和標準地址的分詞分別編碼。
[0041]在步驟203中,根據(jù)分詞編碼構建距離矩陣。
[0042]在步驟204中,根據(jù)距離矩陣計算分詞相似度。
[0043]下面以一個示例說明上述三個步驟。
[0044] 假設標準地址為:"北京市朝陽區(qū)將臺路5號院15號樓朝陽人才",待評估地址為: "北京市將臺路5號院普天創(chuàng)業(yè)園15號樓",標準地址輸出分詞序列為[北京市,朝陽區(qū),將臺 路,5號院,15號樓,朝陽人才],待評估地址的分詞序列是[北京市,將臺路,普天創(chuàng)業(yè)園,5號 院,15號樓]。
[0045] 首先,確定分詞編碼:北京市->'A',朝陽區(qū)將臺路->'C',普天創(chuàng)業(yè)園_>' D',5號院->'E',15號樓->'F',朝陽人才->'G',則標準地址編碼結果是'ABCEFG',待評估地 址編碼結果是'ACDEF。分詞編碼要求不同的分詞采用不同的字母標識。
[0046] 接著,根據(jù)分詞編碼構建距離矩陣。先創(chuàng)建7*8的表格,將標準地址編碼填入到列, 將待評估地址編碼填入到每行,再填入數(shù)字,如表格1所示。
[0047] 表格 1
[0049] 再根據(jù)Levenshtein Distance算法填入表格中的各值(如果行列的字符相同,對 應值填入〇,否則填入左邊、左上角和上面的值中的最小值并且加1),最終得到表格2的距離 矩陣:
[0050] 表格 2
[0053]最后,計算每個分詞和標準地址的相似度。表格2的斜體數(shù)字為A,C,D,E,F(xiàn)和標準 地址的編輯距離,通過公式1-編輯距離/地址長度,得到每個分詞的相似度(A:l-〇/l = l;C: 卜 1/2 = 0.5;D:卜2/3 = 0.33;E:卜2/4 = 0.5;F:卜2/5 = 0.6)。
[0054]在上述實施例中,通過將待評估地址進行分詞處理,得到組成待評估地址的多個 分詞,分別計算每個分詞和標準地址的相似度,以及每個分詞的權重,通過分詞相似度和分 詞權重計算最終的地址相似度,在相似度計算中兼顧了每個分詞和分詞次序對相似度的影 響,使相似度的計算更能反應地址比對的真實結果。另外,本發(fā)明中還引入逆向的斐波那契 數(shù)進行權重計算。
[0055] 在一個優(yōu)選的實施例中,該評估方法還包括:在根據(jù)地址詞庫對待評估地址進行 分詞處理前,將待評估地址進行預處理。例如,將全角字符變?yōu)榘虢亲址?,去掉地址串中?非法字符,如#,Y,空格等。再例如,將待評估地址的信息補全,如將在"朝陽區(qū)"前面增加 "北京市"。通過預處理使分詞處理更加便捷。
[0056] 圖3是根據(jù)本發(fā)明實施例的地址相似度的評估裝置的結構圖。參考圖3,地址相似 度的評估裝,30包括地址詞庫300、分詞單元310、第一計算單元311、第二計算單元312和第 三計算單元313。
[0057]分詞單元310接收輸入的待評估的地址,根據(jù)地址詞庫300將待評估地址進行分詞 處理,獲得待評估地址的多個分詞。地址詞庫300中包含地名數(shù)據(jù),地址后綴數(shù)據(jù)和數(shù)字地 址數(shù)據(jù)。
[0058] 第一計算單元311從分詞單元310中獲得多個分詞,計算每個分詞和標準地址的分 詞相似度。
[0059] 第二計算單元312從分詞單元310中獲得多個分詞,計算每個分詞在待評估地址中 的權重。優(yōu)選的計算方式是根據(jù)分詞的級別定義進行權重計算,或者根據(jù)斐波那契數(shù)列進 行分詞權重計算。
[0000]第三計算單元313從第一計算單元311和第二計算單元312中獲得分詞相似度和分 詞權重,匯總計算待評估地址和標準地址的相似度。優(yōu)選地,可以設置相似度閾值,超過相 似度閾值的待評估地址為標準地址的相似地址。
[0061]圖4是圖3中第一計算單元的進一步的分解結構圖。參考圖4,第一計算單元311包 括:編碼模塊3111、距離矩陣構建模塊3112和分詞相似度計算模塊3113。
[0062]編碼模塊3111接收待評估地址和標準地址的多個分詞,并對每個分詞編碼。
[0063]距離矩陣構建模塊3112根據(jù)分詞編碼構建距離矩陣。距離矩陣的構建方式和方法 步驟中的相同,這里就不再贅述。
[0064]分詞相似度計算模塊3113根據(jù)距離矩陣計算分詞相似度。計算方式和方法步驟中 的相同,這里就不再贅述。
[0065] 在一個優(yōu)選的實施例中,上述評估裝置還包括:預處理單元,用于對待評估地址進 行預處理。例如,將全角字符變?yōu)榘虢亲址サ舻刂反械姆欠ㄗ址?,?,Υ,空格等。通 過預處理使分詞處理更加便捷。
[0066]本發(fā)明中提供的評估裝置,包括:分詞單元,用于根據(jù)地址詞庫對待評估地址進行 分詞處理,得到組成待評估地址的多個分詞;第一計算單元,用于計算每個分的分詞相似 度;第二計算單元,用于計算每個所述分詞的分詞權重;第三計算單元,用于根據(jù)所述分詞 相似度和所述分詞權重計算所述待評估地址和所述標準地址的相似度。該評估裝置根據(jù)分 詞相似度和分詞權重計算最終的地址相似度,在相似度計算中兼顧了每個分詞和分詞次序 對相似度的影響,使相似度的計算更能反應地址比對的真實結果。
[0067] 系統(tǒng)的各個模塊或單元可以通過硬件、固件或軟件實現(xiàn)。軟件例如包括采用JAVA、 C/C++/C#、SQL等各種編程語言形成的編碼程序。雖然在方法以及方法圖例中給出本發(fā)明實 施例的步驟以及步驟的順序,但是所述步驟實現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令可以重新組 合,從而生成新的步驟。所述步驟的順序也不應該僅僅局限于所述方法以及方法圖例中的 步驟順序,可以根據(jù)功能的需要隨時進行調整。例如將其中的某些步驟并行或按照相反順 序執(zhí)行。
[0068] 根據(jù)本發(fā)明的系統(tǒng)和方法可以部署在單個或多個服務器上。例如,可以將不同的 模塊分別部署在不同的服務器上,形成專用服務器?;蛘?,可以在多個服務器上分布式部署 相同的功能單元、模塊或系統(tǒng),以減輕負載壓力。所述服務器包括但不限于在同一個局域網(wǎng) 以及通過Internet連接的多個PC機、PC服務器、刀片機、超級計算機等。
[0069] 以上所述僅為本發(fā)明的優(yōu)選實施例,并不用于限制本發(fā)明,對于本領域技術人員 而言,本發(fā)明可以有各種改動和變化。凡在本發(fā)明的精神和原理之內所作的任何修改、等同 替換、改進等,均應包含在本發(fā)明的保護范圍之內。
【主權項】
1. 一種地址相似度的評估方法,包括: 根據(jù)地址詞庫對待評估地址進行分詞處理,得到組成所述待評估地址的多個分詞; 計算每個所述分詞和標準地址的分詞相似度; 計算每個所述分詞的分詞權重;以及 根據(jù)所述分詞相似度和所述分詞權重計算所述待評估地址和所述標準地址的相似度。2. 根據(jù)權利要求1所述的評估方法,其中,所述計算每個所述分詞和標準地址的分詞相 似度包括: 將所述待評估地址的分詞和所述標準地址的分詞分別編碼; 根據(jù)分詞編碼構建距離矩陣;以及 根據(jù)所述距離矩陣計算所述分詞相似度。3. 根據(jù)權利要求1所述的評估方法,其中,所述計算每個所述分詞的分詞權重包括:從 斐波那契數(shù)列中選擇若干個連續(xù)數(shù)值,所述連續(xù)數(shù)值的個數(shù)等于所述分詞的個數(shù);以及將 所述連續(xù)數(shù)值的逆序后計算所述分詞權重。4. 根據(jù)權利要求1所述的評估方法,其中,所述計算每個所述分詞的分詞權重包括:獲 取每一所述分詞對應的角色類型;以及根據(jù)所述角色分類獲取每一所述分詞的權重。5. 根據(jù)權利要求1所述的評估方法,其中,在所述根據(jù)地址詞庫對待評估地址進行分詞 處理前,將所述待評估地址進行預處理。6. 根據(jù)權利要求1所述的評估方法,其中,所述地址詞庫包含地名數(shù)據(jù),地址后綴數(shù)據(jù) 和數(shù)字地址數(shù)據(jù)。7. -種地址相似度的評估裝置,包括: 分詞單元,用于根據(jù)地址詞庫對待評估地址進行分詞處理,得到組成所述待評估地址 的多個分詞; 第一計算單元,用于計算每個所述分詞和標準地址的分詞相似度; 第二計算單元,用于計算每個所述分詞的分詞權重; 第三計算單元,用于根據(jù)所述分詞相似度和所述分詞權重計算所述待評估地址和所述 標準地址的相似度。8. 根據(jù)權利要求7所述的評估裝置,其中,第一計算單元包括: 編碼模塊,用于將所述待評估地址的分詞和所述標準地址的分詞分別編碼; 距離矩陣構建模塊,用于根據(jù)分詞編碼構建距離矩陣;以及 分詞相似度計算模塊,用于根據(jù)所述距離矩陣計算所述分詞相似度。9. 根據(jù)權利要求7所述的評估裝置,其中,所述第二計算單元包括:從斐波那契數(shù)列中 選擇若干個連續(xù)數(shù)值,所述連續(xù)數(shù)值的個數(shù)等于所述分詞的個數(shù);以及將所述連續(xù)數(shù)值的 逆序后計算所述分詞權重。10. 根據(jù)權利要求7所述的評估裝置,其中,所述第二計算單元包括:獲取每一所述分詞 對應的角色類型;以及根據(jù)所述角色分類獲取每一所述分詞的權重。11. 根據(jù)權利要求7所述的評估裝置,還包括:預處理單元,用于對所述待評估地址進行 預處理。12. 根據(jù)權利要求7所述的評估裝置,其中,所述地址詞庫包含地名數(shù)據(jù),地址后綴數(shù)據(jù) 和數(shù)字地址數(shù)據(jù)。
【文檔編號】G06K9/62GK106096024SQ201610473801
【公開日】2016年11月9日
【申請日】2016年6月24日
【發(fā)明人】許文靖
【申請人】北京京東尚科信息技術有限公司, 北京京東世紀貿易有限公司