Good-Turing、Absolute、kneser-ney smooth

Good-Turing smoothing

原文链接

Good-Turing基本思想是:用观察计数较高的N元语法数重新估计概率量的大小,并把它指派给那些具有零计数或者较低计数的N元语法。
公式:
c ∗ = ( c + 1 ) N c + 1 N c c^* = \frac{(c+1)N_{c+1}}{N_c} c=Nc(c+1)Nc+1
其中c为某个N-gram出现的频数, N c N_c Nc为出现次数为c的N-Gram的词组的个数, c ∗ 为 G o o d − T u r i n g 平 滑 计 数 c^*为Good-Turing平滑计数 cGoodTuring
例子:
对于a = [A,A,A,B,B,C,D,E] sum(len(a)) = 7
c A = 3 c_A = 3 cA=3 c C = 2 c_C = 2 cC=2
c B = c D = c E = 1 c_B = c_D = c_E = 1 cB=cD=cE=1
N 1 N_1 N1=4 N 2 N_2 N2=1 N 3 = 1 N_3=1 N3=1
thus
c A ∗ = 4 ∗ 0 3 = 0 c^*_A = 4*\frac{0}{3} = 0 cA=430=0
c B ∗ = 3 ∗ 1 1 = 3 c^*_B = 3*\frac{1}{1} = 3 cB=311=3
c C ∗ = c D ∗ = c E ∗ = 2 ∗ 1 4 = 1 2 c^*_C = c^*_D = c^*_E = 2*\frac{1}{4} = \frac{1}{2} cC=cD=cE=241=21
(注意在他们求概率的时候都需要除以N = 7)
然而这样会导致最高频率的结果最后的计数为0,解决方法如下

  1. 可以对于较低的计数使用 P G T P_{GT} PGT,而对于较高的计数直接使用 P M L E = c N P_{MLE} = \frac{c}{N}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值