关于语言模型中的平滑

在语言模型计算概率的时候,我们会碰到概率为0的情况,即计算的单词在语言模型中并没有出现过。这个时候会使用平滑的方法计算概率,一般分为以下几种:

Add-One Smoothing

Add-K Smoothing

其中Add-One Smoothing可以看作Add-K Smoothing中K为1的变种。概率计算即为

(C+k)/(N+kV)

其中C为需要计算的情形出现的次数,N为语料库中所有情形的次数,V为语料库中所有情形的种类。

Interpolation 

Interpolation 即为同时考虑多种语言模型,如Uni-Gram,Bi-Gram,Tri-Gram进行加权平均

Good-Turning Smoothing

Good-Turning Smoothing认为当前情形出现概率与语料库中出现次数与之相等的情形和出现次数多一次的情形相同。认为当此情形出现次数为(C+1)N_{c}/N_{c+1}N_{c}为出现次数为c的情形种类。然后除以N即为Good-Turning Smoothing计算的概率。

Good-Turning Smoothing会出现一个问题,即当c大的时候可能会出现N_{c+1}为0的情况。这个时候我们可以使用一个回归模型计算出N_{c+1}的模拟值进行计算。

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值