Парсер сдвигов NLTK не печатает - PullRequest
0 голосов
/ 05 декабря 2018

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

Когда я пробую свою грамматику на ChartParser, она работает, поэтому я не уверен, где проблема.

grammar = nltk.CFG.fromstring("""

S -> NP VP
NP -> PRP | NN | NP PP | DT NNS | DT NN
VP -> VBZ NP
PP -> IN NP
PRP -> 'He'
VBZ -> 'eats'
NN -> 'pasta' | 'restaurant'
IN -> 'with' | 'in'
DT -> 'some' | 'the'
NNS -> 'anchovies'

""")

shift_prse = ShiftReduceParser(grammar)

sent = 'He eats pasta with some anchovies in the restaurant'.split()


for x in shift_prse.parse(sent):
    print(x)
...