Good-Turing smoothing

Good-Turing基本思想是:用观察计数较高的N元语法数重新估计概率量的大小,并把它指派给那些具有零计数或者较低计数的N元语法。
公式:

其中c为某个N-gram出现的频数, 为出现次数为c的N-Gram的词组的个数,为Good-Turing平滑计数
例子:对于a = [A,A,A,B,B,C,D,E] sum(len(a)) = 7

thus

(注意在他们求概率的时候都需要除以N = 7)
然而这样会导致最高频率的结果最后的计数为0,解决方法如下

  1. 可以对于较低的计数使用,而对于较高的计数直接使用
  2. 也可以在较大的计数的时候使用,其中a,b为参数,b<-1

最终会出现概率之和不为0的情况,这时候要进行归一化,固定没有见过的结果的概率,将已经见过的概率之和归一化使得共同的概率结果为1
归一化例子可见于L9-NLP-LangModels.pdf第64页

Absolute discounting

一般的interpolation是利用高阶的模型的乘以一个,而此处是从每个非零计数中减掉一个固定的,一般取
在bigram中,公式为

其中
于是完整的公式就是
$$p_{abs}(w_i|w^i_{i-n+1}) = \frac{max{c(w^i_{i-n+1})-\delta,0}}{\sum_{w_i}c(w^i_{i-n+1})}+(1-\lambda_{w^{i-1}{i-n+1}}p{ab}(w_i|w^{i-1}{i-n+2}))使1 - \lambda _ { w _ { i - n + 1 } } ^ { i - 1 } = \frac { \delta } { \sum _ { w _ { i } } c ( w _ { i - n + 1 } ^ { i } ) } N _ { 1 + } ( w _ { i - n + 1 } ^ { i - 1 } \mathbf { \bullet } )N _ { 1 + } \left( w _ { i - n + 1 } ^ { i - 1 } \bullet \right) = \left| \left{ w _ { i } : c \left( w _ { i - n + 1 } ^ { i - 1 } w _ { i } \right) > 0 \right} \right|$$

Kneser-Ney smoothing

bigram下的公式:

其中
Missing or unrecognized delimiter for \leftp _ { K N } \left( w _ { i } \right) = \frac { \left| \left{ w ^ { \prime } : 0 < c \left( w ^ { \prime } , w _ { i } \right) \right} \right| } { \left| \left{ \left( w ^ { \prime } , w ^ { \prime \prime } \right) : 0 < c \left( w ^ { \prime } , w ^ { \prime \prime } \right) \right} \right| }
为的是求解在一个不熟悉的上下文中看见单词的可能性,这使用在出现在所有单词的次数和除以所有bigram的和来衡量
减掉一个固定的,一般取
是用来平衡使得条件概率的总和为1的系数
得出满足条件的结果为
Missing or unrecognized delimiter for \left\lambda _ { w _ { i - 1 } } = \frac { \delta } { \sum _ { w ^ { \prime } } c \left( w _ { i - 1 } , w ^ { \prime } \right) } \left| \left{ w ^ { \prime } : 0 < c \left( w _ { i - 1 } , w ^ { \prime } \right) \right} \right|
可以推广到n-gram
Missing or unrecognized delimiter for \leftp _ { K N } \left( w _ { i } | w _ { i - n + 1 } ^ { i - 1 } \right) = \frac { \max \left( c \left( w _ { i - n + 1 } ^ { i - 1 } , w _ { i } \right) - \delta , 0 \right) } { \sum _ { w ^ { \prime } } c \left( w _ { i - n + 1 } ^ { i - 1 } , w ^ { \prime } \right) } + \delta \frac { \left| \left{ w ^ { \prime } : 0 < c \left( w _ { i - n + 1 } ^ { i - 1 } , w ^ { \prime } \right) \right} \right| } { \sum _ { w _ { i } } c \left( w _ { i - n + 1 } ^ { i } \right) } p _ { K N } \left( w _ { i } | w _ { i - n + 2 } ^ { i - 1 } \right)