#python-2.7 #nltk
#python-2.7 #nltk
Вопрос:
Я пытаюсь использовать анализатор нейронных зависимостей Stanford, предоставляемый nltk. Проблема, с которой я сталкиваюсь, заключается в том, что при вызове я st = nltk.parse.stanford.StanfordNeuralDependencyParser()
получаю следующую ошибку:
>>> st = nltk.parse.stanford.StanfordNeuralDependencyParser()
Traceback (most recent call last):
File "C:Users<user>Anaconda2libsite-packagesIPythoncoreinteractiveshell.py", line 2885, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-5-ca2dec4f3c1f>", line 1, in <module>
st = nltk.parse.stanford.StanfordNeuralDependencyParser()
File "C:Users<user>Anaconda2libsite-packagesnltkparsestanford.py", line 378, in __init__
super(StanfordNeuralDependencyParser, self).__init__(*args, **kwargs)
File "C:Users<user>Anaconda2libsite-packagesnltkparsestanford.py", line 51, in __init__
key=lambda model_name: re.match(self._JAR, model_name)
File "C:Users<user>Anaconda2libsite-packagesnltkinternals.py", line 714, in find_jar_iter
raise LookupError('nn%sn%sn%s' % (div, msg, div))
LookupError:
===========================================================================
NLTK was unable to find stanford-corenlp-(d )(.(d )) .jar! Set
the CLASSPATH environment variable.
For more information, on stanford-corenlp-(d )(.(d )) .jar, see:
<http://nlp.stanford.edu/software/lex-parser.shtml>
===========================================================================
Но когда я запускаю os.environ.get('CLASSPATH')
, я получаю результат
`C:nltk_data;C:nltk_datastanford;C:nltk_datastanfordstanford-ner`
Я знаю, что у меня есть файл corenlp
jar, C:nltk_datastanford
поэтому я запускаю следующее и получаю немного другую ошибку.
>>> st = nltk.parse.stanford.StanfordNeuralDependencyParser('C:\nltk_data\stanford\')
Traceback (most recent call last):
File "C:Users<user>Anaconda2libsite-packagesIPythoncoreinteractiveshell.py", line 2885, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-22-28d797d702d9>", line 1, in <module>
st = StanfordNeuralDependencyParser('C:\nltk_data\stanford\')
File "C:Users<user>Anaconda2libsite-packagesnltkparsestanford.py", line 378, in __init__
super(StanfordNeuralDependencyParser, self).__init__(*args, **kwargs)
File "C:Users<user>Anaconda2libsite-packagesnltkparsestanford.py", line 51, in __init__
key=lambda model_name: re.match(self._JAR, model_name)
File "C:Users<user>Anaconda2libsite-packagesnltkinternals.py", line 635, in find_jar_iter
(name_pattern, path_to_jar))
LookupError: Could not find stanford-corenlp-(d )(.(d )) .jar jar file at C:nltk_datastanford
Я загрузил jar stanford-english-corenlp-2016-01-10-models.jar с веб -сайта Stanford NLP, а также переименовал его в stanford-corenlp-2016-01-10.jar чтобы попытаться соответствовать шаблону, но я все равно столкнулся с теми же ошибками. Я также загрузил анализатор Stanford версии 3.6.0, но он не содержит никаких файлов corenlp.
Есть ли какой-нибудь способ заставить это работать, или я что-то недопонимаю?