Coursera自然语言处理 Week4 笔记

前一周讲的Pure PCFG是完全和语义没有关系的,但是很多的“歧义问题”放在一个特定的语境中,就不会产生歧义的,所以这个语义还是很重要的。第四周就讲了如何把这种语义放进Pure PCFG中去。

1. Pure PCFG的缺点

看下面这个例子:

这棵Parsing Tree由7条规则组成,看其中的第5条规则“NNP IBM”,这条规则的确定与句子中其他的单词无关,与整棵树的其余部分也无关,只与 P(NNPIBM) 的大小有关。而实际上,IBM这个单词的词性究竟是不是NNP,与句子中其余单词是有关系的。

再比如说下面这个例子中:

唯一不一样的地方就是选择” VPVP PP ”还是” NPNP PP ”,在pure PCFG中,会选择概率大的那条规则。但是实际上,选择哪一条规则可以直接从其他单词中看出,” VPVP PP ”才是正确的选择。

总结:lexical information(语义信息)是重要的,我们大家需要它!

2. Lexical PCFG理论

Lexical PCFG通过向规则中加入“head”来添加语义信息。

“head”的意思就是这个词组中最重要的部分,如果只有一个单词,那就是这个单词本身,比如说:

DTthe 中的词组就是”the”,则“head”就是“the”,于是标记为 DT(the)the

NNwitness 中词组就是”witness”,则“head”就是“witness”,于是标记为 NN(witness)witness

NPDT(the) NN(witness) 中的词组是“the witness”,那么“head”就是“witness”,于是标记成 NP(witness)DT(the) NN(witness) ;选择哪个孩子作为head,就在它的上面标个横线。

就这样,由下至上,反向传播上去,直到root处结束。

于是就有了下面这个Pure PCFG 和 Lexical PCFG的对比图:

2.1 模型搭建

于是,我们的模型搭建如下:

t=argmaxt()P(t)

P(t)=γ(root)×i=1Nq(ri)

比如在上面的这棵树中,有8条rules和一个root: S(questioned)

于是整棵树的概率计算如下:

2.2 参数估计

于是,这个模型的唯一参数就是 q(ri) ,因为加入了lexical information,这里的参数估计与Pure PCFG也不同了。

X 为规则左边的部分,H为head单词的index, R 表示这条规则X(H)Y(H) Z(M) M 为词组中不是head的单词index。

于是有:

q(X(H)Y(H) Z(M))=q(R,M|X,H)=q(R|X,H)q(M|R,X,H)

于是这个参数转变成了两个小参数 q(R|X,H) q(M|R,X,H)

然后, q(R|X,H) 如下计算:

q(R|X,H)=λ1×q(R|X,H)+(1λ1)×q(R|X)

其中,

q(R|X,H)=Count(R,X,H)Count(X,H)

q(R|X)=Count(R,X)Count(X)

q(M|R,X,H) 如下计算:

q(M|R,X,H)=λ2×q(M|R,H)+(1λ2)×q(M|R)

其中,

q(M|R,H)=Count(M,R,H)Count(R,H)

q(M|R)=Count(M,R)Count(R)

可以看到,这里参数估计的时候,融合了non-lexical部分( q(R|X) q(M|R) )和lexical部分( q(R|X,H) q(M|R,H) ),并且通过 λ1 λ2 来权衡这两部分。

3. Lexical PCFG实现

这里依旧是使用“动态规划”来实现,唯一不通的就是,参数的计算,除此之外,整个算法没有什么不同。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值