高 娟,張曉濱
(西安工程大學(xué) 計(jì)算機(jī)科學(xué)學(xué)院,西安 710600)
隨著微博、推特等社交平臺(tái)成為人們?nèi)粘I钪行畔⒌闹饕獊碓?在網(wǎng)絡(luò)中進(jìn)行評論與交談信息的語義挖掘和關(guān)聯(lián)信息的研究對于互聯(lián)網(wǎng)應(yīng)用(如:文本分類,社區(qū)發(fā)現(xiàn),興趣推薦)來講是非常有價(jià)值的[1,2],其中最為基礎(chǔ)的是主題模型的研究.
傳統(tǒng)主題模型例如PLSA (Probabilistic Latent Semantic Analysis)和LDA (Latent Dirichlet Allocation)被廣泛地用來推斷文檔的潛在主題結(jié)構(gòu).在線PLSA 模型[3]在文檔流中使用一個(gè)固定大小的移動(dòng)窗口,以合并新文檔同時(shí)丟棄舊文檔,從而動(dòng)態(tài)地更新訓(xùn)練模型.LDA[4]構(gòu)建了一個(gè)三層貝葉斯模型,每個(gè)文檔可以看作是主題的多項(xiàng)分布,同時(shí)主題看作是在詞上的多項(xiàng)分布.然而短文本由于缺乏足夠的上下文信息,使得其在傳統(tǒng)主題模型上表現(xiàn)出數(shù)據(jù)稀疏的問題.為解決這個(gè)問題,Chen 等[5]提出一種基于LDA與K 近鄰的短文本分類算法,算法利用生成主題概率模型使其更關(guān)注于文本的語義關(guān)系,并利用主題-詞矩陣及其分詞信息來度量兩篇短文本之間的主題相似度,一定程度上減緩了數(shù)據(jù)稀疏的問題.但是K 近鄰的計(jì)算過程導(dǎo)致部分文本分類不準(zhǔn)確的問題.Papanikolaou 等[6]在帶標(biāo)簽的主題模型LLDA (Labeled-LDA)上引入了子集LLDA方法,擴(kuò)展了帶標(biāo)簽的LDA 算法主題模型,它不僅可以有效地解決成千上萬個(gè)標(biāo)簽的問題,而且在預(yù)測精度方面比LLDA 的最新技術(shù)有所提高.Cheng 等[7]提出一種BTM (Biterm Topic Model)模型,BTM 通過直接對語料庫中詞對共現(xiàn)模式(即位詞)進(jìn)行建模來學(xué)習(xí)主題,利用豐富的語料庫級信息有效地進(jìn)行推理.學(xué)者們還提出了一些其他可行的方法:(1)根據(jù)元數(shù)據(jù)如用戶標(biāo)簽[8]、用戶位置等將短文本聚合成長的偽文檔[9,10].這個(gè)方法存在的缺陷是有的數(shù)據(jù)沒有或者很難找到元數(shù)據(jù).(2)限制主題的分布[11],即每一篇文檔只屬于一個(gè)主題.但這些方法都只使用了詞共現(xiàn)的方法,而沒有充分地考慮到詞的語義關(guān)系.Li 等[12]引入GPU(General Pólya Urn) 模型,并結(jié)合DMM 模型提出GPU-DMM (GPU-Dirichlet Multinomial Mixture)方法,
該方法通過引入詞嵌入的方法對外部語料庫進(jìn)行訓(xùn)練,利用GPU 模型來提升詞之間的語義關(guān)系,從而解決語義關(guān)系不足的問題.Liang 等[13]提出GLTM (Global and Local word embedding-based Topic Model)模型,模型同樣引入詞嵌入但將其分為全局詞嵌入與局部詞嵌入進(jìn)一步增強(qiáng)了詞的語義信息,提高采樣詞與語義相關(guān)詞的主題相關(guān)性.然而該語義增強(qiáng)模型沒有考慮詞相關(guān)性強(qiáng)弱的問題,對所有的主題語義相關(guān)詞進(jìn)行了增強(qiáng),使得主題相關(guān)性不夠緊密,對外部語料庫進(jìn)行訓(xùn)練得到的全局詞嵌入向量與短文本數(shù)據(jù)集訓(xùn)練的局部詞嵌入向量存在維數(shù)、語義信息不一致等問題.
本文提出STMSE (Short text Topic Model based on Semantic Enhancement)模型,模型從兩個(gè)方面進(jìn)行改進(jìn):首先對外部語料庫進(jìn)行詞的全局詞嵌入向量訓(xùn)練,并計(jì)算全局詞嵌入向量間的余弦相似度,對收集的短文本數(shù)據(jù)進(jìn)行詞的局部詞嵌入向量訓(xùn)練,并計(jì)算局部詞嵌入向量間的余弦相似度,然后進(jìn)行詞向量融合計(jì)算得到詞間的語義相關(guān)度,從而解決語義信息不一致和向量維數(shù)不同的問題;其次在主題詞采樣過程中選出與采樣詞語義相關(guān)性較強(qiáng)的詞,并計(jì)算詞的主題語義相關(guān)詞權(quán)重從而進(jìn)行詞語義增強(qiáng).最后將提出的STMSE 模型與BTM,GPU-DMM,GLTM 模型在數(shù)據(jù)集Web Snippets和Amazon Review 上進(jìn)行對比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明提出的STMSE 模型在主題一致性與文本分類問題上有更好的表現(xiàn).
生成模型認(rèn)為一篇文章中的每個(gè)詞都是通過“以一定概率選擇某個(gè)主題,并從這個(gè)主題中以一定概率選擇某個(gè)詞語”這樣的一個(gè)過程得到.DMM 就是一種生成概率模型,并且認(rèn)為每個(gè)文檔都是由單個(gè)主題生成的[14],也就是說文獻(xiàn)集中的每一篇文檔只有一個(gè)主題.給定文獻(xiàn)集D,文獻(xiàn)集中的文檔d,詞匯表V和預(yù)定義的主題數(shù)K.假設(shè)每個(gè)文檔d都只與一個(gè)特定的主題k相關(guān).文檔d中的Nd個(gè)詞{wd,1,wd,2···,wd,Nd}由主題-詞多項(xiàng)分布p(w|z=k) 獨(dú)立生成,表示為?k,且p(w|z=k)服從參數(shù)為β的先驗(yàn)Dirichlet分布.文檔的主題服從多項(xiàng)式分布,表示為p(z=k)=θk,其中k=1,…K,且主題概率服從參數(shù)為α的先驗(yàn)Dirichlet分布.DMM 生成過程如算法1.
算法1.DMM 生成過程1.采樣主題概率分布k∈{1,···,K}θ~Dirichlet(α)2.對于每個(gè)主題采樣主題-詞項(xiàng)分布d∈{1,···,D}?k~Dirichlet(β)3.對于每個(gè)文檔zd~Multionmial(θ)(1) 采樣主題(2) 遍歷每個(gè)詞w~Multionmial(?zd)w∈{wd,1,···,wd,Nd}采樣詞
算法1 中隱藏變量 φzd通過Gibbs Sampling 過程進(jìn)行推斷.圖1為DMM 模型的概率圖模型.
圖1 DMM 概率圖模型
傳統(tǒng)主題模型主要是通過詞之間的共現(xiàn)模式即兩個(gè)詞出現(xiàn)的次數(shù)與前后位置等來確定詞語之間是否相關(guān).但僅以這種方法計(jì)算詞語之間的相關(guān)性不能充分捕捉短文本的上下文信息,而且不適用于短文本,因?yàn)榫哂休^高語義相關(guān)度的單詞可能不會(huì)在相同的短文本中頻繁出現(xiàn).而詞嵌入可以保留單詞的上下文信息,故而學(xué)習(xí)的單詞可以捕獲一般單詞的共現(xiàn)模式[15],即語義或句法上相關(guān)的單詞在潛在空間中會(huì)被映射得更近.在文獻(xiàn)[16,17]中引入了詞嵌入的方法,通過詞嵌入的方法計(jì)算詞與詞之間的語義相關(guān)度.為了能夠更好的計(jì)算詞之間的語義相關(guān)度,本文利用外部知識(shí)(谷歌語料)進(jìn)行詞嵌入訓(xùn)練,為全局詞嵌入.對實(shí)驗(yàn)數(shù)據(jù)集進(jìn)行嵌入學(xué)習(xí),獲得短文本上下文的語義特征信息,為局部詞嵌入,然而全局詞嵌入訓(xùn)練的詞向量與局部詞嵌入訓(xùn)練的詞向量存在語義信息不兼容的問題且嵌入向量維數(shù)存在較大的差距,因此提出通過向量融合計(jì)算詞向量間的語義相關(guān)度來解決這個(gè)問題.
通過全局詞嵌入向量和局部詞嵌入向量對詞進(jìn)行余弦相似度計(jì)算,進(jìn)而計(jì)算出詞的語義相關(guān)度.向量間的余弦相似度用下式計(jì)算:
其中sim(w,wi)表示詞w與詞wi的余弦相似度,v(w)為詞w的向量表示.通過式(1)計(jì)算全局詞嵌入向量的余弦相似度simg(w,wi)與局部詞嵌入的余弦相似度siml(w,wi),通過式(2)計(jì)算兩個(gè)詞之間的語義相關(guān)度:
其中,S R(w,wi) 表示詞w和詞wi的語義相關(guān)度.
根據(jù)詞的語義相關(guān)度構(gòu)建詞w的語義相關(guān)詞集Mw={wi|wi∈V,S R(w,wi)>?}.對采樣詞w的語義相關(guān)詞集Mw中的wi應(yīng)用式(3)計(jì)算語義提升矩陣Aw,wi.具體公式如式下:
一般來說,按照詞的語義相關(guān)度值降序排序后靠后的詞對主題模型的貢獻(xiàn)率不大,所以只對語義相關(guān)詞集Mw中的語義相關(guān)度較高的部分詞做語義提升.故先將Mw中詞對的語義相關(guān)度值按降序排列,并取前num個(gè)詞進(jìn)行語義提升,計(jì)算語義提升矩陣Aw,wi中的語義相關(guān)詞權(quán)重 μw,wi,如式(4):
由此獲得語義增強(qiáng)的相關(guān)詞權(quán)重.通過利用GPU模型思想進(jìn)行詞的語義增強(qiáng),即對于采樣詞,增加與其主題語義相關(guān)性強(qiáng)的詞的個(gè)數(shù),從而增強(qiáng)語義相關(guān)詞與主題詞間的關(guān)系,計(jì)算如式(5)、式(6):
主題模型推斷的Gibbs Sampling 過程如下:在每一輪迭代過程中,采樣一篇文檔并記錄相關(guān)統(tǒng)計(jì)量;為采樣的文檔重新采樣一個(gè)新的主題,更新文檔的相關(guān)統(tǒng)計(jì)量,并對采樣詞的語義相關(guān)詞進(jìn)行語義增強(qiáng)計(jì)算.對于文檔中的每個(gè)詞,并不是對所有的詞進(jìn)行語義提升,因?yàn)樵谖臋n中不是所有的詞都與主題存在很強(qiáng)的關(guān)聯(lián),其中存在一定的噪音詞,因此需要計(jì)算主題與單詞的相似性來判斷是否對采樣詞進(jìn)行語義提升.通過計(jì)算采樣主題與采樣詞的語義相關(guān)度,如果相似度SR(z,w)>ε,則對采樣詞進(jìn)行增強(qiáng)計(jì)算.其中為每一篇文檔采樣一個(gè)主題遵從條件概率:
其中,mk是與主題k相關(guān)的文本數(shù).下標(biāo)?d表示不包括文檔d.采樣算法完成后,對模型中的主題-詞項(xiàng)后驗(yàn)概率分布p(w|z=k)進(jìn)行計(jì)算,如式(8):
STMSE 模型的Gibbs Sampling 算法過程如算法2.
算法2.Gibbs Sampling輸入:主題數(shù)K,α,β,和短文檔集D輸出:主題-詞后驗(yàn)概率分布Mw
1.初始化數(shù)據(jù)統(tǒng)計(jì)量在每一輪迭代過程中2.在文檔集D 中采樣一篇文檔d,(1)更改與主題相關(guān)的文檔的個(gè)數(shù),;w∈dnwk=nwk?Nwd nk=nk?Nwd nk=nk?1(2) 對于文檔d 中的詞w,即,更新相關(guān)統(tǒng)計(jì)量:,;wi∈MwAw,winwik=nwi k?Nwd Aw,wink=nk?Nwd Aw,wi(3) 對于,計(jì)算語義提升矩陣 并更新相關(guān)統(tǒng)計(jì)量,;3.根據(jù)式(7)為文檔d 重新采樣一個(gè)新主題z,nk=nk+1;(1) 更改與主題相關(guān)的文檔的個(gè)數(shù)w∈d ε nwk=nwk+Nwd nk=nk+Nwd(2) 對于詞,如果SR(z,w)>,更改相關(guān)統(tǒng)計(jì)量,;wi∈MwAw,winwik=(3) 對每個(gè),計(jì)算語義提升矩陣 并更新相關(guān)統(tǒng)計(jì)量,.nwi k+Nwd Aw,wink=nk+Nwd Aw,wi
本文使用Web Snippets 數(shù)據(jù)集和Amazon Review數(shù)據(jù)集進(jìn)行驗(yàn)證.其中Web Snippets 數(shù)據(jù)集包括12 340個(gè)搜索片段,每個(gè)片段屬于8 個(gè)類別中的一個(gè)類別.Amazon Review 數(shù)據(jù)集是一系列從1996年5月到2014年7月的亞馬遜產(chǎn)品評論,其中每個(gè)片段屬于7 個(gè)類別中的一個(gè)類別,本文從中隨機(jī)采樣20 000 條數(shù)據(jù)作為本文的數(shù)據(jù)集.對上述兩個(gè)數(shù)據(jù)集進(jìn)行預(yù)處理,經(jīng)過數(shù)據(jù)預(yù)處理后的數(shù)據(jù)集信息如表1所示.
表1 數(shù)據(jù)集信息
2.2.1 短文本分類
在短文本分類實(shí)驗(yàn)中,根據(jù)主題模型的結(jié)果,每篇文檔可表達(dá)為主題分布p(z|d),即每篇文檔可以表示成一個(gè)向量分布.用支持向量機(jī)做分類器,并使用其默認(rèn)參數(shù),進(jìn)行文檔分類實(shí)驗(yàn),文檔的分類正確率越高,主題模型學(xué)習(xí)到的主題結(jié)果就越合理,主題之間的區(qū)分度也就越高,分類實(shí)驗(yàn)的執(zhí)行效果就越好.文獻(xiàn)[12]中提到兩種文檔主題條件概率分布的推斷方法:
Naive Bayes (NB) rule:
Summation over Words (SW):
其中,p(w|d)可以用文檔d中出現(xiàn)的詞w的次數(shù)來估計(jì),p(z=k|w)可以由貝葉斯準(zhǔn)則推斷:
本文采用SW 方法來獲得文檔的主題概率分布.圖2為提出的STMSE 模型與其他基線模型在分類正確率上的實(shí)驗(yàn)結(jié)果比較.其中F1 值為式(12)所示:
從圖2(a)與圖2(c)中可看出,本文提出的STMSE模型在分類效果上得到了較好的結(jié)果,在兩個(gè)數(shù)據(jù)集上的分類效果比其他模型的都要好.對比圖2的4 個(gè)子圖能夠發(fā)現(xiàn):由于Amazon Review 數(shù)據(jù)集在數(shù)據(jù)預(yù)處理之后的平均文本長度要稍微長一些,具備更豐富的上下文語義,故而在Amazon 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果比在Snippets 數(shù)據(jù)集上的效果要穩(wěn)定,此外這與語料庫的質(zhì)量也有一定的關(guān)系.GLTM 模型進(jìn)行了全局與局部詞的嵌入訓(xùn)練,導(dǎo)致在進(jìn)行訓(xùn)練模型的相似度計(jì)算上存在一定的數(shù)據(jù)相似度的冗余計(jì)算,因而在進(jìn)行語義增強(qiáng)的時(shí)候沒能將主題進(jìn)行更好的分類,故而分類準(zhǔn)確率相對本文提出的模型較差.而GPU-DMM 模型因?yàn)橹贿M(jìn)行了外部語料庫的詞嵌入訓(xùn)練,沒有對訓(xùn)練集進(jìn)行詞嵌入訓(xùn)練來獲取上下文信息,同時(shí)也沒有根據(jù)詞的語義權(quán)重進(jìn)行語義提升故而實(shí)驗(yàn)效果沒有GLTM 的好;而BTM 模型的分類效果最差,是因?yàn)槔迷~對在建模過程中,詞對共現(xiàn)使得主題的區(qū)分性相對變?nèi)趿艘恍?只使用短文本中的詞也使得主題的相關(guān)信息比較稀疏,主題識(shí)別具有一定的局限性,使得分類效果差.但從圖中BTM 的數(shù)據(jù)可以得知,直接使用詞對進(jìn)行主題建模時(shí),使得BTM 模型的穩(wěn)定性比其他模型要好.
圖2 實(shí)驗(yàn)結(jié)果比較
2.2.2 主題一致性
主題一致性表明如果一個(gè)主題中最可能出現(xiàn)的詞在語料庫中出現(xiàn)的頻率更高,那么這個(gè)主題就更加一致.這個(gè)想法與BTM 模型的基本假設(shè)一致,即更經(jīng)常同時(shí)出現(xiàn)的詞應(yīng)該更屬于同一個(gè)主題.PMI-Score 利用外部源(例如,維基百科)的大規(guī)模文本數(shù)據(jù)集,基于點(diǎn)態(tài)互信息來測量主題相關(guān)性,因這些外部源數(shù)據(jù)集與模型無關(guān),故而PMI-Score 對所有主題模型都是公平的.因此,實(shí)驗(yàn)利用PMI-Score 來驗(yàn)證主題一致性.
給定主題k和該主題概率排序在前T的詞(w1,···,wT),主題k的PMI值的計(jì)算公式如下:
其中,P(wi,wj)為詞對wi和wj在外部數(shù)據(jù)集(如維基百科)中共現(xiàn)的概率,P(wi)為詞wi在外部數(shù)據(jù)集中出現(xiàn)的概率.每個(gè)模型的主題一致性是所有學(xué)習(xí)到的PMI-Score的平均值.PMI-Score值越高,主題一致性就越好.實(shí)驗(yàn)給出在主題-詞項(xiàng)分布排列前10 的主題詞,主題個(gè)數(shù)K分別為20,40,60,80 上的主題一致性評估結(jié)果.實(shí)驗(yàn)結(jié)果如圖3所示.
從圖3(a)與圖3(b) 可以看出,提出的STMSE模型在主題一致性上表現(xiàn)出了良好的結(jié)果,都優(yōu)于其他主題模型.是因?yàn)槟P徒Y(jié)合了外部知識(shí)訓(xùn)練的全局詞嵌入和短文本訓(xùn)練的局部詞嵌入并進(jìn)行了向量的融合計(jì)算,提高了語義表示能力和更為準(zhǔn)確的主題語義,根據(jù)詞的相關(guān)度強(qiáng)弱進(jìn)行了詞的權(quán)重比語義增強(qiáng),加強(qiáng)了詞間的語義關(guān)系.實(shí)驗(yàn)結(jié)果在Amazon 數(shù)據(jù)集上比在Snippets 數(shù)據(jù)集上表現(xiàn)出更好的效果,原因是Snippets 比Amazon 有更高的數(shù)據(jù)稀疏性.
圖3 PMI 實(shí)驗(yàn)結(jié)果
BTM 模型取得了最差的結(jié)果,由于訓(xùn)練過程采用了詞對的模式,所以在主題區(qū)分上的效果沒有其他模型效果好.但BTM 主題模型在建模時(shí)是通過詞對共現(xiàn)模式來完成的,保留了一部分語義相關(guān)詞集以及上下文信息,增強(qiáng)了語義間的關(guān)系,給模型帶來了一定的穩(wěn)定性.在兩個(gè)數(shù)據(jù)集上都表現(xiàn)出相當(dāng)不錯(cuò)的效果,且隨著主題數(shù)的增加,主題一致性波動(dòng)不大.GPU-DMM模型相對BTM 模型來說在主題一致性實(shí)驗(yàn)上有的結(jié)果要好,是因?yàn)镚PU-DMM 模型考慮到上下文相關(guān)信息,同時(shí)也考慮詞匯的語義相關(guān)度并增強(qiáng)語義相關(guān)度.但當(dāng)主題數(shù)量增多時(shí),主題一致性開始會(huì)隨著主題數(shù)量的增多效果會(huì)變的更好,這是因?yàn)橹黝}數(shù)量的增多使得語義信息的表達(dá)更為充分,而當(dāng)主題數(shù)再增多時(shí),就使得語義的稀疏性變得更強(qiáng),因此這時(shí)增加主題數(shù)量使得主題一致性表現(xiàn)變得更差.GLTM 模型利用了外部知識(shí)庫進(jìn)行了語料的訓(xùn)練從外部知識(shí)中獲得的詞的共現(xiàn)詞較多,并結(jié)合短文本的上下文信息進(jìn)行結(jié)合分析,實(shí)現(xiàn)了在數(shù)據(jù)集上的主題一致性,取得了次優(yōu)的結(jié)果.
本文利用全局詞嵌入與局部詞嵌入進(jìn)行模型訓(xùn)練,以獲得外部知識(shí)與文本的上下文信息,并根據(jù)嵌入向量計(jì)算詞的語義相關(guān)度,以更好的表達(dá)詞之間的語義關(guān)系;其次計(jì)算語義相關(guān)度提升矩陣,對詞進(jìn)行語義增強(qiáng),使得同屬于一個(gè)主題的單詞之間聯(lián)系更加緊密;實(shí)驗(yàn)表明,本文提出的模型在文本分類與主題一致性實(shí)驗(yàn)上要優(yōu)于其他基線模型,在短文本主題模型構(gòu)建中具有良好的表現(xiàn),對于短文本的信息分類有很高的應(yīng)用價(jià)值.