NLTK无上下文文法

2 投票
1 回答
1318 浏览
提问于 2025-04-17 08:47

我只是想知道,如何在规则中添加一个可选的语法。

>>> import nltk
>>> nltk.app.rdparser()

比如,通常添加一个可选语法的方法是把它放在括号里:NP -> NP (PP)。

但是在程序中,你该怎么做呢?括号似乎不管用。

S   Þ NP VP
NP  Þ NP PP | Det N
VP  Þ V NP PP
PP  Þ P NP

Det Þ 'the' | 'a'
N   Þ 'man' | 'park' | 'dog' | 'boy' | 'girl'
V   Þ 'was' | 'saw' 
P   Þ 'in' | 'under' | 'with'

谢谢,

Ray

1 个回答

2
NP -> NP | NP PP

不过要注意,按照这个规则,你可以在解析树中无限叠加 NP 节点。

撰写回答