一種適合于中文網(wǎng)頁文檔的后綴樹聚類方法
【專利摘要】本發(fā)明提出一種適合于中文網(wǎng)頁文檔的后綴樹聚類方法。后綴樹聚類算法的提出是建立在英文網(wǎng)頁聚類的基礎(chǔ)上的,研究的對象是網(wǎng)頁中的英文單詞,而中文最大的特點是詞與詞之間沒有分隔符。為滿足中文網(wǎng)頁的聚類需求,本發(fā)明針對中文網(wǎng)頁文檔的特點,對后綴樹聚類算法進行了改進,使之適于中文Web信息搜索結(jié)果的聚類。文檔預(yù)處理按照句子邊界將每一篇文檔轉(zhuǎn)化為詞的序列,同時過濾掉非詞標(biāo)記及停用詞。后綴樹構(gòu)建由預(yù)處理得到的詞序列生成后綴樹。短語類識別通過后綴樹識別短語類并對其打分。短語類合并通過基于二進制的及語義層面短語類間的相似性計算方法,合并相似度值高的短語類,并選取分值較高的短語類作為最終聚類結(jié)果。
【專利說明】一種適合于中文網(wǎng)頁文檔的后綴樹聚類方法
【技術(shù)領(lǐng)域】
[0001 ] 本發(fā)明涉及后綴樹聚類方法,特別是一種處理中文網(wǎng)頁文檔的方法。
【背景技術(shù)】
[0002]后綴樹是一種能夠有效地處理字符串匹配和查詢的數(shù)據(jù)結(jié)構(gòu),它已經(jīng)被廣泛地應(yīng)用于字符串的處理中,如發(fā)現(xiàn)最長重復(fù)子串、相似字符串匹配、字符串比較和文本壓縮錯誤!未找到引用源。等,其優(yōu)勢包括處理速度快、節(jié)省空間等。一棵包含m個詞(word)的字符串S的后綴樹是一棵有且僅有m個葉子的樹。對于每一個不是根的中間節(jié)點,至少有兩個子節(jié)點,且每一條邊都被標(biāo)上非空的S的子串。從一個節(jié)點發(fā)出的兩條邊不能包含以相同詞開始的子串。后綴樹的最重要的特征就是對于任何一個葉子i,從根到該葉子的整個路徑上的邊串聯(lián)起來的內(nèi)容就是S從位置i起的后綴子串,即S[i,m]。
[0003]后綴樹聚類(STC)算法是一種直觀的文本聚類算法,它將文檔聚類為一組的依據(jù)是文檔含有共同的短語,并且用短語來對聚類進行直觀的描述?;诤缶Y樹聚類的主要思想是將文檔看作是詞的序列,而不是簡單地當(dāng)作一組詞進行處理,因此在聚類過程中可以充分地利用詞與詞之間的語義信息,在尋找文檔共同短語的過程中使用了后綴樹數(shù)據(jù)結(jié)構(gòu)。
[0004]STC作為一種新穎的、增量式的線性時間復(fù)雜度算法,生成的數(shù)據(jù)結(jié)構(gòu)緊湊,節(jié)約了大量的存儲空間,因此可以在很短時間內(nèi)實現(xiàn)對大量文檔的在線聚類,這一優(yōu)勢非常適合搜索結(jié)果集中網(wǎng)頁數(shù)量很多而且不固定的情況。與傳統(tǒng)的文檔聚類算法相比,STC不需要預(yù)先指定類別的數(shù)目,而是由算法動態(tài)生成。此外,STC采用重疊聚類,因此可避免將一篇文檔只歸于一個類的現(xiàn)象出現(xiàn)。由于STC是利用文檔中的短語而不是一組無序的詞進行聚類,所以詞間的關(guān)聯(lián)語義信息可被充分考慮,使生成的類描述更加準(zhǔn)確,便于用戶了解類的內(nèi)容并判斷是否符合自身的查詢需求。
【發(fā)明內(nèi)容】
[0005]STC算法的提出是建立在英文網(wǎng)頁聚類的基礎(chǔ)上的,為滿足中文網(wǎng)頁的聚類需求,針對中文網(wǎng)頁文檔的特點,對STC算法進行了改進,使之適于中文Web信息搜索結(jié)果的聚類。
[0006]為了實現(xiàn)上述目的,本發(fā)明的技術(shù)方案如下:一種適合于中文網(wǎng)頁文檔的后綴樹聚類方法,包括以下步驟:
[0007]A、文檔預(yù)處理
[0008]搜索引擎返回的結(jié)果列表包含文檔的URL、標(biāo)題和摘要信息,其中URL是用來定位文檔的,因此將文檔的標(biāo)題和摘要作為聚類算法的輸入。數(shù)據(jù)預(yù)處理階段主要分為兩個部分,HTML標(biāo)簽及特殊符號的過濾和停用詞的去除。
[0009]Al、過濾HTML標(biāo)簽及特殊符號
[0010]HTML標(biāo)簽以及特殊符號的過濾是預(yù)處理的第一個步驟,主要負(fù)責(zé)將文檔中沒有用的或者干擾文檔信息的非漢語元素去除掉,包括HTML標(biāo)簽(如<br>、
、<td>等)、特殊字符(如@、#、%等)、標(biāo)點符號(去除包括“,”、“? ”、“ !”、“ ; ”等符號)、數(shù)字等字符。
[0011]A2、去除停用詞
[0012]消除停用詞需要定義并維護一個中文停用詞表,使在后綴樹構(gòu)建過程中出現(xiàn)在停用詞表中的詞語全部被剔除,用以改善聚類結(jié)果的質(zhì)量。
[0013]B、后綴樹構(gòu)建
[0014]假設(shè)為長度為m的字符串S生成一棵后綴樹,首先要為樹添加一條表示后綴S[l,m]的邊,然后連續(xù)遞歸地為樹添加表示后綴S[i,m]的邊,其中i從2到m。
[0015]設(shè)Ni為中間后綴樹,對S[i,m]進行后綴樹表不。樹NI包含有一條單一的邊和一個葉子結(jié)點,葉子結(jié)點用I標(biāo)識,邊用S[l,m]標(biāo)識。樹Ni+Ι的構(gòu)造基于樹Ni:
[0016]在Ni中,找到從根結(jié)點開始的、并且標(biāo)識能夠匹配S[i+l,m]的前綴的最長路經(jīng)。這條路徑的查找方法如下:不斷的將S[i+l,m]與從根結(jié)點開始的路徑上的標(biāo)識比較和匹配,直到?jīng)]有更多的匹配時就得到了最長的路徑;
[0017]如果沒有找到與S[i+l,m]的前綴相匹配的路徑,則創(chuàng)建一條從根節(jié)點到新葉節(jié)點i+Ι的邊,用來標(biāo)識后綴S[i+l,m];
[0018]否則,當(dāng)找到最長的路徑時,存在兩種狀態(tài):有可能匹配的位置在一個結(jié)點上,設(shè)為X,也可能匹配的位置在一條邊的中間,設(shè)這條邊為(U,V);
[0019]如果是在一條邊的中間,此時需要先將邊(U,V)折為兩段,在折斷位置插入新的結(jié)點X,折斷的位置就是和S[i+l,m]的前綴比較時,匹配的最后一個詞的下一個位置;
[0020]在兩種狀態(tài)下,都需要創(chuàng)建一條新邊(X,i+Ι),其中結(jié)點i+Ι是一個新的標(biāo)識為i+Ι的葉子,并且用S[i+l,m]的不匹配部分來表示這條邊。
[0021]C、短語類識別
[0022]為每個短語類分配一個分值,然后選擇分值高的作進一步分析。包含短語Bp的短語類B的分值Score (B)可以由下面的公式得到:
[0023]Score ⑶=IB | f (| Bp |) Σ TF-1DF (Wi)
[0024]其中,|Β I是短語類B中的文檔數(shù)目,IBp I是Bp的長度。當(dāng)短語中的字?jǐn)?shù)小于7時f函數(shù)是線性的,而大于7時則是個常數(shù),Wi是Bp中的詞,TF-1DF(Wi)是Bp中每個詞的權(quán)值。TF-1DF是IR領(lǐng)域一個常用的為詞賦權(quán)重的方法,其基本原理是:在一篇文檔中出現(xiàn)頻率越高的詞越能代表這篇文檔的主題,而出現(xiàn)頻率越低的詞越能區(qū)分不同的文檔,其計算公式如下:
【權(quán)利要求】
1.一種適合于中文網(wǎng)頁文檔的后綴樹聚類方法,其特征在于:包括以下步驟: A、文檔預(yù)處理 搜索引擎返回的結(jié)果列表包含文檔的URL、標(biāo)題和摘要信息,其中URL是用來定位文檔的,因此將文檔的標(biāo)題和摘要作為聚類算法的輸入;數(shù)據(jù)預(yù)處理階段主要分為兩個部分,HTML標(biāo)簽及特殊符號的過濾和停用詞的去除; Al、過濾HTML標(biāo)簽及特殊符號 HTML標(biāo)簽以及特殊符號的過濾是預(yù)處理的第一個步驟,主要負(fù)責(zé)將文檔中沒有用的或者干擾文檔信息的非漢語元素去除掉,包括HTML標(biāo)簽,如〈br>、〈p>、〈td>等、特殊字符,如O、#、%等、標(biāo)點符號,去除包括“,”、“?”、“! ”、“ ; ”等符號、數(shù)字等字符; A2、去除停用詞 消除停用詞需要定義并維護一個中文停用詞表,使在后綴樹構(gòu)建過程中出現(xiàn)在停用詞表中的詞語全部被剔除,用以改善聚類結(jié)果的質(zhì)量; B、后綴樹構(gòu)建 假設(shè)為長度為m的字符串S生成一棵后綴樹,首先要為樹添加一條表示后綴S[1,m]的邊,然后連續(xù)遞歸地為樹添加表示后綴S [i,m]的邊,其中i從2到m; 設(shè)Ni為中間后綴樹,對S[i,m]進行后綴樹表示;樹附包含有一條單一的邊和一個葉子結(jié)點,葉子結(jié)點用I標(biāo)識,邊用S[l,m]標(biāo)識;樹附+1的構(gòu)造基于樹Ni: 在Ni中,找到從根結(jié)點開始的、并且標(biāo)識能夠匹配S[i+l,m]的前綴的最長路經(jīng);這條路徑的查找方法如下:不斷的將S[i+l,m]與從根結(jié)點開始的路徑上的標(biāo)識比較和匹配,直到?jīng)]有更多的匹配時就得到了最長的路徑; 如果沒有找到與S[i+l,m]的前綴相匹配的路徑,則創(chuàng)建一條從根節(jié)點到新葉節(jié)點i+1的邊,用來標(biāo)識后綴S[i+l,m]; 否則,當(dāng)找到最長的路徑時,存在兩種狀態(tài):有可能匹配的位置在一個結(jié)點上,設(shè)為X,也可能匹配的位置在一條邊的中間,設(shè)這條邊為(U,V); 如果是在一條邊的中間,此時需要先將邊(U,V)折為兩段,在折斷位置插入新的結(jié)點X,折斷的位置就是和S[i+l,m]的前綴比較時,匹配的最后一個詞的下一個位置; 在兩種狀態(tài)下,都需要創(chuàng)建一條新邊(X,i+Ι),其中結(jié)點i+Ι是一個新的標(biāo)識為i+Ι的葉子,并且用S[i+l,m]的不匹配部分來表示這條邊; C、短語類識別 為每個短語類分配一個分值,然后選擇分值高的作進一步分析;包含短語Bp的短語類B的分值Score (B)可以由下面的公式得到:
Score ⑶=IB I f (| Bp |) Σ TF-1DF (Wi) 其中,IB I是短語類B中的文檔數(shù)目,I Bp I是Bp的長度;當(dāng)短語中的字?jǐn)?shù)小于7時f函數(shù)是線性的,而大于7時則是個常數(shù),Wi是8?中的詞,TF-1DF(Wi)是Bp中每個詞的權(quán)值;TF-1DF是IR領(lǐng)域一個常用的為詞賦權(quán)重的方法,其基本原理是:在一篇文檔中出現(xiàn)頻率越高的詞越能代表這篇文檔的主題,而出現(xiàn)頻率越低的詞越能區(qū)分不同的文檔,其計算公式如下:
TF-1DF(W) = (I + losi(TF(w))).1og( I+—^~)
‘ DF (?)其中,TF(Wi)表示短語類代表的文檔子集中詞Wi的出現(xiàn)次數(shù),N是文檔子集中的文檔數(shù)目,DF(Wi)是出現(xiàn)詞Wi的文檔數(shù)目; D、短語類合并 文檔集中有可能包含一個以上的相同短語,因此,不同短語類代表的文檔集合可能大部分重疊甚至完全相同,需要從文檔集重合度方面進行短語類合并;另外,還從短語類本身的語義層面考慮合并具有相同語義的短語類,目的是避免在最后的聚類結(jié)果中出現(xiàn)語義相同的類別,提高聚類結(jié)果的質(zhì)量; Dl、考慮文檔集重疊度 使用二進制的方法計算兩個短語類之間的相似度,按分值由高到低的順序,依次計算每個短語類和其它所有短語類之間的相似度;計算方法如下:給定兩個短語類Am和An,如果I Am Π An I / I Am I >k并且Am Π An | / | An | >k,貝丨J Am和An的相似度為I,否則為O,其中k是一個在O和I之間的常數(shù),通常取0.5,I Am Π An |表示Am和An所代表的文檔集中的相同文檔數(shù),I Am I表示Am所代表的文檔集中的文檔數(shù);然后,將相似度值為I的短語類合并;合并后的類包含所有短語類對應(yīng)的文檔集合,合并類的分值等于其所包含的短語類的分值總和;計算出短語類的相似度后,對于值為I的短語類還應(yīng)判斷它們之間是否存在依附關(guān)系,然后再決定合并與否; D2、考慮短語類語義 借助詞典對同義短語進行判斷,計算兩個短語類Am和An語義相似度的公式如下:
【文檔編號】G06F17/30GK103838783SQ201210490899
【公開日】2014年6月4日 申請日期:2012年11月27日 優(yōu)先權(quán)日:2012年11月27日
【發(fā)明者】汲業(yè) 申請人:大連靈動科技發(fā)展有限公司