語言模型

語言模型定義

語言模型是用來計算一個句子的概率的模型,也就是判斷一句話是否合理的概率

N-gram模型

是一種基於統計的語言模型

基於統計概率,計算一個句子的概率大小概率的公式爲:

                                                            P(S)=P(w_{1},w_{2},w_{3},...,w_{n})

當概率值越大,則說明句子越合理,概率小,則說明不合理

上面的公式不能直接進行計算,使用條件概率可以將上述公式轉換成:

                              P(S)=P(w_{1},w_{2},w_{3},...,w_{n})=P(w_{1})*P(w_{2}|w_{1})*P(w_{3}|w_{1},w_{2}).....P(w_{n}|w_{1},...,w_{n-1})

條件概率:

        P(B|A)表示:A條件下B發生的概率

        在條件概率的公式如下所示:

                                                          P(B|A)=\frac{P(A,B)}{P(A)}

直接將計算一個句子的公式按照條件概率展開計算,即對每一個詞都考慮到它前面的所有詞,這在實際應用中意義不大,因此引出N-gram模型

1)馬爾可夫假設

馬爾可夫假設是指每個詞出現的概率只跟它前面的少數幾個詞有關,例如,二階馬爾可夫假設只考慮前面兩個詞,相應的語言模型是三元模型

一元模型(unigram model):

                                                       P(w_{1},w_{2},w_{3},...,w_{n})=\coprod_{i=1}^{m}P(W_{i})

二元模型(bigram model):

                                                      P(w_{1},w_{2},w_{3},...,w_{n})=\coprod_{i=1}^{m}P(w_{i}|w_{i-1})

三元模型(trigram model):

                                                    P(w_{1},w_{2},w_{3},...,w_{n})=\coprod_{i=1}^{m}P(w_{i}|w_{i-2},w_{i-1})

2)極大似然估計

可以通過對訓練語料做極大似然估計:
                                                 P(w_{i}|w_{i-2},w_{i-1})=\frac{Count(w_{i},w_{i-1},w_{i-2})}{Count(w_{i-1},w_{i-2})}

3)鏈式法則

以二元模型爲例,

                                         P(w_{1},w_{2},w_{3},...,w_{n})=P(w_{1})*P(w_{2}|w_{1})*P(w_{3}|w_{2})...P(w_{n}|w_{n-1})

N-gram模型的優缺點

1)優點

訓練方便,僅僅是一個統計詞頻的工作

2)缺點

無法獲得相對較長的上下文依賴

泛化能力比較弱,只是基於頻次進行統計,更多的特徵信息沒有學到,也沒辦法進行學到

 

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