字符串匹配系統(tǒng)及方法
【技術領域】
[0001] 本發(fā)明涉及一種字符串匹配系統(tǒng)及字符串匹配方法。
【背景技術】
[0002] 由于自然語言靈活多變的特性和命名風格的不同,對于同一個事物會有不同的描 述方式,在計算機看來,就是兩個不同的字符串。如何快速的判斷出兩個字符串描述的是否 是同一個事物,也就成為了一個具有現(xiàn)實意義的技術問題。
[0003] 現(xiàn)有的字符串關聯(lián)度計算方法要么比較機械的計算字符串之間的聯(lián)系,要么陷入 語義分析的繁雜的計算中,無法快速靈活、準確的計算出字符串之間的相似度。
【發(fā)明內(nèi)容】
[0004] 本發(fā)明要解決的技術問題是為了克服現(xiàn)有技術中無法快速靈活、準確的計算出字 符串之間的相似度的缺陷,提供一種能夠快速靈活、準確的計算出字符串之間的相似度的 字符串匹配系統(tǒng)及方法。
[0005] 本發(fā)明是通過下述技術方案來解決上述技術問題的:
[0006] 本發(fā)明提供一種字符串匹配系統(tǒng),其特點在于,其存儲有若干關鍵維度和若干非 關鍵維度,每一關鍵維度和非關鍵維度均對應有權重值,該字符串匹配系統(tǒng)包括一輸入模 塊、一分詞模塊、一標注模塊、一比較模塊、一計算模塊和一輸出模塊;
[0007] 該輸入模塊用于接收兩個字符串的輸入;
[0008] 該分詞模塊用于將該兩個字符串分詞為詞組;
[0009] 該標注模塊用于標注每一詞組對應的關鍵維度或非關鍵維度;
[0010] 該比較模塊用于比較該兩個字符串中的詞組,若任一關鍵維度上的兩個詞組不相 同則調(diào)用該輸出模塊輸出一字符串不匹配信息,否則(具體指任一關鍵維度上的兩個詞組 均相同或所有匹配上的關鍵維度上的兩個詞組相同但某一字符串缺少某一或某些關鍵維 度上的詞組)調(diào)用該計算模塊,其中,"兩個詞組相同"指的是兩個詞組所表達的意思相同, 而并不局限于兩個詞組所包含的所有字符嚴格一致;同樣地,"兩個詞組不相同"指的是兩 個詞組所表達的意思不相同;
[0011] 該計算模塊用于通過公式 t"http://計算該兩個字符串之間的匹配度,并調(diào)用 該輸出模塊輸出該匹配度;其中P表示該兩個字符串之間的匹配度,η表示該兩個字符串中 詞組相同的個數(shù),%為該兩個字符串中第i個相同的詞組對應的權重值的兩倍,B為該兩個 字符串中每一詞組對應的權重值的累加之和。
[0012] 較佳地,該字符串匹配系統(tǒng)還包括一處理模塊,該處理模塊用于去除該兩個字符 串中的停止詞、糾正該兩個字符串中的錯別字以及將該兩個字符串中的拼音更換為漢字。
[0013] 較佳地,該字符串匹配系統(tǒng)存儲一包含多個詞語的詞庫,該分詞模塊包括一劃分 模塊和一匹配模塊;
[0014] 該劃分模塊用于對該兩個字符串進行劃分;
[0015] 該匹配模塊用于將劃分出的詞語與該詞庫中的所有詞語進行匹配,若匹配成功則 將該劃分出的詞語作為該詞組。
[0016] 較佳地,該些關鍵維度和非關鍵維度按照領域自定義設置。
[0017] 本發(fā)明還提供一種字符串匹配方法,其特點在于,其存儲有若干關鍵維度和若干 非關鍵維度,每一關鍵維度和非關鍵維度均對應有權重值,該字符串匹配方法包括以下步 驟:
[0018] S1、接收兩個字符串的輸入;
[0019] S2、將該兩個字符串分詞為詞組;
[0020] S3、標注每一詞組對應的關鍵維度或非關鍵維度;
[0021] S4、比較該兩個字符串中的詞組,若任一關鍵維度上的兩個詞組不相同則進入步 驟S 5,否則進入步驟S6;
[0022] S5、輸出一字符串不匹配信息,結束流程;
[0023] S6、通過公式 計算該兩個字符串之間的匹配度,并輸出該匹配度,結 束流程;其中η表示該兩個字符串中詞組相同的個數(shù),%為該兩個字符串中第i個相同的 詞組對應的權重值的兩倍,B為該兩個字符串中每一詞組對應的權重值的累加和。
[0024] 較佳地,步驟S1和步驟S2之間包括以下步驟:
[0025] 去除該兩個字符串中的停止詞、糾正該兩個字符串中的錯別字以及將該兩個字符 串中的拼音更換為漢字。
[0026] 較佳地,該字符串匹配方法存儲一包含多個詞語的詞庫,步驟S2包括以下步驟:
[0027] S21、對該兩個字符串進行劃分;
[0028] S22、將劃分出的詞語與該詞庫中的所有詞語進行匹配,若匹配成功則將該劃分出 的詞語作為該詞組。
[0029] 較佳地,該些關鍵維度和非關鍵維度按照領域自定義設置。
[0030] 在符合本領域常識的基礎上,上述各優(yōu)選條件,可任意組合,即得本發(fā)明各較佳實 例。
[0031] 本發(fā)明的積極進步效果在于:
[0032] 本發(fā)明提供一種字符串匹配系統(tǒng)及方法,通過對劃分出的每一詞組進行標注,通 過比較關鍵維度上的詞組,并采用"不同否定"優(yōu)先方式在任一關鍵維度上的兩個詞組不相 同時輸出字符串不匹配信息,否則具體計算出兩個字符串之間的匹配度。本發(fā)明能夠快速 靈活、準確的計算出兩個字符串之間的匹配度。
【附圖說明】
[0033] 圖1為本發(fā)明較佳實施例的字符串匹配系統(tǒng)的結構框圖。
[0034] 圖2為本發(fā)明較佳實施例的字符串匹配方法的流程圖。
【具體實施方式】
[0035] 下面通過實施例的方式進一步說明本發(fā)明,但并不因此將本發(fā)明限制在所述的實 施例范圍之中。
[0036] 如圖1所示,本實施例提供一種字符串匹配系統(tǒng),其存儲有若干關鍵維度和若干 非關鍵維度,該些關鍵維度和非關鍵維度可按照領域自定義設置,每一關鍵維度和非關鍵 維度均對應有權重值,該字符串匹配系統(tǒng)包括一輸入模塊1、一處理模塊2、一分詞模塊3、 一標注模塊4、一比較模塊5、一計算模塊6和一輸出模塊7。
[0037] 上述介紹了該字符串匹配系統(tǒng)包括的部件,下面具體介紹每一部件實現(xiàn)的功能:
[0038] 該輸入模塊1用于接收兩個字符串的輸入;
[0039] 該處理模塊2用于去除該兩個字符串中的停止詞、糾正該兩個字符串中的錯別字 以及將該兩個字符串中的拼音更換為漢字;
[0040] 該分詞模塊3用于將該兩個字符串分詞為詞組;
[0041] 該標注模塊4用于標注每一詞組對應的關鍵維度或非關鍵維度;
[0042] 該比較模塊5用于比較該兩個字符串中的詞組,若任一關鍵維度上的兩個詞組不 相同則調(diào)用該輸出模塊7輸出一字符串不匹配信息,否則調(diào)用該計算模塊6 ;
[0043] 該計算模塊6用于通過公式 ?3''/計算該兩個字符串之間的匹配度,并調(diào) Ρ = /B 用該輸出模塊7輸出該匹配度;其中P表示兩個字符串之間的匹配度,η表示該兩個字符串 中詞組相同的個數(shù),%為該兩個字符串中第i個相同的詞組對應的權重值的兩倍,B為該兩 個字符串中每一詞組對應的權重值的累加和。
[0044] 其中,進一步地該分詞模塊3包括一劃分模塊31和一匹配模塊32,該字符串匹配 系統(tǒng)存儲一包含多個詞語的詞庫,該劃分模塊31用于對該兩個字符串進行劃分,該匹配模 塊32用于將劃分出的詞語與該詞庫中的所有詞語進行匹配,若匹配成功則將該劃分出的 詞語作為該詞組。
[0045] 如圖2所示,本實施例還提供了一種字符串匹配方法,其存儲有若干關鍵維度和 若干非關鍵維度,每一關鍵維度和非關鍵維度均對應有權重值,該字符串匹配方法包括以 下步驟:
[0046] 步驟101、接收兩個字符串的輸入;
[0047] 步驟102、去除該兩個字符串中的停止詞、糾正該兩個字符串中的錯別字以及將該 兩個字符串中的拼音更換為漢字;
[0048] 步驟103、將該兩個字符串分詞為詞組,進一步地,該步驟包括下面兩個步驟:對 該兩個字符串進行劃分;將劃分出的詞語與該詞庫中的所有詞語進行匹配,若匹配成功則 將該劃分出的詞語作為該詞組;
[0049] 步驟104、標注每一詞組對應的關鍵維度或非關鍵維度;
[0050] 步驟105、比較該兩個字符串中的詞組,若任一關鍵維度上的兩個詞組不相同則進 入步驟106,否則進入步驟107 ;
[0051] 步驟106、輸出一字符串不匹配信息,結束流程;
[0052] 步驟107、通過公式 /計算該兩個字符串之間的匹配度,并輸出該匹配 pJ-lA 度,結束流程;其中η表示該兩個字符串中詞組相同的個數(shù),%為該兩個字符串中第i個相 同的詞組對應的權重值的兩倍,B為該兩個字符串中每一詞組對應的權重值的累加和。
[0053] 下面舉一具體的例子即以輸入的兩個酒店名稱之間的匹配度來進行說明字符串 匹配系統(tǒng)及方法,以使得本領域技術人員更好地理解本發(fā)明,但本發(fā)明并不局限于只能應 用于計算酒店名稱之間的匹配度,本發(fā)明可應用于計算各領域中兩個字符串之間的匹配 度。
[0054] 不同的領域、不同的應用場景所設定的維度不同,其中抽取的關鍵維度也不同。在 本例中,對于酒店領域來說,其可能有的維度有"城市"、"酒店品牌"、"子品牌"、"酒店名稱 描述詞"、"區(qū)域"以及"無意義詞"等,其中的關鍵維度為"城市"、"酒店品牌"、"子品牌"和 "區(qū)域",非關鍵維度為"酒店名稱描述詞"和"無意義詞"。在關鍵維度中,"城市"對應的權 重值為5, "區(qū)域"對應的權重值為5, "酒店品牌"對應的權重值為10,"子品牌"對應的權重 值為8。在非關鍵維度中,"酒店名稱描述詞"對應的權重值為1,"無意義詞"對應的權重值 為〇。
[0055] 詞庫包括通用詞庫和專用詞庫,通用詞庫是不區(qū)分行業(yè)的最廣泛、最普通的詞庫, 為業(yè)界通用,包含如行政區(qū)域詞庫、自然語言詞庫等;專用詞庫是按照特定行業(yè)組織的一系 列較小但是更加專業(yè)的詞庫,其數(shù)據(jù)量遠不如通用詞庫,但是在特定領域上比通用詞庫具 有更高的權威性,其采納概率更高。在本例的酒店領域中,其采