一、学习目标
1.了解句法分析的基本任务要求
2.掌握CYK分析方法和基于PCFG的分析方法
3.了解基于神经网络的分析方法
4.了解句法分析方法的性能评价标准
5.学习局部句法分析的思想
二、句法分析概念
1.任务概念
本课先讲述短语结构分析的相关知识。
2.句法分析的一个例子
首先是对一个句子分词,然后进行词性标注:
句法分析的目标是得到下面这样一个句法树:
有的时候并不需要进行完全的句法分析,那就是局部句法分析:
3.任务的困难点:
三、CYK分析法
在讲CYK分析法前,需要大家回想起第2、3节课讲过的文法相关的知识。不过后面看到例子大家就知道文法是啥了。
1.CYK算法要点
这个识别举证是CYK的关键点,长下面的样子:(w是词,pos表示其对应的非终结符)
2.算法过程
我们用一个例子来解释:
通过文法规则,一旦有两个格可以合并,那就合并,剩余的如果无法合并,就往空的格子填入(比如“书”对应的N):
最后就可以得到最后的S(sentence)节点:
说明这句话可以被我们的文法规则识别并可以得到对应的句法树:
四、基于PCFG的分析方法
1.引入概率机制
该方法算是CYK的改进版。其引入了概率机制:
以一个例子来讲:
我们是可以得到两个句法树:
引入概率的好处就是可以计算那种句法树的可能性更大:
于是我们可以判定t1更加合理。
2.问题一:如何快速计算出一个句子基于PCFG的概率
类似于我们之前在隐马尔科夫模型中用前向算法和反向算法求解问题一样。在这里我们使用内向算法和外向算法来计算:
(1)内向算法:
首先学习对α的定义:
其中A、B、C的关系如下所示:(A、B、C都是句法树中的一个非叶子节点)
(2)同样,也就有外向算法:
首先定义β:
于是,其递推公式如下:
于是外向算法的整体计算过程为:
3.问题二:如何选择句子对应的最佳句法结构树
求路径的问题,我们一致使用Viterbi算法:
算法整体描述为:
4.问题三:如何调节PCFG模型的参数
基本思路:
使用的算法还是EM算法:
首先计算两种句法规则的期望值:
然后就可以对这两条规则概率进行新的估计:
总体而言,整个算法可以描述为:
五、基于神经网络的分析方法
其主要思想就是借助机器翻译的原理:
而一个翻译模型可以表示如下:
其中句子的标签也一同输入到模型中,这样才能使模型能讲句子翻译成标签。
六、分析结果评价
1.常见的几个评价指标
2.交叉括号数
例如有下面的两个句法树,前一个为标签,后一个为模型预测:
于是,我们就可以计算其差异度了:
如今句法分析的现状:
七、局部句法分析
主要任务:识别句子中某些结构相对简单的独立成分。并不像上面那样对每个词都要划分。
1.成员:
2.规则
一些例子:可以看出局部句法分析主要是找那些名词短语就行。
3.识别方法
IOB标注方法的例子: