狄裏克雷平滑(Dirichlet)、線性插值平滑(Linear Interpolated)、拉普拉斯平滑(Laplacian)

一元語言模型(Unigram Language Model)就是關於全部單詞上的一個概率分佈,它認爲每篇文章都對應一個一元語言模型,文章中的單詞都是從這個概率分佈中採樣得到。所以計算文章和查詢語句之間的相關性,相當於計算文章對應的一元語言模型產生出查詢語句的概率。

通常我們統計文檔中的單詞頻率分佈來估計文章對應的一元語言模型,但是未出現在文檔中的單詞的概率就被設置爲0了,這顯然是不合理的。所以需要對得到的一元語言模型進行平滑,使其更接近真實的概率分佈。(說白了就是給那些未出現在文檔中的單詞分配些概率)

一,線性插值平滑


上式是線性插值平滑法,其中P(w|D)表示從文檔中估計得到的單詞w的概率(也就是單詞w的在文檔D中出現的個數除以文檔D中單詞總數)。P(w|C)是從語料庫中估計得到的單詞w的概率(也就是單詞w的在語料庫C中出現的個數除以語料庫C中單詞總數)。λ是平滑參數,調整兩種概率之間的權重。MD是最後得到的一元語言模型,P(w|MD)表示一元語言模型MD產生單詞w的概率。

文檔中單詞個數有限,對一些和本文檔主題無關的單詞w,它的P(w|D)很可能爲0。但是語料庫C表示所有文檔的集合,所以P(w|C)幾乎肯定不爲0。所以用P(w|C)當做一個單詞的先驗概率,來平滑P(w|D),得到的一元語言模型MD更加貼近實際概率分佈。

線性插值就是將兩種概率線性加權得到最終的一元語言模型MD

二,狄裏克雷平滑


上式是狄裏克雷平滑法。其中D(w)表示從文檔D中單詞w的個數,|D|表示文檔D中單詞總數,即文檔長度。m是一個採樣參數,p表示單詞w的先驗概率。MD是最後得到的一元語言模型,P(w|MD)表示一元語言模型MD產生單詞w的概率。通常p = P(w|C)。即得到下式:


它表示給每篇文檔D新增加m個單詞,其中m是從P(w|C)採樣得到的。P(w|C) 是從語料庫中估計得到的單詞w的概率。

三,狄裏克雷平滑與線性插值平滑的關係

狄裏克雷平滑是線性插值平滑的一種特殊形式。線性插值平滑中參數λ是固定的,而狄裏克雷平滑中參數λ是一個關於文檔的函數,根據文檔的不同而改變,如下所示:


其中D(w) = P(w|D)*|D|。明顯m固定時,|D|越大,則λ越小,MD受到P(w|D)的影響越大,越相信文檔D中得到的概率P(w|D)。|D|越小,則λ越大,MD受到P(w|C)的影響越大,越相信先驗概率P(w|C)。

四,拉普拉斯平滑


其中|V|表示所有詞表大小(vocabulary size),即單詞種類的個數,拉普拉斯平滑是狄裏克雷平滑的一種特殊形式,相當於p = 1/|V|,m = |V|。這裏相當於假設單詞的分佈是均勻分佈,相當於每個種類的單詞都往文檔D裏面添加一個,所叫做加一平滑(add-one smoothing)。

加一平滑也可以擴展到加n平滑,也就是每個種類的單詞都往文檔D裏面添加n個。



參考:Smucker M D, Allan J. An Investigation of Dirichlet Prior Smoothing's Performance Advantage[J]. Journal of Applied Polymer Science, 2005, 47:1685-1700.


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章