稀疏问题的解决——数据平滑 - yiyi_xuechen

时间 2014-02-23 12:26:00  博客园-所有随笔区原文  http://www.cnblogs.com/yiyi-xuechen/p/3561769.html

在上一篇 N-gram 模型中提到稀疏问题,即 某些在文本中通常很少出现的词 , 在某一局部文本中突然大量地出现 ,本篇主要讨论它的解决办法 -- 数据平滑(data smoothing )。

问题描述

N-gram 存在问题,训练语料毕竟是有限的,这样导致很多事件,如 trigram 中,w1 w2 w3 根本没有出现过。根据最大似然估计,这些事件的概率为零。然而这些事件的真实概率并不一定为零。这个问题被成为数据稀疏问题。

-- MLE 给训练样本中未观察到的事件赋以 0 概率。

-- 若某 n-gram 在训练语料中没有出现 , 则该 n-gram 的概率必定是 0 。

-- 解决的办法是扩大训练语料的规模。但是无论怎样扩大训练语料,都不可能保证所有的词在训练语料中均出现。

-- 由于训练样本不足而导致所估计的分布不可靠的问题,称为数据稀疏问题。

-- 在 NLP 领域中,数据稀疏问题永远存在,不太可能有一个足够大的训练语料,因为语言中的大部分词都属于低频词。

Zipf  定律 :

(1)告诉我们语言中只有很少的常用词,语言中大部分词都是低频词 ( 不常用的词) 。

(2)解释是 Principle of Least effort( 讲话的人和听话的人都想省力的平衡 ) ;说话人只想使用少量的常用词进行交流;听话人只想使用没有歧义的词 ( 量大低频 ) 进行交流 。

(3)对于语言中的大多数词,它们在语料中的出现是稀疏的 . 只有少量词语料库可以提供它们规律的可靠样本。

定义

把在训练样本中出现多的事件的概率适当减小,把减小得到的概率密度分配给训练语料中没有出现过的事件。这个过程有时也称为减值( Discounting )。

--减值法

修改训练样本中的事件的实际计数,是样本中不同时间的概率之和小于 1 ,剩余的概率量分配给未见概率。

--调整方法:最大似然规则

(1)他可保证模型中任何概率均不为 0 ;

(2)数据平滑使模型参数概率分布趋向于更加均匀。低概率(包括 0 概率)被调高,高概率被调低。

--数据平滑技术

(1)加法平滑

Add-one

1.每一种情况出现的次数加 1 。

2.规定任何一个 n-gram 在训练语料至少出现一次(即规定没有出现过的 n-gram 在训练语料中出现了一次),则 : new_count(n-gram) = old_count(n-gram) + 1

3.没有出现过的 n-gram 的概率不再是 0

例如,对于 uni-gram ,设 w1, w2, w3  三个词,概率分别为: 1/3, 0, 2/3 ,加 1 后情况?

2/6, 1/6, 3/6

Add-delta 平滑

Lidstone ’ s  不是加 1, 而是加一个小于 1 的正数  ,  通常 = 0.5 ,此时又称为Jeffreys-Perks Law 或 ELE  效果比 Add-one 好,但是仍然不理想 。

(2)Good-turning 平滑

基本思想 :利用高频率 n-gram 的频率调整低频的 n-gram 的频率。

具体操作 :假设 N  是样本数据的大小,  nr 是在 N 元模型的训练集中正好出现 r 次的事件的数目(在这里,事件为 N 元对 ) ,nr 表示有多少个 N 元对出现了 r 次

Good-Turing 估计适合单词量大并具有大量的观察数据的情况下使用,在观察数据不足的情况下,本身出现次数就是不可靠的,利用它来估计出现次数就更不可靠了。缺乏利用低元模型对高元模型进行线性插值的思想。

(3)Backing-off 平滑

(4)Jelinek-mercer 平滑

线性插值平滑( Linear Interpolation Smoothing )方法通常也被称作 Jelinek-Mercer  平滑。 Jelinek  和 Mercer  在 1980  年首先提出了这种数据平滑算法的思想,Brown  在 1992  年给出了线性插值的平滑公式:

该参数平滑技术的基本思想是利用低元 n-gram  模型对高元 n-gram  模型进行线性插值。用降元的方法来弥补高元的数据稀疏问题,数据估计有一定的可靠性。但是参数估计较困难。

(5)Katz 平滑

(6)Church-gale 平滑

