自然语言解析方法:从混合解析到统计解析
1. 自上而下 - 自下而上解析
在解析过程中,有一种特别的方法是自上而下 - 自下而上解析。它与传统的自下而上解析不同,在解析时不会将 “people” 直接归为 VB。这种方法结合了目标驱动和数据驱动的行为,交替进行自上而下和自下而上的处理。
1.1 工作原理
自上而下的期望驱动自下而上解析词性(POS)和后续成分,得到的成分经过传递闭包处理。例如,在解析句子时,先有一个整体的期望,然后从底层的词汇开始,逐步确定词性和成分。
1.2 优点与问题
该算法避免了无用规则的应用(自上而下部分)和无用的词性或成分解析(自下而上部分)。然而,它在自上而下部分存在左递归问题,需要对规则进行处理以消除左递归。
1.3 左递归的消除
左递归消除在编程语言和编译器中已有广泛研究。对于规则 (A → Aa | β),可转换为:
- (A → βA1)
- (A1 → aA1 | ε)
这种转换并非消除递归,而是将左递归变为右递归,避免了在输入不变的情况下反复使用同一个非终结符 (A)。例如,对于形容词短语规则:
- 原规则:
- (JJP → JJP JJ)
- (JJP → JJ)
- 转换后:
- (JJP → JJ JJP1)
- (JJP1 → JJ JJP1 | ε)
转换后的规则可以处理任意长度的形容词串。
2. CYK 解析
CYK 解析以其三位发明者 John Cocke、Daniel Y
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



