我正在玩NLTK,我遇到了语法问题。 (我没有找到关于这个问题的任何话题) 例如,使用语法gram.cfg:
S -> NP VP
NP -> 'I'
VP -> V ADJ WHO
ADJ -> 'tall' | 'big' | 'white'
V -> 'am'
WHO -> 'Groot'
和句子 “我是高大的Groot”它很有效。 我想要像
这样的语法VP -> V (ADJ)* WHO
有可能获得如下句子:
“我是白人高大的Groot”
“我是个大Groot”
“我是高大的白色Groot”
仅使用相同的规则VP
如何将可能性与一个语法规则相乘(如示例所示)?
有关于此的文件吗? (动态规则,关于可选规则,未定义的规则数等等)
答案 0 :(得分:0)
如果您可以使用递归语法,则以下方法可能会起作用。
ADJ -> 'tall' | 'big' | 'white' | ADG