馬欣
摘要:主題模型是自然語言處理中的重要模型之一。隨著科技的發(fā)展,主題模型也在不斷完善。文章簡要介紹了主題模型發(fā)展經(jīng)歷的幾個階段,其主要介紹了LDA模型。文章對主題模型確定主題數(shù)的方法進行了總結,并通過一個具體實例,來進一步了解LDA模型以及在應用中遇到的問題。這有助于更加深刻理解主題模型,特別是LDA模型。
關鍵詞:主題模型發(fā)展;LDA 主題模型;主題數(shù)
中圖分類號:TP311 文獻標識碼:A 文章編號:1009-3044(2018)15-0016-03
1 概述
主題模型是一種概率生成模型,主要包括概率潛在語義索引(pLSI)和潛在狄利克雷分(LDA)。主題模型的應用廣泛,涉及很多方面,尤其是在自然語言處理中。
2 主題模型的發(fā)展
科技在飛速發(fā)展,數(shù)據(jù)量也越來越大。數(shù)據(jù)的形式不再僅限于數(shù)字形式,文字形式的數(shù)據(jù)同樣是不可忽視的。文本數(shù)據(jù)隱藏著大量有價值的信息,需要我們?nèi)ネ诰蛱剿?。想要快速了解大量的文本?shù)據(jù)講的是什么,主題模型隨之產(chǎn)生。
2.1 向量空間模型
向量空間模型(VSM),它是將文本數(shù)據(jù)數(shù)字化,轉(zhuǎn)化為文本空間中的數(shù)字向量。然后通過計算文本空間中向量之間的相似性來判斷文檔之間的相似性。
2.2 TF-IDF文本模型
TF-IDF文本模型是最早的文本模型之一。它是以信息論中TF-IDF公式為基礎,模型的核心就是這個公式。公式包括詞頻和逆文檔頻率。詞頻是該詞在文本中出現(xiàn)的次數(shù)除以文本中所有詞的個數(shù),而逆文檔頻率是總文本數(shù)與含該詞的文本數(shù)的商的對數(shù)。最后兩個值的乘積就是tf-idf值。所有詞的tf-idf值組成一個矩陣。這個算法簡單快速,結果也比較符合實際。但是算法僅以詞頻來判斷詞的重要性,是很片面的。
2.3 潛在語義索引
潛在語義索以(LSI)模型主要是對tf-idf矩陣進行奇異值分解[1],將文檔向量與詞向量映射到低維空間.LSI模型原理簡單,通過一次奇異值分解就能獲得主題,同時使詞義問題得到解決。然而這個文本模型有缺點:奇異值分解十分耗時,尤其是對高維度矩陣。其次主題數(shù)的選擇對實驗的結果影響很大,并且缺乏統(tǒng)計基礎,很難有一個直觀的解釋。
2.4 一元文本模型
一元文本模型是最簡單的概率文本模型,文檔中的每一個詞都是從一個單獨的多項分布中獨立采樣得到的。
2.5 混合一元文本模型
混合一元文本模型是在一元文本模型的基礎上引入了一個離散分布的隱變量。文檔的生成是先選擇一個主題,再生成詞。因此生成的每一篇文檔都屬于一個主題,而現(xiàn)實中的文檔往往有多個主題。
2.6 概率潛在語義索引
由于混合一元模型每篇文檔只能有一個主題,所以提出了概率潛在語義索引(pLSI)。它的結構中加入一層隱含主題層,為了跟各變量之間的語義關系產(chǎn)生一定關聯(lián)同時降維。pLSI模型是以LSI模型為基礎的概率生成模型。它的隱含主題是由詞匯特征聚合而來的,從而降低了文檔集的維度。由于LSI文本模型是以VSM模型為基礎,所以它并不能很好的處理同義詞或者一詞多義的情況。然后pLSI模型恰恰可以解決這個問題,因為它的隱含主題是由單詞按照一定概率生成的[2]。但是pLSI模型并不完美,隨著文檔和詞的數(shù)量的增加,結構會變得越來越復雜,計算量也會增大。
2.7 LDA主題模型
LDA主題模型是一種能夠從離散數(shù)據(jù)中提取其隱含語義主題的生成概率模型,它是包含文檔、主題、詞的三層貝葉斯結構。它是用概率分布來描述數(shù)據(jù)集,這個概率分布展現(xiàn)了數(shù)據(jù)集中頻繁出現(xiàn)的內(nèi)容,即主題。模型中文檔生成過程:先從語料庫中選一定數(shù)量的主題,然后為每個文檔指定主題分布,文檔主題間的分布是狄利克雷分布。也就是說每個文檔可以有多個主題,只是每個主題在文檔中出現(xiàn)的概率不一樣。之后從主題分布中隨機選擇一個主題,根據(jù)該主題中詞的分布,隨機選取出一個詞,詞與主題之間的分布是多項分布。一直持續(xù)這個過程,直到文檔生成。文本生成過程如圖:
從上圖中我們可以得出θ、w、z的聯(lián)合分布的概率計算公式,圖中M表示文檔篇數(shù),N表示一篇文檔中詞的個數(shù),w表示單個單詞。對公式進行調(diào)整,對θ積分,對z求和,就獲得一個文檔的生成概率。最后將所有文檔的生成概率相乘,就獲得所有文檔的生成概率。到現(xiàn)在為止,我們已經(jīng)對語料庫建立了一個LDA主題模型。模型中有兩個超參數(shù)α,β,還有兩個隱變量θ,z。接下來就是除掉隱變量,求出超參數(shù)。公式中α,β是狄利克雷分布的超參數(shù),θ表示一篇文檔的主題分布,z是一篇文檔的服從多項分布的某個主題。
LDA主題模型的參數(shù)求解方法,主要有期望最大化(EM)算法、馬爾科夫鏈蒙特卡羅(MCMC)算法以及變分推理三種。EM算法是機器學習中的一種非監(jiān)督聚類算法,當遇到參數(shù)特別多,一次性求解計算開銷大的時候,EM算法有很大的優(yōu)勢。MCMC算法中的吉布斯采樣使用較廣泛。變分推理是一種貝葉斯近似推理方法,就是選擇簡單的概率函數(shù)來近似復雜函數(shù),以此來簡化計算。這種方法本身比較復雜,但是比其他兩種方法速度要快。
2.8 主題模型的演變及應用領域
LDA主題模型基于袋裝假設,沒有考慮詞與詞和文檔與文檔之間的順序,這就成為模型改進的線索。文獻[5]中提到一篇文檔中單詞的主題與其周圍的單詞之間存在密切的關系,考慮到主題周圍詞的影響,提出了基于中心詞的上下文主題模型。文獻[6]提出細粒度的主題情感混合模型。將主題分為全局主題與局部主題,利用滑動窗口將詞共現(xiàn)信息由文檔集降到句子級,獲得更加細粒度的主題。之后在LDA主題模型的結構中增加一層情感層,實現(xiàn)情感分析。
除了對主題模型進行改進外,主題模型也會結合一些算法。文獻[7]中將主題模型與隨機森林算法結合,主題模型對文本數(shù)據(jù)降維同時去除一定的文本噪聲,加上隨機森林算法特征選擇方法,獲得很好的分類效果。文獻[8]中將主題模型與SVM算法結合,得到的分類精度較高。
為了應對當今海量的數(shù)據(jù),主題模型隨之改變。文獻[9]中改進了并行主題模型算法AD-LDA算法,提出了基于spark的并行化LDA主題模型,進一步提升算法處理海量數(shù)據(jù)的能力。文獻[10]中提出了基于時間和用戶兩個維度的LDA主題模型算法,并且將算法應用于Hadoop分布式框架中,得到很好的結果。
主題模型在推薦系統(tǒng)方面有一定的應用,例如文獻[11]中建立一個基于主題模型的法院文本典型案例的推薦模型,結合了文本相似度的計算方法,獲得比較好的推薦結果。文獻[12]中考慮到正樣本與負樣本,再結合LDA主題模型算法來對物品進行綜合評分,從而實現(xiàn)對用戶更好的推薦。
主題模型在文本聚類、信息檢索、語音識別、預測系統(tǒng)、過濾系統(tǒng)和圖像處理等領域都有一定的應用。文獻[13]中提出了一種基于LDA主題模型算法的一種廣告點擊率預測算法。文獻[14]中將普通微博與廣告微博分開,對這兩種類型的數(shù)據(jù)分別使用LDA主題模型的算法,獲得兩類微博的特征,然后使用分類器算法,對廣告進行過濾。
LDA主題模型在圖像處理方面的應用主要有兩個方面:場景分類與目標識別。場景分類簡單來說就是對人類視覺的模擬,使用計算機來識別圖像中隱藏的語義信息。目標檢測就是用計算機實現(xiàn)人的視覺功能[15]。
3 主題模型的應用
這里我們以一個具體的實例來進一步理解主題模型。通過實驗,明確在建模前、建模時、建模后的一些問題,以及了解使用主題模型進行文本挖掘的難點。
3.1 文本預處理
首先設置工作路徑,對文本數(shù)據(jù)進行批量讀取。接下來要提取出文本數(shù)據(jù),去掉文本數(shù)據(jù)中一些與研究無關的東西,例如空格,英文字母等。然后要對文本數(shù)據(jù)進行分詞、去停止詞等操作。
3.2 刪除低頻詞
首先這里我們可能需要進行數(shù)據(jù)表重塑,統(tǒng)計分詞的詞頻,刪除詞頻為0的詞。之后將詞語放入語料庫,并將其轉(zhuǎn)換為文檔詞條矩陣。對這個文檔詞條矩陣使用tf-idf算法。為了保留盡量多的詞,設置tf-idf值的中位數(shù)作為閾值,tf-idf值大于這個閾值的詞就保留下來。
3.3 LDA主題模型主題數(shù)的確定
文獻[3]中提出繪制不同主題數(shù)下對應的復雜度曲線,復雜度最小的曲線對應的就是主題模型的主題數(shù)。但是此方法選出的主題數(shù)一般偏大,導致主題之間的相似度較大。文獻[17]中用層次狄利克雷(HDP)來確定主題數(shù)。它可以自動確定主題數(shù),但算法的時間復雜度較高。文獻[18]中使用貝葉斯算法來確定主題數(shù)目,同時要采用Gibbs抽樣的方法。文獻[19]中指出KL散度[20]與文章主題相似度之間存在一定的關系,主題數(shù)隨著KL散度的減小而越優(yōu)。文獻[21]通過實驗證明主題數(shù)與語料庫中文本數(shù)量和文本主題之間相似度有關。文獻[22]中提出基于主題相似度和復雜度的方法來確定主題數(shù)目,此方法用于科技文獻獲得很好的效果,但是沒有在其他文本數(shù)據(jù)上進行驗證。文獻[23]中將LDA主題模型與深度學習中的word2vec結合,使得主題詞之間相似性關系的進一步加強,之后進行主題自適應聚類。這樣模型可以自動計算出主題數(shù)。
還有就是使用復雜度和對數(shù)似然值,結合k折交叉驗證來確定主題數(shù)。復雜度隨著主題數(shù)量的增加遞減,對數(shù)似然值隨著主題數(shù)量的增加遞增。當兩者變化趨于平緩時的主題數(shù)就可以作為主題數(shù)量。但是進行一次比較來確定主題數(shù),是不可行的。所以要進行K折交叉檢驗,這樣獲得K個模型和K個主題數(shù)。這K個主題數(shù)的均值作為最終的主題數(shù)。K折交叉驗證可以有效避免模型過擬合、欠擬合,結果更加符合統(tǒng)計的思想。
3.4 基于吉布斯采樣建立主題模型
吉布斯采樣要知道樣本中一個屬性在其他所有屬性下的條件概率,然后通過這個條件概率來產(chǎn)生各個屬性的樣本值。吉布斯采樣是MCMC算法中的一個采樣算法。采樣就是通過將一個不太好解決的問題轉(zhuǎn)化為一個能夠通過采樣來解決的問題,但是采樣方法不確定。吉布斯采樣就是為了得到一個樣本,沒有計算概率但能夠通過其他方法統(tǒng)計概率。
建模完成后就可以查看文檔的話題詞匯以及主題詞匯概率,查看文檔之間的對應關系可以通過繪圖查看各個話題之間的關系。
4 結論
文章梳理了主題模型的發(fā)展過程,從最早的向量空間模型到LDA主題模型。模型的結構在不斷地完善,功能也在一步一步地強大。主題模型的結構簡單,但是結構還是存在缺陷,更多的研究者通過改進模型結構或者結合其他算法,使得主題模型應用更加廣泛。今后,可以通過不斷的優(yōu)化算法,從更加細節(jié)方面改進模型來實現(xiàn)更加強大的功能,應用于更加廣泛的領域。
參考文獻:
[1] 孫海霞, 成穎. 潛在語義標引(LSI)研究綜述[J]. 現(xiàn)代圖書情報技術, 2007, 155(9).
[2] 李衛(wèi)平, 楊杰, 王鋼. 多變參pLSI文本敏感特征抽取算法[J]. 計算機應用研究, 2015, 32(9).
[3] Blei D M, Ng A Y, Jordan M I. Latent Dirichlet Allocation[J]. Journal of Machine Learning Research, 2003(3).
[4] 肖智博. 排序主題模型及應用研究(D). 大連: 大連海事大學, 2014.
[5] 常東亞, 嚴建峰, 楊璐. 基于中心詞的的上下文主題模型[J]. 計算機應用研究, 2017, 35(4).
[6] 鄭玉桂. 面向電商評論細粒度觀點挖掘的拓展主題模型研究(D). 浙江: 浙江工商大學, 2017.
[7] 姚立, 張曦煌. 基于主題模型的改進隨機森林算法在文本分類中的應用[J]. 計算機應用與軟件, 2017, 34(8).
[8] 文聰聰, 彭玲, 楊麗娜, 池天河. 主題模型與SVM組合的小尺度街區(qū)用地分類方法[J]. 地球信息科學學報, 2018, 20(2).
[9] 肖建. 基于spark并行LDA主題模型的研究(D). 重慶: 重慶大學, 2016.
[10] 賈東風. 基于分布式MBUT-LDA的微博用戶主題挖掘(D). 重慶: 重慶大學, 2014.
[11] 呂賓, 侯偉亮. 基于主題模型的法院文本典型案例推薦[J] , 微電子學與計算機, 2018, 35(2).
[12] 張航, 何靈敏. 一種負樣本改進的LDA主題模型推薦算法[J]. 中國計量大學學報, 2018, 29(1).
[13] 朱志北, 李斌, 劉學軍, 等. 基于LDA的互聯(lián)網(wǎng)廣告點擊率預測研究[J]. 計算機應用研究, 2016, 33(9).
[14] 邢金彪, 崔超遠, 孫丙宇, 等. 基于隱含狄列克雷分配分類特征擴展的微博廣告過濾方法[J]. 計算機應用, 2016, 36(8).
[15] 何偉林, 謝紅玲, 奉國和. 潛在狄利克雷分布模型研究綜述[J]. 信息資源管理學報. 2018, 4(1).
[17] Ten Y, Jordan M, Beal M, et al. Hierarchical Dirichlet Processes[J]. Journal of the American Statistical Association , 2007, 101(476).
[18] Griffiths T L, Steyvers M. Finding Scientific Topics[J]. Proceedings of the National Academy of Sciences of the United States of America, 2004, 101(SI).
[19] Arun R, Suresh V, Veni Madhavan C E, et al. On Finding the Natural Number of Topics with Latent Dirichlet Allocation: Some Observations[A]. //Advances in Knowledge Discovery and Data Mining [M]. Springer Berlin Heidelberg, 2010.
[20] Duda R O, Hart P E, Stork D G. Pattern Classification[M]. John Wiley & Sons, 2012.
[21] 曹娟, 張勇東, 李錦濤, 等. 一種基于密度的自適應最優(yōu)LDA模型選擇方法[J]. 計算機學報, 2008, 31(10).
[22] 關鵬, 王宇. 科技情報分析中LDA主題模型最優(yōu)主題數(shù)確定方法研究[J]. 現(xiàn)代圖書情報技術, 2016, 274(9).
[23] 王婷婷, 韓滿, 王宇. LDA模型的優(yōu)化及其主題數(shù)量選擇研究—以科技文獻為例[J]. 數(shù)據(jù)分析與知識發(fā)現(xiàn), 2018, 13(1).