3.11-3.13 PCFG的基本介绍

继上一节我们介绍完PCFG的基本组成之后,我们来讨论一下如何得到文法计算所需的概率:
哥伦比亚大学NLP Collins第三周13-16笔记
Penn WSJ Treebank 基本是最早的句法树的统计数据了,但到今天为止,已经有很多很多关于此的统计数据了。
哥伦比亚大学NLP Collins第三周13-16笔记
那么如何从一个Treebank得出一个PCFG呢:
首先我们需要学习两种变量:第一个是规则,比如从S->NP VP;
第二个是概率,比如α(S>NP+VP)=1.0\alpha(S->NP+VP)=1.0
然后是概率估计方法:
哥伦比亚大学NLP Collins第三周13-16笔记
比如你想计算VP->VT NP的概率,那么公式如下:
哥伦比亚大学NLP Collins第三周13-16笔记
这里关于count(VP)count(VP)的数据来自Treebank。

下面我们来讨论一下PCFG可以适用的条件
哥伦比亚大学NLP Collins第三周13-16笔记

  • 首先第一个条件就是:相同的原状态的概率之和为1,举例:
    哥伦比亚大学NLP Collins第三周13-16笔记
  • (???)第二个条件是有可能在有限步骤之内得到的可能概率为1,而这是不符合实际情况的,下面有个小小的例子:
    假设我们的规则是这样的:
    哥伦比亚大学NLP Collins第三周13-16笔记
    那么我们的可能存在的句法树分别的概率是——0,0,0……
    哥伦比亚大学NLP Collins第三周13-16笔记
    我jio得大概可能的意思是:当语料中没有出现, 而在我们的测试样本中却出现了少见的单词时, PCFG 会对所有的语法树都给出概率为0的估计, 这对 PCFG 的模型是一个致命的问题。

3.14-16 CKY算法

哥伦比亚大学NLP Collins第三周13-16笔记
我们上节课讲了应用PCFG的方法得到语法树的过程:
哥伦比亚大学NLP Collins第三周13-16笔记
我们得到一个特定的句子,然后从这个句子开始,它会有很多的句法树的可能,我们需要做的就是计算可能的句法树的概率,排序得出最大的输出即可。
但这么做有个很大的问题,特定句子的句法树可能结果是非常庞大的,而且还会随着句子长度的增加飞速增长。如何快速计算就是一个重要的问题。
很庆幸我们已经有了一个非常好的算法CKY算法,这个算法在计算过程中要求必须符合Chomsky Normal Form,即:
哥伦比亚大学NLP Collins第三周13-16笔记
R满足的条件-X -> Y1 Y2 , 其中 Y1和 Y2属于 N ;X -> Y , 其中 Y 属于 sigma
CNF是具有Chomsky范式的CFG,上面两个条件表明,如果一个上下文无关文法的每个输出式形式为X -> Y1 Y2或者X -> Y,即规则的右部或者是两个非终结符或者是一个终结符。而且任何一个CFG都可以转化成一个弱等价的CNF。

CKY本质上是一个DP算法:
哥伦比亚大学NLP Collins第三周13-16笔记
CKY 是一种 DP 算法, 其要求PCFG 中的R 必须符合 Chromsky Normal Form, 即:
      X -> Y1 Y2 , 其中 Y1和 Y2属于 N  
      X -> Y , 其中 Y 属于 sigma
满足了这种形式后, 可以定义CKY的最优子结构为 Π(i,j,X)\Pi(i, j, X), 其表示以 X 为根部非终端词, 涵盖句子中第 i 个到第 j 个单词的语法树的概率. 在这样的定义下, 我们的目标就是寻找到一棵语法树 t, 使得 Pi(1, n, S)最大.
哥伦比亚大学NLP Collins第三周13-16笔记
DP 算法的一个特点是问题的解是贪婪的, 一个较大问题的解必然依赖于一个较小问题的解, DP 算法按照 bottom-up 的方式, 从解决较小规模的问题开始, 逐渐构建对于目标问题的解. CKY 所定义的递归式如下:
      basiccase:Π(i,i,X)=q(X>wi)basic case: \Pi(i, i, X) = q(X -> wi)
      recursivecase:Π(i,j,X)=max(q(X>YZ)Π(i,s,Y)Π(s+1,j,Z))recursive case: \Pi(i, j, X) = max (q(X->YZ) * \Pi(i, s, Y) * \Pi(s+1, j, Z)),
其中括号中的项为在所有的 X 的规则, 以及一切可能的分裂点 s的情况下得到的最大值.

下面是完整的算法:
哥伦比亚大学NLP Collins第三周13-16笔记
这样的话,对于句法树概率的计算就可以简化成多项式级:
哥伦比亚大学NLP Collins第三周13-16笔记
????

相关文章:

  • 2021-04-29
  • 2021-11-30
  • 2021-09-27
  • 2021-07-10
  • 2021-04-27
  • 2021-06-25
  • 2021-06-29
  • 2021-11-21
猜你喜欢
  • 2021-07-23
  • 2022-01-08
  • 2021-10-20
  • 2021-11-18
  • 2021-07-08
  • 2022-01-11
  • 2021-07-24
相关资源
相似解决方案