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语言模型。

猜你喜欢

转载自blog.csdn.net/u012501054/article/details/86065055