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

Ресурс u'tokenizers/punkt/english.pickle 'не найден

Мой код:

import nltk.data
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')

Сообщение ERROR:

[[email protected] sentiment]$ python mapper_local_v1.0.py
Traceback (most recent call last):
File "mapper_local_v1.0.py", line 16, in <module>

    tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 774, in load

    opened_resource = _open(resource_url)

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 888, in _open

    return find(path_, path + ['']).open()

File "/usr/lib/python2.6/site-packages/nltk/data.py", line 618, in find

    raise LookupError(resource_not_found)

LookupError:

Resource u'tokenizers/punkt/english.pickle' not found.  Please
use the NLTK Downloader to obtain the resource:

    >>>nltk.download()

Searched in:
- '/home/ec2-user/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
- u''

Я пытаюсь запустить эту программу на машине Unix:

В соответствии с сообщением об ошибке я вошел в оболочку python с моей машины unix, затем использовал следующие команды:

import nltk
nltk.download()

а затем я загрузил все доступные вещи, используя d-down loader и l-list options, но проблема все еще сохраняется.

Я изо всех сил пытался найти решение в Интернете, но я получил то же решение, что и я, как я упоминал в своих предыдущих шагах.

4b9b3361

Ответ 1

Я получил решение:

import nltk
nltk.download()

после запуска загрузчика NLTK

d) Загрузить l) Список u) Обновить c) Конфигурация h) Справка q) Выход

Downloader > d

Загрузите какой пакет (l = list; x = cancel)? Идентификатоp > punkt

Ответ 2

Чтобы добавить к ответ alvas, вы можете загрузить только punkt corpus:

nltk.download('punkt')

Загрузка all звучит как излишество для меня. Если это не то, что вы хотите.

Ответ 3

Если вы хотите загрузить только модель punkt:

import nltk
nltk.download('punkt')

Если вы не знаете, какие данные/модели вам нужны, вы можете установить популярные наборы данных, модели и тегеры из NLTK:

import nltk
nltk.download('popular')

С помощью указанной команды нет необходимости использовать графический интерфейс для загрузки наборов данных.

Ответ 4

Из оболочки, которую вы можете выполнить:

sudo python -m nltk.downloader punkt 

Если вы хотите установить популярные корпуса/модели NLTK:

sudo python -m nltk.downloader popular

Если вы хотите установить все корпуса/модели NLTK:

sudo python -m nltk.downloader all

Чтобы перечислить загруженные вами ресурсы:

python -c 'import os; import nltk; print os.listdir(nltk.data.find("corpora"))'
python -c 'import os; import nltk; print os.listdir(nltk.data.find("tokenizers"))'

Ответ 5

То же самое случилось со мной в последнее время, вам просто нужно скачать пакет "punkt", и он должен работать.

Когда вы выполняете "список" (l) после того, как "загрузили все доступные вещи", все отмечено как следующая строка:

[*] punkt............... Punkt Tokenizer Models

Если вы видите эту строку со звездой, это означает, что у вас есть это, и nltk должен иметь возможность ее загрузить.

Ответ 6

import nltk
nltk.download('punkt')

Откройте приглашение Python и запустите приведенные выше инструкции.

Функция sent_tokenize использует экземпляр PunktSentenceTokenizer из nltk.tokenize.punkt. Этот экземпляр уже прошел обучение и хорошо работает многие европейские языки. Таким образом, он знает, какие знаки препинания и символы означают конец предложение и начало нового предложения.

Ответ 7

Перейдите в консоль python, набрав

$python

в вашем терминале. Затем введите следующие 2 команды в оболочке python для установки соответствующих пакетов:

→ nltk.download('punkt') → nltk.download('averaged_perceptron_tagger')

Это решило проблему для меня.

Ответ 8

Моя проблема заключалась в том, что я назвал nltk.download('all') в качестве пользователя root, но процесс, который в конечном итоге использовал nltk, был другим пользователем, у которого не было доступа к /root/nltk _data, где был загружен контент.

Итак, я просто рекурсивно скопировал все, начиная с места загрузки, до одного из путей, где NLTK искал его так:

cp -R /root/nltk_data/ /home/ubuntu/nltk_data

Ответ 9

  • Выполните следующий код:

    import nltk
    nltk.download()
    
  • После этого выйдет NLTK-загрузчик.

  • Выберите все пакеты.
  • Загрузить punkt.

Ответ 11

Вам нужно изменить порядок папок Переместите папку tokenizers в папку nltk_data. Это не работает, если у вас есть папка nltk_data, содержащая папку corpora, содержащую tokenizers папку

Ответ 12

Для меня ничего из вышеописанного не было, поэтому я просто загрузил все файлы вручную с веб-сайта http://www.nltk.org/nltk_data/, и я их поместил также вручную в файле "токенизаторы" внутри папки "nltk_data". Не очень хорошее решение, но решение.

Ответ 13

Я столкнулся с той же проблемой. После загрузки всего, все еще была ошибка "пункт". Я искал пакет на моей машине с Windows по адресу C:\Users\vaibhav\AppData\Roaming\nltk_data\tokenizers и вижу там "punkt.zip". Я понял, что каким-то образом zip не был извлечен в C:\Users\vaibhav\AppData\Roaming\nltk_data\tokenizers\punk. Как только я извлек почтовый индекс, он работал как музыка.

Ответ 14

После добавления этой строки кода проблема будет исправлена:

nltk.download('punkt')