超越上下文无关文法的解析:TAG与MCFG/LCFRS解析技术深入剖析
1. LR解析器在树邻接文法(TAG)中的应用
在处理树邻接文法(TAG)时,LR解析器是一种有效的工具。我们首先需要定义LR自动机的状态集合。通过对初始状态进行闭包操作,并反复应用goto和goto⊥函数来构建新状态的闭包,直到无法找到新状态为止。状态集合Q的定义如下:
- closure(qin) ∈ Q。
- 对于所有q ∈ Q和每个节点M,如果q′ = closure(goto(q, M)) ≠ ∅,则q′ ∈ Q。
- 对于所有q ∈ Q和每个节点M,如果q′ = closure(goto⊥(q, M)) ≠ ∅,则q′ ∈ Q。
解析成功的标志是完成对根符号为S的初始树的识别。当一个状态包含根标签为S的初始树的完整项时,该状态就是一个可能的最终状态。最终状态集合Qfin定义为:
Qfin = {q ∈ Q | q ∩ {[t, ⊤→Rt•] | t ∈ I, l(t, ε) = S} ≠ ∅}
下面是一个LR自动机状态和转换的示例表格:
| 状态 | 项目 | 转换 |
| — | — | — |
| q0 | [αs, ⊤→•S1], [αs, S1 →•John V1] | John → q1 |
| q1 | [αs, S1 →John • V1], [βinf, ⊤→•V2], [βfin, ⊤→•V4], [βfin, V4 →•seems V5] | seems → q2, V1 → q3, V2 → q4 |
| q2 | [βfin, V4 →seems • V5], [βfin, V5 →•
超级会员免费看
订阅专栏 解锁全文
7

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



