饒毓和, 凌志浩
(華東理工大學(xué)化工過(guò)程先進(jìn)控制和優(yōu)化技術(shù)教育部重點(diǎn)實(shí)驗(yàn)室,上海 200237)
隨著互聯(lián)網(wǎng)日益深入人們的日常生活,以互動(dòng)交流為特點(diǎn)的Web2.0 技術(shù)進(jìn)入了高速發(fā)展階段,其中包括Twitter、微博、Facebook 以及各種即時(shí)信息工具等多種互聯(lián)網(wǎng)新媒體平臺(tái)。這些平臺(tái)每時(shí)每刻都在產(chǎn)生著大量的內(nèi)容簡(jiǎn)短、特征稀疏的半結(jié)構(gòu)性或非結(jié)構(gòu)性文本數(shù)據(jù),如何處理這些短文本數(shù)據(jù)進(jìn)而從中提取出有價(jià)值的信息已經(jīng)成為當(dāng)下互聯(lián)網(wǎng)領(lǐng)域的技術(shù)熱點(diǎn)。
文本聚類是文本信息挖掘領(lǐng)域的一個(gè)常見方向,目前已被廣泛用于信息檢索、搜索引擎等方面,然而對(duì)于短文本而言,其所具有的高維度性和特征稀疏性使得短文本聚類面臨著諸多挑戰(zhàn)。稀疏性帶來(lái)了包括上下文信息不足、詞共現(xiàn)信息不足等問(wèn)題,具體來(lái)說(shuō),由于短文本所包含的單詞數(shù)量很少,且大部分單詞只出現(xiàn)一次,如果繼續(xù)使用傳統(tǒng)的向量空間模型(Vector Space Model, VSM)來(lái)表示短文本,極度稀疏的高維特征向量將會(huì)導(dǎo)致內(nèi)存與計(jì)算時(shí)間的過(guò)度開銷。另外,由于單詞數(shù)量過(guò)少,詞頻統(tǒng)計(jì)將失去意義,所以常用的詞頻-逆文檔頻率加權(quán)(TF-IDF)也不適用于短文本[1]。
為了克服短文本的稀疏性和高維度性,相關(guān)學(xué)者已經(jīng)進(jìn)行了大量研究,比如引入外部信息源或重新構(gòu)建新的針對(duì)短文本的模型等。然而,在如何進(jìn)一步提升短文本聚類質(zhì)量方面的研究目前還有待深入。文本聚類的關(guān)鍵在于對(duì)文本特征的提取,而現(xiàn)有常用的文本特征大都存在所含信息單一且信息量較少的缺陷,進(jìn)而導(dǎo)致文本聚類時(shí)特征對(duì)短文本的區(qū)分能力不強(qiáng),聚類效果有待改善。本文在前人研究的基礎(chǔ)上,從統(tǒng)計(jì)學(xué)與神經(jīng)網(wǎng)絡(luò)算法的角度出發(fā),提出了一種結(jié)合詞對(duì)主題模型與段落向量的短文本聚類方法,旨在將主題信息融入由神經(jīng)網(wǎng)絡(luò)算法得到的文本特征向量中,以期能結(jié)合二者的優(yōu)點(diǎn)加強(qiáng)文本特征向量對(duì)短文本的區(qū)分能力,同時(shí)避免受到短文本稀疏性而造成的影響。
針對(duì)短文本聚類時(shí)所面臨的稀疏性等問(wèn)題,相關(guān)研究大致分為兩個(gè)方向,一種是引入外部知識(shí)源,如利用WordNet[2]、HowNet[3]、Wikipedia[4]以及其他用戶自行構(gòu)建的知識(shí)庫(kù)[5]將短文本擴(kuò)展為長(zhǎng)文本,但是該方案存在兩個(gè)問(wèn)題,一是需要保證外部知識(shí)源的時(shí)效性,比如對(duì)于微博中所討論的新熱門話題是難以第一時(shí)間在諸如百度百科這樣的外部資料中找到的,所以這就需要對(duì)外部知識(shí)源及時(shí)更新與維護(hù),不過(guò)由此產(chǎn)生的相關(guān)成本和代價(jià)很高;二是如何保證外部加入信息的正確性以及如何正確地使用這些信息,這已經(jīng)成為了該方案所帶來(lái)的新的挑戰(zhàn),而處理這些問(wèn)題自身已經(jīng)相當(dāng)復(fù)雜[6]。
因此,研究者們將目光放在了對(duì)傳統(tǒng)的普通文本處理方法的改進(jìn)或是對(duì)新模型的設(shè)計(jì)上,以此來(lái)應(yīng)對(duì)短文本的稀疏性。Xu 等[7]提出了一種利用詞向量與自學(xué)習(xí)的動(dòng)態(tài)卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取短文本特征進(jìn)而實(shí)現(xiàn)短文本聚類的方法,該方法能將原本用高維詞袋模型表示的短文本轉(zhuǎn)化為用低維稠密向量表示;Yin 等[1]利用Dirichlet 多項(xiàng)式混合模型進(jìn)行短文本聚類,結(jié)果表明該方法能有效克服短文本的稀疏性和高維度問(wèn)題;文獻(xiàn)[8]假定在給定的短文本語(yǔ)料庫(kù)中詞與主題之間存在一個(gè)固定的語(yǔ)義結(jié)構(gòu),在此基礎(chǔ)上可以推斷出文本的主題比例向量,然后根據(jù)主題比例向量和主題在單詞上的分布生成額外的單詞以擴(kuò)充短文本,由于額外擴(kuò)充的單詞來(lái)自于數(shù)據(jù)集本身,所以該文中的擴(kuò)充集不需要外部知識(shí)源;文獻(xiàn)[9]通過(guò)定義基于詞性和詞長(zhǎng)度加權(quán)的特征詞提取公式并提取特征詞來(lái)表示短文本,然后利用詞向量與詞語(yǔ)游走距離(Word Mover’s Distance, WMD)計(jì)算短文本間的相似度并將其應(yīng)用到層次聚類算法中實(shí)現(xiàn)短文本聚類??v觀這些方法可知,其中的一類基于統(tǒng)計(jì)學(xué),另一類則是主要依賴于神經(jīng)網(wǎng)絡(luò)的單一方法,而本文則是將基于統(tǒng)計(jì)的主題模型(BTM)和基于神經(jīng)網(wǎng)絡(luò)的文本向量化方法(PV-DBOW)結(jié)合起來(lái),以達(dá)到改善短文本聚類效果的目的。
在實(shí)際的短文本處理中,時(shí)常會(huì)遇到這樣一種情況:同一個(gè)詞在不同主題下的語(yǔ)義相差甚遠(yuǎn),比如單詞“蘋果”,它在“水果”主題下和在“信息技術(shù)”主題下分別表達(dá)的是“一種水果”和“一家信息科技公司”兩種意思,這種同一個(gè)詞受不同主題影響的情形,本文稱其為“主題歧義”。如果能有效地區(qū)分出這些歧義,無(wú)疑能改善文本聚類的效果。為此,本文提出了一種利用主題信息對(duì)特定詞語(yǔ)進(jìn)行語(yǔ)義拆分的方法,直觀的理解就是利用主題信息將上述例子中的“蘋果”分別拆分成“水果中的蘋果”和“信息技術(shù)中的蘋果”這樣兩個(gè)詞,使得后續(xù)步驟進(jìn)行文本向量化時(shí)能對(duì)二者有所區(qū)分。
為了獲取單詞的主題信息,本文使用了一種既適合于長(zhǎng)文本也適合短文本的詞對(duì)主題模型,流程如圖1 所示。主要步驟描述如下:
(1)利用通過(guò)詞對(duì)主題模型求出的詞-文檔-主題概率分布結(jié)合局部離群因子與JS 散度對(duì)整個(gè)文本集合中的詞語(yǔ)進(jìn)行語(yǔ)義拆分;
(2)將經(jīng)過(guò)詞語(yǔ)拆分后的文檔輸入文本向量化模型PV-DBOW 得到對(duì)應(yīng)的段落向量,再將段落向量與對(duì)應(yīng)的文檔-主題概率分布拼接起來(lái)構(gòu)成文本特征向量;
(3)在整個(gè)特征向量集中使用K-means 算法完成短文本聚類。
圖1 短文本聚類過(guò)程Fig. 1 Process of short text clustering
BTM 由隱Dirichlet 分布(Latent Dirichlet Allocation,LDA)改進(jìn)而來(lái),與LDA 不同,BTM 不是直接對(duì)文檔進(jìn)行建模,而是對(duì)整個(gè)文本集合中的詞對(duì)進(jìn)行建模,并認(rèn)為集合中的所有詞對(duì)共享一個(gè)主題分布,這樣能依靠整個(gè)文本集合來(lái)估計(jì)這個(gè)主題分布,從而有效緩解因文檔單詞數(shù)量過(guò)少所帶來(lái)的主題推理中的稀疏問(wèn)題[10]。
2.1.1 主題-詞概率分布與文檔-主題概率分布 在BTM中,將同一文檔內(nèi)特定大小窗口中的詞兩兩結(jié)對(duì),稱其為詞對(duì),BTM 的主要內(nèi)容就是從文本集合中抽取出所有詞對(duì),然后基于詞對(duì)建立概率模型。模型生成過(guò)程如下:
(1)確定短文本集合的全局主題概率分布θ~Dirichlet(α)。
(2)確定每一個(gè)主題z 所對(duì)應(yīng)的詞概率分布φ~Dirichlet(β)。
(3)對(duì)于詞對(duì)集合B 中的每一個(gè)詞對(duì)b=(wi,wj),重復(fù)以下操作:
(a)從全局主題概率分布θ 中抽取一個(gè)主題z,z~Multinomial(θ);
(b)從主題z 所對(duì)應(yīng)的詞分布φ 中抽取兩個(gè)詞,則wi,wj~Multinomial(φ)。
BTM 概率圖模型如圖2 所示,圖中K 表示主題數(shù)目,|B|表示整個(gè)文本集合中詞對(duì)的數(shù)目,α、β 是Dirichlet 分布的超參數(shù)。
圖2 BTM 概率圖模型Fig. 2 Probabilistic graphical model of BTM
對(duì)于具有“主題歧義”的單詞,需要對(duì)其進(jìn)行語(yǔ)義區(qū)分以提升聚類的精度。本文采用詞-文檔-主題概率分布與局部離群因子相結(jié)合的方法,將同一個(gè)詞按不同主題進(jìn)行拆分。考慮到同一個(gè)詞在同一短文本中的主題信息基本保持不變,所以該方法實(shí)際上針對(duì)的是單詞在不同文本中的語(yǔ)義拆分。
實(shí)驗(yàn)使用了2 個(gè)帶有主題標(biāo)簽的語(yǔ)料庫(kù):(1)搜狗實(shí)驗(yàn)室新聞?wù)Z料庫(kù),從中選取了互聯(lián)網(wǎng)、教育、金融、軍事、汽車、體育、娛樂(lè)7 個(gè)主題,每個(gè)主題選取了2 000 條短新聞共14 000 條文本;(2)復(fù)旦大學(xué)文本分類語(yǔ)料庫(kù),從中選取了金融、農(nóng)業(yè)、體育、藝術(shù)、政治5 個(gè)主題,每個(gè)主題各選取2 500 條,一共12 500條短文本。
為了驗(yàn)證本文方法所得的特征向量對(duì)短文本具有更強(qiáng)的區(qū)分能力,使用幾個(gè)常用的且同樣是無(wú)監(jiān)督學(xué)習(xí)的文本向量化方法與之對(duì)比。
(1)詞向量算術(shù)平均。通過(guò)Skip gram 模型求出文本集合中所有詞語(yǔ)對(duì)應(yīng)的詞向量,然后將每一個(gè)文檔中的所有詞的詞向量累加并求算術(shù)平均作為該文檔的文本向量,為了方便敘述,本文將該方法稱為WM2Vec(Word Mean to Vector)。
(2)詞向量加權(quán)平均。參考文獻(xiàn)[15],先得到所有詞語(yǔ)的詞向量,然后將文檔中的詞向量進(jìn)行加權(quán)平均,得到平均向量,這里的權(quán)重使用的是平滑逆詞頻(Smooth Inverse Frequency, SIF),最后移除平均向量在所有文本向量所組成矩陣的第一主成分上的投影,并將移除主成分后的平均向量作為文本向量,將該方法稱為SIF2Vec。
(3)PV-DBOW。直接利用PV-DBOW 模型得到文本集合中的各個(gè)文檔的段落向量,將該方法稱為Doc2Vec(Document to Vector)。
(4)BTM。利用BTM 求出文本集合的文檔-主題概率分布,然后對(duì)于每一個(gè)文檔而言,將其文檔-主題概率分布作為其特征向量,將該方法稱為BTM2Vec。
為了得到短文本的聚類結(jié)果,方法(1)、(2)、(3)均采用K-means 算法結(jié)合Euclid 距離進(jìn)行聚類,而方法(4)可直接將文檔的主題概率分布中的最大概率值所對(duì)應(yīng)的主題作為該文檔的主題類別進(jìn)而完成聚類。
本文選取常用的V-measure 和F1 值評(píng)價(jià)指標(biāo)作為聚類效果衡量標(biāo)準(zhǔn)。V-measure 綜合考慮了聚類結(jié)果的同質(zhì)性與完整性,令K 代表聚類結(jié)果中每個(gè)簇對(duì)應(yīng)的樣本集合,C 代表實(shí)際類別中每一類對(duì)應(yīng)的樣本集合,則
F1 值綜合考慮了精確率P(Precision)與召回率R(Recall rate)。由于本文實(shí)驗(yàn)所用語(yǔ)料庫(kù)具有多個(gè)類別,所以這里使用的是基于微平均法與宏平均法所得的宏F1 值(Macro-F1)和微F1 值(Micro-F1)。
3.4.1 詞語(yǔ)語(yǔ)義拆分方法的實(shí)驗(yàn)驗(yàn)證 為了測(cè)試本文提出的詞語(yǔ)拆分方法對(duì)最終短文本聚類的影響,對(duì)從搜狗新聞?wù)Z料選取出的文本經(jīng)過(guò)分詞、去停用詞等預(yù)處理后,首先對(duì)其進(jìn)行不同數(shù)目的詞語(yǔ)拆分操作與對(duì)比實(shí)驗(yàn),一共進(jìn)行7 輪實(shí)驗(yàn),每輪實(shí)驗(yàn)除了隨機(jī)選取進(jìn)行拆分的詞語(yǔ)數(shù)目不同以外,其他設(shè)定均一致。
第1 輪到第7 輪實(shí)驗(yàn)從整個(gè)文本集合中分別隨 機(jī) 抽 取10 000、20 000、30 000、40 000、50 000、60 000、64 854 個(gè)詞語(yǔ)作為備選詞語(yǔ)集合,去除其中的高低頻詞以及非名詞以后,對(duì)詞語(yǔ)集合進(jìn)行語(yǔ)義拆分,之后經(jīng)文本向量化與拼接操作得到特征向量。為了不干擾實(shí)驗(yàn)結(jié)果,7 輪實(shí)驗(yàn)對(duì)于λ 值均設(shè)置為0.01,最終聚類所得評(píng)價(jià)結(jié)果如圖3 所示。按照本文的預(yù)想,進(jìn)行語(yǔ)義拆分步驟的詞語(yǔ)越多,則拆分后文本集合中的“主題歧義”現(xiàn)象就越少,文本之間也就越容易區(qū)分。從圖3 可以看出,隨著隨機(jī)選擇進(jìn)行語(yǔ)義拆分的詞語(yǔ)數(shù)目逐漸增加,V-measure 與宏F1 值都在上升,證實(shí)了本文提出的詞語(yǔ)語(yǔ)義拆分的方法確實(shí)能有效加強(qiáng)特征向量對(duì)文本的區(qū)分能力。
圖3 聚類結(jié)果與隨機(jī)選取出來(lái)進(jìn)行拆分的詞語(yǔ)數(shù)目之間的關(guān)系Fig. 3 Relation between clustering results and numbers of randomly selected words to be splited
3.4.2 本文方法與其他方法對(duì)比實(shí)驗(yàn)結(jié)果 為了獲得相對(duì)客觀、穩(wěn)定的實(shí)驗(yàn)結(jié)果,所有方法在使用Kmeans 聚類時(shí)初始值選取的次數(shù)都取值足夠大(300 次)以保證收斂,此外,每種方法都進(jìn)行10 輪聚類,取10 次結(jié)果的算術(shù)平均值作為最終的實(shí)驗(yàn)結(jié)果。
在具體的參數(shù)設(shè)置上,設(shè)距離閾值α = 0.3,局部離群因子閾值β = 0.95,對(duì)于搜狗語(yǔ)料,特征向量權(quán)重系數(shù)λ 設(shè)置為2.5,對(duì)于復(fù)旦語(yǔ)料,λ 設(shè)置為7?;谒压氛Z(yǔ)料庫(kù)的實(shí)驗(yàn)結(jié)果如表1 所示,基于復(fù)旦語(yǔ)料的實(shí)驗(yàn)結(jié)果如表2 所示。為了便于敘述,將本文方法稱為 DT2Vec( Document with Topic Information to Vector)。
表1 搜狗語(yǔ)料聚類結(jié)果對(duì)比Table 1 Comparison of clustering results of Sogou corpus
表2 復(fù)旦語(yǔ)料聚類結(jié)果對(duì)比Table 2 Comparison of clustering results of Fudan corpus
由表1、表2 可見,在5 種方法中,詞粒度的方法(WM2Vec 和SIF2Vec)表現(xiàn)最差,這是因?yàn)闊o(wú)論是直接對(duì)詞向量作算術(shù)平均還是作加權(quán)平均,所得的文本向量都僅與文檔中所含單詞有關(guān),而如果兩篇短文檔中的單詞重合度較小,即使它們描述的是同一主題的內(nèi)容(實(shí)際的文本中經(jīng)常出現(xiàn)用不同的詞描述同一類事物的情形),也極有可能被劃分為兩類,因此實(shí)驗(yàn)結(jié)果中這2 種方法的聚類效果和其他3 種方法相比出現(xiàn)了明顯差距。
基于主題的BTM2Vec 和基于段落向量的Doc2Vec 則好于前2 種方法,這是因?yàn)檫@2 種方法利用了更為全面的信息:前者使用了文本集合中所有的詞對(duì)作為主題信息,而后者則相對(duì)詞向量而言加入了綜合全段落主旨的段落向量。
本文方法在5 種方法中獲得了最好的聚類效果。對(duì)于搜狗語(yǔ)料來(lái)說(shuō),本文方法在V-measure 和F1 值上分別至少提升了4.0%與1.75%;而對(duì)于復(fù)旦語(yǔ)料,則分別至少提升了2.9%和2.85%;與前4 種方法相比,DT2Vec 所得的特征向量包含了最多的文本特征信息,包括由BTM 所獲得的主題信息和由段落向量所獲得的段落主旨信息,二者得到了有效的融合,這也就給予了特征向量對(duì)短文本更強(qiáng)的區(qū)分能力,所以本文方法能有效改善短文本的聚類效果。
為了深入觀察本文方法與其他方法相比的改進(jìn)之處,在實(shí)驗(yàn)部分給出本文方法與Doc2Vec 在各個(gè)主題上聚類結(jié)果的詳細(xì)對(duì)比,采用的對(duì)比指標(biāo)為精確率與召回率。圖4 為本文方法與Doc2Vec 在搜狗語(yǔ)料上的精確率對(duì)比,圖5 為本文方法與Doc2Vec在搜狗語(yǔ)料上的召回率對(duì)比。
圖4 本文方法與Doc2Vec 的精確率對(duì)比(搜狗語(yǔ)料)Fig. 4 Precision comparison between DT2Vec and Doc2Vec(Sougou Corpus)
圖5 本文方法與Doc2Vec 的召回率對(duì)比(搜狗語(yǔ)料)Fig. 5 Recall rate comparison between DT2Vec and Doc2Vec(Sougou Corpus)
由圖4、圖5 可知,本文方法與Doc2Vec 的聚類結(jié)果相比,7 個(gè)主題的聚類精確率與召回率絕大部分都得到了提升,再次驗(yàn)證了本文方法的有效性。因?yàn)榍捌谝呀?jīng)利用主題信息對(duì)“主題歧義詞”作了語(yǔ)義拆分,因此使用本文方法所得的段落向量對(duì)含“歧義詞”文檔的區(qū)分能力更強(qiáng),再加上與文檔-主題概率分布的拼接,最終的特征向量有效結(jié)合了主題信息與段落向量,在保證維度基本不變的前提下豐富了文本特征所攜帶的信息量,所以利用該文本特征能更好地區(qū)分不同主題的文檔,具體表現(xiàn)就是對(duì)各個(gè)主題而言,相應(yīng)的聚類精確率與召回率都在提升。
另外,從圖4、圖5 中可以注意到“金融”主題的精確率相比其他主題而言較低,只有64.7%(Doc2Vec)和66.6%(DT2Vec);而“汽車”主題的召回率也同樣只有59.9%(Doc2Vec)和61.9%(DT2Vec),不難推測(cè)“汽車”和“金融”相互影響,很多“汽車”主題的短新聞在聚類時(shí)被劃分到了“金融”主題下,從側(cè)面反映了這兩個(gè)主題之間的彼此辨識(shí)度不高,這符合實(shí)際生活中的情況。有很多短文本如新聞之類的是同時(shí)具備多個(gè)主題的,比如描述汽車行業(yè)的市場(chǎng)銷售值這類新聞,它與“汽車”和“金融”都相關(guān),實(shí)際上不應(yīng)單獨(dú)將其直接劃入“汽車”或是“金融”主題下,解決這類問(wèn)題的方法之一是為這類短文本提供多個(gè)主題標(biāo)簽,這也是本文的后續(xù)研究方向。
針對(duì)目前短文本聚類常用的文本特征大都存在所含信息單一且信息量較少的缺陷,提出了一種結(jié)合詞對(duì)主題模型與神經(jīng)網(wǎng)絡(luò)算法用于短文本聚類的方法,通過(guò)利用主題信息對(duì)文本集合中的詞語(yǔ)作語(yǔ)義拆分、拼接文檔-主題概率分布這兩種方式將主題信息融入文本特征向量,在保證特征維度較低的前提下豐富了文本特征所攜帶的信息量,有效地加強(qiáng)了特征向量對(duì)文本的區(qū)分能力,同時(shí)也能避免受到短文本的稀疏性影響。從實(shí)驗(yàn)結(jié)果來(lái)看,短文本最終的聚類效果得到有效改善,證實(shí)了上述觀點(diǎn)。本文方法為信息檢索、搜索引擎等領(lǐng)域提供了一種新的建立短文本特征向量以及文本聚類的思路。另外,在實(shí)驗(yàn)過(guò)程中,遇到了多主題短文本的情況,這類短文本實(shí)際上不應(yīng)單獨(dú)劃分至某個(gè)主題下,因此下一步考慮研究如何為這類短文本提供多個(gè)主題標(biāo)簽。