PCFG构造语法结构树相关问题思考

【目录】

  1. 如何从语料库提取PCFG(概率上下文无关)规则?
  2. 提取的规则存在什么数据结构中更好?
  3. 提取的规则为什么要转化为Chomsky Norm Form(CNF)?
  4. 提取的PCFG规则如何转化为CNF?
    1. 任意PCFG规则真的能像CFG一样转换为CNF吗?
  5. 如何根据符合CNF的规则生成新句子的结构树?

关于这些问题,如果大家知道有已经成熟的结论和推导过程,希望能留言告诉作者,帮助作者,谢谢啦~

 

【1. 如何从语料库提取PCFG(概率上下文无关)规则?】

我至今只做过从宾州中文树库CBT语料库中提取规则。归纳下来就是:了解语料库数据格式—>代码解析数据格式—>统计各种规则在语料库中的出现概率。这部分工作下一阶段方向:

 

【2. 提取的规则存在什么数据结构中更好?】

选择哪种数据结构更好,我基于两个方面考虑:

一:提取的规则在后续用来做什么工作?数据结构要让后续工作开发高效or工作效率高效。

二:数据结构能更好地表达提取的规则的自然含义?便于理解与传播,也便于开发

关于规则后续用来做什么工作,我现阶段只知道:形式的转化(转化到CNF或以后其他形式);根据规则生成句法结构树。

如果是在原规则基础上做形式转化,高频操作有:合并节点,新增节点,删除节点

如果是遍历原规则后,建立新建形式的规则,高频操作有:遍历。

关于是否能自然的表达规则,我认为“树”最贴近人本身对于规则的理解。例如wiki举例的如下规则,用以S0为根的树表示就很容易理解:

最初我没考虑这些,用的python里面字典结构表示学习的规则(以上图表示的规则为例),形式如下:

{S0:{“AbB”:p1,“C”:p2},   B:{“AA”:p3,“AC”:p4},   C:{“b”:p5,“c”:p6},   A:{“a”:p7,“sigma”:p8}}

好处是可以快速索引。下面我会继续使用这个结构存储学习到的规则,看看会有哪些好处和不便

 

【3.提取的规则为什么要转化为Chomsky Norm Form(CNF)?】

https://www.cnblogs.com/zhouksh/p/3732264.html

因为:使用原始形式(多叉树)时使用brute force遍历所有可能性,以找到一个句子最优的结构,计算量随句子长度的指数增长;

使用CKY算法以动态规划的方式解,计算量降低到多项式量级,但是要求从语料库中提取的规则满足CNF要求,因此需要将原始形式的规则转化为CNF形式

 

【4.提取的PCFG规则如何转化为CNF?】

{4.1}任意PCFG规则真的能像CFG一样转换为CNF吗?——下一步工作:深入理解PCFG概念,看是不是我有地方理解错误

PCFG就是将CFG中的每一条规则与一个概率联系起来。在CFG转换为CNF的“去除UNIT rule”一步中,需要将A->B和B->A(也即强连通分量中的节点)都替换为A。

当某个PCFG规则中存在某个强连通分量{D,E,F,G},现在要将这4个节点都要G表示:

我的疑问在于:如果p1*p2不等于p3*p4,那么D用G来代替的概率应该取p1*p2还是p3*p4呢?

 

 

 

【参考材料】

https://en.wikipedia.org/wiki/Chomsky_normal_form

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值