Подтвердить что ты не робот

Ошибка поиска NLTK

При запуске Python script с использованием NLTK я получил следующее:

Traceback (most recent call last):
  File "cpicklesave.py", line 56, in <module>
    pos = nltk.pos_tag(words)
  File "/usr/lib/python2.7/site-packages/nltk/tag/__init__.py", line 110, in pos_tag
    tagger = PerceptronTagger()
  File "/usr/lib/python2.7/site-packages/nltk/tag/perceptron.py", line 140, in __init__
    AP_MODEL_LOC = str(find('taggers/averaged_perceptron_tagger/'+PICKLE))
  File "/usr/lib/python2.7/site-packages/nltk/data.py", line 641, in find
    raise LookupError(resource_not_found)
LookupError:
**********************************************************************
  Resource u'taggers/averaged_perceptron_tagger/averaged_perceptro
  n_tagger.pickle' not found.  Please use the NLTK Downloader to
  obtain the resource:  >>> nltk.download()
  Searched in:
    - '/root/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'
**********************************************************************

Может ли кто-нибудь объяснить проблему?

4b9b3361

Ответ 2

Первый ответ сказал, что недостающим модулем является "Perceptron Tagger", на самом деле его имя в nltk.download - "averaged_perceptron_tagger"

Вы можете использовать это, чтобы исправить ошибку

nltk.download('averaged_perceptron_tagger')

Ответ 3

TL; DR

import nltk
nltk.download('averaged_perceptron_tagger')

Или загрузить все пакеты + данные + документы:

import nltk
nltk.download('all')

См. Как загрузить данные NLTK?

Ответ 4

Проблема: Ошибка поиска при извлечении счетчика векторов из scikit learn. Ниже приведен фрагмент кода.

from sklearn.feature_extraction.text import CountVectorizer
bow_transformer = CountVectorizer(analyzer=text_process).fit(X)

Решение: Попробуйте запустить приведенный ниже код, а затем попробуйте установить стоп-слова из набора инструментов для обработки естественного языка корпуса.

import nltk
nltk.download()

Ответ 5

Установите все ресурсы nltk в одну строку:

python3 -c "import nltk; nltk.download('all')"