楊秀璋 夏換 于小民 武帥 趙紫如 竇悅琪
摘 ?要: 針對(duì)傳統(tǒng)文本聚類存在數(shù)據(jù)維度過(guò)高,無(wú)法深層次理解語(yǔ)義等問(wèn)題,提出一種基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法。該方法通過(guò)LDA主題模型和語(yǔ)義特征構(gòu)建特征詞典,利用BIRCH算法進(jìn)行文本聚類,并對(duì)維基百科、百度百科和互動(dòng)百科中的景點(diǎn)、動(dòng)物、人物和國(guó)家四個(gè)主題的網(wǎng)頁(yè)文檔進(jìn)行實(shí)驗(yàn)分析。實(shí)驗(yàn)結(jié)果表明,特征詞典結(jié)合了主題關(guān)鍵詞和語(yǔ)義相似度,其準(zhǔn)確率、召回率和F特征值較傳統(tǒng)方法有所提高,該方法可以廣泛應(yīng)用于文本挖掘、知識(shí)圖譜和自然語(yǔ)言處理等領(lǐng)域。
關(guān)鍵詞: 文本聚類; 特征詞典; BIRCH; 特征提取; LDA
中圖分類號(hào):TP391 ? ? ? ? ?文獻(xiàn)標(biāo)志碼:A ? ? 文章編號(hào):1006-8228(2019)11-23-05
Abstract: Aiming at the problem that traditional text clustering has too high data dimension and deep understanding of semantics, a text clustering method based on feature dictionary construction and BIRCH algorithm is proposed. This method builds a feature dictionary through LDA topic model and semantic features, uses BIRCH algorithm to perform text clustering. an experimental analysis on Wikipedia, Baidu Encyclopedia and Interactive Encyclopedia WebPages is conducted on attractions, animals, characters and countries four topics, the results show that combined with the topic keywords and semantic similarity, the accuracy, recall and F eigenvalues of the feature dictionary are improved compared with traditional methods. This method can be widely used in text mining, knowledge mapping and natural language processing.
Key words: text clustering; feature dictionary; BIRCH; feature extraction; LDA
0 引言
在大數(shù)據(jù)研究中,文本挖掘是對(duì)文本信息進(jìn)行數(shù)據(jù)挖掘的過(guò)程,文本聚類是文本挖掘的重要知識(shí),它根據(jù)文檔的相似性將文檔集合進(jìn)行自動(dòng)歸類,盡可能地使內(nèi)容相似性較大的文檔劃分為同類。
由于文本數(shù)據(jù)復(fù)雜,通常為半結(jié)構(gòu)化數(shù)據(jù)或非結(jié)構(gòu)化數(shù)據(jù),并且中文文本具有深層次語(yǔ)義等特點(diǎn),這使得傳統(tǒng)的聚類算法不適用于文本聚類。近年來(lái),國(guó)內(nèi)外學(xué)者對(duì)文本聚類的研究取得了一定進(jìn)展,在方法和實(shí)踐上都有不少的成果。但由于這些方法都是直接對(duì)高維空間向量進(jìn)行聚類,沒(méi)有提取具有代表性的特征詞,一方面降低了運(yùn)算效率,另一方面忽略了特征詞的權(quán)重及相關(guān)性,從而效果不是很理想。
針對(duì)此問(wèn)題,本文提出了基于特征詞典構(gòu)建和BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies)層次聚類算法的文本聚類方法。該方法利用向量空間模型將中文分詞后的文檔轉(zhuǎn)換為高維空間向量,再基于LDA主題模型和語(yǔ)義特征構(gòu)建自定義特征詞典,通過(guò)該特征詞典提取具有代表性的特征詞,然后用BIRCH層次聚類算法對(duì)新構(gòu)建的特征詞典向量進(jìn)行文本聚類。
1 相關(guān)研究
聚類(Clustering)是將本身沒(méi)有類別的數(shù)據(jù)集聚集成不同類別的組,每一組數(shù)據(jù)對(duì)象的集合都稱為簇。它根據(jù)數(shù)據(jù)的不同特征,將其劃分為不同的類簇,使得處于同一類別的數(shù)據(jù)成員之間的距離盡可能小,而處于不同類別的數(shù)據(jù)成員彼此分離[1]。常用聚類方法包括K-Means聚類、層次聚類、基于密度的聚類(DBSCAN)、Affinity Propagatio、模糊聚類等[2]。
文本聚類(Text Clustering)屬于聚類一種,它是針對(duì)文本數(shù)據(jù)的聚類分析,根據(jù)文檔內(nèi)容的相似性將文檔集合進(jìn)行自動(dòng)歸類的過(guò)程,其目標(biāo)是促使同類文檔的內(nèi)容相似性較大,而不同類文檔的內(nèi)容相似性較小[3-4]。常見(jiàn)的方法有基于層次的、基于劃分的、基于密度和基于網(wǎng)格的文本聚類方法。
隨著互聯(lián)網(wǎng)的飛速發(fā)展,文本數(shù)據(jù)呈爆炸式增長(zhǎng),國(guó)內(nèi)外學(xué)者對(duì)文本聚類做了大量的研究和實(shí)踐。在傳統(tǒng)文本聚類研究方面,吳夙慧等[5]將文本聚類定義為文本表示和相似度計(jì)算兩個(gè)基本問(wèn)題,并概述了基于向量空間模型的相似度計(jì)算、基于短語(yǔ)的相似度計(jì)算和基于本體的相似度計(jì)算方法;馬帥等[6]提出了一種基于參考點(diǎn)和密度的快速聚類算法;彭京等[7]提出了一種基于語(yǔ)義內(nèi)積空間模型的文本聚類算法;趙世奇等[8]提出了一種基于主題的文本聚類方法;Chen C L等[9]提出了挖掘模糊頻繁項(xiàng)集的層次文檔聚類算法;Jing L等[10]提出了一種基于特征權(quán)重的K-Means文本子空間聚類方法。
本體(Ontology)[11]是被用來(lái)描述某個(gè)特定領(lǐng)域或某些語(yǔ)義結(jié)構(gòu)的概念以及概念之間的關(guān)系。越來(lái)越多的學(xué)者將語(yǔ)義網(wǎng)和本體引入到文本聚類中。羅娜等[12]將WordNet的概念置于文檔集合中,特征提取后用TF-IDF表示文檔,從而提升文本聚類效果;王曉東等[13]實(shí)現(xiàn)了文檔語(yǔ)義層面上的矢量描述,通過(guò)WordNet對(duì)向量空間模型存儲(chǔ)的特征詞進(jìn)行概念映射和消歧處理,完成合成聚類;林麗[14]通過(guò)知網(wǎng)語(yǔ)義距離計(jì)算相似度,根據(jù)權(quán)重淘汰特征詞進(jìn)行最近鄰聚類算法的文本聚類;葉宇飛[15]通過(guò)知網(wǎng)語(yǔ)義改進(jìn)最近鄰聚類算法,實(shí)現(xiàn)Web中文文本聚類。如今,統(tǒng)計(jì)學(xué)、機(jī)器學(xué)習(xí)、深度學(xué)習(xí)等領(lǐng)域知識(shí)也引入到了文本挖掘中。
2 特征詞典構(gòu)建和BIRCH文本聚類方法
本節(jié)介紹基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法,重點(diǎn)闡述了該方法的流程。
2.1 基本思路
對(duì)維基百科、百度百科和互動(dòng)百科的景區(qū)、國(guó)家、動(dòng)物和人物四個(gè)主題的信息進(jìn)行文本聚類,其算法核心思想是引入了特征詞篩選步驟,通過(guò)LDA主題模型、語(yǔ)義相似度和貢獻(xiàn)程度構(gòu)建專有特征向量,再進(jìn)行BIRCH算法的文本聚類[16]。其框架如圖1所示。方法優(yōu)勢(shì)是引入了特征詞典,通過(guò)特征詞的貢獻(xiàn)程度和語(yǔ)義相似度構(gòu)建特征向量;所采用的BIRCH層次聚類算法處理的數(shù)據(jù)規(guī)模更大,算法效率更高,更容易計(jì)算類簇直徑和類簇間的距離,提升文本聚類效果。
2.2 文本抓取及數(shù)據(jù)預(yù)處理
通過(guò)Python、Selenium和XPath構(gòu)建自定義爬蟲(chóng)分別抓取維基百科、百度百科和互動(dòng)百科的中文網(wǎng)頁(yè)信息,將抽取的文本保存到本地作為語(yǔ)料。接著對(duì)所爬取的文本內(nèi)容進(jìn)行預(yù)處理操作,包括中文分詞、特色字符過(guò)濾、停用詞清洗等。
① 分詞旨在將漢語(yǔ)句子切分成單獨(dú)的詞序列。所選用的工具是基于Python語(yǔ)言的結(jié)巴(Jieba)分詞工具。同時(shí),由于分詞中會(huì)涉及到固定詞組或?qū)S忻~,如地點(diǎn)專有名詞“沙特阿拉伯”,它可能在分詞之后會(huì)變成 “沙特”和“阿拉伯”兩個(gè)名詞,這會(huì)嚴(yán)重影響實(shí)驗(yàn)的效果。因此在使用結(jié)巴分詞過(guò)程中,通過(guò)導(dǎo)入自定義詞典實(shí)現(xiàn)專有名詞和固定詞組的分詞。
② 在文本挖掘過(guò)程中,為了避免冗余數(shù)據(jù)對(duì)實(shí)驗(yàn)結(jié)果造成影響并提高分析效率,會(huì)過(guò)濾掉標(biāo)點(diǎn)符號(hào)、特殊字符和停用詞(Stop Words),防止這些詞對(duì)文本中所包含的有價(jià)值信息造成干擾。
2.3 特征提取及特征詞典構(gòu)建
(1) 特征表示
采用向量空間模型(Vector Space Model)來(lái)表示百科文本語(yǔ)料,它將一篇網(wǎng)頁(yè)語(yǔ)料(Web Dataset)轉(zhuǎn)換為一系列的特征項(xiàng)(Term)向量[17]。
(3) 特征詞典構(gòu)建
LDA(Latent Dirichlet Allocation)是由Blei等[18]在2003年提出的一種文檔主題生成模型,它能將一篇文檔的每個(gè)詞按照一定概率分布到某個(gè)主題上,并從這個(gè)主題中選擇相關(guān)的詞語(yǔ)集。本文選用LDA模型結(jié)合語(yǔ)義相似度來(lái)構(gòu)建特征詞典,圖2表示構(gòu)建的百度百科重要程度排名靠前的特征詞。
該方法將分別針對(duì)維基百科、百度百科、互動(dòng)百科進(jìn)行特征詞典構(gòu)建,通過(guò)LDA主題模型分別提取景區(qū)、動(dòng)物、人物、國(guó)家四個(gè)主題的特征詞,然后根據(jù)文檔的重要程度各自獲取前1000個(gè)特征詞,再構(gòu)成新的4000個(gè)特征詞,最后利用這4000個(gè)特征詞典所構(gòu)建的向量矩陣進(jìn)行文本聚類。
2.4 BIRCH文本聚類算法
BIRCH算法是一種常用的層次聚類算法。該算法使用聚類特征樹(shù)(Clustering Feature Tree)和聚類特征(Clustering Feature)進(jìn)行聚類。BIRCH聚類算法具有算法效率更高,聚類速度更快,并且適用于處理大規(guī)模數(shù)據(jù)集等優(yōu)點(diǎn),也更容易計(jì)算類簇的直徑和類簇之間的距離。
3 實(shí)驗(yàn)結(jié)果分析
3.1 數(shù)據(jù)集
為了驗(yàn)證本文所提出的基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法,本文實(shí)驗(yàn)所選取的數(shù)據(jù)集來(lái)源于三大中文百科,包括維基百科、百度百科和互動(dòng)百科的景區(qū)、國(guó)家、動(dòng)物、人物四個(gè)主題。實(shí)驗(yàn)數(shù)據(jù)集共包含1200篇網(wǎng)頁(yè)文本,每類百科的每類主題各100篇網(wǎng)頁(yè)語(yǔ)料,具體情況如表1所示。
3.2 評(píng)估指標(biāo)
本實(shí)驗(yàn)采用數(shù)據(jù)挖掘和自然語(yǔ)言處理領(lǐng)域普遍使用的性能評(píng)估指標(biāo)(準(zhǔn)確率、召回率和F值)對(duì)所得到的網(wǎng)頁(yè)文本數(shù)據(jù)進(jìn)行評(píng)估。準(zhǔn)確率(Precision)如公式(7)所示,召回率(Recall)如公式(8)所示,F(xiàn)值(F-score)如公式(9)所示。
公式中,N表示實(shí)驗(yàn)結(jié)果中文本聚類正確的數(shù)量,S表示實(shí)驗(yàn)結(jié)果中實(shí)際識(shí)別出的文本聚類數(shù),T表示真實(shí)存在的文本類標(biāo)數(shù)。F值平衡了準(zhǔn)確率和召回率在特定環(huán)境下的制約問(wèn)題,本文用它來(lái)評(píng)估整個(gè)實(shí)驗(yàn)的最終結(jié)果。 ?
3.3 實(shí)驗(yàn)對(duì)比及結(jié)果分析
首先對(duì)維基百科、百度百科和互動(dòng)百科三類數(shù)據(jù)集進(jìn)行了文本聚類實(shí)驗(yàn),分別對(duì)景點(diǎn)、動(dòng)物、人物和國(guó)家四個(gè)主題進(jìn)行了對(duì)比。所有實(shí)驗(yàn)采用的方法都是計(jì)算十次取平均值作為最終的結(jié)果,實(shí)驗(yàn)所采用的BIRCH算法的類簇?cái)?shù)是4,相當(dāng)于對(duì)4個(gè)不同的主題進(jìn)行聚類分析。
表2是維基百科基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法的對(duì)比實(shí)驗(yàn)結(jié)果。從表中可以發(fā)現(xiàn),本文所提出算法在準(zhǔn)確率、召回率和F值較之以前的方法都有一定提高。其中旅游景區(qū)F值為0.8863,保護(hù)動(dòng)物F值為0.8955,人物明星F值為0.9000,國(guó)家地理F值為0.8911,比對(duì)應(yīng)的其他兩種傳統(tǒng)文本聚類方法都高,表明了本文提出的基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法聚類效果更好。
圖3是百度百科比較不同方法的F值的實(shí)驗(yàn)結(jié)果,圖4是互動(dòng)百科比較不同方法的F值的實(shí)驗(yàn)結(jié)果。圖中X軸表示旅游景區(qū)、保護(hù)動(dòng)物、人物明星和國(guó)家地理四個(gè)主題,Y軸對(duì)應(yīng)為F值。由此可見(jiàn),本文方法的F值都有所提升,其中在百度百科旅游景區(qū)主題,相對(duì)于傳統(tǒng)的K-Means文本聚類方法和BIRCH文本聚類方法,本文方法的F值分別提升了0.0170和0.0258。
圖5是本文方法的聚類效果圖,按照網(wǎng)頁(yè)文本的相似性將三大百科的景區(qū)、動(dòng)物、人物和國(guó)家聚集成了四類。如人物主題,將“孫儷”、“孫燕姿”、“高圓圓”等聚集在一起;如國(guó)家主題,將“中國(guó)”、“德國(guó)”、“立陶宛”等聚集在一起;如景區(qū)主題,將“故宮”、“海洋公園”、“黃果樹(shù)瀑布”等聚集在一起;如動(dòng)物主題,包括“中華鱘”、“鸚鵡”、“海豚”等。
上述實(shí)驗(yàn)表明,基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法優(yōu)于傳統(tǒng)的文本聚類方法,它結(jié)合了LDA主題模型和語(yǔ)義相似度,通過(guò)構(gòu)建特征詞典來(lái)提升聚類結(jié)果,BIRCH算法也加快了聚類的效率。
6 結(jié)語(yǔ)
針對(duì)傳統(tǒng)文本聚類算法數(shù)據(jù)維度過(guò)高,識(shí)別特征詞不精準(zhǔn),沒(méi)有提取具有代表性的特征詞,缺乏深層次語(yǔ)義理解等問(wèn)題,本文提出了基于特征詞典構(gòu)建和BIRCH層次聚類算法的文本聚類方法。該方法利用LDA主題模型和語(yǔ)義特征構(gòu)建自定義特征詞典,再用BIRCH層次聚類算法對(duì)新構(gòu)建的特征詞典向量進(jìn)行文本聚類。
本文的實(shí)驗(yàn)數(shù)據(jù)集為百度百科、互動(dòng)百科和維基百科的旅游景區(qū)、保護(hù)動(dòng)物、人物明星和國(guó)家地理四類主題的網(wǎng)頁(yè)信息,并通過(guò)詳細(xì)的實(shí)驗(yàn)對(duì)比了傳統(tǒng)的K-Means和BIRCH文本聚類算法。實(shí)驗(yàn)結(jié)果表明,本文提出的方法的準(zhǔn)確率、召回率和F值都有所提升,基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法有效地提高了百科的文本聚類效果,它是優(yōu)于傳統(tǒng)文本聚類方法的。本研究成果具有重要的理論研究意義和實(shí)際應(yīng)用價(jià)值,該算法可以廣泛應(yīng)用于文本挖掘、輿情檢測(cè)、知識(shí)圖譜和聚類分析等領(lǐng)域。
參考文獻(xiàn)(References):
[1] 伍育紅.聚類算法綜述[J].計(jì)算機(jī)科學(xué),2015.42(6A):491-524
[2] 金建國(guó).聚類方法綜述[J].計(jì)算機(jī)科學(xué),2014.41(11A):288-293
[3] 吳啟明,易云飛.文本聚類綜述[J].河池學(xué)院學(xué)報(bào),2008,28(2):86-91
[4] 曹曉.文本聚類研究綜述[J].情報(bào)探索,2016.1:131-134
[5] 吳夙慧,成穎,鄭彥寧,等.文本聚類中文本表示和相似度計(jì)算研究綜述[J].情報(bào)科學(xué),2012.30(4):622-627
[6] 馬帥,王騰蛟,唐世渭,等.一種基于參考點(diǎn)和密度的快速聚類算法[J]. 軟件學(xué)報(bào),2003,14(6):1089-1095
[7] 彭京,楊冬青,唐世渭,等.一種基于語(yǔ)義內(nèi)積空間模型的文本聚類算法[J].計(jì)算機(jī)學(xué)報(bào),2007.30(8):1354-1363
[8] 趙世奇,劉挺,李生,等.一種基于主題的文本聚類方法[J].中文信息學(xué)報(bào),2007.21(2):58-62.
[9] CHEN C L,TSENG F S C,LIANG T. Mining fuzzy frequent itemsets for hierarchical document clustering[J]. Information Processing and Management,2010.46(2):193-211
[10] JING L,NG M K,XU J,et al.Subspace Clustering of Text Document with Feature Weighting K-Means Algorithm[M]//Advances in Knowledge Discovery and Data Mining.Springer Berlin Heidelberg,2005:802-812
[11] SHVAIKO P,EUZENTAT J.Ten Challenges for Ontology Matching[C].Berlin:Springer,2008:1164-1182
[12] 羅娜,左萬(wàn)利,袁福宇,等.使用本體語(yǔ)義提高文本聚類[J].東南大學(xué)學(xué)報(bào)(英文版),2006.22(3):370-374
[13] 王曉東,郭雷,方俊,等.一種基于本體的抽象可調(diào)文檔聚類[J].計(jì)算機(jī)工程與應(yīng)用,2007.43(29):172-175
[14] 林麗.基于語(yǔ)義距離的文本聚類算法研究[D].廈門(mén):廈門(mén)大學(xué),2007.
[15] 葉宇飛.基于知網(wǎng)語(yǔ)義的Web中文文本聚類方法研究[D].重慶:重慶郵電大學(xué),2013.
[16] 仰孝富.基于BIRCH改進(jìn)算法的文本聚類研究[D].北京:北京林業(yè)大學(xué),2013.
[17] SALTON G,WONG A,YANG C S. A Vector Space Model for Automatic Indexing[J].Communication of the ACM,1975.18(11):613-620
[18] BLEI D M, NG A Y,JORDAN M I. Latent Dirichlet Allocation[J].Journal of Machine Learning Research,2003.3:993-1022