2017-02-20 2 views
-1

Я пытаюсь воспроизвести пример из текста книги NLTK - http://www.ling.helsinki.fi/kit/2009s/clt231/NLTK/book/ch10-AnalyzingTheMeaningOfSentences.htmlload_earley не доступен в NLTK 3,0

Однако во время работы этого примера:

>>> from nltk.parse import load_earley 
>>> cp = load_earley('grammars/book_grammars/sql0.fcfg') 
>>> query = 'What cities are located in China' 
>>> trees = cp.nbest_parse(query.split()) 
>>> answer = trees[0].node['sem'] 
>>> q = ' '.join(answer) 
>>> print q 

Я получаю следующее сообщение об ошибке:

Traceback (most recent call last): 
File "<stdin>", line 1, in <module> 
ImportError: cannot import name load_earley 

Is load_earley прекращено? Если это так, я не могу найти замену для него. Просьба помочь

ответ

0

Ничего. Я получил обновленный курсовую работу ->http://www.nltk.org/book/ch10.html

Приведенный выше код переводится в

>>>from nltk import load_parser 
>>> cp = load_parser('grammars/book_grammars/sql0.fcfg') 
>>> query = 'What cities are located in China' 
>>> trees = list(cp.parse(query.split())) 
>>> answer = trees[0].label()['SEM'] 
>>> answer = [s for s in answer if s] 
>>> q = ' '.join(answer) 
>>> print(q) 

load_earley заменяется load_parser

>>> trees = cp.nbest_parse(query.split()) 
>>> answer = trees[0].node['sem'] 

заменяется

>>> trees = list(cp.parse(query.split())) 
>>> answer = trees[0].label()['SEM'] 
>>> answer = [s for s in answer if s] 
2

Я считаю, что это так, я столкнулся с той же проблемой. Этот курс использует версию NLTK версии 2.0. Также:

The material presented in this book assumes that you are using Python version 2.4 or 2.5

Смежные вопросы