楊秀璋 夏換 于小民 武帥 趙紫如 竇悅琪
摘 ?要: 針對傳統(tǒng)文本聚類存在數(shù)據(jù)維度過高,無法深層次理解語義等問題,提出一種基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法。該方法通過LDA主題模型和語義特征構(gòu)建特征詞典,利用BIRCH算法進行文本聚類,并對維基百科、百度百科和互動百科中的景點、動物、人物和國家四個主題的網(wǎng)頁文檔進行實驗分析。實驗結(jié)果表明,特征詞典結(jié)合了主題關鍵詞和語義相似度,其準確率、召回率和F特征值較傳統(tǒng)方法有所提高,該方法可以廣泛應用于文本挖掘、知識圖譜和自然語言處理等領域。
關鍵詞: 文本聚類; 特征詞典; BIRCH; 特征提取; LDA
中圖分類號:TP391 ? ? ? ? ?文獻標志碼:A ? ? 文章編號: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ù)研究中,文本挖掘是對文本信息進行數(shù)據(jù)挖掘的過程,文本聚類是文本挖掘的重要知識,它根據(jù)文檔的相似性將文檔集合進行自動歸類,盡可能地使內(nèi)容相似性較大的文檔劃分為同類。
由于文本數(shù)據(jù)復雜,通常為半結(jié)構(gòu)化數(shù)據(jù)或非結(jié)構(gòu)化數(shù)據(jù),并且中文文本具有深層次語義等特點,這使得傳統(tǒng)的聚類算法不適用于文本聚類。近年來,國內(nèi)外學者對文本聚類的研究取得了一定進展,在方法和實踐上都有不少的成果。但由于這些方法都是直接對高維空間向量進行聚類,沒有提取具有代表性的特征詞,一方面降低了運算效率,另一方面忽略了特征詞的權(quán)重及相關性,從而效果不是很理想。
針對此問題,本文提出了基于特征詞典構(gòu)建和BIRCH(Balanced Iterative Reducing and Clustering using Hierarchies)層次聚類算法的文本聚類方法。該方法利用向量空間模型將中文分詞后的文檔轉(zhuǎn)換為高維空間向量,再基于LDA主題模型和語義特征構(gòu)建自定義特征詞典,通過該特征詞典提取具有代表性的特征詞,然后用BIRCH層次聚類算法對新構(gòu)建的特征詞典向量進行文本聚類。
1 相關研究
聚類(Clustering)是將本身沒有類別的數(shù)據(jù)集聚集成不同類別的組,每一組數(shù)據(jù)對象的集合都稱為簇。它根據(jù)數(shù)據(jù)的不同特征,將其劃分為不同的類簇,使得處于同一類別的數(shù)據(jù)成員之間的距離盡可能小,而處于不同類別的數(shù)據(jù)成員彼此分離[1]。常用聚類方法包括K-Means聚類、層次聚類、基于密度的聚類(DBSCAN)、Affinity Propagatio、模糊聚類等[2]。
文本聚類(Text Clustering)屬于聚類一種,它是針對文本數(shù)據(jù)的聚類分析,根據(jù)文檔內(nèi)容的相似性將文檔集合進行自動歸類的過程,其目標是促使同類文檔的內(nèi)容相似性較大,而不同類文檔的內(nèi)容相似性較小[3-4]。常見的方法有基于層次的、基于劃分的、基于密度和基于網(wǎng)格的文本聚類方法。
隨著互聯(lián)網(wǎng)的飛速發(fā)展,文本數(shù)據(jù)呈爆炸式增長,國內(nèi)外學者對文本聚類做了大量的研究和實踐。在傳統(tǒng)文本聚類研究方面,吳夙慧等[5]將文本聚類定義為文本表示和相似度計算兩個基本問題,并概述了基于向量空間模型的相似度計算、基于短語的相似度計算和基于本體的相似度計算方法;馬帥等[6]提出了一種基于參考點和密度的快速聚類算法;彭京等[7]提出了一種基于語義內(nèi)積空間模型的文本聚類算法;趙世奇等[8]提出了一種基于主題的文本聚類方法;Chen C L等[9]提出了挖掘模糊頻繁項集的層次文檔聚類算法;Jing L等[10]提出了一種基于特征權(quán)重的K-Means文本子空間聚類方法。
本體(Ontology)[11]是被用來描述某個特定領域或某些語義結(jié)構(gòu)的概念以及概念之間的關系。越來越多的學者將語義網(wǎng)和本體引入到文本聚類中。羅娜等[12]將WordNet的概念置于文檔集合中,特征提取后用TF-IDF表示文檔,從而提升文本聚類效果;王曉東等[13]實現(xiàn)了文檔語義層面上的矢量描述,通過WordNet對向量空間模型存儲的特征詞進行概念映射和消歧處理,完成合成聚類;林麗[14]通過知網(wǎng)語義距離計算相似度,根據(jù)權(quán)重淘汰特征詞進行最近鄰聚類算法的文本聚類;葉宇飛[15]通過知網(wǎng)語義改進最近鄰聚類算法,實現(xiàn)Web中文文本聚類。如今,統(tǒng)計學、機器學習、深度學習等領域知識也引入到了文本挖掘中。
2 特征詞典構(gòu)建和BIRCH文本聚類方法
本節(jié)介紹基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法,重點闡述了該方法的流程。
2.1 基本思路
對維基百科、百度百科和互動百科的景區(qū)、國家、動物和人物四個主題的信息進行文本聚類,其算法核心思想是引入了特征詞篩選步驟,通過LDA主題模型、語義相似度和貢獻程度構(gòu)建專有特征向量,再進行BIRCH算法的文本聚類[16]。其框架如圖1所示。方法優(yōu)勢是引入了特征詞典,通過特征詞的貢獻程度和語義相似度構(gòu)建特征向量;所采用的BIRCH層次聚類算法處理的數(shù)據(jù)規(guī)模更大,算法效率更高,更容易計算類簇直徑和類簇間的距離,提升文本聚類效果。
2.2 文本抓取及數(shù)據(jù)預處理
通過Python、Selenium和XPath構(gòu)建自定義爬蟲分別抓取維基百科、百度百科和互動百科的中文網(wǎng)頁信息,將抽取的文本保存到本地作為語料。接著對所爬取的文本內(nèi)容進行預處理操作,包括中文分詞、特色字符過濾、停用詞清洗等。
① 分詞旨在將漢語句子切分成單獨的詞序列。所選用的工具是基于Python語言的結(jié)巴(Jieba)分詞工具。同時,由于分詞中會涉及到固定詞組或?qū)S忻~,如地點專有名詞“沙特阿拉伯”,它可能在分詞之后會變成 “沙特”和“阿拉伯”兩個名詞,這會嚴重影響實驗的效果。因此在使用結(jié)巴分詞過程中,通過導入自定義詞典實現(xiàn)專有名詞和固定詞組的分詞。
② 在文本挖掘過程中,為了避免冗余數(shù)據(jù)對實驗結(jié)果造成影響并提高分析效率,會過濾掉標點符號、特殊字符和停用詞(Stop Words),防止這些詞對文本中所包含的有價值信息造成干擾。
2.3 特征提取及特征詞典構(gòu)建
(1) 特征表示
采用向量空間模型(Vector Space Model)來表示百科文本語料,它將一篇網(wǎng)頁語料(Web Dataset)轉(zhuǎn)換為一系列的特征項(Term)向量[17]。
(3) 特征詞典構(gòu)建
LDA(Latent Dirichlet Allocation)是由Blei等[18]在2003年提出的一種文檔主題生成模型,它能將一篇文檔的每個詞按照一定概率分布到某個主題上,并從這個主題中選擇相關的詞語集。本文選用LDA模型結(jié)合語義相似度來構(gòu)建特征詞典,圖2表示構(gòu)建的百度百科重要程度排名靠前的特征詞。
該方法將分別針對維基百科、百度百科、互動百科進行特征詞典構(gòu)建,通過LDA主題模型分別提取景區(qū)、動物、人物、國家四個主題的特征詞,然后根據(jù)文檔的重要程度各自獲取前1000個特征詞,再構(gòu)成新的4000個特征詞,最后利用這4000個特征詞典所構(gòu)建的向量矩陣進行文本聚類。
2.4 BIRCH文本聚類算法
BIRCH算法是一種常用的層次聚類算法。該算法使用聚類特征樹(Clustering Feature Tree)和聚類特征(Clustering Feature)進行聚類。BIRCH聚類算法具有算法效率更高,聚類速度更快,并且適用于處理大規(guī)模數(shù)據(jù)集等優(yōu)點,也更容易計算類簇的直徑和類簇之間的距離。
3 實驗結(jié)果分析
3.1 數(shù)據(jù)集
為了驗證本文所提出的基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法,本文實驗所選取的數(shù)據(jù)集來源于三大中文百科,包括維基百科、百度百科和互動百科的景區(qū)、國家、動物、人物四個主題。實驗數(shù)據(jù)集共包含1200篇網(wǎng)頁文本,每類百科的每類主題各100篇網(wǎng)頁語料,具體情況如表1所示。
3.2 評估指標
本實驗采用數(shù)據(jù)挖掘和自然語言處理領域普遍使用的性能評估指標(準確率、召回率和F值)對所得到的網(wǎng)頁文本數(shù)據(jù)進行評估。準確率(Precision)如公式(7)所示,召回率(Recall)如公式(8)所示,F(xiàn)值(F-score)如公式(9)所示。
公式中,N表示實驗結(jié)果中文本聚類正確的數(shù)量,S表示實驗結(jié)果中實際識別出的文本聚類數(shù),T表示真實存在的文本類標數(shù)。F值平衡了準確率和召回率在特定環(huán)境下的制約問題,本文用它來評估整個實驗的最終結(jié)果。 ?
3.3 實驗對比及結(jié)果分析
首先對維基百科、百度百科和互動百科三類數(shù)據(jù)集進行了文本聚類實驗,分別對景點、動物、人物和國家四個主題進行了對比。所有實驗采用的方法都是計算十次取平均值作為最終的結(jié)果,實驗所采用的BIRCH算法的類簇數(shù)是4,相當于對4個不同的主題進行聚類分析。
表2是維基百科基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法的對比實驗結(jié)果。從表中可以發(fā)現(xiàn),本文所提出算法在準確率、召回率和F值較之以前的方法都有一定提高。其中旅游景區(qū)F值為0.8863,保護動物F值為0.8955,人物明星F值為0.9000,國家地理F值為0.8911,比對應的其他兩種傳統(tǒng)文本聚類方法都高,表明了本文提出的基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法聚類效果更好。
圖3是百度百科比較不同方法的F值的實驗結(jié)果,圖4是互動百科比較不同方法的F值的實驗結(jié)果。圖中X軸表示旅游景區(qū)、保護動物、人物明星和國家地理四個主題,Y軸對應為F值。由此可見,本文方法的F值都有所提升,其中在百度百科旅游景區(qū)主題,相對于傳統(tǒng)的K-Means文本聚類方法和BIRCH文本聚類方法,本文方法的F值分別提升了0.0170和0.0258。
圖5是本文方法的聚類效果圖,按照網(wǎng)頁文本的相似性將三大百科的景區(qū)、動物、人物和國家聚集成了四類。如人物主題,將“孫儷”、“孫燕姿”、“高圓圓”等聚集在一起;如國家主題,將“中國”、“德國”、“立陶宛”等聚集在一起;如景區(qū)主題,將“故宮”、“海洋公園”、“黃果樹瀑布”等聚集在一起;如動物主題,包括“中華鱘”、“鸚鵡”、“海豚”等。
上述實驗表明,基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法優(yōu)于傳統(tǒng)的文本聚類方法,它結(jié)合了LDA主題模型和語義相似度,通過構(gòu)建特征詞典來提升聚類結(jié)果,BIRCH算法也加快了聚類的效率。
6 結(jié)語
針對傳統(tǒng)文本聚類算法數(shù)據(jù)維度過高,識別特征詞不精準,沒有提取具有代表性的特征詞,缺乏深層次語義理解等問題,本文提出了基于特征詞典構(gòu)建和BIRCH層次聚類算法的文本聚類方法。該方法利用LDA主題模型和語義特征構(gòu)建自定義特征詞典,再用BIRCH層次聚類算法對新構(gòu)建的特征詞典向量進行文本聚類。
本文的實驗數(shù)據(jù)集為百度百科、互動百科和維基百科的旅游景區(qū)、保護動物、人物明星和國家地理四類主題的網(wǎng)頁信息,并通過詳細的實驗對比了傳統(tǒng)的K-Means和BIRCH文本聚類算法。實驗結(jié)果表明,本文提出的方法的準確率、召回率和F值都有所提升,基于特征詞典構(gòu)建和BIRCH算法的文本聚類方法有效地提高了百科的文本聚類效果,它是優(yōu)于傳統(tǒng)文本聚類方法的。本研究成果具有重要的理論研究意義和實際應用價值,該算法可以廣泛應用于文本挖掘、輿情檢測、知識圖譜和聚類分析等領域。
參考文獻(References):
[1] 伍育紅.聚類算法綜述[J].計算機科學,2015.42(6A):491-524
[2] 金建國.聚類方法綜述[J].計算機科學,2014.41(11A):288-293
[3] 吳啟明,易云飛.文本聚類綜述[J].河池學院學報,2008,28(2):86-91
[4] 曹曉.文本聚類研究綜述[J].情報探索,2016.1:131-134
[5] 吳夙慧,成穎,鄭彥寧,等.文本聚類中文本表示和相似度計算研究綜述[J].情報科學,2012.30(4):622-627
[6] 馬帥,王騰蛟,唐世渭,等.一種基于參考點和密度的快速聚類算法[J]. 軟件學報,2003,14(6):1089-1095
[7] 彭京,楊冬青,唐世渭,等.一種基于語義內(nèi)積空間模型的文本聚類算法[J].計算機學報,2007.30(8):1354-1363
[8] 趙世奇,劉挺,李生,等.一種基于主題的文本聚類方法[J].中文信息學報,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] 羅娜,左萬利,袁福宇,等.使用本體語義提高文本聚類[J].東南大學學報(英文版),2006.22(3):370-374
[13] 王曉東,郭雷,方俊,等.一種基于本體的抽象可調(diào)文檔聚類[J].計算機工程與應用,2007.43(29):172-175
[14] 林麗.基于語義距離的文本聚類算法研究[D].廈門:廈門大學,2007.
[15] 葉宇飛.基于知網(wǎng)語義的Web中文文本聚類方法研究[D].重慶:重慶郵電大學,2013.
[16] 仰孝富.基于BIRCH改進算法的文本聚類研究[D].北京:北京林業(yè)大學,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