朱正國
摘 要: 搜索引擎針對某個查詢條件返回給用戶的查詢結果可能數(shù)量非常巨大,要從這么多的返回信息中找到所需要的信息是很困難的。研究聚類算法是為了幫助用戶更好地查詢到自己所需要的和感興趣的信息。提出采用基于K-means與FCA的網(wǎng)頁文本聚類算法,并分析了兩種算法各自的優(yōu)勢與缺點,為研究更優(yōu)的網(wǎng)頁文本聚類算法提供依據(jù)。
關鍵詞: 聚類算法; 搜索引擎; K-means; FCA
中圖分類號:TP312 文獻標志碼:A 文章編號:1006-8228(2013)09-43-02
0 引言
隨著互聯(lián)網(wǎng)的普及,人們對互聯(lián)網(wǎng)的依賴程度提高,網(wǎng)絡成為人們獲取信息的一個重要的途徑。當我們想查閱資料的時候就可以打開搜索引擎輸入所要搜索的關鍵字。但是目前很多信息是保存在文本文件中的,這就降低了搜索查詢的速度。由此,人們開始對文本聚類、信息過濾和信息檢索等算法進行大量的研究。文本聚類技術可以將大量文本信息組成少數(shù)有意義的簇,能夠提供導航/瀏覽機制,進而來改善檢索性能,因此,聚類技術已成為搜索引擎中信息檢索過程中對文本信息檢索的核心技術。本文針對當前兩種重要聚類算法K-means和FCA的進行研究,并將其用于網(wǎng)頁的聚類中。
1 網(wǎng)頁文本聚類系統(tǒng)的研究現(xiàn)狀
文本聚類(Text clustering)文檔聚類主要是依據(jù)著名的聚類假設:同類的文檔相似度較大,而不同類的文檔相似度較小。作為一種無監(jiān)督的機器學習方法,聚類由于不需要訓練過程,以及不需要預先對文檔手工標注類別,因此具有一定的靈活性和較高的自動化處理能力,已經(jīng)成為對文本信息進行有效地組織、摘要和導航的重要手段,為越來越多的研究人員所關注。
目前,應用較多的聚類算法主要有劃分法、層次法、基于密度的方法、基于網(wǎng)格的方法、基于模型的方法。
2 基于K-means網(wǎng)頁文本聚類算法研究
K-means算法是比較典型的聚類算法[4-5],它的主要特點就是基于距離聚類,它是基于劃分的思想。
K-means算法的思想如下:
給定一個有N個元組或者記錄的數(shù)據(jù)集,分裂法將構造K個分組,每一個分組就代表一個聚類,K 3 K-means算法實現(xiàn) 實現(xiàn)聚類的詳細步驟如下: ⑴ 處理文本集,隨機得到K值,從n個數(shù)據(jù)對象任意選擇k個對象作為初始聚類中心; ⑵ 根據(jù)每個聚類對象的均值(中心對象),計算每個對象與這些中心對象的距離,并根據(jù)最小距離重新對相應對象進行劃分; ⑶ 對于每一個文本對象向量,重新計算該文本對象與K個簇中心的相似度,選擇相似度最大的簇將該對象文本加入該簇,同時,將該文本對象從其他簇中去除,達到對簇的整體調(diào)整; ⑷ 重新計算每個(有變化)聚類的均值(中心對象);重新計算調(diào)整后的K個簇的中心,而不是使用簇內(nèi)所有文本對象向量的簡單算術平均; ⑸ 計算標準測度函數(shù),當滿足一定條件,如函數(shù)收斂時,則算法終止;如果條件不滿足則回到步驟⑵;若文本集合中的文本對象都被聚類完畢,則進入⑹,否則返回到⑵繼續(xù)執(zhí)行計算中心; ⑹ 按照預定規(guī)則輸出聚類結果,算法結束。 根據(jù)上述算法進行了程序設計,K-means算法系統(tǒng)數(shù)據(jù)實現(xiàn)如圖1所示。 本系統(tǒng)采用了K=12的聚類,根據(jù)K-means算法聚成了12個類,這個聚類是以攀枝花的詞頻“0.002892637”為中心點分散開的。本程序對72個文本數(shù)據(jù)進行聚類,當K=12的時候,平均分為12個類,每個類分別由6個文檔構成。 4 基于FCA 網(wǎng)頁文本聚類算法研究 4.1 FCA算法 形式概念分析(Formal Concept Analysis,F(xiàn)CA)是Wille提出的一種從形式背景進行數(shù)據(jù)分析和規(guī)則提取的強有力工具,形式概念分析建立在數(shù)學基礎之上,對組成本體的概念、屬性以及關系等用形式化的語境表述出來,然后根據(jù)語境,構造出概念格(concept lattice),即本體,從而清楚地表達出本體的結構。在形式概念分析中,概念的外延被理解為屬于這個概念的對象的集合,而內(nèi)涵則被認為是所有這些對象所共有的特征或屬性集,這實現(xiàn)了對概念的哲學理解的形式化。所有的概念連同它們之間的泛化/例化關系構成一個概念格。 定義1 一個形式背景K=(G,M,I)由兩個集合G和M以及G,M之間的關系I?GXM組成,G中的元素被稱為形式背景的對象,M中的元素被稱為形式背景的屬性,若gIm或者(g,m)∈I,則表示“對象g有屬性m”。 定義2 假定給定一個形式背景一個形式背景K=(G,M,I),其中G為對象集合,M為屬性集合,I為它們之間的一個二元關系,則存在一個偏序集合與之對應,并且這個偏序集合產(chǎn)生一種格結構,這種由形式背景(G,M,I)所誘導的格L就稱為一個概念格。格L中的每一個節(jié)點是一個序偶(即概念)記為(X,X'),其中X∈G稱為概念的外延,X'∈M稱為概念的內(nèi)涵。序偶(X,X')關于關系R是完備的,即有性質: X'={x'∈M|?x∈X,xRx'} ⑴ X={x∈G|?x'∈X',xRx'} ⑵ 在概念格節(jié)點之間能夠建立一種偏序關系,給定C1=(X1,X'1)和C2(X2,X'2),那么C1
4.2 FCA算法實現(xiàn)
本文通過切詞分詞算法,計算出關鍵詞在文本中的權重,通過關鍵詞在文本中的權重得到了關鍵詞集,我們稱作數(shù)據(jù)集。通過對已經(jīng)獲得的數(shù)據(jù)集里的詞集進行分類,獲得新的詞集,所得出的聚類結果如圖2所示,結果前面的數(shù)字代表文本的編號。
5 K-means算法與FCA算法的實驗對比
在實驗過程中運行的機器是一臺PC機,配有CPU Intel Pentium(雙核),內(nèi)存2GB,硬盤160G,所運行的操作系統(tǒng)為Windows XP SP3。
在上述實驗中發(fā)現(xiàn),K-means算法程序運行時間明顯比FCA算法運行時間短,但是FCA算法準確率高一些;使用概念格提高了準確率,由于FCA算法較復雜,所以運行時間明顯比K-means算法程序運行時間長;由于K-means算法較簡單,所以節(jié)省了運行時間。
6 結束語
目前越來越多的用戶喜歡用搜索引擎查詢資料,為了幫助用戶快速查找所需要的內(nèi)容,本文通過研究與分析認為,K-means與FCA算法適合作為搜索引擎的算法,而且有各自的優(yōu)點和缺點,通過利用這兩種算法的優(yōu)點可以方便用戶獲得自己所需要的信息,為今后提供更優(yōu)的網(wǎng)頁文本聚類算法提供依據(jù)。
參考文獻:
[1] 韓曉紅,胡彧.K-means聚類算法的研究[J].太原理工大學學報,2009.40(3):236-239
[2] 袁方,周志勇,宋鑫.初始聚類中心優(yōu)化的k-means算法[J]. 計算機工程,2007.33(3):65-66
[3] 毛韶陽,李肯立.優(yōu)化K-means初始聚類中心研究[J].計算機工程與應用,2007.43(22):179-181
[4] 孫吉貴,劉杰,趙連宇.聚類算法研究[J].軟件學報,2008.19(1):48-61
[5] 徐義峰,陳春明,徐云青.一種改進的k-均值聚類算法[J].計算機應用與軟件,2008.25(3):275-277
[6] 陳俊,吳紹春,盛春健.基于概念格的聚類分析[J].上海大學學報(自然科學版),2008.14(4):432-435
[7] 唐明珠,張遠平,楊佳.概念相似度在文本模糊聚類中的應用[J].計算機工程與設計,2008.29(3):745-747