Установите переменную среды CLASSPATH Azure Jupyter - PullRequest
0 голосов
/ 13 ноября 2018

Я использую 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>
...