数据平滑技术|自然语言


写在前面

∙ \bullet 因为对于N-gram模型来说,由于语料库过小或者词语过于专业可能会出现概率为0的情况。但是这个词语肯定会有出现的概率不可能为0,为了解决这类零概率问题,引入了平滑技术。

∙ \bullet “平滑”处理的基本思想是“劫富济贫”,即提高低概率降低高概率,尽量使概率分布趋于平均。


1.加法平滑

1.1加1法

先来介绍一种简单的情况,对于二元语法(2-gram或者 Bigram)来说,我们可以使用一种非常简单的方法,即“加一法”

公式如下:
P ( w i − 1 ∣ w i ) = P ( w i − 1 w i ) + 1 P ( w i ) + ∣ V ∣ {\color{Violet}P(w_{i-1}|w_{i})=\frac{P(w_{i-1}w_{i})+1}{P(w_{i})+|V|}} P(wi1wi)=P(wi)+VP(wi1wi)+1

其中 P ( w i − 1 w i ) {\color{Red}P(w_{i-1}w_{i})} P(wi1wi) w i − 1 w i \color{Red}w_{i-1}w_{i} wi1wi 同时出现的概率, P ( w i ) \color{Red}P(w_{i}) P(wi) w i \color{Red}w_{i} wi 出现的概率, ∣ V ∣ \color{Red}|V| V 是所有词的个数, P ( w i − 1 ∣ w i ) \color{Red}P(w_{i-1}|w_{i}) P(wi1wi)是在 w i \color{Red}w_{i} wi 的概率下前面出现 w i − 1 \color{Red}w_{i-1} wi1 的概率。

1.2加法平滑方法

N-gram模型中,常见的做法是在N元对出现的次数上加一个常数 δ \delta δ,在分母上加上 δ ∣ V ∣ \delta|V| δV,其余和二元语法完全相同。

公式如下:
P ( w i − n + 1 i − 1 ∣ w i ) = P ( w i − n + 1 i − 1 w i ) + δ P ( w i ) + δ ∣ V ∣ {\color{Violet}P(w_{i-n+1}^{i-1}|w_{i})=\frac{P(w_{i-n+1}^{i-1}w_{i})+\delta}{P(w_{i})+\delta|V|}} P(win+1i1wi)=P(wi)+δVP(win+1i1wi)+δ

其中 w i − n + 1 i − 1 \color{Red}w_{i-n+1}^{i-1} win+1i1 表示 w i \color{Red}w_{i} wi 前面的 N N N 个词。


2.古德-图灵(Good-Turing)估计法

对于N-gram模型中出现了r次的 w i − n + 1 i \color{Red}w_{i-n+1}^{i} win+1i,我们把它估计为
r ∗ = ( r + 1 ) n r + 1 n r \color{Violet}r^{*}=(r+1)\frac{n_{r+1}}{n_{r}} r=(r+1)nrnr+1

其中 n r \color{Red}n_{r} nr 表示出现了r次的N元对的个数,所以N-gram中出现了次数为r的N元对 w i − n + 1 i \color{Red}w_{i-n+1}^{i} win+1i 的出现概率为:
P G T ( w i − n + 1 i ) = r ∗ ∑ r = 0 ∞ r ∗ {\color{Violet}P_{GT}(w_{i-n+1}^{i})=\frac{r^{*}}{\sum_{r=0}^{\infty}r^{*}}} PGT(win+1i)=r=0rr

古德-图灵估计公式中缺乏利用低元模型对高元模型插值的思想,通常不单独使用,而作为其他平滑算法中的一个计算工具。


3.回退平滑(Katz回退法)

当某一事件在样本中的概率大于阈值K(通常取0或1)时,运用最大似然估计减值法来估计其概率。否则使用低阶的,即用 ( n − 1 ) g r a m (n-1)gram (n1)gram 的概率来替代 n − g r a m n-gram ngram 的概率,这种替代受归一化因子 α α α 的作用。

公式如下:

P k a t z ( w i − 1 i ) = { d r c ( w i − 1 i ) c ( w i − 1 ) c ( w i − 1 w i ) = r > 0 α ( w i − 1 ) P M L ( w i ) c ( w i − 1 w i ) = r = 0 {\color{Violet}P_{katz}(w_{i-1}^{i})=\left\{\begin{matrix} d_{r}\frac{c(w_{i-1}^{i})}{c(w_{i-1})} & c(w_{i-1}w_{i})=r>0\\ \alpha (w_{i-1})P_{ML}(w_{i}) & c(w_{i-1}w_{i})=r=0 \end{matrix}\right.} Pkatz(wi1i)={drc(wi1)c(wi1i)α(wi1)PML(wi)c(wi1wi)=r>0c(wi1wi)=r=0

其中 r 表示出现次数, P M L ( w i ) \color{Red}P_{ML}(w_{i}) PML(wi) 表示 w i w_{i} wi 的最大似然估计概率,折扣率 d r \color{Red}d_{r} dr 近似等于 r ∗ r \color{Red}\frac{r^{*}}{r} rr,减值由 Good-Turing 估计方法预测。


4.线性插值平滑(Jelinek-Mercer)

利用低阶N-gram模型对高阶N-gram 模型进行线性插值

公式如下:
P i n t   e r p ( w i ∣ w i − n + 1 i − 1 ) = λ w i − n + 1 i − 1 ∗ P M L ( w i − 1 ∣ w i − n + 1 i − 1 ) + ( 1 − λ ) ∗ P i n t   e r p ( w i ∣ w i − n + 2 i − 1 ) {\color{Violet}P_{int \ erp}(w_{i}|w_{i-n+1}^{i-1})=\lambda_{w_{i-n+1}^{i-1}}*P_{ML}(w_{i-1}|w_{i-n+1}^{i-1})+(1-\lambda)*P_{int \ erp}(w_{i}|w_{i-n+2}^{i-1})} Pint erp(wiwin+1i1)=λwin+1i1PML(wi1win+1i1)+(1λ)Pint erp(wiwin+2i1)

N-gram模型可以递归地定义为:由最大似然估计得到的N-gram模型和线性插值的(N-1)-gram模型。

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

比奇堡咻飞兜

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值