LDA主題模型簡介

2021-07-10 11:40:57 字數 1861 閱讀 6801

d. m. blei在2023年(準確地說應該是2023年)提出的lda(latent dirichlet allocation)模型(翻譯成中文就是——潛在狄利克雷分配模型)讓主題模型火了起來, 今年3月份我居然還發現了乙個專門的lda的r軟體包(7月份有更新),可見主題模型方興未艾呀。主題模型是一種語言模型,是對自然語言進行建模,這個在資訊檢索中很有用。

lda主題模型涉及到貝葉斯理論、dirichlet分布、多項分布、圖模型、變分推斷、em演算法、gibbs抽樣等知識,不是很好懂,lda那篇30 頁的文章我看了

四、五遍才基本弄明白是咋回事。那篇文章其實有點老了,但是很經典,從它衍生出來的文章現在已經有n多n多了。主題模型其實也不只是lda 了,lda之前也有主題模型,它是之前的乙個突破,它之後也有很多對它進行改進的主題模型。需要注意的是,lda也是有名的linear discriminant analysis(線性判別分析)的縮寫。

lda是一種非監督機器學習技術,可以用來識別大規模文件集(document collection)或語料庫(corpus)中潛藏的主題資訊。它採用了詞袋(bag of words)的方法,這種方法將每一篇文件視為乙個詞頻向量,從而將文字資訊轉化為了易於建模的數字資訊。但是詞袋方法沒有考慮詞與詞之間的順序,這簡化了問題的複雜性,同時也為模型的改進提供了契機。每一篇文件代表了一些主題所構成的乙個概率分布,而每乙個主題又代表了很多單詞所構成的乙個概率分布。由於 dirichlet分布隨機向量各分量間的弱相關性(之所以還有點「相關」,是因為各分量之和必須為1),使得我們假想的潛在主題之間也幾乎是不相關的,這與很多實際問題並不相符,從而造成了lda的又乙個遺留問題。

對於語料庫中的每篇文件,lda定義了如下生成過程(generative process):

1. 對每一篇文件,從主題分布中抽取乙個主題;

2. 從上述被抽到的主題所對應的單詞分布中抽取乙個單詞;

3. 重複上述過程直至遍歷文件中的每乙個單詞。

更形式化一點說,語料庫中的每一篇文件與 

t t

(通過反覆試驗等方法事先給定)個主題的乙個多項分布相對應,將該多項分布記為 

θ θ

。每個主題又與詞彙表(vocabulary)中的  

v v

個單詞的乙個多項分布相對應,將這個多項分布記為 

ϕ ϕ

。上述詞彙表是由語料庫中所有文件中的所有互異單詞組成,但實際建模的時候要剔除一些停用詞(stopword),還要進行一些詞幹化(stemming)處理等。

θ θ 和ϕ

ϕ分別有乙個帶有超引數(hyperparameter)

α α和β

β的dirichlet先驗分布。對於一篇文件

d d

中的每乙個單詞,我們從該文件所對應的多項分布

θ θ

中抽取乙個主題

z z

,然後我們再從主題

z z

所對應的多項分布

ϕ ϕ

中抽取乙個單詞

w w

。將這個過程重複nd

nd次,就產生了文件

d d

,這裡的nd

nd是文件d

d的單詞總數。這個生成過程可以用如下的圖模型表示:

該模型有兩個引數需要推斷(infer):乙個是「文件-主題」分布

θ θ

,另外是

t t

個「主題-單詞」分布

ϕ ϕ

。通過學習(learn)這兩個引數,我們可以知道文件作者感興趣的主題,以及每篇文件所涵蓋的主題比例等。推斷方法主要有lda模型作者提出的變分-em演算法,還有現在常用的gibbs抽樣法。

lda模型現在已經成為了主題建模中的乙個標準。如前所述,lda模型自從誕生之後有了蓬勃的擴充套件,特別是在社會網路和社會**研究領域最為常見。

LDA(主題模型)簡介

lda latent dirichlet allocation 是一種文件主題生成模型。lda的作用是判斷兩個文件的相似度,傳統的方法使用詞共現來判斷,例如tf idf等,但這種方法未考慮文件的語義結構。lda模型根據文件中的主題分布來判斷文件的相似度。給定乙個文件,首先分析出文件中包含哪些主題,然...

LDA主題模型

先定義一些字母的含義 lda以文件集合d作為輸入 會有切詞,去停用詞,取詞幹等常見的預處理,略去不表 希望訓練出的兩個結果向量 設聚成k個topic,voc中共包含m個詞 lda的核心公式如下 p w d p w t p t d 直觀的看這個公式,就是以topic作為中間層,可以通過當前的 d和 t...

主題模型LDA

某隨機實驗如果有k個可能結局a1 a2 ak,分別將他們的出現次數記為隨機變數x1 x2 xk,它們的概率分布分別是p1,p2,pk,那麼在n次取樣的總結果中,a1出現n1次 a2出現n2次 ak出現nk次的這種事件的出現概率p有下面公式 p x1 n 1,xk nk n n1 nk pn1 1.p...