语法解析的改进
NLP | 自然语言处理 - 语法解析(Parsing, and Context-Free Grammars) 这一章我们讲到了上下文无关语法(PCFG - Probabilistic Context-Free Grammar)的解析方法。PCFG在许多情况下并没有考虑词的顺序关系,例如NN NN(Milk Cup)这样的情况两个名词被等价的对待,因为也可能导致语法解析的二义性。为了获得更好的解析正确率,我们将在PCFG的基础上做一些改进。
对于每一条规则,我们将添加一个规则的首要词(head)。例如 VP =>
VP PP,VP就是这个规则的首要词。那么首要词如何来确定呢?其实我们可以通过我们对英语语法的理解来制定一些规则来确定首要词。
例如,对名词短语 (NP)而言,可以包含如下规则(规则按顺序匹配,命中是停止):
1)当规则包含NN, NNS或者NNP时,选择最右侧的NN, NNS或者NNP作首要词,例如the milk
cup
2)当规则包含一个NP时,选择最左侧的NP,例如
(NP the car) (PP in (NP the street))
3)当规则包含一个JJ时,选择最右侧的JJ,例如the
old
4)当规则包含一个CD时,选择最右侧的CD,例如
1000
5)选择最右侧的元素
对于动词短语(VP)而言,可以保护如下规则(规则按顺序匹配,命中是停止):
1)当规则包含Vi、Vt时,选择最左侧的Vi或者Vt,例如
go home
2)当规则包含VP时,选择最左侧的VP,例如
(VP go home) (to (VP have lunch))
3)选择最左侧的元素
有了首要词(header)这个概念以后,我们的语法树将可以被表示得更加的精细。但是显然,随之而来的计算量也将更大,同时对训练集数据量的要求也更多。