Probabilistic Context-Free Grammers(PCFGs)

一,上下文无关文法(CFGs)

1,基本定义

1

如下就是一个比较清楚的例子:

2

2,最左推导

3

例如:

一组最左推导正好可以很容易地表示成一棵句法解析树,即一组最左推导其实可以看成一棵句法解析树!

假设上面的句法解析树为 t t ,则yield(t)=the dog laughs,即这棵树表示的单词序列。
如果至少存在一组推倒,它的yield(t)=s,那么这个单词序列 s s ∈ ∑ ∗ 就被称为是这个CFG定义的语言。

二,歧义

一个单词序列s实际上可以有超过一组的底层推导方式,在这种情况下,我们称这个单词序列在这个CFG下是有歧义的。
最常见的就是介词短语绑定歧义,如下所示:

1

歧义是自然语言问题中比较严重的问题了,为了解决解析歧义,所以出现了PCFGs!

三,概率上下文无关文法(PCFGs)

1,基本定义

1

那怎么解决解析歧义呢?这时我们就可以利用概率了!
一个单词序列s的最佳的解析树就是:

这就引入了以下三个问题:

  • 模型定义问题:我们应该怎样定义函数p(t)?
  • 模型训练问题:我们应该怎样从训练数据中学到模型p(t)的参数?
  • 解析问题:给定一个单词序列s,我们应该怎样找到最有可能的解析树?

下面就会详细介绍这些问题如何解决!

2,PCFGs的定义

1
2

例如下面这个例子十分清楚:

1
2

这就解决了模型定义问题!

直观的理解,PCFGs做了一个假设即解析树是通过以下过程随机生成的:

3

3,通过语料库来训练出一个PCFGs

核心步骤如下:

1

这就解决了模型训练问题!

4,找到PCFGs中最佳的解析树

一个极其关键的问题就是给定一个单词序列s,我们怎样找到s的最佳解析树?即:

这需要用到动态规划算法CKY算法!
但使用CKY算法之前,必须先将一般的PCFGs转化为等价的CNF形式的PCFGs。

(1)CNF
CNF十分简单,即:

1

CNF形式的PCFGs如下:

1

(2)用CKY算法进行解析

1

详细流程如下:

1

主要就是:

  • 规则的选择
  • 分割点的选择

合理性体现在哪里呢?

One key observation is:

1

Second key observation is:

2
可用反证法证明。

5,概率计算问题

其实还有一类问题,就是概率计算问题:给定一个单词序列s,计算它在PCFGs下(即可以通过PCFGs解析)的概率。这需要用到内向算法和外向算法。这里主要介绍一下内向算法,因为它的形式和CKY算法十分相似。

1
2

详细流程如下:

3

它和CKY算法的唯一区别在于将CKY递推式中的max换为了

  • 4
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值