朱穎奇, 李艷玲, 林 民,2, 郭振東
(1.內蒙古師范大學 計算機科學技術學院,內蒙古 呼和浩特 010022; 2,內蒙古師范大學 應用數學中心,內蒙古 呼和浩特 010022)
信息技術的提升、互聯網大數據的發展、無紙化辦公的普及,極大推動了自然語言形式文本的電子化進程。除新聞、社交信息這些依賴互聯網快速傳播的大規模文本數據之外,學術論文、醫學資料、文化古籍等各種專業領域的文本數據也在大量產生和積累。上述以自然語言形式存儲的海量文本都可以稱為文本大數據。文本大數據的產生規律和數據本身蘊含的潛在信息,具有重要研究價值。文本的主題分析是語義分析中的基礎和重點內容。文本主題是一個抽象概念,它由一組具有相關含義的詞匯描述; 一篇文本通常包括多個主題,例如一篇關于奧運會的新聞稿中包含“運動”“旅游”等多個主題。
文本主題分析被應用于社會、科技、文化等多領域的多種任務中。首先,能夠深入探究社會問題、現象,提高社會運行管理效率[1]。其次,能夠多角度觀察總結專業領域研究成果和現狀,推動專業領域技術發展,指導領域發展方向[2]; 也可挖掘出政策主題和發展主題,以明確國家和國際政策的戰略路線以及當前政策影響下相關專業領域的發展形勢[3]。最后,文本主題分析對知識積累、文化傳承也具有巨大作用,能有效提取和分析不同語言表示的領域知識文化主題信息,對增進民族地區通用語言與民族語言的知識共享和傳播、傳承各民族優秀文化具有重要現實意義。
綜上所述,利用計算機進行文本大數據主題分析,能夠高效、準確分析海量文本,挖掘出其中隱藏的核心內容和發展規律,對社會政治、經濟、科技、文化的發展具有推動作用,也能夠輔助相關政策的制定。面向文本大數據的主題分析是一項十分必要且緊迫的任務,因此,本文從技術角度闡述了國內外利用主題模型對文本進行主題分析的現狀,旨在為主題分析的性能提升提供參考。
主題模型最初是一種概率統計模型,后來發展到深度學習領域,故而其模型構建過程中,包含大量應用數學理論、模型優化算法以及文本處理知識。目前多數綜述文章都按照模型所屬類別進行分類,例如基于概率統計和基于深度學習兩種類別,但是新方法的提出多基于前人的方法,不同類型的方法之間也在交叉融合,所以難以只按照方法類別進行歸類。因此,本文從兩個角度進行主題模型的綜述:第一,針對不同問題的模型改進方法; 第二,按照模型改進方法采取不同方式進行歸類。
(1) 短文本數據稀疏。一篇文檔根據文本的長度可分為長文本和短文本,論文、新聞報道等一般都是長文本,微博正文、商品描述等一般是短文本。由于短文本上下文信息有限,涉及的主題較為單一,多義詞的真實含義難以確定。而主題模型是一種從后驗分布推斷先驗分布的模型,所以在短文本樣本數量規模小、數據稀疏、文檔主題單一的情況下,建模能力受到限制。
(2) 不能充分考慮上下文內容。傳統主題模型將文檔中的詞看作詞袋模型,只在文檔層面上考慮詞匯的分布,沒有考慮文檔之間的關系、詞匯之間的關系、詞匯重要性、上下文語境等。
(3) 文檔-主題分布和主題-詞分布的適用性和準確性有待提高。LDA(latent dirichlet allocation)[4]最初根據經驗假設傳統主題模型的兩個分布是多項分布,主題和詞的取值都決定于各自分布的參數,主題的一致性、連貫性和主題之間的多樣性都直接受到分布參數的影響。但是,如何選擇更接近真實分布的初始假設分布?如何提高分布參數推理算法的精確性?這些都是主題模型需要不斷探索的內容。
為解決上述問題,國內外研究人員從三個方面對主題模型進行了改進。
(1) 增加外部輔助信息。主題模型的優勢是一種無監督算法,能夠在給定的文檔上直接進行隱含主題挖掘,無需人工標注。但是對于語言來說,其文化背景、時代背景、領域范圍等外部信息都對文本含義、文本主題起到至關重要的影響。而且在其他自然語言任務中,增加外部輔助信息也被證明是提高模型性能的有效方式。增加外部輔助信息的方式可細分為三種。
① 從額外的大規模語料庫獲取全局語言信息。在自然語言處理中為模型添加背景知識是常用而有效的方法,如著名的BERT(bidirectional encoder representations from transformers)模型,采用大規模語料用于預訓練。所以,將基于大規模/領域性語料的預訓練過程加入主題模型中,是獲取全局語言信息的方法之一。
② 從文檔、詞的關系中挖掘局部語言信息。通常文檔與文檔、文檔與詞、詞與詞之間具有一定的關聯關系。如新聞中討論相同話題的文檔,通常在同一個版塊中,詞和詞之間的共現關系也能體現主題分布。所以語料的局部語言信息也值得深入挖掘。
③ 加入與任務相關的約束和知識。文本主題分析可用于文檔表示、文檔特征提取等,作為其他下游自然語言處理任務的基礎環節。當下游任務是分類任務時,文檔的標簽可以使模型對主題的分布有預先判斷。所以當主題模型被用于特定領域文本或者特定任務時,可以提取任務相關信息以輔助主題分析。
(2) 改進參數分布的共軛先驗。主題模型中兩個重要分布是文檔-主題分布和主題-詞分布,求解這兩個分布的關鍵在于確定分布的類型和參數。最初主題模型將兩個分布假設為多項分布,從統計學角度利用多項分布的共軛先驗(即狄利克雷分布,Dirichlet distribution)求解參數,但隨著神經網絡的自編碼器在參數優化效果上的提升,其它更適用于自編碼器的分布被加入主題模型中,求解過程更加迅速、準確。所以分布的類型和參數均有改進。
(3) 改進采樣過程。傳統主題模型采用吉布斯采樣,為提高模型收斂速度和效果,有一些改進方法。
下面以上述三種模型改進思路為線索對近年來文獻進行闡述,并指出解決的問題。
為主題模型增加的外部信息包括三種: 大規模語料庫的語言信息; 文檔和詞關系的局部信息; 與任務相關的領域知識或約束。
額外的大規模語料庫語言信息可通過預訓練得到,將預訓練結果作為主題模型的一種輸入,代表模型有ETM、TWE、JTW、TSTNM、LDA2Vec2016、transformer+LDA等。
Mikolovt等[5]最早提出Word2Vec詞嵌入模型,通過使目標詞與周圍上下文詞在樣本空間中共現概率最大化來得到目標詞的低維稠密向量表示。用詞向量表示文檔單詞能包含單詞上下文信息,也能包含大規模訓練語料隱含的語言知識。
詞嵌入主題模型將詞嵌入融合到LDA模型中,融入了單詞上下文信息,改進了詞袋表示。Moody[6]提出LDA2Vec模型,在LDA中加入Word2Vec詞向量既優化了單詞特征,也能提高計算單詞間相似度的準確率,緩解了LDA在處理短文本中的困難,能生成具有可解釋的主題分布。但是一個單詞也許會有多種含義,一種詞向量無法表示不同情境下單詞的不同含義,所以Liu 等[7]提出了一種主題詞嵌入(topical word embeddings,TWE)模型,該模型將主題和主題-詞對視作“偽詞”放入Skip-Gram模型進行訓練,令每個單詞在不同主題下具有不同的向量表達。Shi等[8]提出了基于Skip-Gram的主題詞嵌入(skip-gram topical word embeddings,STE)模型,首先當給定一個目標詞及其主題時,構建一個可以預測上下文詞的生成函數; 其次設計一個最大期望(expectation maximization,EM)采樣方法,E步驟用于評價主題分布的質量,M步用于更新主題分布和詞向量。Dieng等[9]進一步提出了嵌入主題模型(embedding topic model,ETM),把主題作為單詞的上下文語義依賴,通過最大化主題的單詞生成概率優化主題向量,并將主題向量映射到與詞向量一致的語義空間,改善了生成主題的一致性。TWE等能夠將主題信息加入詞向量的訓練之中,并利用詞向量的上下文信息輔助生成主題分布。ETM的優勢是可以直接訓練出主題向量,并將詞向量和主題向量聯合訓練。Zhu等[10]結合這兩種思路提出了主題-詞嵌入聯合模型(joint topic word-embedding,JTW),利用Skip-Gram思想訓練出主題向量,該模型首先將中心詞和上下文詞作為編碼器的輸入,獲得隱含主題向量和主題分布,隨后利用解碼器,通過主題分布和主題向量分別重構上下文詞和中心詞。
此外,BERT模型將Transformer[11]編碼器作為模型的主體結構,通過海量語料的訓練和在具體任務中的微調(fine-tuning),得到了一組適用性廣泛、上下文語境敏感的詞向量,解決了以往Word2Vec、Glove等模型的聚義問題。所以將BERT與主題模型相結合也是一種新穎的改進思路。Alexander等[12]認為,BERT的微調機制雖然很好,但需要從大量參數中獲得語境信息,而主題模型采用自編碼器結構時,又需要縮減維度來獲得更具可解釋性的主題,兩者難以同時訓練。因此,筆者將一篇文檔分別表示為BOW表示和基于BERT的自編碼“教師”(BERT-based auto-encoder teacher,BAT)表示,將兩種表示同時輸入“學生”神經主題模型中,這樣既包含預訓練Transformer中豐富的語境知識,又兼顧主題模型的可解釋性,這種“教師”-“學生”訓練模式是一種用于模型壓縮的知識蒸餾架構,它對于大規模和小規模的模型結合具有借鑒意義。
文檔和詞關系的局部信息常常考慮文檔之間的相似性、文檔和詞的共現關系及詞對文本的注意力、詞和詞的共現關系、層次關系,代表模型有:BTM、GraphBTM、TSNTM、JEA-LDA等。
短文本主題分析的難點在于一篇文檔包含的詞數目太少,不能給文檔的主題分布提供更多信息。降低數據稀疏性主要從兩個方面著手,一是增加詞數目,二是擴大選詞范圍。基于此,Yan等[13]提出BTM(biterm topic model),提取語料級別的共現詞對(Biterm是指共現詞對)代替原來的單個詞,將詞共現信息引入主題模型,極大緩解了短文本數據稀疏性。此后,研究人員開始基于BTM做出改進。Cheng等[14]提出IBTM(incremental biterm topic model),對Biterm集合進行建模,并使用增量式吉布斯采樣(incremental Gibbs sampling),實現主題參數的更新,克服了 BTM 不能增量抽取主題的缺點。而Li等[15]結合了上文中提到的詞嵌入,提出 R-BTM 模型,利用詞嵌入生成的相似詞表來提取更連貫的 Biterm,從而抽取出質量更高的主題。雖然BTM能夠緩解短文本的稀疏問題,但是在語料庫上建模時,仍存在不能顧及長文檔內部豐富主題的缺陷,因此Zhu等[16]提出基于圖的BTM(graph BTM),它在多個文檔上使用滑動窗口,提取窗口中的所有單詞共現,構造出單詞共現圖,并使用GCN對詞共現圖進行建模,作為編碼器主題模型的輸入。GraphBTM既考慮了詞共現關系,又提取了文檔范圍的局部結構信息。上述是在平面上對詞進行建模,而TSNTM[17]是在樹結構上對詞和主題進行層次建模,具有通用含義的主題和詞靠近根節點,含有具體含義的主題和詞更靠近葉節點。
BTM及其變體只考慮了單詞關系而忽略了文檔關系,討論同一個話題的文檔通常情況下會有相似的詞分布,通過在主題模型中引入文檔關系能夠提高所提取主題的質量[18]。Zhou等[19]提出了一種基于文檔關系圖的神經主題建模,將語料庫表示為文檔關系圖卷積網絡(graph convolutional network,GCN),節點是文檔和單詞,邊體現文檔-單詞共現關系。劉佳琦等[20]用孿生神經網絡實現變分自編碼器神經主題模型,兩個不同的文檔被輸入孿生神經網絡,其相似度被加入損失函數中,提升了模型中隱變量和輸入文檔之間的相關性。
上述模型直接對模型添加文檔和詞之間的關系進行改進,此外,還可利用注意力機制對主題施加詞注意力,JEA-LDA[21]結合了單詞嵌入和主題嵌入結構,并在單詞和主題之間添加注意力機制,用來捕獲主題與單詞之間的相互作用關系。
與任務相關的領域知識或約束信息,多數在有監督主題模型中采用,將文檔標簽、文本特征作為外部信息,還有直接利用主題質量評價指標指導模型優化,代表模型有:linkLDA、Supervised Topic Model、s-To-MCAT和基于強化學習的神經主題模型等。
主題模型除了能直接分析文本之外,還可以為其他下游任務服務。根據任務的內容可以額外加入任務相關的知識,以提高主題分布的合理性。如在處理社交媒體文本時,對用戶的興趣和行為模式進行建模[22]; 或者在研究文本主題演變過程時,將時間信息加入主題模型中,例如TOT模型[23]、DTM模型[24]和LPOBTM模型[25]; 在知識圖譜的任務中,將LDA與實體向量編碼的知識相結合,通過“知識”分布對LDA的詞分布和主題分布的參與來提高主題語義的一致性和連貫性[26]。
很多下游任務是有監督任務,樣本特征、樣本標簽成為良好的輔助信息。LF-LDA模型[27]將主題-詞分布換成 “主題-特征分布+特征-詞分布”混合分布,而Tr-sLDA[28]則進一步將主題-標簽分布中的“標簽”變成源域和目標域的交集,上述兩個例子中,不僅能計算詞在主題上的分布,還能計算特征和標簽在主題上的分布,這使主題的使用范圍更廣。
最典型的有監督主題模型是sLDA(surpervised LDA)[29],它在主題模型中加入文檔標簽作為響應變量,與主題模型同時訓練。sLDA是基于概率統計的方法,也有將主題建模和非線性分類相結合的方法(GPSTM)[30],但更多的有監督主題模型采用了基于神經網絡的方法,常用的有變分自編碼器和對抗生成網絡。
SNTM[31]是一種典型有監督神經網絡主題模型,它在NTM的基礎上增加了一個標簽層,本質上是增加了一個主題-標簽分布,具體采用pairwise方法對輸入的文檔對進行排序,使用主題-標簽分布計算出兩個輸入文檔的標簽,模型期望令正例標簽值最大化,令負例標簽值最小化。
主題模型本質上是一種文檔生成模型,隨著對抗生成網絡(generative adversarial networks,GAN)的提出,主題和文檔的生成過程可以用GAN來模擬,由此提出了ATM[32],ATM的生成器能捕獲潛在文檔-主題語義分布和文檔-詞級語義表示。傳統的主題模型采用的是近似解析,而ATM直接使用鑒別器網絡來識別輸入文檔是真是假,其輸出信號可以幫助生成器從Dirichlet分布的隨機噪聲中構造更真實的文檔。盡管ATM能夠發現更連貫的主題,但由于缺乏主題推理模塊,它不能用于歸納給定文檔的主題分布,這種局限性阻礙了它在文本分類等下游任務中的應用。而在MCAT中[33],主題建模是一種主題分布和詞分布之間的轉換過程,生成器將從Dirichlet先驗中隨機抽取的主題分布轉換為相應的詞分布,編碼器將文檔的詞分布表示反向轉換為文檔的主題分布表示。除此之外,對抗網絡的損失函數只能保證生成器生成的樣本與真實樣本同分布,但是實際上更希望模型輸入輸出的文檔是一一對應的,也就是A-B-A還可以再遷移回來,即循環一致性。
神經變分推理在文本處理方面取得了許多進展。但是由于主題本身的質量評價沒有最優值,所以其主題模型的目標只能包括最小化重建文檔損失,不能考慮主題的連貫性和一致性,但最小化重建錯誤并不意味著能得到高質量的主題。所以有學者[34]借鑒強化學習的思想,將話題連貫性作為獎勵信號引入基于VAE的主題模型訓練中。由于強化學習的機制十分強大,而且將主題質量加入主題訓練是一種十分新穎的想法,所以本文認為基于強化學習的主題模型非常具有潛力。
主題模型中兩個重要分布是文檔-主題分布和主題-詞分布,隨著主題推斷數據規模擴大和問題復雜度提高,主題模型包含了越來越多的隱變量和額外信息,模型參數的推斷過程變得愈加復雜。變分自編碼器(variational auto-encoder,VAE)[35]通過神經網絡近似主題模型中隱變量的后驗分布,即變分推斷過程,提供了一種適合處理大數據并且擴展性強的主題模型訓練方法。
為了克服傳統主題模型需要復雜推理算法的局限性,設計了神經變分文檔模型(neural variational document model,NVDM)[36],NVDM是一個無監督的文本生成模型,旨在為每個文檔提取一個連續的潛在語義向量。該模型是一個變分自編碼器:MLP(multilayer Perceptron)編碼器(推斷網絡)將文檔的詞袋模型表示壓縮為一個連續的潛在分布,softmax解碼器(生成模型)生成詞來重構文檔。自此,基于神經網絡的主題模型開始快速發展。
自編碼器在主題模型中的使用不僅令分布的推斷過程更加簡便,而且可以嘗試更多種主題分布和參數分布。原始主題模型的分布是多項分布-狄利克雷分布(Dirichlet)的共軛分布,但是變分自編碼器的參數更新只適合“location-scale”分布簇的分布,而Dirichlet分布不屬于這個分布,所以在NVDM中采用高斯分布來代替Dirichlet分布。高斯LDA中[37-38],主題-詞分布由多項分布變為多變量高斯分布,其參數分布也是高斯分布。但是使用高斯先驗會產生一些不相干和相似的主題。Sutton等[39]提出了LDA-VAE 和Prod LDA,作者認為Dirichlet分布比高斯分布更適合于主題建模,所以用Logistic正態分布近似Dirichlet先驗分布,有助于產生更連貫和多樣的主題。為了不改變Dirichlet分布,Nan等[40]提出了一種基于WAE(wasserstein autoencoder)框架的主題模型W-LDA,在潛在文檔-主題空間中,通過分布匹配方法直接近似Dirichlet先驗,不需要采用任何高斯近似,保持了主題模型原本的Dirichlet先驗,在一定程度上也可以解決后驗失效問題。除Dirichlet分布、高斯分布、Logistic正態分布,還有學者采用Weibull分布[41],Weibull分布可以更好地逼近Gamma分布,并通過均勻噪聲進行簡單的重參數化,有助于高效地計算推斷網絡參數的梯度。
隨著自編碼器主題模型的廣泛使用,采樣過程被省略,關于采樣的改進方法較少。主題模型中常用的采樣方法是吉布斯采樣,IBTM[14]使用增量式吉布斯采樣替代吉布斯采樣,實現主題參數的更新,克服了 BTM 不能增量抽取主題的缺點。高斯LDA中采用了一種collapsed Gibbs sampling算法來加快模型求解速度。此外也有少量其它采樣方法,例如基于負采樣解碼器的短文本主題建模[42],負采樣原理是從文本中根據主題-詞分布采樣到的詞作為正樣本,將其他主題中概率較高但未分配給當前文本的單詞作為負樣本,這樣能使主題詞的分布相互推開,從而為產生不同的主題提供更好的學習目標。
本文從三個方面介紹了近年來文本主題模型的改進方法,以下對這三個方面進行總結,并給出可能的改進方向。
(1) 增加外部輔助信息。
① Word 2Vec是一個非常成熟的詞表示模型,但是近年來基于transformer的BERT模型更具有發展潛力,因為BERT能夠從更大規模的語料中挖掘更深層次的語言信息。
② BTM及其變種充分考慮了詞共現知識,文檔之間的關系研究較少。
③ 近年來基于變分自編碼器的主題模型數量眾多,但是對抗生成網絡的判別器能夠在模型中加入更多標簽類信息,更加值得關注和研究。此外,基于強化學習的主題模型構思新穎,關鍵在于能夠把不定量主題評價指標(連貫性、一致性)加入模型訓練中去,這一點非常值得關注。
(2) 改進參數分布的共軛先驗。
由于變分自編碼器的廣泛使用,Dirichlet分布逐漸被高斯分布取代。但是依舊有學者不斷嘗試回歸到Dirichlet分布中,以獲得更連續、更一致的主題。
(3) 改進采樣過程。
由于神經網絡主題模型得到更多實用,所以傳統采樣過程被網絡參數自動更新所取代,而且采樣過程對模型的改進效果不明顯,所以近年來對于采樣的改進比較困難,也相對較少。