首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

几种常见的平滑算法

平滑思想:在增加未出现词语出现概率的同时,减少已出现词语的概率

为什么要有平滑技术

F(( “我”,司””可”, “办理”“正规发票” )|S)=

F(“我”S)F( “司”S)F( “可”S)F(办理" S)F(“正规发票”|S)

假如在训练集中我们发现正规发票从来没有出现过那么P( “正规发票”S ) =0那么整个

概率相乘就变成了0,那么为 了解决这个问题 我们使用平滑技术。

在计算语言模型的过程中,对于句子中的每一个字符或者词都需要一个非零的概率值,因为一旦有一个概率为0的结果,那整个计算公式的结构都为0,所以必须分配给所有可能出现的字符串一个非零的概率值来避免这种错误的发生。

平滑技术就是用来解决这类零概率的问题,为了产生更加准确的概率来调整最大似然估计的一种技术,平滑的处理思想是“劫富济贫”,即提高低概率,降低高概率。对于一个二元的语法来说,一种最简单的平滑技术就是假设每个二元语法出现的次数比实际出现的次数多一次,不妨将该处理方法称为加1法,这样对于每一个单词都有一个对应的最小概率。

加法平滑方法:假设它比实际出现情况多发生n次,0

古德-图灵估计法:

对于任何一个出现r次的n元语法,都假设它出现了r*次,其中nr实训练语料中恰好出现r次的n元语法的数目,要把这个统计数转化为概率,只需要进行归一化处理 就可。

Katz平滑方法:通过加入高阶模型与低阶模型的结合,扩展了古德-图灵方法,这种方法的中心思想是,当某一事件在样本中出现的概率大于K时,运用最大似然估计经过减值来估计概率。当某一事件的频率小于K时,使用低阶的语言模型作为代替高阶语法模型的后备,而这种代替必须受归一化因子的作用。

Jelinek-Mercer平滑方法:第n阶平滑模型可以递归地定义为n阶最大似然估计模型和n-1阶平滑模型之间的线性插值。为了结束递归,可以用最大似然估计分布作为平滑的1阶模型。

Witten-Bell平滑方法:被认为是Jelinek-Mercer平滑算法的一种实例。

绝对减值法:类似于Jelinek-Mercer平滑算法,涉及高阶和低阶模型的插值问题,然而这种方法不是采用将高阶最大似然分布乘以因子的方法,而是通过从非零计数中减去一个固定值D的方法来建立高阶分布。

Kneser-Ney平滑方法:R.Kneser和H.Hey与1995年提出的一种扩展的绝对减值算法,用一种新的方式建立与高阶分布相结合的低阶分布,在前面的算法中,通常用平滑后的低阶最大似然分布作为低阶分布,然而,只有当高阶分布中具有极少数的或没有计数时,低阶分布在组合模型中才是一个重要的因素。

平滑算法总结

其他平滑方法

Church-Gale平滑方法:将Good-Turing估计与一种方法相结合以 融合低阶与高阶模型的信息。

贝叶斯平滑方法:基本思想是用以平滑分布选出先验分布,然后用先验分布通过某种方式求出最终的平滑分布。

修正的Kneser-Ney平滑方法:修正的Kneser-Ney平滑方法具有如下特点:使用插值方 法而不是后备方法,对于出现次数较低(1次、2次等)的n元语法采用 不同的减值。在S.F.Chen和J.Goodman实现的系统中基于留存(held-out) 数据进行减值估计,而不是基于训练数据。

平滑方法的比较

影响最大的因素是采用修正的后备分布,例如Kneser-Ney平滑方法所采用的后备分布。这可能是Kneser-Ney平滑方法及其各种版本的平滑算法优于其他平滑方法的基本原因。

绝对减值优于线性减值。正如前面指出的,对于较低的计数来说,理想的平均减值上升很快,而对于较大的计数,则变得比较平缓。Good-Turing估计可以用于预测这些平均减值,甚至比绝对减值还好。

从性能上来看,对于较低的非零计数,插值模型大大地优于后备模型,这是因为低阶模型在为较低计数的n元语法确定恰当的减值时提供了有价值的信息。

增加算法的自由参数,并在留存数据上优化这些参数,可以改进算法的性能。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200926A0EOH000?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券