转载自时空霹雳

在统计语言模型章节中,我们谈到了N元语法模型不可避免的一个问题,就是数据稀疏,其原因是大规模语料统计与有限语料的矛盾。根据齐普夫(Zipf)法则,我们能够推测知零概率问题不可避免。数据稀疏问题的解决办法就是进行平滑处理。平滑处理的算法有很多,本文将介绍众多算法中的佼佼者:古德-图灵(Good-Turing)平滑算法。

古德-图灵(Good-Turing)估计法是很多平滑技术的核心,于1953年有古德(I.J.Good)引用图灵(Turing)的方法而提出来的。其基本思想是:利用频率的类别信息来平滑频率。对于任何发生r次数的n元语法,都假设它发生了r*次。

其中,nr是训练语料中正好发生r次的N元组的个数。也就是说,发生r次的N元组的调整由发生r次的N元组与发生r+1次的N元组两个类别共同决定。统计数为r*次的N元组,其概率为:
        我们注意到:
        也就是说,N等于这个分布中最初的统计。那样,样本中所有事件的概率之和为
        因此,可以这样说我们把你n1/N的概率剩量分配给未见事件。为了更好地理解古德-图灵(Good-Turing)估计法,以一个例子来讲解。
        训练集合:T={<s>what is it what is small?}|T|=8
        验证集合:V={what is it small ? <s> flying birds are a bird.}, |V|=12
        在训练集合上,我们得到:p(<s>)=p(it)=p(small)=p(?)=0.125, p(what)=p(is)=0.25,其他为0
        如果不经过平滑处理,则验证集上两句子的概率分别为:p(what is it?)=(0.25*2)*(0.125*2)≈0.001  p(it is flying.)=0.125*0.25*(0*2)=0
        现在用古德-图灵算法进行平滑处理,如下:
        首先计算,各发生r次N元组类别的数目,依次为 N(0)=6,N(1)=4,N(2)=2,N(i)=0 ,i>2:
        其次,重新估计各概率值。
        对于发生0次的事件概率:Pr(.)=p(flying)=p(birds)=p(are)=p(bird)=p(a)= (0+1)*N(0+1)/(8*N(0))=1*4/(8*6)≈0.083
        对于发生1次的时间概率:Pr(it)=p(<s>)=p(small)=p(?)=(1+1)*N(1+1)/(8*N(1))=2*2 /(8*4)=0.125
        对于发生两次的时间概率:Pr(what)=Pr(is)=(2+1)*N(2+1)/(8*N(2))=3*0/(8*2)=0: 保持原值0.25
        归一化处理,6*P0+4*P1+2*P2=1.5。.
        所以,归一化处理后,p’(it)=p’(<s>)=p’ (small)=p’(?)= 0.125/1.5 ≈0.08,  p’(what)=p’(is)= 0.25/1.5 ≈0.17,  
        p’(.)=p’(birds)=p’(are)=p’(bird)=p’(a) = 0.083/1.5  ≈0.06
        因此:p’(what is it?)=(0175*2)*(0.08*2)≈0.0002   p’(it is flying.) ≈ 0.08*0.17*(0.06*2)≈0.00004


http://www.taodudu.cc/news/show-1025129.html

相关文章:

  • 知识图谱基础
  • 知识图谱存储与搜索
  • 词汇挖掘与实体识别(未完)
  • 二、语言模型
  • 三、自然语言分类
  • nlp中的经典深度学习模型(一)
  • nlp中的经典深度学习模型(二)
  • nlp中的经典模型(三)
  • 再看机器翻译
  • 文本生成模型
  • ⼤规模⽆监督预训练语⾔模型与应⽤(上)
  • transformer bert GPT(未完)
  • 再谈BERT
  • mac下pip install 安装只能选择python2.7的问题
  • pytorch自定义模型执行过程
  • 知识图谱需要解决的问题
  • pytorch中的squeeze和unsqueeze
  • 图谱问答-理解query
  • 图谱问答-句子向量模型部署项目总结(未完)
  • 基于知识图谱的问答系统实践
  • 理解transformer
  • NLG模块实现(未完成)
  • 什么是word2vector
  • 第三课 SVM(2)
  • 总和最大区间问题
  • learning to rank评价指标
  • Jelinek-Merer与Absolute discounting 平滑方法
  • 三种平滑方法
  • 从决策树到xgboost(一)
  • 从决策树到xgboost(二)

