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


Мой Код:

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

сообщение об ошибке:

[ec2-user@ip-172-31-31-31 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 опций, но все равно проблема сохраняется.

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

13 75

13 ответов:

добавить алвас-ответ, вы можете скачать только punkt corpus:

nltk.download('punkt')

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

Если вы хотите только скачать punkt модель:

import nltk
nltk.download('punkt')

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

import nltk
nltk.download('popular')

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

Я нашел решение:

import nltk
nltk.download()

после того, как в nltk загрузчик начинается

D) загрузка L) список u) обновление c) конфигурация h) справка q) выход

Downloader> d

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

из оболочки вы можете выполнить:

sudo python -m nltk.downloader punkt 

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

sudo python -m nltk.downloader popular

если вы хотите установить все nltk corpora / models:

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"))'

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

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

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

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

перейдите в консоль python, введя

$ python

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

>> nltk.скачать('пункт') >> в nltk.скачать('averaged_perceptron_tagger')

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

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

поэтому я просто рекурсивно скопировал все из места загрузки в один из путей, где NLTK искал его следующим образом:

cp -R /root/nltk_data/ /home/ubuntu/nltk_data
  1. выполните следующий код:

    import nltk
    nltk.download()
    
  2. после этого появится загрузчик NLTK.

  3. выбрать все пакеты.
  4. скачать punkt.
import nltk
nltk.download('punkt')

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

на sent_tokenize

простой nltk.загрузка () не решит эту проблему. Я попробовал ниже и это сработало для меня:

в папке nltk создайте папку tokenizers и скопируйте папку punkt в папку tokenizers.

Это будет работать.! структура папок должна быть такой, как показано на рисунке

вам нужно переставить папки Двигай на nltk_data папка. Это не работает, если у вас есть nltk_data папка, содержащая содержащих tokenizers папку

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

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