0

我正在尝试通过向 nltk.cfg 提供一堆语法产品来使用 CNF 语法,例如:

 NN -> 'rubble' | 'slope' | 'Jake'
 VP -> V NP | VP PP 

但它有问题(给出错误:预期的箭头)与在产品左侧有管道的产品。例子:

VP | <VBP-SBAR> -> VBP SBAR

nltk 是否有任何语法方法对左侧的管道没有问题?

如果没有,我怎样才能将所有这些作品更改为像第一组这样的可用作品?例子:

VP  -> VBP SBAR    
<VBP-SBAR> -> VBP SBAR
4

1 回答 1

1

在产生式左侧具有多个选项的产生式规则不再是上下文无关语法 - 每个规则的 LHS 上必须只有一个非终结符。

好吧,首先,如果您可以拆分规则,这实际上没有任何意义

VP | <VBP-SBAR> -> VBP SBAR

分为两条规则

VP -> VBP SBAR
<VBP-SBAR> -> VBP SBAR
于 2014-11-14T00:42:18.050 回答