美文网首页
学习笔记-n-gram中的平滑方法

学习笔记-n-gram中的平滑方法

作者: Pluto_wl | 来源:发表于2020-04-24 14:41 被阅读0次

在n-gram语言模型中,一些词语的组合没有在语料中出现过,所以其统计概率会为0,但是这是不合理的。所以需要使用平滑方式调整概率值。
平滑的基本思想是降低高概率值,提高低概率值,使用"劫富济贫"思想,消除0概率,改进模型的整体准确率。

Add K法

  1. 加1法
    假设使用2元文法,c(w_{i-1}w_i)表示w_{i-1}w_i的统计频数,c(w_{i-1})表示w_{i-1}的频数。V是词表大小。
    使用加1法就是对每个频数上加1,这样就不会有0概率的出现。
    p_{add-1}(w_i|w_{i-1})={c(w_{i-1}w_i)+1 \over c(w_{i-1})+V}
    加1法又称拉普拉斯平滑
  2. 加k法
    p_{add-k}(w_i|w_{i-1})={c(w_{i-1}w_i)+k \over c(w_{i-1})+kV}

研究证明,add K法解决0概率是一种极其糟糕的方式。

good-turing

good-Turing是许多平滑技术的核心,其基本思路是对于任何一个出现r次的n元语法,都假设它出现了r^*次,这里
r^*=(r+1)\frac{n_{r+1}}{n_r}
其中,n_r是恰好出现r次的n元语法数目。
所以出现次数为r的概率变为了p_r=\frac{r^*}{N},其中N=\sum_{r=0}^\infty n_r r^*
重点在这里
N=\sum_{r=0}^\infty n_r r^*=\sum_{r=0}^\infty (r+1)n_{r+1}=\sum_{r=1}^\infty rn_r
也就是说,N等于这个分布中最初的计数。所以样本中所有事件的概率之和为
\sum_{r>0}^\infty rp_r= 1-\frac{n_1}{N}<1
所以可以将\frac{n_1}{N}的概率分配给出现次数为0的文法的概率。

good-Turing没能能将高阶模型与低阶模型结合起来,而高低阶模型的结合通常可以获得较号的平滑效果。

Interpolation(插值)

插值的主要思想是将不同的语言模型结合起来。

下图是插值模型在二元文法上的运用


是超参数

Backoff(回退)

回退思想很简单,如果没有tri-gram,就用bi-gram,如果没有bi-gram,就用uni-gram。

Katz smoothing
当事件正在样本种出现的频词大于某一数值k时,运用极大似然估计方法,通过减值来估计其概率值;而当事件的频词小于k时,使用低阶的语法模型作为代替高阶语法模型的后备,但这种替代受归一化因子的约束。

各种平滑方式

参考文献

  1. 宗成庆 统计自然语言处理
  2. https://blog.csdn.net/LZH_12345/article/details/82990101
  3. http://www.shuang0420.com/2017/03/24/NLP%20%E7%AC%94%E8%AE%B0%20-%20%E5%B9%B3%E6%BB%91%E6%96%B9%E6%B3%95(Smoothing)%E5%B0%8F%E7%BB%93/

相关文章

  • 学习笔记-n-gram中的平滑方法

    在n-gram语言模型中,一些词语的组合没有在语料中出现过,所以其统计概率会为0,但是这是不合理的。所以需要使用平...

  • n-gram

    n-gram的数据平滑方法 拉普拉斯平滑:缺点都在分子上加一,而大部分n-gram都是没有出现过的,这样就会给他们...

  • label smooth

    标签平滑:Label Smoothing(标签平滑)是一个经典的正则化方法,机器学习的样本中通常会存在少量错误标签...

  • 【北大】n-gram和数据平滑

    演讲主题:n-gram和数据平滑 主讲人:常宝宝 主讲人介绍: 认知机构:北京大学信息科学技术学院—计算机语言研究...

  • NLP(三)学习《Efficient Estimation of

    本篇是学习SkipGram算法,对论文内容进行概括,方便查阅和总结 1 介绍 传统的N-Gram方法在很多任务具有...

  • word2vec

    n-gram:主要工作是在语料中统计各种词串出现的次数以及平滑化处理,计算一个句子的概率时,只需要找到相关的概率参...

  • 我坚持学习落地健文思维导图第3天,我是实践落地者肖芳

    今天学习了第3课《用平滑的曲线突破局限》,有以下收获: 1、曲线应该如何绘制:掌握方法,多练。 2、为什么要用平滑...

  • opencv在android平台下的开发【4】-图像滤波详解

    前言 在上一篇opencv-android-图像平滑处理文章中,简单介绍了几种图像平滑,也就是图像模糊的方法,使用...

  • 1月4日

    我记笔记的方法记笔记是很多人学习中要用到的。近日对记笔记的方法进行了整理。一、原来记笔记中存在的问题1.在纸质笔记...

  • ggplot2学习笔记(一)

    ggplot2学习笔记(一) 该部分笔记整理于这里 1、平滑时的分组问题### 对比如下量代码与绘图结果 QUES...

网友评论

      本文标题:学习笔记-n-gram中的平滑方法

      本文链接:https://www.haomeiwen.com/subject/hgvxwhtx.html