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