在自然语言处理中,经常会遇到要计算单词或者句子在词典或文档中出现的频次,但是会存在某个单词在词典中没有出现的情况,计算时概率为0,为了改善这种情况,人们提出的平滑方法。
1、Add-one Smoothing(Laplace Smoothing)
2、Add-k Smoothing
3、Interpolation
4、Good-Turning Smoothing
以Bigram为例。
在计算某个单词在语料库中的Bigram时,其计算公式为:
MLE为最大似然估计
使用Add-one Smoothing后,计算公式为:
V为词典库的大小。
使用Add-k Smoothing后,计算公式为:
而使用Interpolation方法。核心思路是在计算Trigram概率的同时考虑Unigram,Bigram,Trigram出现的频次。
计算公式为: