Как добавить нулевую продукцию в грамматике NLTK? - PullRequest
0 голосов
/ 26 апреля 2018

Я придумал CFG для ввода текста, оставив рекурсию, и я хотел бы устранить его, используя хорошо известное правило добавления другого производства, включая нулевое производство. Может кто-нибудь подсказать, как добавить нулевую продукцию в строку грамматики NLTK?

Я пытался с NT -> '', но это не сработало.

1 Ответ

0 голосов
/ 11 апреля 2019

Это что-то не очень интуитивно понятное, но в NLTK CFG пустое пространство служит нулевым / лямбда-терминалом.

S -> S 'a' 'a' 
S -> S 'a' 'a' T
T -> 'b' S
S ->

или эквивалентно:

S -> S 'a' 'a' | S 'a' 'a' T |
T -> 'b' S
...