Я использую Python 3.6 на ноутбуках Azure Jupyter на win8.1 64x для своих проектов НЛП.Я пытался установить Stanford NER Tagger.Я скачал java и все три компонента
1) stanford-ner-2015-12-09, 2) stanford-parser-full-2018-10-17, 3) stanford-postagger-2015-12-09
и загрузил эти три в мой каталог на ноутбуках Azure Jupyter.Чтобы протестировать Stanford NER Tagger, я запустил следующие коды в соответствии с рекомендациями https://pythonprogramming.net/named-entity-recognition-stanford-ner-tagger/
# -*- coding: utf-8 -*-
from nltk.tag import StanfordNERTagger
from nltk.tokenize import word_tokenize
st = StanfordNERTagger('/usr/share/stanford-ner/classifiers/english.all.3class.distsim.crf.ser.gz',
'/usr/share/stanford-ner/stanford-ner.jar',
encoding='utf-8')
text = 'While in France, Christine Lagarde discussed short-term stimulus efforts in a recent interview with the Wall Street Journal.'
tokenized_text = word_tokenize(text)
classified_text = st.tag(tokenized_text)
print(classified_text)
, но получил приведенную ниже ошибку поиска, которая в основном предполагает установку переменной в CLASSPATH.Я установил много пакетов на ноутбуках Azure Jupyter и раньше, но это первый раз, когда задают настройку среды CLASSPATH.Я просмотрел доступные документы в Интернете, но, к сожалению, до сих пор никто не решал эту проблему для среды Azure Jupyter.Я ценю вашу помощь.
---------------------------------------------------------------------------
LookupError Traceback (most recent call last)
<ipython-input-7-b3696afa5972> in <module>
4 from nltk.tokenize import word_tokenize
5
----> 6 st = StanfordNERTagger('stanford-ner.jar',encoding='utf-8')
7
8 text = 'While in France, Christine Lagarde discussed short-term stimulus efforts in a recent interview with the Wall Street Journal.'
~/anaconda3_501/lib/python3.6/site-packages/nltk/tag/stanford.py in __init__(self, *args, **kwargs)
178
179 def __init__(self, *args, **kwargs):
--> 180 super(StanfordNERTagger, self).__init__(*args, **kwargs)
181
182 @property
~/anaconda3_501/lib/python3.6/site-packages/nltk/tag/stanford.py in __init__(self, model_filename, path_to_jar, encoding, verbose, java_options)
61 self._JAR, path_to_jar,
62 searchpath=(), url=_stanford_url,
---> 63 verbose=verbose)
64
65 self._stanford_model = find_file(model_filename,
~/anaconda3_501/lib/python3.6/site-packages/nltk/__init__.py in find_jar(name_pattern, path_to_jar, env_vars, searchpath, url, verbose, is_regex)
719 searchpath=(), url=None, verbose=False, is_regex=False):
720 return next(find_jar_iter(name_pattern, path_to_jar, env_vars,
--> 721 searchpath, url, verbose, is_regex))
722
723
~/anaconda3_501/lib/python3.6/site-packages/nltk/__init__.py in find_jar_iter(name_pattern, path_to_jar, env_vars, searchpath, url, verbose, is_regex)
714 (name_pattern, url))
715 div = '='*75
--> 716 raise LookupError('\n\n%s\n%s\n%s' % (div, msg, div))
717
718 def find_jar(name_pattern, path_to_jar=None, env_vars=(),
LookupError:
===========================================================================
NLTK was unable to find stanford-ner.jar! Set the CLASSPATH
environment variable.
For more information, on stanford-ner.jar, see:
<https://nlp.stanford.edu/software>