稀疏问题的解决——数据平滑 - yiyi_xuechen相关推荐

  1. 自然语言处理基础(4)--数据平滑技术

    n元语法模型中,在统计结果中出现了零概率事件反映语言的规律性,即这种现象本来就不该出现,但更多的时候是由于语言模型的训练文本T的规模以及其分布存在着一定的局限性和片面性.这就是所谓的"数据稀 ...

  2. nlp5-n-gram/语言模型(数据平滑方法

    文章目录 1.句子的先验概率 1.1 n-gram 2. 参数估计 3. 数据平滑 3.1 数据平滑度方法 3.1.1加1法 3.1.2减 1.句子的先验概率 这个联合概率太小了 窗口越大,共现的可能 ...

  3. ICML2020 | GCNII:使用初始残差和恒等映射解决过度平滑

    今天给大家介绍中国人民大学魏哲巍教授课题组发表在ICML2020上的一项工作.针对目前大多数图卷积网络(GCN)模型因过度平滑而具有的浅层体系结构限制其模型性能的问题,作者提出了vGCN模型的扩展-G ...

  4. oracle tns 代理配置_OGG实现Oracle到MySQL数据平滑迁移

    技术分享 | 使用OGG实现Oracle到MySQL数据平滑迁移 - 爱可生开源社区​opensource.actionsky.com 一.OGG概述 OGG全称为Oracle GoldenGate, ...

  5. 怎么进行数据平滑滤波_气相色谱数据处理方法 EWG1990仪器学习网

    2018/12/29 作者/EWG1990仪器学习网 本节涉及气相色谱仪的几种常用检测器(TCD.FID.ECD.FPD.NPD等)的数据采集和数据分析,这类信号不包含质谱.光谱类的辅助信息,其关键在 ...

  6. 系统学习NLP(四)--数据平滑

    转子:https://blog.csdn.net/fuermolei/article/details/81353746 在自然语言处理中,经常要计算单词序列(句子)出现的概率估计.但是,算法训练的时候 ...

  7. 自然语言处理(九)——数据平滑

    一.概念 什么是数据平滑?我通过一个例子来解释一下.假设有如下语料库: { 今天 天气 不错, 天气 晴朗, 晴朗 的 天气, } 如果要计算句子s="晴朗天气"的概率(用二元语法 ...

  8. 自然语言处理之数据平滑方法

    在自然语言处理中,经常要计算单词序列(句子)出现的概率估计.但是,算法训练的时候,预料库中不可能包含所有可能出现的序列,因此为了防止对训练样本中为出现的新序列概率估计值为零,人们发明了不少可以改善估计 ...

  9. python not defined怎么解决_数据量太大?散点图装不下怎么办?用Python解决数据密度过大难题

    当我们需要观察比较2个变量间的关系时,散点图是我们首选图表. 可当数据量非常大,数据点又比较集中在某个区间中,图表没法看,密密麻麻的怎么看? 怎么办?这时候就得看密度图了 什么是密度图? 所谓的密度图 ...

最新文章

  1. Micropython开发实例之TPYBoard v702GPRS功能测试
  2. Github新建分支以处理原仓库提交时detached HEAD的问题
  3. Swift云存储特性研究
  4. com.alibaba.druid.pool.DruidDataSource.error解决办法
  5. (一)卷积网络之基础要点
  6. 如何轻松了解 Python 必学的 django 框架?
  7. 图片放大缩小旋转左移右移镜像倒影android
  8. ios下js复制到粘贴板_js实现复制到剪贴板功能,兼容所有浏览器
  9. M-02-12.[紫猫]Url网络操作扩展
  10. 根据c语言代码自动画出流程图,根据程序画出流程图
  11. Word 公式排版(使用制表符)
  12. java线程池——逐步分析
  13. ndt_matching解读
  14. mac鼠须管 在简体字模式如何繁体字
  15. 计算机怎样关闭电脑桌面弹窗,永久关闭电脑弹窗广告的三种方法
  16. 二分算法实例应用(二)
  17. ubuntu修改u盘权限_手把手教你使用U盘安装Ubuntu系统
  18. java写入dat文件_java写入dat文件
  19. ResNet 阅读学习和实现
  20. 帧、报文、报文段、分组、包、数据报的概念区别

热门文章

  1. 【钟表识别】基于计算机视觉实现钟表时间识别含Matlab源码
  2. 单片机胡汉才第四版答案_单片机课后习题答案 胡汉才编
  3. 白盒测试与黑盒测试的联系与区别
  4. 使用-cifs自动挂载
  5. iOS开发之Unity游戏在iOS平台运行调研(踩坑)
  6. Microsoft Windows Workflow Foundation Step by Step Charpter 2
  7. OpenStack Dashboard
  8. Uploadify/uploadifive上传(中文文档)
  9. 请不要忘记本质—ssl的握手方式
  10. hdu 1568 Fibonacci(fibonacci通项+对数性质)