LDA(Dirichlet Distribution)主題模型基本知識與理解(二)

在第一部分博客裏已經講解了LDA的一些基本組成,這篇博文將會講解LDA在NLP方面的應用。望大家繼續支持

上一篇博文:https://blog.csdn.net/Little_Fire/article/details/80483566

(三)Dirichlet分佈在NLP中的應用

(關於topic生成word的過程)

根據上文中提到了的擲硬幣的例子,假設自然語言中存在很多奇怪的coin(religion、computer、art、physics等),這些coin能夠擲出的是不同的單詞分佈,例如religion coin更容易擲出的是god、bible、Jesus等詞,computer更容易擲出windows、bill gates、software、Turing等詞,而每個coin可以代表不同的topic,而每個coin(topic)擲出的結果也包含了不同的單詞(bag-of-word)。

這裏每個單詞wi是觀測值,由對應的zi(topic、document)決定,而每個zi又是由theta決定。此時的概率圖模型如下圖左所示。然而此時需要對詞語和文本都要進行重複採樣,直至把整個詞表和語料庫遍歷完成。詞表|V|=N,|D|=M,此時的概率圖模型如下圖右所示。


此時,思考一個問題:如果給定了topic Z,想計算觀測到的詞語w的概率爲多少,即求解p(w|z)=?

對於擲硬幣而言,只有z=0和z=1兩種情況,p(w|z)的表示形式如下:

 

(伯努利試驗)

而對於自然語言來說,p(w|z)是通過beta矩陣生成,beta矩陣存儲的是在每個topic下,詞表中所有詞的概率分佈,beta矩陣的形狀如下圖所示:

對於每個topic而言,所有詞在它上面都存在一個分佈,例如一個關於religion的分佈和computer的分佈:



因此,每個topic代表在所有詞上面的一個分佈,這個分佈用beta matrix描述,LDA的概率圖模型更新爲如下形式:

 

高維空間中,會生成許多theta,這裏的theta是所有topic的混合,這裏alpha的維度、theta的維度就是我們給定的topic數量(用K表示topic數量,即z1——zK)

給定K個維度,假設K=3, 我們根據theta採樣出某個topic zi,再通過beta矩陣,獲取topic zi對應的所有單詞的分佈情況p(w|z=zi),根據p(w|z=zi)再採樣出單詞wi,就完成了一次LDA估計。

(四)LDA與topic model

綜上所述,我們給LDA一個比較實例化的定義:LDA是一個生成統計模型,如果觀測值是經過文本d採樣得到的詞語w,每個文檔d就是幾個不同topic的混合模型。並且每個詞語都隸屬於每個文檔的topics。


在給定的這些文本中,我們假設我們看到的這些詞都是由採樣生成的,而且是三次採樣而成,theta一次,z一次,w一次。然後根據這些採樣結果,反過來估計每個參數(beta矩陣的生成、topic數目等)


對於這個概率圖模型,我們先介紹幾個notation:

n:不同文檔中詞語的數量;Nd:第d篇文檔中詞語總數量;θ(dk)第d篇文檔的第k個topic的分佈(其中k代表維度,θ是多個topic的混合,d代表具體文檔)。當d=8時,topic維度總數K=4,θ的概率分佈θ(8k)有K=4維,如下所示:


β(ki):表示給定了topic k時,生成每個詞語wi的分佈情況。k取值[1,K],i取值[1,|V|],|V|是詞表長度。

整個生成過程如下:

給定超參數,需要學習α生成的topic混合程度θ的值,即θ~dir(α),θ是組合的概率分佈,假設這個topic組合是三維的(紅、黃、藍),即K=3,這種組合就代表了一篇給定的文本,這個文本就認爲是由3種topic的組合。

接下來就是詞語w的生成過程,給定θ時,根據對應的topic分佈,採樣得到某個topic(例如,選擇紅色topic,z=1),然後通過beta矩陣,獲取z=1時所有詞語的概率分佈:如下:

再根據這個詞語的概率分佈,再次採樣得到一個詞(例如life)放入文本中,完成了一個詞語的採樣。

接下來採樣第二個詞,仍然從θ開始採樣(由於α已經給定,而θ已經由α的採樣獲得),根據第d篇文檔θ的topic分佈θ(dk),再次採樣一個topic(例如,選擇黃色topic,z=2),然後通過beta矩陣,獲取z=2時,詞表中所有詞語的概率分佈如下:


根據這個概率分佈,選擇了第二個詞(例如DNA)放入文本,完成了第二個詞語的採樣。

以此類推,第d篇文檔中的所有詞都通過這種方式全部採樣獲得,就是LDA在NLP上面的應用。

【小節】我們可以將沒篇文檔中所有詞的生成,看作是每次採樣的結果,而每個詞語的採樣又是通過3次採樣獲得。接下來,關於LDA參數如何訓練,將在下一小節中爲大家講解。





發佈了38 篇原創文章 · 獲贊 61 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章