亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種Web環(huán)境下的字符串相似度的分析方法

文檔序號:6481005閱讀:217來源:國知局
專利名稱:一種Web環(huán)境下的字符串相似度的分析方法
技術(shù)領(lǐng)域
本發(fā)明屬于計算機Web數(shù)據(jù)庫領(lǐng)域,特別適用于Web數(shù)據(jù)庫集成系統(tǒng)重復記錄識別過 程中兩條記錄相似度的判定。
背景技術(shù)
在web環(huán)境中,對于需要進行相似度匹配的字符串,常常會遇到拼寫錯誤、關(guān)鍵詞順序 顛倒、縮寫詞或省略詞匹配等情況,導致應用于web環(huán)境下的字符串相似度分析方法面臨很 多困難。因為典型的常用字符串相似度分析方法通常只針對某一特定情況。如Levenshtein distance較適合于拼寫錯誤,Jaro distance metric較適合于縮寫詞或省略詞識別。在應用中, 常常需要人工來判斷何種環(huán)境下使用什么樣的算法。然而,web環(huán)境中多是半結(jié)構(gòu)和無結(jié)構(gòu) 數(shù)據(jù),具體字符串的類型不容易判斷,因此無法保證應用已有字符串匹配算法計算的字符串 匹配的準確度。
Levenshtein Distance算法是首先由俄國科學家提出。在該方法中,求兩字符串之間的相 似度的基本步驟如下首先,建立編輯距離矩陣,然后,依次由左向右,由上向下計算矩陣 單元的值,最后,矩陣中最右下矩陣單元的值即為兩字符串的編輯距離。該算法為較傳統(tǒng)的 算法,優(yōu)點為過程簡單,易于使用,但對逆序,縮寫詞匹配時效果不太好。
著名的Smih-Wateman算法,是在傳統(tǒng)的Levenshtein distance基礎上改進的算法。其基 本步驟和Levenshtein Distance算法只在計算矩陣單元值時不同。Smih-Waternan算法通過引入 刪除補償、插入補償和替換補償三個參數(shù)來計算矩陣單元值。當矩陣中所有的矩陣單元計算 過以后,矩陣中最右下的矩陣單元值即為要計算的兩個字符串的編輯距離。該算法主要適用 于尋找局部相似序列對,其缺點是對于逆序詞效果不太好。
字符串相似度的Jaro分析方法的主要思想是計算兩個字符串(Tl和的Jaro距離為,
其中丄(^ + ^ + ^ii), Icrll,lcr2l分別為兩個字符長度,c為兩字符串中的"公共子串"長度, 3 h| |o"2| c
t為替換總數(shù),替換總數(shù)計算方法為將al中的第i個公共字符與02中的第i個字符做比較, 若做比較的兩個字符不相同則進行一次替換。該算法的優(yōu)點是計算速度較快,對縮寫詞的識 別準確率較高。但該算法僅適合縮寫詞普遍存在的場合,對不是縮寫詞進行比較時常常將兩 詞的相似度錯誤提高,導致失真。

發(fā)明內(nèi)容
為了解決巳有技術(shù)的不足,本發(fā)明提供一種應用于Web環(huán)境具有適應性的字符串相似度 分析方法——Ajusted-edit distance分析方法,能很好地處理web中經(jīng)常出現(xiàn)的省略、縮寫和 字符順序顛倒情況。
本發(fā)明的分析方法步驟如下-
步驟1.定義基本操作代價,由刪除字符代價,插入字符代價,替換字符代價組成。其

刪除字符代價cost(a—>e),表示刪除字符a的代價; 插入字符代價cost(s—〉a),表示插入字符a的代價;
替換字符代價cost(a—>&)和cost(a—〉b),分別表示用字符a替換字符a的代價和用字符 a替換字符b的代價;
步驟2.字符串預處理,包括識別詞首字符和去除非實義字符。其中,詞首字符指字符 串中第一個實義字符和字符串中非實義字符后的實義字符;非實義字符是指不具有實際意義
的字符,包括空格、逗號、括號。
步驟3.計算距離矩陣,通過創(chuàng)建匹配索引實現(xiàn)字符串中字符位置的交換,進而優(yōu)化編 輯距離。
其中,匹配索引是指將一個字符串以最小代價的編輯操作序列轉(zhuǎn)換成另一個字符串的過 程中,原本被插入或刪除的字符通過改變字符順序能夠以更小的代價進行替換的字符的索引。 在進行實際交換之前,需要先計算一下兩個字符串的距離變化,只有當距離變化小于0時才 進行位置交換。
創(chuàng)建匹配索引方法的步驟如下
A. 計算兩個字符串的距離矩陣;
B. 將所有代價為O的字符對添加到匹配索引中;
C. 通過距離矩陣選出一個代價最小的替換方案;
D. 過濾匹配索引中在轉(zhuǎn)換方案中已經(jīng)采用的代價為0的替換方案;
E. 過濾匹配索引中包含在其他索引對中出現(xiàn)的字符的索引對
5F.結(jié)束
優(yōu)化編輯距離的具體公式如下
ed '(x,力=ed(X力+ distanceChange
distanceChange = Z cos t(Xj') - Z cos t(x,.) + 2 / * dis』
1SI iEl JSP
CD
其中,ed'(x,y)是指交換后兩個字符串的距離;ed(x,y)是指交換前兩個字符串的距離; distanceChange指距離所發(fā)生的變化,如果distanceChange小于0,則是距離變小,反之是變
大;COSt(Xi')是指Xj'在交換后匹配的代價;COSt(Xj)是指字符Xi在交換前匹配的代價;P是由 用戶設定的交換代價系數(shù);diSj是指需要交換位置的第j個編輯操作序列對在編輯操作序列中 的距離;I為在所要處理的匹配索引中涉及到字符串X中字符的位置集合;P為針對匹配索引
需要進行交換處理的編輯操作序列對的集合。
步驟4.判斷是否為縮寫詞,首先判斷兩個字符串是否為縮寫關(guān)系;如果是縮寫關(guān)系則 進行距離優(yōu)化。
所述的判斷縮寫包括2個判斷因素①判斷兩者是否有一定的相似度;②判斷兩者的詞 首字符是否被匹配。
判斷縮寫詞的公式如下
■ , 、 ed'(x,y)
sim(x, y)=-"
Max(|x|,|y|)
P +P ()
Pxy=A * sim(x, y)+( 1 -A)*
其中,sim(x,y)指字符串相似度;ed'(x,y)是指步驟3中交換字符后兩個字符串的距離; lxl,lyl分別指字符字符串x,y的長度;Pxy指字符串x,y之間有一個是另一個的縮寫詞的可能性; 入指因素①的權(quán)重,Px,Py分別指串X,串Y詞首字符被以O的代價進行替換的比例。
縮寫詞距離優(yōu)化,通過減少連續(xù)插入字符和連續(xù)刪除字符的代價來實現(xiàn)。
縮寫詞距離優(yōu)化公式如下<formula>formula see original document page 7</formula>
其中,ed"(x,y)是指縮寫詞優(yōu)化后兩個字符串的距離;ed'(x,y)是指步驟3中交換字符后兩個 字符串的距離;distanceOptimized指優(yōu)化后距離所發(fā)生的變化;集合D,I分別指匹配中出現(xiàn)連 續(xù)刪除和連續(xù)插入的集合;costD(n), costl(n)分別指連續(xù)刪除、連續(xù)插入n個字符的代價; count(d), coimt(i)分別指d, i中連續(xù)刪除和插入字符的個數(shù);q是代價衰減系數(shù);d,i分別指集合 中的某個連續(xù)插入和刪除操作,其中d, iGU),…,n-lhn為連續(xù)刪除或連續(xù)插入的個數(shù)。
本發(fā)明的有益效果本發(fā)明的字符串相似度分析方法具有較高適用性,Web未知環(huán)境下, 具有較高的匹配精度。另外,依據(jù)相似度分析方法的步驟可知字符串預處理的時間復雜度 為O(n)(設兩個字符串最長為n);計算nXn的矩陣的時間復雜度為0(n2);根據(jù)索引改變一 個串中一些字符的順序的時間復雜度為O(n);在最壞情況下,兩個字符串中每個字符都為詞 首字符,此時時間復雜度為0(n2);如果判斷為縮寫詞,則需要進行距離優(yōu)化,需要遍歷一遍 匹配路徑,時間復雜度為O(n)。整個分析方法的時間復雜度為0(n2)。


圖1為本發(fā)明實施例字符串X和Y的距離矩陣分析圖。
圖2為本發(fā)明實施例創(chuàng)建匹配索引算法流程圖。
圖3為本發(fā)明實施例對Electron數(shù)據(jù)集重復字段識別的結(jié)果圖。
圖4為本發(fā)明實施例對Book數(shù)據(jù)集name字段重復字段識別的結(jié)果圖。
圖5為本發(fā)明實施例運行時間與數(shù)據(jù)集大小的關(guān)系圖。
具體實施例方式
本發(fā)明的一個實施例,采用從DeepWeb中抽取的一本書《java編程思想第四版》作者
的兩種表達形式,如下
X="(美)Bruce Eckel" ; Y= "Eckel(美)"。
本發(fā)明方法的具體實施步驟如下
步驟l.定義基本操作代價,其中C(a—>a)=0 ,C(a_—>b)=l, C(a—>s)=l,C(s—>a)=l 。步驟2.根據(jù)輸入的字符串X和字符串Y對字符串進行預處理,首先識別兩字符串中各單 詞的首字符,分別為("美","B" , "E" ), ( "E","美");然后,去除X,Y中的非實義字 符后X="美BruceEckel" ; Y= "Eckel美"。
步驟3.以X為行,Y為列創(chuàng)建距離矩陣,如圖1所示。根據(jù)距離矩陣我們可以得到一條匹 配路徑((美一〉s), (B—>e),(廣>{0, (u—>s), (c—>e), (e—>s), (E—>E), (c—>c), (k —>k), (1—>1) , (e—>e) , (e—>美)}。因為在計算距離矩陣的過程中X中的"美"與Y中的 "美"匹配代價為0,但在匹配路徑中兩者并沒有匹配,故匹配索引為{(1,6)}。根據(jù)匹配索引 交換過字符后,匹配路徑變?yōu)閧(B—>s), (i^">e), (u—>s), (c—>£), (e~>e), (E—>E), (c—>c), (k—>k), (1—>1) , (e—>e),(美一>美)}。
用戶定義交換代價系數(shù)P =0.1, distanceChange=0+0-(l+l)+0.1*(12-l)=-0.9。所以交換后X, Y的距離變?yōu)閑d'(X,Y )=7-0.9=6.1。
圖2為創(chuàng)建匹配索引算法的流程圖。其具體實施步驟如下
A. 計算兩個字符串的編輯距離矩陣;
B. 將所有代價為O的字符對添加到匹配索引中;
C. 通過編輯矩陣選出一個代價最小的替換方案;
D. 過濾匹配索引中在轉(zhuǎn)換方案中己經(jīng)采用的代價為0的替換方案;
E. 過濾匹配索引中包含在其他索引對中出現(xiàn)的字符的索引對;
F. 結(jié)束。
步驟4.用戶自定義縮寫判定閥值<t =0.8,代價衰減系數(shù)H=0.75, A=0.4。
sim(X,Y)=l- ed'(X'Y) =l-^i=0.45〉0.4。 Pxy=0.4* 1+0.6*^^=0.85>0.8。所以需要進行縮寫 Max(|X|,|Y|) 11 2
優(yōu)化。因為在匹配路徑中只有5個連續(xù)的刪除,所以
distanceOptimized=l+0.75+0.56+0.42+0.32-5=-1.95。 ed 〃( X,Y )=6.1-1.95=4.15。最終X, Y的相
似度sim(X,Y^ - ed"(X'Y) =1 - =0.62 。 7 Max(pq,|Y|) 11
本發(fā)明(Ajusted-edit distance分析方法)的性能測試在各個數(shù)據(jù)集上的測試結(jié)果圖3、圖4 和圖5所示。圖3、圖4分別是對Electron數(shù)據(jù)集和Book數(shù)據(jù)集的name字段進行重復字符 串檢驗的査全率-査準率曲線圖。圖5是三個字符串匹配算法的運行時間與數(shù)據(jù)集大小關(guān)系圖。 從圖3和4可以看出recall比較高或比較低時,Adjusted-edit distance分析方法的precise并 不占優(yōu)勢,但隨著recall的調(diào)整,它的總體優(yōu)勢會慢慢顯現(xiàn)出來。從圖5可以看出隨著數(shù)
8據(jù)集大小的增長,Adjusted-edit distance分析方法的運行時間大約維持在NeedlemanWunch算 法、Jaro-Winkler算法運行時間的固定倍數(shù)。
權(quán)利要求
1.一種Web環(huán)境下的字符串相似度分析方法,其特征在于該方法包括如下步驟;步驟1.定義基本操作代價,基本操作代價由刪除字符代價、插入字符代價、替換字符代價組成;步驟2.字符串預處理,識別詞首字符和去除非實義字符;步驟3.計算編輯距離,通過創(chuàng)建匹配索引實現(xiàn)字符串中字符位置的交換,進而優(yōu)化編輯距離;其中匹配索引是指將一個字符串以最小代價的編輯操作序列轉(zhuǎn)換成另一個字符串的過程中,原本被插入或刪除的字符通過改變字符順序能夠以更小的代價進行替換的字符的索引;步驟4.判斷是否為縮寫詞,首先判斷兩個字符串是否是縮寫關(guān)系;如果是縮寫關(guān)系則進行距離優(yōu)化;其中,縮寫關(guān)系由2個因素決定①判斷兩者是否有相似度;②判斷兩者的詞首字符是否被匹配;縮寫詞距離優(yōu)化,通過減少連續(xù)插入字符和連續(xù)刪除字符的代價實現(xiàn)。
2. 根據(jù)權(quán)利要求l所述一種Web環(huán)境下的字符串相似度分析方法,其特征在于步驟2所 述的詞首字符是指字符串中第一個實義字符和字符串中非實義字符后的實義字符;非實 義字符是指不具有實際意義的字符,包括空格、逗號、括號。
3. 根據(jù)權(quán)利要求l所述一種Web環(huán)境下的字符串相似度分析方法,其特征在于步驟3所述的匹配索引,在進行字符串交換之前,需要先計算一下兩個字符串的距離變化,只有當距離變化小于O時才進行位置交換;具體公式如下ed力=ed(jc,力+ distanceChangedistanceChange = Zcost(Xi) —Zcost(Xi) + ^];t^diSj (1)iel iel jeP其中,ed'(x,y)是指交換后兩個字符串的距離;ed(x,y)是指交換前兩個字符串的距離; distanceChange指距離所發(fā)生的變化,如果distanceChange小于0,則是距離變小,反之是變大;COSt(Xi')是指Xi'在交換后匹配的代價;COSt(Xi)是指字符Xi在交換前匹配的代價;P是由用戶設定的交換代價系數(shù);diSj是指需要交換位置的第j個編輯操作序列對在編輯操作序列中 的距離;I為在所要處理的匹配索引中涉及到字符串X^字符的位置集合;P為針對匹配索引需要進行交換處理的編輯操作序列對的集合。
4. 根據(jù)權(quán)利要求l所述一種Web環(huán)境下的字符串相似度分析方法,其特征在于步驟4中所述的判斷縮寫詞的公式如下<formula>formula see original document page 3</formula>其中,sim(x,y)指字符串相似度;ed'(x,y)是指步驟3中交換字符后兩個字符串的距離; 14lyl分別指字符字符串x,y的長度;Pxy指字符串x,y之間有一個是另一個的縮寫詞的可能性; 入指因素①的權(quán)重,Px,Py分別指串X,串Y詞首字符被以O的代價進行替換的比例。
5.根據(jù)權(quán)利要求l所述一種Web環(huán)境下的字符串相似度分析方法,其特征在于步驟4所述的縮寫詞距離優(yōu)化具體公式如下所示<formula>formula see original document page 3</formula>其中,ed"(x,y)是指縮寫詞優(yōu)化后兩個字符串的距離;ed'(x,y)是指步驟3中交換字符后兩個 字符串的距離;distanceOptimized指優(yōu)化后距離所發(fā)生的變化;集合D,I分別指匹配中出現(xiàn)連 續(xù)刪除和連續(xù)插入的集合;costD(n), costl(n)分別指連續(xù)刪除、連續(xù)插入n個字符的代價; count(d), count(i)分別指d, i中連續(xù)刪除和插入字符的個數(shù);n是代價衰減系數(shù);d, i分別指集合 中的某個連續(xù)插入和刪除操作,其中,d, ie {(), , n-l},n為連續(xù)刪除或連續(xù)插入的個數(shù)。
全文摘要
一種Web環(huán)境下的字符串相似度分析方法,首先定義基本操作代價;對字符串預處理,識別它的詞首字符和去除非實意字符;創(chuàng)建距離矩陣,通過創(chuàng)建匹配索引實現(xiàn)編輯距離的優(yōu)化;然后,判斷縮寫詞,先判斷兩個字符串是否是縮寫關(guān)系,如果是縮寫關(guān)系則進行距離優(yōu)化;其中,縮寫關(guān)系由2個因素決定①判斷兩者是否有相似度;②判斷兩者的詞首字符是否被匹配;之后對縮寫詞距離優(yōu)化,通過減少連續(xù)插入字符和連續(xù)刪除字符的代價實現(xiàn)。本發(fā)明的字符串相似度分析方法能很好地處理web中經(jīng)常出現(xiàn)的省略、縮寫和字符順序顛倒情況,具有較高適用性,在Web未知環(huán)境下,具有較高的匹配精度。
文檔編號G06F17/22GK101561813SQ200910011738
公開日2009年10月21日 申請日期2009年5月27日 優(yōu)先權(quán)日2009年5月27日
發(fā)明者戈 于, 月 寇, 朱命冬, 王振華, 申德榮, 聶鐵錚 申請人:東北大學
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1