N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑相关推荐

  1. memcpy(cv::Mat.data,unsigned char *,320x240),保存数据失真问题解决方法

    1.memcpy(unsigned char *C,cv::Mat.data A,,320x240),首先A是图像完整的,通过copy到C中的时候,再copy到新的cv::Mat 图像的对象上时,图像 ...

  2. sqoop导入数据常见问题解决方法

    sqoop导入数据常见问题解决方法 参考文章: (1)sqoop导入数据常见问题解决方法 (2)https://www.cnblogs.com/chaojibaidu/p/11071132.html ...

  3. React中使用useState数据异步问题解决方法

    产生问题: 在React的函数组件中使用useState进行数据存储,导致数据异步,不能及时获取当前最新的数据. 原因: 这是因为React里事件分为合成事件和原生事件,合成事件和钩子函数都是异步的, ...

  4. 进原神显示服务器错误黑屏,《原神》数据异常怎么办 数据异常问题解决方法...

    本次给大家带来的是原神中游戏数据异常报错的解决方法,今天很多玩家在游戏过程中遇到了这样的问题,碰到这样的情况应该怎么解决呢?这里给大家详细介绍,希望能帮助到各位有需要的玩家. 原神游戏数据异常怎么办 ...

  5. 数据不平衡问题解决方法——欠采样

    对于二分类问题,正负样本比例为1:2.1:3.2:3都是可以接受的,但如果正负样本数量相差较大,比如1:10.1:13比例,则需要考虑进行重采样.数据量较大的情况下,使用欠采样方法较为合适. 本文使用 ...

  6. unity结合MMD发布android不显示模型不播放动画问题解决方法

    今天在将MMD与unity结合,制作Easy AR的时候. 在PC端,模型可以正常显示,但是发布Android后,遇到了两个问题: MMD模型无法显示 MMD模型显示后,不能正常播放动作. 首先,我们 ...

  7. 不会做特征工程的 AI 研究员不是好数据科学家!上篇 - 连续数据的处理方法 本文作者:s5248 编辑:杨晓凡 2018-01-19 11:32 导语:即便现代机器学习模型已经很先进了,也别

    不会做特征工程的 AI 研究员不是好数据科学家!上篇 - 连续数据的处理方法 雷锋网(公众号:雷锋网) AI 科技评论按:眨眼间我们就从人工特征.专家系统来到了自动特征.深度学习的人工智能新时代,众多 ...

  8. springMVC保存数据到mysql数据库中文乱码问题解决方法

    springMVC保存数据到mysql数据库中文乱码问题解决方法 参考文章: (1)springMVC保存数据到mysql数据库中文乱码问题解决方法 (2)https://www.cnblogs.co ...

  9. php post 丢失,php post大量数据时发现数据丢失问题解决方法,post数据丢失_PHP教程...

    php post大量数据时发现数据丢失问题解决方法,post数据丢失 解决办法: 在php.ini中将max_input_vars调大改为5000就可以了 原因追查: from的enctype=&qu ...

最新文章

  1. BIZTALK项目中WEB引用WEBSERVICES服务时候报错
  2. 比特币钱包(5) BIP44 账户表示形式
  3. 杭电1260java实现
  4. oracle虚拟机 centos6.5,虚拟机oracle virtualbox 上安装centos6.5 网络设置
  5. mysql 存储过程死循环_pl/sql存储过程loop死循环
  6. 《运营之光》《策略产品经理》《推荐系统实践》读书笔记随笔
  7. 直播丨抢鲜体验-openGauss入门
  8. 【声学基础】概述——吸收
  9. Python组合数据类型:序列sequence,列表list、元组tuple
  10. “我用 72 小时复刻了一个 ClubHouse”
  11. iss版本服务器读取_【IIS7服务器管理工具下载】IIS7服务器管理 v2.1.9 官方版-开心电玩...
  12. Storm实践2-【storm实时排序TopN】 - TOP10
  13. 解决方案-Visual Studio设置通用配置(包含路径+依赖库)
  14. 简单!Python+OpenCV三步去除水印
  15. sikuli实现百度云批量离线下载
  16. java 月份缩写_实训汇编语言设计——输入1-12 ,显示月份缩写
  17. cad面积计算机,用cad计算多个面积的方法步骤
  18. 【绿盟】检测到目标Strict-Transport-Security响应头缺失
  19. 2020年起重机司机(限桥式起重机)考试题及起重机司机(限桥式起重机)考试技巧
  20. PVI(pvifa计算公式)

热门文章

  1. 四级菜单实现(Python)
  2. JS两个字符串日期相减得出天数
  3. docker centos 环境 安装 python
  4. Cass2008 for CAD2006 安装
  5. java控制台输出百分比进度条示例
  6. mybatisplus坑 insert标签insert into select无参数问题
  7. java与sql2005连接数据库_Java链接数据库SQl Server2005
  8. Python四大金刚
  9. 北大“四大疯人院”之说
  10. springmvc 结合ajax批量新增