〔摘 要〕當今信息社會,Internet上的信息資源雜亂繁多,用戶很難準確地獲得所需的信息。對此,本文提出根據特征詞在html網頁中的title、keywords、description標簽的位置來計算各Web文本內容之間的相關度,對Web文檔進行模糊聚類的算法,這種基于模糊集的Web文本最大支撐樹聚類算法改善了文本聚類的時間和空間的復雜度,減少了文本處理的維度,提高了聚類的速度和精度,從而提高了用戶對信息資源獲取的方便性。
〔關鍵詞〕模糊聚類;Web文本;html標簽;最大支撐樹
DOI:10.3969/j.issn.1008-0821.2011.11.005
〔中圖分類號〕TP274 〔文獻標識碼〕A 〔文章編號〕1008-0821(2011)11-0021-05
Maximum Support Tree Clustering Algorithm of Web Text Based on Fuzzy SetsMao Taitian1 Zou Kai1 Mao Jing1 Zhou Jun2
(1.Public Administration School,Xiangtan University,Xiangtan 411105,China;
2.The Limited Liability Company of Machinery Manufacturing of Xikuangshan Lengshuijiang,
Lengshuijian 417500,China)
〔Abstract〕In the information society,the information resource in the Internet is variety and disorderly and the user is difficult to acquire information accurately.So this paper analyzed the web text based on the method of fuzzy cluster by calculating the correlation among the content of the web text,according to the placement of the check tags which“title”,“keywords”and“description”contained in HTML pages.The Maximum Support Tree Clustering Algorithm of Web Text based on Fuzzy Sets improved the time-space complexity in text clustering,reduced the text processing dimensions,sped up the clustering,and improved the precision.Consequently,it increased user’s accessibility to information resources.
〔Key words〕the fuzzy clustering;web text;html label;the maximum support tree
信息時代,信息資源在經濟社會發展中扮演著愈益重要的角色。網絡的迅猛發展,使得WWW(World Wide Web)已經成為一個巨大的、蘊含著具有潛在價值知識的分布式信息空間。Internet是信息資源的一個巨大的承載體,Web迅猛發展的同時,信息爆炸,將成為我們面臨的新問題。在這龐大的信息庫中,用戶從搜索引擎上得到的信息雜亂無章,用戶檢索到自己需要的信息也將越來越困難[1]。對網絡信息資源進行更好的分類,使用戶快速簡單的從Internet上檢索到自己所需要的信息,將成為信息時代的一個重要的研究方向[2]。
Web文本聚類就是將Web文本集分成若干稱為聚類簇的子集,聚類簇內的文本間具有較大的相似性,而聚類簇間的文本的相似性較小,從而使我們能夠將觀察到文本的內容組織成不同的類[3]。文本聚類的一般方法有單遍聚類、逆中心距聚類、自上而下精分法、密度 測試法、圖論分析法。但這些方法不能完全套用Internet網頁上的文本,對此本文將通過We b文本的一些特殊結構,突出重點特征詞,來改善算法實現的時間和空間的復雜度,減少文 本處理的維度,提高聚類的速度和精度[4]。
1 Web文本特殊結構說明
Web文本的信息內容大部分是以網頁的形式存于Internet之上,本文將通過html網頁的特殊結構對Web文本進行模糊聚類。
一般而言,html的主體結構如下[5]:
∥為方便書寫簡稱為keywords標簽
∥為方便書寫簡稱為description標簽
HTML結構包括頭部
、主體兩大部分,其中頭部描述瀏覽器所需的信息,而主體則包含所要說明的具體內容。在Web文本的最外層,Web文本中的所有文本和html標簽都包含在其中;是HTML文本的頭部標簽,標簽中的信息內容顯示在瀏覽器窗口中;是嵌套在頭部標簽中的,標簽之間的文本是Web文本標題,它被顯示在瀏覽器窗口的標題欄,該部分是反映文章主題的一個最重要部分;語句,網頁文檔中是直接反映文本內容的一個重要標簽,往往在title標簽的下面,本文為方便書寫簡稱為keywords標簽;語句,也是對文本的概要描述,簡稱為description標簽;標簽之間的文本是正文,是在瀏覽器要顯示的頁面內容。2 Web文本的最大支撐樹聚類算法
本文借助于傳統的文本表示法,采用基于特征詞的多維向量空間模型VSM[6]來對Web文本進行模糊表示:
設有集合T={T1,T2,…,Tn},其中T是待聚類的Web文本的集合,Ti={Xi1,…,Xim}是文本i的m維特征向量,1in,特征向量Xij是從文本中抽取的、能反映文本主題內容的一組特征詞。在Internet的Web網頁上,我們可以通過獲得Web文本的title、keywords、description標簽中的一些信息來確定文本的主旨和大意,而不一定需要查看網頁上繁多的正文。所以本文從title、keywords、description標簽中的特征詞著手,來對Web文本進行聚類。
2.1 提取詞庫
將所有對象里的特征詞抽出,組成一個詞庫X,如下表示:
X={X11,X12,…}U…U{Xi1,Xi2,…}U…={X′1,X′2,…,X′m}(1)
Xij是Web文本i第j個的特征詞,詞庫X共有m個特征詞。
2.2 抽取特征詞
根據詞庫X,從Web文本的title、keywords、description標簽中抽取特征詞k∈X:
ki={{Ti的title}IX}U{{Ti的keywords}IX}U{{Ti的description}IX}(2)
2.3 特征詞權重計算
在向量空間模型中,針對關鍵詞所在的位置我們不能一味的套用只考慮了Web文本的長度、數量、詞頻等因素的布爾權重(Boolean weighting)、TFIDF[7]型權重、基于熵概念的權重(Entropy weighting)、Okapi權重等計算方法[8]。不同位置的詞在分類中所起的作用是有差別的,特別在本文的算法中差別尤為明顯。我們對上述的權重計算方法進行改動,對于特征詞在title、keywords、description三類標簽中的權重的計算,我們用到下列公式:
kij=∑3k=1aik(3)
其中,kij為特征詞i的權重,aik為特征詞i在第k個標簽中的權重,ck為三類標簽的重要程度系數。
再求解aik,利用公式[9]
aik=ln(cktfki)(4)
tfki為特征詞出現在各類標簽的頻數,根據本文在不考慮正文的前提下,求解單個特征詞在title、keywords、description三類標簽中的局部權重,所以tfki值為1。
最終對特征詞在三類不同標簽中的權重計算公式可表示如下:
kij=∑3k=1lnck(6)
為了區分這三類標簽的重要程度,根據網絡上搜集的相關信息和對SEO(搜索引擎優化)的調查數據分析,對于title、keyword、description標簽的重要程度系數如下[10]:
ck=10 k=1(tilte)
5 ? k=2(keyword)
2 ? k=3(description)(7)
2.4 構造Web文本權重矩陣
根據(6)和(7)我們可以得到如下結果:
當第i個Web文本中的第j個特征詞都沒有出現在title、keywords、description標簽中時,kij=0;
當第i個Web文本中的第j個特征詞出現在description標簽中,沒有出現在title、keywords標簽中時,kij=0.693;
當第i個Web文本中的第j特征詞出現在keywords標簽中,沒有出現在title、description標簽中時,kij=1.386;
當第i個Web文本中的第j個特征詞出現在keywords標簽中和標description吧簽中,沒出現在title標簽中時,kij=2.079;
當第i個Web文本中的第j個特征詞出現在title標簽中,沒有出現在description、keywords標簽中時,kij=2.303;
當第i個Web文本中的第j個特征詞出現在title標簽中和description標簽中,沒有出現在keywords標簽中時,kij=2.996;
當第i個Web文本中的第j個特征詞出現在title標簽中和keywords標簽中,沒有出現在description標簽中時,kij=3.689;
當第i個Web文本中的第j個特征詞出現在title、keywords和description標簽中時,kij=4.382。
從而得到Web文本權重矩陣:
T=[kij]n×m, 1in, 1jm(8)
n是文本數,m是詞條數,由于詞條和Web文本的數量都很大,而單個文本中出現的詞條非常有限,再加上在兩篇Web文本出現相同的特征詞的概率很小,因此T一般為稀疏矩陣。
2.5 構造模糊相似矩陣
模糊相似矩陣R是描述各個待聚類Web文本對象之間的相似性的統計量,根據T=[Xij]生成模糊相似關系:
R=[rij]n×n, 0rij1, i、j=1,2,…,n(9)
rij表示待聚類Web文本i和Tj之間的相似程度。在計算模糊相似矩陣時,常用夾角余弦法、數量積法、相關系數法、指數相似系數法、最大最小法、算術平均最小法、幾何平均最小值法、絕對值指數法、絕對值減數法等方法來計算,因模糊矩陣R為稀疏矩陣,本文采用比較簡單的最大最小值法計算模糊相似矩陣的值:
rij=∑sh=1min(kih,kjh)∑sh=1max(xih,xjh)(10)
2.6 構建模糊最大支撐樹并進行聚類分析
第一步,建立待聚類對象集上的模糊相似關系,構造模糊圖。
(1)先按上述計算方法建立待聚類對象的模糊相似矩陣R,并計算各個分類對象之間的相似性統計量rij,i,j=1,2,…,n。
(2)將R表示成無向圖G={T,D},T為圖的各個頂點,D為連接兩頂點i、j的邊,權值為rij。
第二步,構造模糊圖G上的最大模糊支撐樹[11]:
(1)找出圖G中最大權值的邊rij;
(2)將權值為rij所連接的新結點放入集合T中,并保留權值rij所在的邊,若T中已含有所有n個結點時,轉(4);
(3)檢查已有的T的每一個結點與T外的結點組成的邊的權值,找出其中最大權值rij,轉(2);
(4)結束,此時T中的所有的頂點和所保留的邊連成我們所需要的最大樹Tmax。
2.7 聚類分析
選擇一個閾值r做截集,將最大樹中小于r的邊斷開,使相連的各結點構成一類,單個結點也作為一類,當r由0上升到1時,所得的分類數目由少變多,分類由粗變細,各結點所代表的聚類對象歸并,形成一個動態聚類譜系圖。
3 應用實例
3.1 選取樣本
從Internet上面保存6個Web文本網頁,在百度所搜引擎里輸入“房價”關鍵詞,在所搜索到得結果中,隨機選取6個網頁:“重慶出臺多項樓市新政 業內人士熱議新政影響”(T1)、“大興線二手房回到原點 業主囤房一年沒賺多少”(T2)、“國務院關于堅決遏制部分城市房價過快上漲的通知”(T3)、“滬樓市房價‘漲’聲再起帶看上升 買還是等?”(T4)、“高房價下近半數80后購房置業選擇50~60平米的小戶型”(T5)、“北京村民因拆遷一夜暴富,專家稱高補償催漲房價”(T6),并從6個網頁中的title、keywords、description標簽中挑選出特征詞如表1所示:
表1 各標簽中的特征詞
titlekeywordsdescriptionT1樓市新政(X1)、新政影響(X2)房價(X3)、計價(X4)、新政(X5)樓市新政(X1)、新政影響(X2)T2二手房(X6)、業主囤房(X7)二手房(X6)、業主囤房(X7)二手房(X6)、業主囤房(X7)T3國務院(X8)、房價(X3)、上漲(X9)國務院(X8)、房價(X3)、上漲(X9)國務院(X8)、房價(X3)、二手房(X6)、房貸(X10)T4滬樓市房(X11)、上漲(X9)房價(X3)、上漲(X9)房價下跌(X12)、房價(X3)T5房價(X3)、小戶型(X13)房價(X3)、小戶型(X13)置業問題(X14)、購房主力(X15)T6拆遷暴富(X16)、高補償(X17)、房價(X3)拆遷暴富(X16)、房價會(X18)、樓面價(X19)Φ
T={T1,T2,T3,T4,T5,T6},Ti為第i個Web文本,對這6個Web文本的title,keywords,description標簽中的特征詞進行聚類分析:
T1中的特征詞:{X1,X2,X3,X4,X5};
T2中的特征詞:{X6,X7};
T3中的特征詞:{X3,X6,X8,X9,X10};
T4中的特征詞:{X3,X9,X11,X12};
T5中的特征詞:{X3,X13,X14,X15};
T6中的特征詞:{X3,X16,X17,X18,X19}。
3.2 提取樣本詞庫
提取樣本詞庫,根據公式(1)得到如下詞庫:
X={X1,X2,X3,X4,X5,X6,…,X18,X19}
根據詞庫X,從各Web文本的title,keywords,description標簽中抽出特征詞:
T1:title標簽中的特征詞{X1,X2},keywords標簽中的特征詞{X3,X4,X5},description標簽中的特征詞{X1,X2};
T2:title標簽中的特征詞{X6,X7},keywords標簽中的特征詞{X6,X7},description標簽中的特征詞{X6,X7}。
T3:title標簽中的特征詞{X3,X8,X9},keywords標簽中的特征詞{X3,X8,X9},description標簽中的特征詞{X3,X6,X8,X10}。
T4:title標簽中的特征詞{X9,X11},keywords標簽中的特征詞{X3,X9},description標簽中的特征詞{X3,X12}。
T5:title標簽中的特征詞{X3,X13},keywords標簽中的特征詞{X3,X13},description標簽中的特征詞{X14,X15}。
T6:title標簽中的特征詞{X3,X16,X17},keywords標簽中的特征詞{X16,X18,X19},description標簽中的特征詞{Φ}。
3.3 構造模糊矩陣
依據各個特征詞在各個Web文本中出現的位置求出其位置加權值,構造Web文本的特征向量矩陣:T=2.9962.9961.3861.3861.38600000000000000
000004.3824.382000000000000
004.382000.69304.3822.3030.693000000000
003.689000003.68902.3030.6930000000
003.6890000000003.6890.6930.6930000
002.3030000000000003.6892.3031.3861.286
使用公式(10)計算T的模糊相似矩陣R:
R=100.070.070.080.07
010.03000
0.070.0310.360.210.12
0.0700.3610.240.12
0.0800.210.2410.13
0.07000.120.131
3.4 繪制模糊圖
在建立待聚類對象集上的模糊相似關系矩陣R后,將R表示成模糊圖G={T,D}如圖1所示。
圖1 模糊圖G
3.5 構造最大支撐樹
根據做最大支撐樹的方法,做模糊圖G的一個最大支撐樹如圖2所示。
3.6 劃分截集
分別選擇r的值為:0、0.03、0.07、0.13、0.24、0.36、1對最大支撐樹做截集,將最大樹中小于r的邊斷開,使相連的各結點構成一類。
圖2 最大支撐樹
r=0;分成一類{T1,T2,T3,T4,T5,T6};
r=0.03;分成一類{T1,T2,T3,T4,T5,T6};
r=0.07;分成兩類{T1,T3,T4,T5,T6}、{T2};
r=0.13;分成三類{T1}、{T2}、{T3,T4,T5,T6};
r=0.24;分成四類{T1}、{T2}、{T3,T4,T5}、{T6};
r=0.36;分成五類{T1}、{T2}、{T3,T4}、{T5}、{T6};
r=1;分成六類{T1}、{T2}、{T3}、{T4}、{T5}、{T6}。
3.7 分 析
由上述模糊聚類可已看出,當r由1下降到0時,對于上面6個網頁的分類由細變粗,r=0.36時,T3,T4聚為一類,其他各自成一類,而T3,T4都涉及到“房價上漲”問題,比較體現文本內容主題,當r=0.24;T1,T2,T6各自分別聚為一類,其他Web文檔聚為一類,T3,T4,T5聚為一類,總體而言這4個Web文本都談到了“房價”問題,而T1,T2,T6基本上沒有涉及的“房價”的信息,并不是文本內容所要反映的主題,即“房價”在反應內容主題所占的權重非常小,由此可見,在對Web文本進行聚時,可以根據具體r的值來進行模糊聚類。
4 不同算法的性能對比
我們從百度搜索引擎中輸入“經濟”,搜索引擎找到的相關搜索結果約100 000 000個,我們抽取前10個頁面的網頁(每個頁面均有12條結果),得到約1 200個關于經濟的網頁,再對這1 200個網頁進行篩選,去除視頻,圖片及網站類信息的網頁,得到1 025個文本網頁,對這1 025個Web文本的聚類。我們將本文所采用的算法與TFIDF、TFC的計算方法進行對比, 時間性能如表2所示:
表2 算法的時間性能
算 法特征詞總數
(個)分詞所用時間
(ms)計算特征詞時間
(ms)總計用時
(ms)平均每個特征詞所用時間
(ms)本文算法2 97440 080108 222148 30249TFIDF26 502501 2042 347 1542 848 358107TFC27 024410 2082 800 9623 211 170119
從表2我們可以看出,在對Web文本網頁模糊聚類時,本文所采用的通過特殊標簽抽取特征詞的方法,在時間性能上明顯優于TFIDF和TFC算法。
在聚類精度上,通過確定不同的閾值r確定Web文本的聚類種數,本文算法和TFIDF、TFC算法聚類情況對比如圖3所示,從圖中我們可以看到,本文算法的聚類種數要略多于TFIDF和TFC的聚類種數,即本文算法比原來的聚類算法在聚類的精度上有一定的提高。
圖3 本文算法和TFIDF、TFC算法聚類情況
5 結束語
本文提出的Web文檔的特征詞提取方法,不需要對文檔進行分詞,充分利用了網頁Web文本中的title、keywords、description等標簽中的特征詞對整個Web文本進行歸納。該Web文本聚類算法,充分利用html網頁文本的特殊結構,避免對文本聚類的時間和空間的高復雜度,文本處理的高維度,減少了文本特征維數;在Web文本的title、keywords、description標簽中抽取特征詞,通過調查分析,計算特征詞的權重,從而確定具體的閾值來對Web文本進行模糊分類,而不需要通過閱讀文本的全文后來對Web文本進行分類,在一定程度上提高了聚類的速度;準確定位到title、keywords、description標簽中詞,提高聚類精度,一般網頁文本上的內容雜亂繁多,在體現文本主題內容時,往往穿插一些與文本無關聯的內容,增加了文本分類難度,該聚類算法抽取html中的三類標簽進行分析,有效的避免了網頁內容雜亂的問題,提高聚類的精度。
但是該算法在某些地方也存在著一些不足,比如說對Web文本的聚類限定在了包含有title、keywords、description標簽的網頁文本中,對于Internet上的信息資源絕不僅僅限于此,它還包含有基于圖片、視頻等方面的信息資源;另一方面,對于標簽title、keywords、description中的特征詞進行查閱時,需要查看Web文本的源碼。
參考文獻
[1]Linghui Gong,Jianping Zeng,Shiyong Zhang.Text stream clustering algorithm based on adaptive feature selection[J].Expert Systems with Applications,2011,(38):1393-1399.
[2]孟海濤.基于模糊聚類的學術期刊數據挖掘算法[J].鹽城商學院學報,2006,19(4):68-70.
[3]彭曙蓉,王耀南.針對小文本的Web數據挖掘技術及其應用[J].微計算機信息,2006,22(7-3):203-205.
[4]Trotman,Andrew.Choosing document structure weights[J].Information Processing and Management,2005,(2):243-264.
[5]隋麗萍,徐承韜,李瑞芳.基于HTML結構的Web文本主題挖掘研究[J].算法研究,2007,(1):47-50.
[6]孟海濤.基于模糊聚類的學術期刊數據挖掘算法[J].鹽城商學院學報,2006,19(4):68-70.
[7]譚穎.文本挖掘中的聚類算法研究[D]:[碩士學位論文].吉林大學,2009.
[8]李清峰,周偉林,何靜,等.一種基于模糊聚類的文本挖掘新方法[J].計算機應用研究,2009,26(12):4453-4456.
[9]孫雙,賀睴等.一種改進的Web文檔關鍵詞權重計算方法[J].上海大學學報:英文版,2008,12(3):235-239.
[10]許建潮,胡明.中文Web文本的特征獲取與分類[J].計算機工程,2005,(8):24-25.
[11]高新波.模糊聚類分析及其應用[M].西安:西安電子科技大學出版社,2004.1.