N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑
来源:互联网 发布:数据库系统原理教程 编辑:程序博客网 时间:2024/05/18 01:11
可以这样说我们把你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
- N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑
- N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑
- N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑
- 统计自然语言处理(统计推理:稀疏数据集上的n元语法模型)
- N元语言模型的训练方法
- N元语言模型的训练方法
- 自然语言处理之n元语法模型
- 稀疏问题的解决——数据平滑 - yiyi_xuechen
- OpenNLP ngram n元语法模型(简介)
- Good Turing Smoothing
- N元语言模型的解码算法
- N元语言模型的解码算法
- n元语法
- n元语法
- N元模型
- N元语言模型
- N元语言模型
- 数据平滑方法
- spring Quartz 定时任务
- Perl学习开篇
- 链表与指向指针的指针应用
- 我们生活在春秋
- 通讯录的uri
- N元语法模型的数据稀疏问题解决方法之一:Good-Turing平滑
- Linux下常用的故障排查命令行
- ubuntu 12.04 x64 开启 root 登录,并解决root用户后没有声音的问题
- break return continue 区别
- 第17周任务1(二进制文件的操作)
- 生活角度学习数据库
- 从项目始末谈面向对象——领域分析、需求分析、分析模型、设计、实现
- web worker--学习笔记
- 20120611我是C++程序员吗