標籤:plsa 主題模型 em演算法 nlp 語義
Probability Latent Semantic Analysis (PLSA) 模型 學習筆記
PLSA是前面LSA的兄弟版,相比於LSA而言,PLSA定義了機率模型,而且每個變數以及相應的機率分布和條件機率分布都有明確的物理解釋了。這篇博文我們分三部分來說PLSA:基本思想,EM演算法推導,以及優缺點分析。
1. PLSA的基本思想
PLSA是一種主題模型topic model,是針對文本中隱含的主題來建模的方法。PLSA就是給定了文檔d之後,需要以一定的機率選擇與文檔相對應的主題z,然後再從主題z中以一定的機率選擇單詞w。我們用來形象說明:
中間的那一層就是PLSA引入的“主題層”。其實從上面的介紹中你就可以發現,PLSA是一種混合模型,需要使用兩層機率(上面中兩處紅色標記)對整個樣本空間建模。下面的圖更加抽象地描述了PLSA的模型:
我們繼續使用一個例子來通俗理解PLSA的基本思想以及它的應用:
想象某個人要寫N篇文檔,他需要確定每篇文檔裡每個位置上的詞。假定他一共有K個可選的主題,有V個可選的詞項,所以,他製作了K個V面的 “主題-詞項” 骰子,每個骰子對應一個主題,骰子每一面對應要選擇的詞項。然後,每寫一篇文檔會再製作一顆K面的 ”文檔-主題“ 骰子;每寫一個詞,先扔該骰子選擇主題;得到主題的結果後,使用和主題結果對應的那顆”主題-詞項“骰子,扔該骰子選擇要寫的詞。他不停的重複如上兩個扔骰子步驟,最終完成了這篇文檔。重複該方法N次,則寫完所有的文檔。在這個過程中,我們並未關注詞和詞之間的出現順序,所以PLSA也是一種詞袋方法;並且我們使用兩層機率分布對整個樣本空間建模,所以PLSA也是一種混合模型。
而真實的PLSA方法兩個“骰子”可能就不是均勻的,因為每個主題的機率不一定一樣,主題下每個詞的機率也不一定一樣。在PLSA模型中,我們需要做的就是如何求出這兩個機率。
2. EM演算法推導PLSA
這部分網上講解的太多了,我選擇一個比較好懂,參考過來。(powered by Xinyan Lu)
3. PLSA的優缺點
優點:PLSA可以解決了同義字和多義詞的問題,利用了強化的期望最大化演算法(EM)來訓練隱含類(潛在類)。而且相對了LSA,有了堅實的統計學基礎。
缺點:隨著document和term 個數的增加,pLSA模型也線性增加,變得越來越龐大,也就是說PLSA中訓練參數的值會隨著文檔的數目線性遞增。還有,PLSA可以產生其所在資料集的的文檔的模型,但卻不能產生新文檔的模型。
Probability Latent Semantic Analysis (PLSA) 模型 學習筆記