NLP平滑方法

在自然语言处理中,平滑方法用于修正最大似然概率导致未知单词序列概率为0的错误。本文介绍了Add-one、Add-K、Interpolation和Good-Turing四种平滑技术,分别解释了它们的原理和应用场景,以提升模型的准确性和鲁棒性。
摘要由CSDN通过智能技术生成

NLP语言模型平滑方法

更多内容 :https://github.com/fansking/NlpWithMe
在自然语言处理的模型中,我们需要输入一个句子,并给出这个句子出现的概率。我们通常会使用已有的语料库做先验概率统计,根据先验概率获得后验概率,但不幸的是,我们已有的语料库通常并不能覆盖所有的单词,当输入的句子中出现语料库中未曾包含的单词时,使用最大似然概率会导致这个句子出现的概率为0。这显然是不符合我们预期的,为了纠正这种错误,我们引入了平滑方法。

首先根据极大似然概率我们有以下公式:

P M L E ( w i ∣ w i − 1 ) = c ( w i − 1 , w i ) c ( w i ) P_{MLE}(w_i|w_{i-1})=\frac{c(w_{i-1},w_i)}{c(w_i)} PMLE(wiwi1)=c(wi)c(wi1,wi)

其中 w i w_i wi 指出现在第i个位置的单词。 c ( w i , . . . ) c(w_i,...) c(wi,...) w i . . . w_i... wi...单词序列出现的总次数

那么逐一介绍一些平滑方法

Add-one

Add-one认为所有的单词序列都至少出现过一次,所以在分子会加一,分母会加所有的单词序列的个数。

这里仅以bi-gram举例,下式中V是词库的大小,因为在给定 w i − 1 w_{i-1} wi1的情况下,能出现的单词序列只有可能是词库所有单词遍历一遍也即 w i w_i w

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值