吳錦池 余維杰
(中山大學(xué)信息管理學(xué)院 廣州 510006)
文本聚類是根據(jù)文本之間的相似度,無監(jiān)督地將文本劃分為若干個簇的過程[1]。作為處理和組織文本數(shù)據(jù)的重要技術(shù),文本聚類在文獻(xiàn)檢索[2]、數(shù)字化圖書館資源建設(shè)[3]和知識發(fā)現(xiàn)[4]等領(lǐng)域都有著廣闊的應(yīng)用前景。然而,隨著互聯(lián)網(wǎng)的快速發(fā)展,文本數(shù)據(jù)體量急劇增加。傳統(tǒng)的文本聚類方法無法滿足高維文本聚類需要。具體而言,在文本表示的過程中,基于詞頻等傳統(tǒng)的統(tǒng)計指標(biāo)作為文本特征會使得文本特征矩陣十分稀疏,并且基于此種文本表示的文本相似度計算會忽略特征項之間的語義關(guān)聯(lián)[5-6],而采用增加特征數(shù)量的方式,則會增加大量額外的計算開銷,且效果提升有限。因此,有學(xué)者探究結(jié)合知識庫的文本聚類方式,利用知識庫的義原關(guān)系增強(qiáng)文本間的語義關(guān)聯(lián)?,F(xiàn)有的相關(guān)研究多是基于單一的知識庫,無法全面的表達(dá)語義關(guān)系,且難以適用于不同領(lǐng)域的數(shù)據(jù)集。
基于以上問題,本文擬利用知網(wǎng)知識庫與同義詞詞林知識庫的義原層次結(jié)構(gòu)關(guān)系擴(kuò)充文本的語義信息,使文本特征之間的語義關(guān)聯(lián)充分保留,并根據(jù)文本特征之間的義原距離計算特征之間相似度,再通過特征之間相似度計算文本相似度。最終,依據(jù)該文本相似度計算方式,進(jìn)行不同類型數(shù)據(jù)集和多種聚類方法的文本聚類,驗證考慮多個知識庫語義的文本聚類有效性。
文本聚類具有不可忽視的現(xiàn)實意義和應(yīng)用價值,因此受到了國內(nèi)外眾多學(xué)者的關(guān)注。根據(jù)文本聚類流程,文本聚類可分為兩個階段,第一個階段為文本表示和文本相似度計算階段,這一階段重點是盡可能保留文本信息地將文本數(shù)據(jù)轉(zhuǎn)換為可計算的數(shù)字?jǐn)?shù)據(jù),并基于此計算任意兩篇文本間的相似度。第二階段為文本聚類階段,這一階段是依據(jù)聚類規(guī)則將相似度較高的文本劃分為同一個簇的過程。這兩個階段在文本聚類過程中互為支持,且都對聚類效果有較大影響。因此,本節(jié)將按這兩個階段分別對相關(guān)研究進(jìn)行總結(jié)。
1.1文本相似度計算從實現(xiàn)方法上劃分,當(dāng)前文本相似度計算方法包括基于統(tǒng)計學(xué)的方法和基于語義關(guān)系的方法。
基于統(tǒng)計學(xué)方法的文本相似度計算是將文本視作一組詞的集合,通過分詞工具對文本進(jìn)行分詞,然后依據(jù)各個詞匯在文本中出現(xiàn)的頻率等統(tǒng)計信息進(jìn)行文本向量化,再利用文本向量計算文本間的相似度。Salton等人于20世紀(jì)70年代提出VSM模型[7],該模型在各類文本處理問題中均取得了較為良好的效果。該模型的基本思想是將每篇文檔表示成一個基于詞頻-逆文檔頻率(Term Frequency-Inverse Document Frequency, TF-IDF)權(quán)重的實值向量,N篇文檔則構(gòu)成n維實值空間,其中空間的每一維都對應(yīng)詞項,每一篇文檔表示該空間下的一個點或者向量[8]?;蛘咧苯油ㄟ^最簡單的詞集模型(Set Of Words, SOW)將文本表示為獨熱向量(One-hot vector)形式[9]。隨著VSM的廣泛應(yīng)用,許多學(xué)者根據(jù)文本處理問題的實際需要對該模型進(jìn)行了相應(yīng)的改進(jìn)。胡曉等人認(rèn)為特征在文本中不同位置所起到的作用不同,因而根據(jù)特征項在文檔中的位置和出現(xiàn)頻率計算特征權(quán)值,從而有效的改進(jìn)了文本相似度計算的準(zhǔn)確度[10]。李連考慮了文本間相同特征詞對文本相似度的影響,引入表征文本特征詞覆蓋程度的參數(shù),進(jìn)而優(yōu)化了文本相似度的計算結(jié)果[11]。此外,基于統(tǒng)計學(xué)方法的文本相似度計算除了較為廣泛使用的VSM模型,也有學(xué)者嘗試引入散列算法[12],利用哈希算法對每個特征詞匯生成對應(yīng)的哈希值并根據(jù)各自的權(quán)重形成加權(quán)數(shù)字串,進(jìn)而計算文本之間距離。其中,Charikar等人所提出的Simhash算法是目前運用較廣的基于散列算法的文本相似度計算方法[13]。
基于統(tǒng)計方法的文本相似度計算只考慮了詞匯層面的統(tǒng)計信息,而不考慮這些字詞在句子中真實的含義。為解決這一問題,學(xué)者們進(jìn)一步提出了基于語義的文本相似性計算方法,從而更真實的反映文本的間差異程度?;谡Z義的文本相似度計算主要包括兩類:基于語料庫(Knowledge-Based)與基于知識庫(Corpus-Based)。
基于語料庫的文本相似度計算方法是根據(jù)從大型語料庫獲得的信息確定兩個文本之間的相似性。語料庫是用于語言研究的大量書面語或口語的文本集合,可以根據(jù)任務(wù)的領(lǐng)域不同有選擇對語料庫進(jìn)行選取,如比較常用的維基百科語料、百度百科語料,針對特定領(lǐng)域的文學(xué)語料、新聞?wù)Z料、金融語料等,針對口語的知乎語料、微博語料等,如果待處理任務(wù)本身的文本足夠大,也可以將這些文本的集合作為語料[9]。目前,基于語料庫的文本相似度計算的相關(guān)研究主要包括神經(jīng)網(wǎng)絡(luò)方法[14-16]和LDA方法[17- 19]。基于語料庫的文本相似度計算可以比較客觀地反映詞語在句法、語義等方面的相似性和差異。但是,這種方法比較依賴于訓(xùn)練所用的語料庫,計算方法較為復(fù)雜。同時也很大程度地受語料稀疏和語料噪聲的干擾。因此,有學(xué)者提出利用知識庫的詞匯結(jié)構(gòu)判斷詞匯相似程度,進(jìn)而計算文本的相似度。Masahiro等[20]利用維基百科中的鏈接結(jié)構(gòu),以及其中的文本的數(shù)據(jù),提出了計算文本語義相關(guān)度的具體方法。該方法的基本思想是通過詞匯和文本之間的鏈接關(guān)系,形成共現(xiàn)網(wǎng)絡(luò),以度量文本的相似度。這一方法為基于維基百科等知識庫的語義相似度計算的相關(guān)研究提出了方向和參考。王李冬[21]等人利用HowNet知識庫系統(tǒng)的語義結(jié)構(gòu)計算詞匯的相似度,并將其運用與文字檢索領(lǐng)域,分別將中文待檢索主題詞和微博文本詞匯進(jìn)行語義相關(guān)度匹配,實驗結(jié)果表明引入HowNet知識庫的檢索效果良好,具有較高的查準(zhǔn)率。尹坤等[22]引入圖論的思想,將百度百科知識庫的鏈接結(jié)構(gòu)看作圖結(jié)構(gòu),其中詞條作為圖中節(jié)點,詞條間的鏈接作為圖中節(jié)點的連線,并通過SimRank方法計算詞條之間的相似度。
總體而言,與基于統(tǒng)計學(xué)方法相比,基于語義的文本相似度計算方法更能表現(xiàn)出文本之間的差異。其中,基于語料庫的文本相似度計算方法容易收到語料稀疏和語料噪聲的干擾。因此,本文選擇可以更為客觀地反映文本間差異的基于知識庫的文本相似度計算方式。
1.2文本聚類方法根據(jù)不同的聚類思想,聚類算法大致可分為基于劃分、基于層次、基于密度和基于圖論四類。且每一類聚類算法中都包含多種算法,及其衍生的改進(jìn)方法,且各類算法之間存在許多相互借鑒的情況。目前,在文本聚類領(lǐng)域,運用較為廣泛的聚類算法包括基于劃分和基于密度兩種。
基于劃分的聚類算法是最為常用,且效果較好的文本聚類方法。Yu[23]等人結(jié)合LDA算法,對K-means算法的聚類中心初始化進(jìn)行改進(jìn),解決了由于隨機(jī)性聚類中心初始化帶來的聚類結(jié)果不穩(wěn)定的問題。由于多數(shù)采用K-means算法進(jìn)行文本聚類研究采用基于統(tǒng)計的文本相似度計算方法,因而在遺失大量語義信息的情況下,K-means對高維的文本聚類結(jié)果并不是十分理想。鈕永莉[24]等人提出了非線性動態(tài)調(diào)整慣性權(quán)重機(jī)制,并將改進(jìn)后的粒子群算法與局部搜索能力較強(qiáng)的K-Means算法相結(jié)合,以解決K-means算法在解決高維文本聚類問題時容易陷入局優(yōu)的問題。此外,也有學(xué)者采用其他基于劃分的聚類算法運用于文本聚類當(dāng)中。如鄒雪君[25]等人引入K-medoids算法,利用全覆蓋粒度重要性和平均粒度重要性從粗聚類結(jié)果中產(chǎn)生初始聚類中心候選集,再根據(jù)密度和最大最小距離法則從候選集中選出初始聚類中心,實驗結(jié)果獲得了良好的文本聚類效果。
以K-means為代表的基于劃分的文本聚類方法雖然易于理解,且具有較高的效率,但是存在如聚類結(jié)果不穩(wěn)定、無法解決非凸數(shù)據(jù)集等問題。因此,有學(xué)者開展了基于密度的文本聚類相關(guān)研究。例如,傅華忠[26]等人將DBSCAN這一基于密度的聚類算法運用Web文本聚類當(dāng)中。蔡岳[27]等人在前人研究的基礎(chǔ)上提出一種基改進(jìn)DBSCAN算法的文本聚類算法, 利用最小二乘法降低文本向量的維度, 并創(chuàng)建一種應(yīng)用于DBSCAN算法的簇關(guān)系樹結(jié)構(gòu)。李群[28]等人則結(jié)合了動態(tài)規(guī)劃和DBSCAN算法,進(jìn)而提高了算法在文本聚類應(yīng)用中的準(zhǔn)確率。
除了較為常見的基于劃分和基于密度的文本聚類算法之外,部分學(xué)者嘗試將BIRCH[29]、Hierarchy[30-31]等基于層次的聚類算法和譜聚類[32-33]等基于圖論的聚類算法應(yīng)用于文本聚類當(dāng)中??傮w而言,目前基于劃分的文本聚類算法的相關(guān)研究數(shù)量最多,各個分支的研究也相對成熟。
綜上所述,不同類型文本聚類方法的出發(fā)點與聚類過程不同,從而所適用的范圍也不盡相同。因此,為驗證本文方法的有效性,本文將對多種不同類型聚類方法進(jìn)行實驗,根據(jù)實驗效果比較各類方法間的差異并分析其原因。
2.1研究思路根據(jù)文本聚類的一般流程,本文將文本聚類過程分為:文本預(yù)處理、特征提取、相似度計算和聚類實現(xiàn)四個步驟。其中,第一步為文本預(yù)處理,主要是對數(shù)據(jù)源進(jìn)行規(guī)范化和可操作化處理,包括分詞、去除停用詞等具體操作。第二步是特征選擇,根據(jù)TF-IDF和TextRank等方法提取可表征文本特性的、特定數(shù)量的文本特征,其目的是為了防止特征數(shù)量過多而造成聚類結(jié)果不穩(wěn)定和高維數(shù)據(jù)所帶來的計算資源消耗。第三步為相似度計算,文本的相似度計算是本文的核心組成部分,其主要工作是根據(jù)知網(wǎng)和詞林中的義原結(jié)構(gòu)計算詞語相似度,為下一步的文本聚類做準(zhǔn)備。第四步是具體的聚類實現(xiàn),該步驟的主要內(nèi)容是將考慮語義信息的文本向量作為輸入數(shù)據(jù),利用多種聚類算法進(jìn)行聚類,并比較各類算法的聚類結(jié)果。具體流程如圖1所示。
圖1 文本聚類處理流程
2.2文本預(yù)處理依據(jù)數(shù)據(jù)處理流程,本文將文本預(yù)處理劃分為四個步驟,分別為數(shù)據(jù)獲取、數(shù)據(jù)格式化處理、分詞和去除停用詞。首先,從開源語料庫和文獻(xiàn)數(shù)據(jù)庫中獲取原始數(shù)據(jù),并將原始數(shù)據(jù)以篇為單位進(jìn)行格式規(guī)整,形成易于讀取的txt文件;然后利用jieba分詞工具對格式化后的文本進(jìn)行分詞;再在分詞完成的結(jié)果上,采用哈工大停用詞表過濾不具有語義信息的停用詞;最終將每一個文本轉(zhuǎn)換為一個單獨的詞匯集合t,而所有文本詞匯匯聚成為整體詞匯集合E。
2.3特征選擇基于文本預(yù)處理階段結(jié)果,本文將采用TF-IDF和TextRank這兩種常用的特征提取方法分別進(jìn)行特征提取,再根據(jù)特征集合對每一篇文本進(jìn)行向量化。
2.3.1 TF-IDF TF-IDF是一種在向量空間模型中將文本特征轉(zhuǎn)換為向量的統(tǒng)計方法,用于衡量文本中特征詞匯對于整個文本特征集或語料庫中的其中某一文本的重要程度。因此,TF-IDF既可用于特征選擇,同時又可用于文本相似度計算。通常地,特征詞匯的重要性與其在文本中出現(xiàn)的次數(shù)成正比,但同時與其它在整個語料庫中出現(xiàn)的頻率成反比。
詞頻(term frequency,TF) 是指某一個特定的詞語在其所在文本中出現(xiàn)的頻率。在實際操作中需要將這個數(shù)字是對詞數(shù)(term count)進(jìn)行歸一化處理,以防止它偏向長的文本。例如,在文本詞匯集合ti中存在詞匯wj,則詞匯wj的重要性可表示為
(1)
其中,分子表示第i個詞匯在第j個文本詞匯集合中出現(xiàn)的次數(shù),分母則表示文本詞匯集合中所有詞匯出現(xiàn)次數(shù)總和。
逆向文本頻率(inverse document frequency,IDF)是用于度量一個詞語在整個語料庫當(dāng)中的普遍重要性。若包含某一特定詞語的文本數(shù)量越多,則說明該詞匯普遍性越高,即該詞匯具有的類別區(qū)分能力越低。因此,IDF可以表示為總文本數(shù)目除以包含該詞語之文本的數(shù)目。為防止數(shù)量級別差異帶來的結(jié)果偏差,需再將結(jié)果進(jìn)行取對數(shù)處理:
(2)
其中,|D|表示語料庫中的文本總數(shù),|{j:ni∈dj}|表示包含詞匯wi的文本數(shù)目。
某一特定文本內(nèi)的高詞語頻率,以及該詞語在整個文本集合中的低文本頻率,可以產(chǎn)生出高權(quán)重的TF-IDF。因此,TF-IDF傾向于過濾掉常見的詞語,保留具有類別區(qū)分度的詞語。其公式可表示為
TF-IDF=tf×idf
(3)
2.3.2 TextRank TextRank是一種基于圖的無監(jiān)督關(guān)鍵詞抽取方法。該方法主要借鑒了PageRank算法的思想,通過詞語之間的相鄰關(guān)系構(gòu)建網(wǎng)絡(luò),將文本構(gòu)建為圖G=(V,E),其中V為節(jié)點集,E為采用共現(xiàn)關(guān)系構(gòu)造任意兩點之間的邊,當(dāng)兩個節(jié)點在同一句子中共現(xiàn),則兩個節(jié)點之間存在邊[34]。根據(jù)PageRank算法思想,一個詞語與TextRank值很高的另一個詞語之間具有連線,那么這個詞語的TextRank值會相應(yīng)地提高,以此依次迭代傳播各節(jié)點的權(quán)重,直至收斂。權(quán)重迭代方式如公式(4)所示。最終計算出所有詞語的權(quán)重,選擇排序靠前的詞作為文本特征。
(4)
其中,S(ti)為文本ti的權(quán)重,d為阻尼系數(shù),In(ti)表示文本ti的鏈入節(jié)點,In(ti)表示文件ti的鏈出節(jié)點。
依據(jù)以上所述的TF-IDF和TextRank兩種文本特征提取方法,分別計算每一個詞匯集合t中每一個詞匯的權(quán)重,根據(jù)實驗需求選取每一個文本詞匯集合中權(quán)重較高的前m個特征詞,并將所有文本特征詞形成整體特征集Cn,表示一共包含n個文本特征。最終,采用one-hot編碼方式將每一個文本根據(jù)該文本中的特征詞形成n維的特征向量Vi。
2.4相似度計算僅基于one-hot編碼的文本特征向量進(jìn)行文本相似度計算會丟失詞語間的語義關(guān)聯(lián)關(guān)系,進(jìn)而導(dǎo)致聚類效果不佳。因而,本文融合了知網(wǎng)和詞林兩個具有表性的知識庫,構(gòu)建詞語相似度的計算方式,并詞語相似度的基礎(chǔ)上,提出文本相似度計算方式,并進(jìn)行具體實驗。
2.4.1 基于知網(wǎng)的詞語相似度計算 知網(wǎng)知識庫(HowNet)是一個描述概念之間關(guān)系和概念屬性間關(guān)系的知識系統(tǒng)[35]。在知網(wǎng)知識庫中與詞語相關(guān)的概念包含義原和義項。其中,義原是描述“概念”的最小單位,知網(wǎng)知識庫整體是由義原所組成的樹狀層級結(jié)構(gòu)。而義項則表示詞語的某一種解釋,即一個詞語可能擁有多個義項。因此,兩個詞語的相似度可表示為兩詞語各義項相似度最大值。若存在兩個詞語w1和w2,且w1包含n個義項:T11,T12,…,T1n,w2包含n個義項:T21,T22,…,T2n,則詞語w1和w2之間的相似度為
(5)
義項由知網(wǎng)知識庫中的義原進(jìn)行表示,因而計算義項的相似度需要先計算相關(guān)的義原相似度。根據(jù)義原的樹狀結(jié)構(gòu),兩個義原之間的相似度可表示為
(6)
其中,dist(p1,p2)表示p1和p2在樹狀結(jié)構(gòu)中路徑長度,α為可調(diào)節(jié)參數(shù)。
在知網(wǎng)知識庫當(dāng)中采用語義表達(dá)式對詞語進(jìn)行存儲。語義表達(dá)式共包含獨立義原構(gòu)成描述、關(guān)系義原描述、關(guān)系符號義原描述三個部分[35]。因此,在計算兩個概念的相似度時,需要分別計算這三個組成部分的相似度,即兩個概念的整體相似度為
(7)
其中,βi為調(diào)節(jié)參數(shù),且滿足β1+β2+β3=1,β1>β2>β3。
2.4.2 基于同義詞詞林的詞語相似度計算 同義詞詞林(CiLin)是一個包括了詞語的同義詞和詞語同類詞的知識庫[36]。同義詞詞林將收集的詞匯分成大、中、小三類,大類有12個,中類有97個,小類有1400個,每個小類中都包含大量詞匯,這些詞又根據(jù)詞義的遠(yuǎn)近和相關(guān)性分成了若干個詞群。每個段落中的詞語又進(jìn)一步分成了若干個行,同一行的詞語要么詞義相同,要么詞義有很強(qiáng)的相關(guān)性。在詞語的關(guān)系結(jié)構(gòu)上,同義詞詞林與知網(wǎng)相類似,采取了樹狀的層次結(jié)構(gòu)表示詞語之間的“親疏遠(yuǎn)近”關(guān)系。詞林提供了5級編碼結(jié)構(gòu),第1級采用大寫英文字母標(biāo)識,表示大類;第2級采用小寫英文字母標(biāo)識,表示中類;第3級用二位十進(jìn)制整數(shù)標(biāo)識,表示小類;第4級采用大寫英文字母標(biāo)識,表示詞群;第5級用二位十進(jìn)制整數(shù)標(biāo)識,表示原子詞群。例如編碼“Cb30A02#”表示的詞群為“該地 該鎮(zhèn) 該鄉(xiāng) 該站 該區(qū) 該市 該村”。具體編碼形式與符號性質(zhì)如表1所示。
表1 詞語編碼表
同時第8位編碼表示詞群關(guān)系,標(biāo)記共有3種,分別是“=”“#”“@”,其中“=”代表“相等”“同義”;“#”代表“不等”“同類”,屬于相關(guān)詞語;“@”表示該詞匯為“自我封閉的”“獨立的”,它在詞典中沒有同義詞和相關(guān)詞。
根據(jù)同義詞詞林的五層樹狀結(jié)構(gòu),本文采用朱新華[37]等人所提出的詞語相似度計算方式。首先對層級之間的路徑賦予權(quán)重,從下往上依次賦予權(quán)重為:W1,W2,W3,W4,具體如圖2所示。
圖2 同義詞詞林五層樹狀結(jié)構(gòu)
由于越高層級的差異表示詞語之間的相似度越低,因此需賦予更高的權(quán)重。以詞語間距離為主要影響因素,基于同義詞詞林的詞語相似度計算公式為
(8)
其中,dis(w1,w2)表示詞語w1與w2在樹狀結(jié)構(gòu)中的距離函數(shù),取值為2*(W1+W2+W3+W4);k表示兩個詞語的分支間隔;n表示分支層節(jié)點總數(shù)。
2.4.3 文本相似度計算 同義詞詞林知識庫和知網(wǎng)知識庫均收錄了大量的詞匯,但是二者收錄的內(nèi)容卻不完全相同。因此,為更全面的考慮詞語間的相似度,本文結(jié)合兩個知識庫共同進(jìn)行計算。若存在任意兩個詞語w1,w2,分別基于知網(wǎng)知識庫和詞林知識庫計算這兩個詞語的相似度為S1,S2。那么,這兩個詞語的綜合相似度可表示為
Sim(w1,w2)=αS1+βS2
(9)
其中,α+β=1。
根據(jù)特征提取部分所述,對每個文本提取m個特征詞,用ti,j表示第i個文本的第j個特征。所有文本的特征共同組成文本特征集Cn,用Ck表示特征集中第k個特征。因此,每一個文本可以依次計算該文本中的特征與特征集合中特征的相似度,形成新的n維空間向量Vi。Vi中每一維取值的計算公式為
(10)
其中,Sim(Ck,ti,j)是依據(jù)公式(9)計算特征集第k個特征與第i個文本中第j個特征的相似度。
因此,每個文本可向量化地表示為:Vi=(v1,v2,…,vn),采用余弦相似度計算方法,則兩個文本之間的相似度可表示為
(11)
2.5聚類方法基于以上處理步驟之后,將得到每一個文本的向量化表示Vi,以及任意兩個文本之間的余弦相似度Similarity(T1,T2)。為驗證本文方法的適用范圍,根據(jù)綜述部分的聚類算法劃分,本文將以上部分處理結(jié)果運用到K-Means、DBSCAN和Spectral三種不同類型的聚類算法當(dāng)中。
K-Means為基于劃分的聚類算法。該算法首先隨機(jī)將數(shù)據(jù)分為K組,并選取K個對象作為初始的聚類中心,然后計算每個對象與各個聚類中心之間的距離,把每個對象分配到距離它最近的聚類中心。聚類中心以及分配給它們的對象就代表一個簇。每完成一次分配,聚類中心需要根據(jù)聚類中的對象重新計算。這個過程將不斷重復(fù)直到滿足終止條件。
DBSCAN是基于密度的聚類算法,該算法首先隨機(jī)選取一個未被訪問的點,找出與其距離在掃描半徑(eps)之內(nèi)的所有附近點。如果附近點的數(shù)量大于最小包含點數(shù)(minPts),則當(dāng)前點與其附近點形成一個簇,并且出發(fā)點被標(biāo)記為已訪問(visited) ,如果附近點的數(shù)量小于最小包含點數(shù),則該點暫時被標(biāo)記作為噪聲點。以相同的方法處理該簇內(nèi)所有未被標(biāo)記為已訪問(visited)的點,從而對簇進(jìn)行擴(kuò)展,直到所有點被標(biāo)記為已訪問或標(biāo)記為噪聲。
Spectral是基于圖論的聚類方法,其主要思想是把所有的數(shù)據(jù)看作空間中的點。這些點之間可以用邊連接起來,距離較遠(yuǎn)的兩個點之間的邊權(quán)重值較低,距離較近的兩個點之間的邊權(quán)重值較高,通過對所有數(shù)據(jù)點組成的圖進(jìn)行切圖,讓切圖后不同的子圖間邊權(quán)重和盡可能的低,而子圖內(nèi)的邊權(quán)重和盡可能的高,從而達(dá)到聚類的目的。
3.1實驗數(shù)據(jù)與參數(shù)設(shè)置本實驗采用了兩個語料數(shù)據(jù),分別為復(fù)旦中文文本語料庫和按主題進(jìn)行知網(wǎng)檢索生成的語料庫。其中,從復(fù)旦中文文本語料庫的Economy、Sport、Computer、Policies、Agriculture五個文本數(shù)量較多的子類中各隨機(jī)選取200篇文本,形成實驗數(shù)據(jù)一。實驗數(shù)據(jù)二是從中國知網(wǎng)數(shù)據(jù)庫中按主題檢索“市場營銷”“數(shù)據(jù)挖掘”“信息管理”“移動圖書館”四個主題,并從中各隨機(jī)選取200篇文本的摘要部分所構(gòu)成的。
本文實驗中,為降低特征集維度,將分別采用TF-IDF與TextRank[38]特征提取方法進(jìn)行特征提取。參考文獻(xiàn)[34]中采用整篇文章進(jìn)行特征提取,實驗結(jié)果表明聚類效果隨特征數(shù)量增加而緩慢上升,當(dāng)提取特征數(shù)量大于10時,聚類效果上升效果減緩[34]。參考文獻(xiàn)[39]則從每一個文本中選出10個詞頻較高并能代表文本內(nèi)容的特征詞,將其作為表征文本特征的特征詞,從該文章聚類結(jié)果角度觀察,選取10個能代表文檔內(nèi)容的特征詞可以達(dá)到聚類效果[39]。
因此,本文實驗中為降低計算過程中的特征維度,并同時盡可能保留具有較強(qiáng)的類別區(qū)分能力的特征詞,提取每個文本的特征數(shù)量為10個。表2中展示了數(shù)據(jù)集二基于TF-IDF方法所提取的特征詞。如表2所示,同一類別的前10個特征詞基本同屬于一個領(lǐng)域,而不同類別特征詞具有一定差異,即提取前10個特征詞可表征文本內(nèi)容。
表2 數(shù)據(jù)二基于TF-IDF提取特征詞(部分)
由于兩個概念相似度由三部分組成,且各部分重要程度不同,因此公式(7)中設(shè)置了β1,β2,β3三個參數(shù),為了保證主要部分的影響力高于后面次要部分的影響力所起的作用,避免出現(xiàn)當(dāng)主要部分的相似度值過低時,因次要部分的相似度太高而導(dǎo)致整體相似度過高的不合理現(xiàn)象的出現(xiàn)[37],三個部分參數(shù)應(yīng)當(dāng)采用指數(shù)增加型數(shù)值進(jìn)行賦值。基于此本文實驗對公式(7)中β1,β2,β3分別賦值為0.7、0.2、0.1。由于同義詞詞林中越接近根節(jié)點級別的差異代表詞語間差異越大,且在樹型結(jié)構(gòu)中的上下層節(jié)點數(shù)量差距通常呈現(xiàn)倍數(shù)關(guān)系,因此對層級間連接W1,W2,W3,W4分別賦予權(quán)重為0.5、1、2、2.5。此外,由于詞林知識庫與知網(wǎng)知識庫收錄的詞語數(shù)量接近,因此本文實驗中,當(dāng)S1,S2均不為0時,公式(9)中的α,β取值均為0.5;當(dāng)僅有S1為0時,則α,β取值為0、1;當(dāng)僅有S2為0時,則α,β取值為1、0。實驗設(shè)備如下,Windows 10系統(tǒng),8G內(nèi)存,AMD R5處理器。
3.2.1 語義相似度計算 根據(jù)實驗步驟,首先對數(shù)據(jù)進(jìn)行預(yù)處理,再分別采用TF-IDF方法和TextRank方法對每一篇文章進(jìn)行特征提取。通過特征提取之后獲得如表2格式的特征詞,再使用公式(11)計算文本之間的相似度。以表2數(shù)據(jù)為例,結(jié)合知網(wǎng)知識庫和詞林知識庫計算的文本相似度結(jié)果如表3所示。在表3中,每連續(xù)5篇文章為同一類。從表中可以看出,同一類文章相似度明顯高于不同類別文章相似度。
表3 數(shù)據(jù)二文本相似度結(jié)果(部分)
3.2.2 融合語義聚類方法性能分析 將以上實驗數(shù)據(jù)一和實驗數(shù)據(jù)二作為輸入數(shù)據(jù),分別在不考慮詞語語義關(guān)系(即TF-IDF文本向量化方式)情況下采用DBSCAN、Spectral、K-means三種算法進(jìn)行聚類和融合知網(wǎng)和詞林詞語語義關(guān)系情況下利用DBSCAN、Spectral、K-means三種算法進(jìn)行聚類。同時,為驗證考慮單個語料庫與多個語料庫之間的差異,本文實驗中設(shè)置了基于知網(wǎng)知識庫語義的K-Means聚類。聚類結(jié)果采用查準(zhǔn)率、召回率和F1值三種常用的評價指標(biāo)進(jìn)行評價,評價結(jié)果分別如表4和表5所示。
表4 數(shù)據(jù)一聚類實驗結(jié)果(百分比%)
從表4和表5中可以看出,在不考慮語義的情況下,K-Means和DBSCAN的聚類效果相當(dāng),而Spectral算法的聚類效果稍弱,這表明Spectral算法在解決文本聚類問題上性能一般。對比于不考慮語義的聚類效果,考慮語義的實驗組效果均有不同程度的提升。其中,K-Means的聚類效果提升最為明顯,DBSCAN次之,Spectral提升幅度最小。這說明了K-Means和DBSCAN算法在考慮了語義之后,聚類效果具有一定的提升空間;而Spectral算法不適用基于本文實驗流程的文本聚類。
表5 數(shù)據(jù)二聚類實驗結(jié)果(百分比%)
從數(shù)據(jù)集角度觀察,通過上表比較可以發(fā)現(xiàn),不同數(shù)據(jù)集之間的聚類效果接近。其中不同數(shù)據(jù)集的同一種聚類算法的F1指標(biāo)最為接近。F1指標(biāo)是結(jié)合了查準(zhǔn)率和召回率兩個指標(biāo)的綜合性指標(biāo),這說明融合了知網(wǎng)和詞林知識庫語義的文本聚類效果提升與數(shù)據(jù)集選擇的聯(lián)系不大。但是,如果只考慮知網(wǎng)知識庫,則數(shù)據(jù)集二的聚類效果提升更為明顯,數(shù)據(jù)集二是從知網(wǎng)數(shù)據(jù)庫中按主題檢索的文獻(xiàn)數(shù)據(jù),這表明只考慮單個知識庫聚類效果提升與數(shù)據(jù)集選擇存在一定聯(lián)系。綜上所述,考慮單個知識庫的聚類效果容易對數(shù)據(jù)集選擇產(chǎn)生依賴,而融合多個知識庫可以較好的彌補(bǔ)這一不足。
從不同特征選擇方法之間進(jìn)行比較,在分別運用兩種不同特征選擇方法下的聚類效果相近。其中,同種算法下采用不同特征選擇方法的查準(zhǔn)率與召回率存在一定變化,但是F1值較為穩(wěn)定。這說明特征選擇方法對聚類效果的影響不大。
整體而言,融合知網(wǎng)與詞林語義的文本聚類效果提升明顯,且與數(shù)據(jù)集、特征選擇方法等因素?zé)o明顯關(guān)聯(lián)。同時,聚類算法的選擇對聚類效果的影響明顯,基于劃分的K-Means和基于密度的DBSCAN針對文本聚類問題都具有良好效果,而基于圖論的Spectral算法則表現(xiàn)一般。
3.2.3 聚類效果分析 由上一小節(jié)分析可知,HowNet知識庫對數(shù)據(jù)集二聚類效果影響更為明顯。因此,為直觀觀察融合知識庫語義的聚類效果提升,文本將基于數(shù)據(jù)集二和采用K-Means聚類算法,對不同向量化方式下的聚類效果進(jìn)行分析。首先,采用t-SNE對文本向量進(jìn)行降維;其次,將聚類結(jié)果映射至二維空間;最后,采用matplotlib工具對聚類結(jié)果進(jìn)行可視化。結(jié)果顯示,在不考慮語義的情況下,各個簇之間的區(qū)別大致清楚,但在邊界部分尚存在部分模糊狀態(tài);融合HowNet語義的聚類效果有所提升,簇邊界區(qū)分不清晰的情況得到了改善,但仍有少數(shù)樣本游離在距離簇中心較遠(yuǎn)位置;融合HowNet和CiLin兩個知識庫語義的聚類效果則明顯好于前兩種情況,簇間的分界較為清晰,僅有個別數(shù)據(jù)點處于游離狀態(tài)。
文本聚類是自然語言處理中的一個重要分支,準(zhǔn)確的文本聚類能夠有效地節(jié)省人們對文檔進(jìn)行劃分和歸類的時間。本文從詞語之間的語義關(guān)系出發(fā),結(jié)合了知網(wǎng)知識庫和同義詞詞林知識庫,計算詞語之間的相似度。通過詞語相似度計算文本之間的相似度,從而一定程度的緩解了利用獨熱編碼等傳統(tǒng)編碼方式所帶來了語義丟失問題。同時,融合多個知識庫語義的方式有效地解決了數(shù)據(jù)集選擇對數(shù)據(jù)效果的影響。從實驗結(jié)果可以看出,基于本文方法的文本聚類效果具有明顯提升。當(dāng)然,本研究中也存在一定的不足之處,主要體現(xiàn)于本研究的計算復(fù)雜度。由于本研究中采用的引入知識庫的方式計算文本相似度,使得計算過程的時間和空間復(fù)雜度都有明顯增加。針對這一問題,后續(xù)研究中著力于如何在不影響聚類效果的前提下降低計算復(fù)雜度,從而進(jìn)一步凸顯基于知識庫語義關(guān)系的文本聚類優(yōu)勢。