從樸素貝葉斯出發(二)
從上一篇內容從樸素貝葉斯出發(一),可以看到貝葉斯模型有非常堅實的數學基礎,具有很強的可解釋性,除了平滑因子 之外沒有什麼參數可調,不會像其他模型可能有「調參」的玄學,對於缺失數據不是很敏感。另外,貝葉斯定理雖然簡單,但卻是解決其他很多領域問題的基石。當然不排除它的其他缺點,如因為條件獨立假設犧牲掉的準確率,不如決策樹的分類效率,但本篇文章只著眼於它的「強大」,以及它在解決其他問題方面的應用。
中文分詞
之前一直沒有留意中文分詞,實地場景應用的時候大多數是調用jieba分詞的packages,多做一步就僅僅是根據實際應用場景,補充詞典中的詞(jieba.load_userdict(file_name) # file_name 為文件類對象或自定義詞典的路徑)。現在從貝葉斯定理應用的角度,來看中文分詞~
設X為句子,Y為詞串(一種特定的分詞假設),我們需要找到使P(Y|X)最大的分詞結果Y,由於是同一個句子進行分詞,對於各種分詞假設P(X)都是相同的,
所以我們需要比較的就是P(Y)P(X|Y)。P(X|Y)的含義是這種分詞詞串能組成這個句子的概率,也就是這些詞語組合起來是通順正常的句子,是你能get到句子含義的「人話」,由於任何一種分詞假設,去掉分詞符之後都能組成這樣的句子,所以P(X|Y)可近似等於1。這時,
問題就轉化為尋找最大的P(Y), 使得P(Y|X)最大?那麼該如何計算詞串的概率P(Y)呢?
舉例:
1. 南京市 / 長江大橋
2. 南京 / 市長 / 江大橋
在這個問題中,尋找最大的P(Y)就是計算1、2那種分詞方式更靠譜
P(1) = P(南京市)P(長江大橋|南京市)
P(2) = P(南京)P(市長|南京)P(江大橋|南京,市長)
抽象到所有問題中,公式應為:
隨著w數目的增加,稀疏問題越發嚴重,根據日常經驗,一般一句話後面的詞跟前面的就沒什麼關係了,我們考慮問題簡化,所以最常使用的是2-gram和3-gram假設,4-gram的假設較少,幾乎沒有更多。這裡便提到了N-Gram模型。
補充:N-Gram模型
2-gram:
也就是說後一詞出現的概率只和前一個詞有關。
3-gram:
也就是說後一詞出現的概率和前兩個詞有關。以上兩種情況都可以理解為窗口滑動,形成了長度為N的片段。
而這些概率的計算可以用極大似然估計並且可以考慮轉換到log域(乘法變加法),加入平滑
以2-gram為例,
其中, ,分子是語料中 出現的次數,分母是 出現的次數。
拼寫糾正
貝葉斯公式在拼寫糾正中也有應用,比如我們日常用Office軟體word的時候,當打字輸入「teh」的時候,有很大可能會提示詢問你是否要輸入的是"the",還有google搜索的時候、使用拼音輸入法的時候,當你輸入一個錯誤單詞,會詢問你是否要輸入的是其他單詞,會有幾個備選項,這個問題可以抽象成:
求使P(真正想輸入的詞 | 實際輸入的詞) 最大化的情況下,真正想輸入的詞是什麼?
此概率值越大的詞,排在備選項最前面,後面依次是概率逐漸小的詞語。
假設,我們實際輸入的詞是thew,那麼我們真正想輸入the的概率為:
其中,P("the")是「the」本身在辭彙表中使用的頻繁程度,P("thew"|"the")是將"the"打成"thew"的概率。錯打的可能性千千萬,遍歷詞典的話,計算量巨大,這時又可以考慮N-Gram了,我們只考慮編輯距離為1的辭彙。
那麼什麼叫編輯距離為1的辭彙呢?也就是只有一種變動的情況(分為增、減、換、替四種情況),如下:
想輸入的詞 | 實際輸入的詞
the | thew (增加了一個字母)
the | th (減少了一個字母)
the | teh (辭彙本身相鄰字母順序交換一次)
the | tha (辭彙中一個字母被替換掉了)
除了考慮編輯距離之外,我們還可以多考慮一下鍵盤位置,鍵盤上e和w離得比較近,e和a離得稍遠,所以將the錯打成thew的概率,或許要大於將the打成tha的概率~
看完這個例子,你可以想到,這種方法不僅可以用到拼寫糾錯,更可以用到搜索和輸入法提示中~
統計機器翻譯
問題可以抽象為「給定一個句子s (sentence),它可能的外文翻譯T(transfer)集合中,哪個是最靠譜的?"
求使 最大化的翻譯t
比如:
Ich liebe dich.
I love you.
存在一個平行語料庫,分詞時對齊平行語料,在我們這個例子中計算一種對齊方式,
可能還有其他的對齊方式,單詞或短語有多種翻譯可能,這些可能的翻譯中的有一些會比其他翻譯更頻繁地使用(比如take可以翻譯成中文的「帶」,「拿」,「乘坐」... ),遍歷所有的對齊方式和翻譯可能,找到最像「人話「、最地道的那種表達
還有很多以貝葉斯公式為基礎的其他應用發展,目前自然語言處理的內容也不僅限於貝葉斯,基於深度學習的分詞等也不可小覷,但貝葉斯定理仍是值得深入理解的基石。
推薦閱讀: