寧 寧,莫秀良,王春東,佟寅鋮
(天津理工大學(xué) 計(jì)算機(jī)科學(xué)與工程學(xué)院 天津市智能計(jì)算及軟件新技術(shù)重點(diǎn)實(shí)驗(yàn)室,天津 300384)
隨著信息技術(shù)的不斷發(fā)展,人們已經(jīng)從信息缺乏的時(shí)代過(guò)渡到信息極為豐富的數(shù)字化時(shí)代,網(wǎng)絡(luò)上的信息量正在飛速增長(zhǎng)當(dāng)中,為了能夠在海量的文本中及時(shí)準(zhǔn)確地獲得有效的信息,文本分類(lèi)技術(shù)已經(jīng)成為近年來(lái)文本挖掘領(lǐng)域的熱門(mén)話題[1].文本分類(lèi)技術(shù)是指基于固定規(guī)則對(duì)指定文本進(jìn)行監(jiān)督學(xué)習(xí)的過(guò)程,它通常包括以下操作部分:預(yù)處理,文本表示,文本特征提取,分類(lèi)算法,測(cè)試和評(píng)估[2],其中文本表示及特征提取十分影響分類(lèi)器分類(lèi)的效果.
文本表示分為離散表示和分布式表示.離散表示的代表就是詞袋模型[3],它把文檔集中的文檔拆成一個(gè)個(gè)的詞,去重后得到詞典,進(jìn)行文本表示.這種模型的特點(diǎn)是詞典中的詞沒(méi)有特定的順序,句子的總體結(jié)構(gòu)也被改變了.因此,文本的離散表示存在著數(shù)據(jù)稀疏、向量維度過(guò)高、字詞之間的關(guān)系無(wú)法度量的問(wèn)題.
另一種是分布式表示也叫做詞嵌入,它將單詞分布在一個(gè)與實(shí)際語(yǔ)義高度相關(guān)的低維向量中.Word2vec是Google的Mikolov等人提出來(lái)的一種文本分布式表示的方法[4].這種方法彌補(bǔ)了詞袋模型的缺點(diǎn).利用將單詞嵌入到另一個(gè)實(shí)數(shù)向量空間從而完成降維,并且單詞的向量表示具備具體意義,向量之間的距離通常也能刻畫(huà)在語(yǔ)料中兩個(gè)單詞之間的差異性.在此基礎(chǔ)上他們還提出了Doc2vec,通過(guò)嵌入詞向量的線性組合來(lái)訓(xùn)練文檔向量[5].這種模型不僅能訓(xùn)練得到詞向量,還能得到段落向量.更重要的是它也考慮了單詞的順序進(jìn)而繼承了單詞的語(yǔ)義.
LDA是一種基于概率模型的主題模型算法,它可以用來(lái)識(shí)別大規(guī)模文檔集或語(yǔ)料庫(kù)中的潛在主題信息[6].因此,許多研究者將LDA模型用于文本主題分類(lèi)的任務(wù).Hsu CI提出的LDA-GA方法主要使用遺傳算法(GA)來(lái)找到主題集的最優(yōu)權(quán)重,即使用GA來(lái)改變LDA的θ矩陣[7].Zhao D等人通過(guò)向LDA添加主題類(lèi)別分布參數(shù)來(lái)提出一種名為gLDA的主題文本分類(lèi)算法,這種方法限制了主題與類(lèi)別分布參數(shù)的生成范圍[8].為了提高文本分類(lèi)的準(zhǔn)確性,Moody提出了LDA2vec[9].他在生成單詞向量的步驟中添加文檔向量來(lái)獲得上下文向量,通過(guò)上下文信息來(lái)學(xué)習(xí)更多可解釋的主題.Wang Z提出了一種基于Word2vec和LDA的新混合方法[10],使用的主題向量和文檔向量都是通過(guò)Word2vec訓(xùn)練出來(lái)的詞向量組合而成的.緊接著Sun F又提出了一種考慮語(yǔ)法類(lèi)別—組合權(quán)重和主題高頻詞因素的LDA主題模型[11].運(yùn)用LDA和Word2vec對(duì)語(yǔ)法類(lèi)別——組合權(quán)重的概念進(jìn)行向量化以獲得組合向量.
在以上研究分析的基礎(chǔ)上,本文提出了一種綜合表示文檔的方法.將LDA與Doc2vec相結(jié)合,運(yùn)用LDA模型挖掘出主題與文檔之間的關(guān)系,利用Doc2vec將其向量化.再用余弦相似度來(lái)度量空間中文檔和主題之間的相似性.本文選擇了20Newsgroups數(shù)據(jù)集來(lái)進(jìn)行性能評(píng)估,使用SVM算法進(jìn)行分類(lèi).與LDA+SVM、Doc2vec+SVM、LDA+Word2vec+SVM等方法相比較,結(jié)果表明文新方法的分類(lèi)性能更好.
LDA是一種主題空間模型,它可以將文檔集中每一篇文檔的主題以概率分布的形式表示出來(lái).如圖1所示.
在LDA模型中,對(duì)于給定的文檔集D,包含M篇文檔,K個(gè)主題,每篇文檔i中又包含Ni個(gè)詞語(yǔ).
LDA定義生成任意一篇文檔需要進(jìn)行如下過(guò)程:
圖1 LDA模型Fig.1 Latent dirichlet allocation model
1)從α中取樣生成文檔i的主題分布θi,其中α是每篇文檔的主題分布的先驗(yàn)分布(Dirichlet分布)的超參數(shù).
2)從主題的多項(xiàng)式分布θi中取樣生成文檔i中第j個(gè)詞的主題zi,j.
3)從β中取樣生成主題zi,j對(duì)應(yīng)的詞語(yǔ)分布φz,其中β是每個(gè)主題的單詞分布的先驗(yàn)分布(Dirichlet分布)的超參數(shù).
4)從詞語(yǔ)的多項(xiàng)式分布φz中取樣最終生成文檔i中第j個(gè)詞語(yǔ)wi,j.
以上總結(jié)成公式(1)與(2),不斷重復(fù)以上步驟,最終生成一篇文檔.其中通過(guò)Gibbs抽樣得到的θ和φ可以發(fā)現(xiàn)文檔中的潛在主題,并預(yù)測(cè)具有主題比例分布的任何新文檔.
Doc2vec模型是在Word2vec模型的基礎(chǔ)上所產(chǎn)生的.其中Word2vec中包含兩種詞向量模型:Continuous Bag of Words(CBOW)和Skip-Gram[12],如圖2所示.這兩個(gè)模型各自訓(xùn)練一個(gè)網(wǎng)絡(luò)來(lái)預(yù)測(cè)相鄰的單詞.首先隨機(jī)初始化單詞向量,在CBOW的模型中,通過(guò)輸入目標(biāo)詞的上下文單詞向量來(lái)預(yù)測(cè)目標(biāo)詞匯.相反,在Skip-Gram的模型中,則通過(guò)輸入目標(biāo)詞向量來(lái)預(yù)測(cè)上下文單詞.預(yù)測(cè)任務(wù)可分解為以下公式.Word2vec模型的目標(biāo)是最大化平均對(duì)數(shù)概率來(lái)預(yù)測(cè)目標(biāo)詞匯,如公式(3):
圖2 CBOW模型和Skip-Gram模型Fig.2 Continuousbag of wordsand Skip-Gram
通過(guò)利用softmax函數(shù)很預(yù)測(cè)單詞wm,如公式(4):
對(duì)于每一個(gè)輸出的單詞wi,每一項(xiàng)ywi都是其非標(biāo)準(zhǔn)化對(duì)數(shù)概率.計(jì)算表達(dá)式如公式(5):
其中a、b為softmax參數(shù),f由從詞匯表矩陣W中提取的詞匯向量的串聯(lián)或平均構(gòu)成.在Word2vec模型中,用初始化的詞向量去預(yù)測(cè)句子中下一個(gè)詞的過(guò)程中,通過(guò)不斷的調(diào)整參數(shù)來(lái)最小化真實(shí)值和預(yù)測(cè)值的差值,最終可以間接的得到這些詞的向量表示.
在此基礎(chǔ)上加入段落這個(gè)屬性的考量,緊接著又提出Doc2vec模型來(lái)預(yù)測(cè)段落向量.其中Doc2vec模型也分為兩種預(yù)測(cè)形式PV-DM和PV-DBOW,如圖3所示.PV-DM和CBOM相似,不同的是PV-DM模型還需要隨機(jī)初始化一個(gè)段落向量,將段落向量和詞向量通過(guò)取平均值或者相連接來(lái)對(duì)目標(biāo)單詞進(jìn)行預(yù)測(cè).在公式(5)中函數(shù)f通過(guò)段落矩陣V和單詞矩陣W共同構(gòu)造.PV-DBOW則是通過(guò)輸入的段落向量來(lái)預(yù)測(cè)上下文單詞.
圖3 PV-DM模型和PV-CBOM模型Fig.3 PV-DM and PV-CBOW
通過(guò)舉例來(lái)描述Doc2vec模型和Word2vec模型在預(yù)測(cè)效果上的區(qū)別.例如,已知兩個(gè)段落其中段落1中描述的主題是“我出門(mén)郊游野餐”,段落2描述的主題是“我在家吃午飯”,給出上下文“我坐在__”讓模型預(yù)測(cè)空缺的單詞.對(duì)于Word2Vec來(lái)說(shuō),不會(huì)考量段落1或是段落2的語(yǔ)境和主題,該模型也許會(huì)認(rèn)為“椅子上”在訓(xùn)練集中出現(xiàn)的次數(shù)最多,所以預(yù)測(cè)出坐在“椅子上”最有可能.但對(duì)于Doc2Vec來(lái)說(shuō),同時(shí)跟隨上下文輸入的還有一個(gè)代表了本段落的向量.當(dāng)一起輸入的是代表著段落1的向量時(shí),最有可能預(yù)測(cè)的是“草坪上”或“地上”這類(lèi)單詞,較小概率預(yù)測(cè)到“椅子上”;當(dāng)一起輸入的是段落2的向量時(shí),更有可能預(yù)測(cè)的是“椅子上”,而“草坪上”或是“地上”就顯得不太合理,所以被預(yù)測(cè)到的概率降低.正如上述例子所描述的,Doc2vec考慮段落語(yǔ)境對(duì)詞語(yǔ)的預(yù)測(cè)更加準(zhǔn)確、更加靈活.
正如前幾節(jié)所介紹的,LDA模型可以從全局中挖掘文檔中的潛在主題,但是卻忽略了單詞之間的順序丟失了局部語(yǔ)義信息.而Doc2vec模型彌補(bǔ)了這樣的缺點(diǎn),訓(xùn)練出來(lái)的詞向量運(yùn)用了整個(gè)語(yǔ)料庫(kù)的信息,而得到的段落向量含有局部語(yǔ)義信息.將兩種方法相融合來(lái)訓(xùn)練向量,最終把詞向量、主題向量、段落向量都投射到同一語(yǔ)義空間中去.該模型不僅能挖掘出更細(xì)粒度的特征詞,還對(duì)后續(xù)的分類(lèi)任務(wù)提高了辨識(shí)能力.
圖4展示了新模型,該模型將單詞、文檔和主題投射到同一語(yǔ)義空間中.Doc2Vec模型可以直接將段落或句子轉(zhuǎn)換成具有固定維度向量的分布式文檔表示.所以說(shuō)文檔向量是由段落向量構(gòu)成的,而其中每個(gè)文檔又都有自己的長(zhǎng)度,因此它的向量要除以文檔中的段落總數(shù),這樣才能保證測(cè)量的尺度相同.主題向量則由詞向量構(gòu)成,通過(guò)選取每個(gè)主題中前a個(gè)最高概率的詞來(lái)表示主題,然后重新計(jì)算這些詞的權(quán)重.最后通過(guò)計(jì)算主題向量和文檔向量的余弦相似度,找到相似的文檔.
給定文檔集D={d1,d2,…,dn},在Doc2vec的模型下訓(xùn)練D可以得到單詞向量{v(w1),…,v(wN)}與段落向量{v(p1,1),…,v(p1,r1);v(p2,1),…,v(p2,r2);…;v(pn,1),…,v(pn,rn)},其中{w1,…,wN}代表詞匯表中的單詞,{p1,1…p1,r1,…,pn,1,…,pn,rn}代表文檔段落.接下來(lái),通過(guò)公式(6)計(jì)算文檔向量v(di),其中S是文檔中的段落數(shù).
與此同時(shí)通過(guò)LDA模型訓(xùn)練D挖掘潛在主題{t1,…,tm},其中在主題ti下任意一個(gè)單詞wi,j的概率分布為θi,j.選出每個(gè)主題下概率最高的前a個(gè)單詞,根據(jù)公式(7)重新計(jì)算單詞的概率分布λi,j.在此基礎(chǔ)上,通過(guò)公式(8)可以得到主題向量{v(t1),…,
圖4 新模型Fig.4 New model
新模型得到主題特征,不僅降低了數(shù)據(jù)的維度也改善了數(shù)據(jù)的稀疏性,更重要的是考略了單詞的語(yǔ)義和順序.這使挖據(jù)出來(lái)的潛在主題信息更豐富并且更接近于特定的文本內(nèi)容.該模型通過(guò)度量新定義的主題向量和文檔向量之間的相似距離來(lái)將主體信息融入到文本表示之中,可以很容易找到對(duì)應(yīng)文檔的主題.
為了測(cè)試新模型的文本分類(lèi)效果,利用國(guó)際標(biāo)準(zhǔn)數(shù)據(jù)集20Newsgroups進(jìn)行試驗(yàn)檢測(cè),數(shù)據(jù)集包含18 846篇新聞報(bào)道,這些新聞報(bào)道又被分到20組不同類(lèi)別的文檔集中.本實(shí)驗(yàn)首先對(duì)數(shù)據(jù)集進(jìn)行文本預(yù)處理.將文本拆分為句子,將句子拆分為單詞,把所有單詞變換為小寫(xiě)單詞并刪除標(biāo)點(diǎn)符號(hào).再刪除所有的停用詞,刪除在語(yǔ)料庫(kù)中出現(xiàn)少于3個(gè)字符的單詞.最后將過(guò)去時(shí)態(tài)和未來(lái)時(shí)態(tài)的動(dòng)詞都改為現(xiàn)在時(shí)態(tài),詞語(yǔ)也被簡(jiǎn)化為詞根的形式.
使用數(shù)據(jù)集中的所有文檔去訓(xùn)練LDA和Doc2vec來(lái)提取主題向量、單詞向量、段落向量.LDA和Doc2vec都是使用Gensim包來(lái)實(shí)現(xiàn).在LDA中,超參數(shù)a設(shè)置為0.1,pass設(shè)置為20,以保證收斂.Doc2vec使用的PV-DM模型在Gensim中具有默認(rèn)設(shè)置.最后使用scikit-learn包對(duì)gamma=0.001的分類(lèi)執(zhí)行SVM[13],分類(lèi)指標(biāo)采用Micro F1.第一部分實(shí)驗(yàn)選取了一篇關(guān)于曲棍球比賽的新聞報(bào)道來(lái)驗(yàn)證新模型的有效性,相關(guān)實(shí)驗(yàn)數(shù)據(jù)如表1所示.
在表1的左欄中,語(yǔ)料經(jīng)過(guò)LDA模型學(xué)習(xí)后得到該文檔中60個(gè)主題的概率分布,實(shí)驗(yàn)中選取了前5個(gè)與文章最相關(guān)的主題,其中包含主題8、13、26、32和54,其他未列出的主題概率為0.表格的右欄代表由新模型得到的距離分布,括號(hào)中的兩個(gè)值分別代表主題索引和標(biāo)準(zhǔn)化距離,其中標(biāo)準(zhǔn)化距離越小,主題信息與文本內(nèi)容越接近.通過(guò)計(jì)算得到右欄中的平均余弦距離為1.876,此外在右欄也找到了與左欄中相應(yīng)的主題并加粗來(lái)表示,可以發(fā)現(xiàn)這些主題的距離小于之前計(jì)算的平均值,證明這些主題可以代表該文檔.右欄中的的主題26和主題58分別是距離最短與距離最長(zhǎng)的主題,通過(guò)分析主題26與主題58所包含的主題詞來(lái)解釋其中的意義.主題26中包含“勝利”、“第一次”、“比分”、“衛(wèi)冕”等與示例文曲棍球運(yùn)動(dòng)相關(guān)的詞.而主題58包含“倉(cāng)庫(kù)”、“種族”、“豎直”、“自動(dòng)”等諸多與文檔內(nèi)容無(wú)意義的詞匯.這就說(shuō)明這些距離具有可解釋性.另一方面,例如像主題19,它的余弦距離小于主題8、13、32、54,并且主題19包含“半場(chǎng)”、“得分”、“曲棍球”等詞,這說(shuō)明本文提出的模型可以挖出更多與文檔內(nèi)容相關(guān)的主題信息.
表1 樣本的主題分布與距離分布Tab.1 Topic distribution and distance distribution of samples
為了證明該模型的優(yōu)點(diǎn),在第二部分實(shí)驗(yàn)中對(duì)相同數(shù)據(jù)集下的LDA+SVM、Doc2vec+SVM、LDA+Word2vec+SVM的實(shí)驗(yàn)結(jié)果進(jìn)行了分析.首先得到不同向量維度下的Doc2vec+SVM的分類(lèi)結(jié)果,如表2所示.
根據(jù)上圖所示,發(fā)現(xiàn)當(dāng)向量維度設(shè)置為220時(shí),Micro F1的結(jié)果最好.
接下來(lái)將LDA+Doc2vec與LDA+SVM、LDA+Word2vec+SVM進(jìn)行分類(lèi)對(duì)比,通過(guò)上述實(shí)驗(yàn)找到新模型中向量的最優(yōu)維度vector_doc=220,通過(guò)改變對(duì)比模型中的主題數(shù)繼續(xù)進(jìn)行分類(lèi)比較.如圖5所示.
圖5 Micro F1值的對(duì)比圖Fig.5 Micro F1 valuescomparion chart
從圖5中可以看出,LDA模型的分類(lèi)效果最差,得到的Micro F1值也最低.從整體上看LDA+Word2Vec模型與LDA+Doc2vec模型的分類(lèi)效果明顯優(yōu)于LDA模型.隨著主題數(shù)量的增加LDA+Doc2vec模型和LDA+Word2Vec模型的Micro F1值在降低,這有可能是因?yàn)樵O(shè)置的主題數(shù)量的不合理,影響了文本分類(lèi)的準(zhǔn)確性.盡管如此,LDA+Doc2vec模型的整體效果也是優(yōu)于LDA+Word2Vec模型,即使在較少的主題下,該方法的Micro F1值也是較高的.在新模型中由于Doc2vec在訓(xùn)練時(shí)加入了對(duì)于段落的考量,這樣不僅考慮了詞語(yǔ)的語(yǔ)序,還考慮到不同語(yǔ)境下詞語(yǔ)向量所表示的含義,從而得到的段落向量則越來(lái)越接近于段落的主旨.再根據(jù)表3所示.
表2 不同向量維度下的Doc2vec+SVM的分類(lèi)結(jié)果Tab.2 Classification results of Doc2vec+SVM in different vector dimensions
表3 四組實(shí)驗(yàn)的結(jié)果Tab.3 The resultsof four experiment
綜合以上實(shí)驗(yàn)結(jié)果,LDA+Doc2vec模型的分類(lèi)效果比傳統(tǒng)的LDA模型高出20%,與其他方法相比新模型的Micro F1值能達(dá)到0.851,分類(lèi)效果最好.
文本分類(lèi)問(wèn)題的研究具有重要的現(xiàn)實(shí)意義和應(yīng)用要求.本文通過(guò)結(jié)合LDA模型與Doc2vec提出新的文本表示方法,該方法結(jié)合了描述文章主題的主題向量,考慮了描述文章上下文的段落向量,比傳統(tǒng)的文本表示方法更加全面.通過(guò)與上述三種方法的分類(lèi)效果進(jìn)行比較,該方法不僅挖掘出更多可能的潛在主題,還包含更多的語(yǔ)義信息,達(dá)到的分類(lèi)效果也是最好的.本文的研究重點(diǎn)是提高文本分類(lèi)的效果.在實(shí)驗(yàn)過(guò)程中,發(fā)現(xiàn)LDA初始主題的設(shè)置對(duì)于生成的文檔表示非常重要.因此,在后續(xù)工作中計(jì)劃先進(jìn)行文本聚類(lèi)找到最優(yōu)話題數(shù),之后再進(jìn)行算法的混合.另一方面,通過(guò)計(jì)算算法效率發(fā)現(xiàn)了該模型存在建模速度緩慢的問(wèn)題.所以,在未來(lái)的研究工作中,將考慮如何提高建模的速度,以適應(yīng)海量文本數(shù)據(jù)的應(yīng)用.最后,在文本分類(lèi)問(wèn)題上,本文只是研究了特征工程這一部分,在選取分類(lèi)器上還可以進(jìn)一步進(jìn)行研究.