统计语言模型
Language modeling:
利用条件概率公式,S这个序列出现的概率等于每一个词出现的条件概率相乘。
P(S)=P(w1,w2,…,wt−1,wt)=P(w1)P(w2|w1)P(w3|w1,w2)…P(wt|w1,w2,…wt−1). P ( S ) = P ( w 1 , w 2 , … , w t − 1 , w t ) = P ( w 1 ) P ( w 2 | w 1 ) P ( w 3 | w 1 , w 2 ) … P ( w t | w 1 , w 2 , … w t − 1 ) .
P(w1,w2,…,wT)=∏t=1TP(wt∣w1,…,wt−1). P ( w 1 , w 2 , … , w T ) = ∏ t = 1 T P ( w t ∣ w 1 , … , w t − 1 ) .
举个例子:
P(w1,w2,w3,w4)=P(w1)P(w2∣w1)P(w3∣w1,w2)P(w4∣w1,w2,w3). P ( w 1 , w 2 , w 3 , w 4 ) = P ( w 1 ) P ( w 2 ∣ w 1 ) P ( w 3 ∣ w 1 , w 2 ) P ( w 4 ∣ w 1 , w 2 , w 3 ) .
P(w1)=num(w1)/num(all) P ( w 1 ) = n u m ( w 1 ) / n u m ( a l l )
P(w2∣w1)=P(w1,w2)/P(w1) P ( w 2 ∣ w 1 ) = P ( w 1 , w 2 ) / P ( w 1 )
P(w3∣w1,w2)=P(w1,w2,w3)/P(w1,w2) P ( w 3 ∣ w 1 , w 2 ) = P ( w 1 , w 2 , w 3 ) / P ( w 1 , w 2 )
... . . .
问题:条件概率太多,无法估算。
N-gram
k-dependent Markov chain:
当序列长度增加时,计算和存储多个词共同出现的概率会指数增加。N 元语法通过马尔可夫假设(虽然并不一定成立)简化了语言模型的计算。马尔可夫假设是指一个词的出现至于前面 n 个词相关,即 n 阶马尔可夫假设。n 元语法(n-grams)。它是基于 n−1 阶马尔可夫链的概率语言模型:
P(w1,w2,…,wT)≈∏t=1TP(wt∣wt−(n−1),…,wt−1). P ( w 1 , w 2 , … , w T ) ≈ ∏ t = 1 T P ( w t ∣ w t − ( n − 1 ) , … , w t − 1 ) .
常用:
unigram:P(w1,w2,w3,w4)=P(w1)P(w2)P(w3