1. 程式人生 > >主題模型TopicModel:Unigram、LSA、PLSA模型

主題模型TopicModel:Unigram、LSA、PLSA模型

主題模型歷史

Papadimitriou、Raghavan、Tamaki和Vempala在1998年發表的一篇論文中提出了潛在語義索引。1999年,Thomas Hofmann又在此基礎上,提出了概率性潛在語義索引(Probabilistic Latent Semantic Indexing,簡稱PLSI)。

隱含狄利克雷分配LDA可能是最常見的主題模型,是一般化的PLSI,由Blei, David M.、吳恩達和Jordan, Michael I於2003年提出。LDA允許文件擁有多種主題。其它主體模型一般是在LDA基礎上改進的。例如Pachinko分佈在LDA度量詞語關聯之上,還加入了主題的關聯度。

文字建模-理解LDA模型的基礎模型

Unigram model、mixture of unigrams model,以及pLSA模型。

   定義變數:

  • 表示詞,表示所有單詞的個數(固定值)
  • 表示主題,是主題的個數(預先給定,固定值)
  • 表示語料庫,其中的是語料庫中的文件數(固定值)
  • 表示文件,其中的表示一個文件中的詞數(隨機變數)

一元模型Unigram model

{給定文件,同時也給定主題}

    對於文件,用表示詞的先驗概率,生成文件的概率為:

    其圖模型為(圖中被塗色的w表示可觀測變數,N表示一篇文件中總共N個單詞,M表示M篇文件):


unigram model假設文字中的詞服從Multinomial分佈,而我們已經知道Multinomial分佈的先驗分佈為Dirichlet分佈。

上圖中的表示在文字中觀察到的第n個詞,n∈[1,N]表示該文字中一共有N個單詞。加上方框表示重複,即一共有N個這樣的隨機變數

假設我們的詞典中一共有 V 個詞 v1,v2,vV,那麼最簡單的 Unigram Model 就是認為上帝是按照如下的遊戲規則產生文字的。

game-unigram-model

上帝的這個唯一的骰子各個面的概率記為 p=(p1,p2,,pV), 所以每次投擲骰子類似於一個拋鋼鏰時候的貝努利實驗, 記為 wMult(w|p)

unigram-model

上帝投擲V 個面的骰子

對於一篇文件d=w=(w1,w2,,wn), 該文件被生成的概率就是

p(w)=p(w1,w2,,wn)=p(w1)p(w2)p(wn)    {對整篇文件來說,詞之間是相互獨立的。這裡並不關注每個詞的發生次數,所以還不是多項分佈的正式公式}

而文件和文件之間我們認為是獨立的, 所以如果語料中有多篇文件 W=(w1,w2,,wm),則該語料的概率

p(W)=p(w1)p(w2)p(wm)                發發           {文件之間也是相互獨立的}

Unigram Model 中假設了文件之間是獨立可交換的,而文件中的詞也是獨立可交換的,所以一篇文件相當於一個袋子,裡面裝了一些詞,而詞的順序資訊就無關緊要了,這樣的模型也稱為詞袋模型(Bag-of-words)。

假設語料中總的詞頻是N, 在所有的 N 個詞中,如果我們關注每個詞 vi 的發生次數 ni,那麼n=(n1,n2,,nV) 正好是一個多項分佈

p(n)=Mult(n|p,N)=(Nn)k=1Vpnkk    {對於整個語料中的詞來說的,是->n的概率}
此時, 語料的概率
p(W)=p(w1)p(w2)p(wm)=k=1Vpnkk            {對整個語料來說,詞也都是相對獨立的,可由文件被生成的概率得出}

當然,我們很重要的一個任務就是估計模型中的引數p,也就是問上帝擁有的這個骰子的各個面的概率是多大,按照統計學家中頻率派的觀點,使用最大似然估計最大化P(W),於是引數pi的估計值就是piˆ=niN

混合一元模型Mixture of unigrams model

{主題未給定,只是一篇文件只有一個主題}

一篇文件只由一個主題生成。該模型的生成過程是:給某個文件先選擇一個主題,再根據該主題生成文件,該文件中的所有詞都來自一個主題。假設主題有,生成文件{語料}的概率為:
  
    其圖模型為(圖中被塗色的w表示可觀測變數,未被塗色的z表示未知的隱變數,N表示一篇文件中總共N個單詞,M表示M篇文件):

Note: 這個圖的意思是,對一篇文件中的詞,都是由一個主題z(放在小方框外面了)產生。

貝葉斯觀點下的 Unigram Model

{看下面的p(W)公式,這個應該是混合一元模型的連續變數版?}

對於以上模型,貝葉斯統計學派的統計學家會有不同意見,他們會很挑剔的批評只假設上帝擁有唯一一個固定的骰子是不合理的。在貝葉斯學派看來,一切引數都是隨機變數,以上模型中的骰子p不是唯一固定的,它也是一個隨機變數。所以按照貝葉斯學派的觀點,上帝是按照以下的過程在玩遊戲的

game-bayesian-unigram-model
上帝的這個罈子裡面,骰子可以是無窮多個,有些型別的骰子數量多,有些型別的骰子少,所以從概率分佈的角度看,罈子裡面的骰子p 服從一個概率分佈 p(p),這個分佈稱為引數p 的先驗分佈。

bayesian-unigram-model

Dirichlet 先驗下的 Unigram Model

graph-model-unigram

Unigram Model的概率圖模型

其中,p和α是隱含未知變數:

  • p是詞服從的Multinomial分佈的引數
  • α是Dirichlet分佈(即Multinomial分佈的先驗分佈)的引數。
  • 一般α由經驗事先給定,p由觀察到的文字中出現的詞學習得到,表示文字中出現每個詞的概率。

以上貝葉斯學派的遊戲規則的假設之下,語料W產生的概率如何計算呢?由於我們並不知道上帝到底用了哪個骰子