1. 程式人生 > >N-gram語言模型與馬爾科夫假設

N-gram語言模型與馬爾科夫假設

1、從獨立性假設到聯合概率鏈
樸素貝葉斯中使用的獨立性假設為 
P(x1,x2,x3,...,xn)=P(x1)P(x2)P(x3)...P(xn)(1)
(1)P(x1,x2,x3,...,xn)=P(x1)P(x2)P(x3)...P(xn)

去掉獨立性假設,有下面這個恆等式,即聯合概率鏈規則 
P(x1,x2,x3,...,xn)=P(x1)P(x2|x1)P(x3|x1,x2)...P(xn|x1,x2,...,xn−1)(2)
(2)P(x1,x2,x3,...,xn)=P(x1)P(x2|x1)P(x3|x1,x2)...P(xn|x1,x2,...,xn−1)

其中,xixi代表一個詞,聯合概率鏈規則表示句子中每個詞都跟前面一個詞有關,而獨立性假設則是忽略了一個句子中詞與詞之間的前後關係。
2、從聯合概率鏈規則到n-gram語言模型
聯合概率鏈規則是考慮了句子中每個詞之間的前後關係,即第n個詞xnxn與前面n−1n−1個詞x1,x2,..,xn−1x1,x2,..,xn−1有關,而n-gram語言模型模型則是考慮了n個詞語之間的前後關係,比如n=2n=2時(二元語法(bigram,2-gram)),第n個詞xnxn與前面2−1=12−1=1個詞有關,即 
P(x1,x2,x3,...,xn)=P(x1)P(x2|x1)P(x3|x2)...P(xn|xn−1)(3)
(3)P(x1,x2,x3,...,xn)=P(x1)P(x2|x1)P(x3|x2)...P(xn|xn−1)

比如n=3n=3時(三元語法(trigram,3-gram)),第n個詞xnxn與前面3−1=23−1=2個詞有關,即 
P(x1,x2,x3,...,xn)=P(x1)P(x2|x1)P(x3|x1,x2)...P(xn|xn−2,xn−1)(4)
(4)P(x1,x2,x3,...,xn)=P(x1)P(x2|x1)P(x3|x1,x2)...P(xn|xn−2,xn−1)

公式(3)(4)即馬爾科夫假設(Markov Assumption):即下一個詞的出現僅依賴於它前面的一個或幾個詞。
3、N-gram語言模型與馬爾科夫假設
如果對向量 X 採用條件獨立假設,就是樸素貝葉斯方法。 
如果對向量 X 採用馬爾科夫假設,就是N-gram語言模型。