При попытке загрузить punkt
токенизатор ...
import nltk.data
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')
... LookupError
был поднят:
> LookupError:
> *********************************************************************
> Resource 'tokenizers/punkt/english.pickle' not found. Please use the NLTK Downloader to obtain the resource: nltk.download(). Searched in:
> - 'C:\\Users\\Martinos/nltk_data'
> - 'C:\\nltk_data'
> - 'D:\\nltk_data'
> - 'E:\\nltk_data'
> - 'E:\\Python26\\nltk_data'
> - 'E:\\Python26\\lib\\nltk_data'
> - 'C:\\Users\\Martinos\\AppData\\Roaming\\nltk_data'
> **********************************************************************
>>> nltk.download()
Ответы:
У меня была такая же проблема. Зайдите в оболочку Python и введите:
Затем появится окно установки. Перейдите на вкладку «Модели» и выберите «пункт» из столбца «Идентификатор». Затем нажмите «Загрузить», и он установит необходимые файлы. Тогда это должно работать!
источник
tokenizer = nltk.data.load('nltk:tokenizers/punkt/english.pickle')
должны работать , и вы можете использовать токенизатор так:tokenizer.tokenize('The cat. The mat. It Sat.')
. Здесь nltk пытается разрешить относительный путь вtokenizers/punkt/english.pickle
нескольких местах. Например, в Windows это выглядит как%APPDATA%\nltk_data\tokenizers\punkt\english.pickle
илиC:\nltk_data\tokenizers\punkt\english.pickle
(то же самое для D: и E :). Поэтому, если вы убедитесь, что файл punkt.zip разархивирован таким образом, что существует одно из этих мест, он сможет найти его.NLTK_DATA
переменную среды так, чтобы она указывала на папку nltk_data, чтобы она%NLTK_DATA%\tokenizers\punkt\english.pickle
существовала.ssh
соединение), окно GUI не будет отображаться и, следовательно, не будет вкладки «Модели».Вы можете сделать это так.
Вы можете скачать токенизаторы, передав их
punkt
в качестве аргументаdownload
функции. Затем токенайзеры слов и предложений доступны наnltk
.Если вы хотите , чтобы загрузить все то есть
chunkers
,grammars
,misc
,sentiment
,taggers
,corpora
,help
,models
,stemmers
,tokenizers
, не проходят никаких аргументов , как это.Смотрите это для получения дополнительной информации. https://www.nltk.org/data.html
источник
python -c "import nltk; nltk.download('punkt')" [nltk_data] Downloading package punkt to /home/my_user/nltk_data... [nltk_data] Error downloading 'punkt' from [nltk_data] <https://raw.githubusercontent.com/nltk/nltk_data/gh- [nltk_data] pages/packages/tokenizers/punkt.zip>: HTTP Error [nltk_data] 503: first byte timeout
Вот что сработало для меня только сейчас:
предложений_токенизация - это список списка токенов:
Предложения были взяты из примера записной книжки ipython, сопровождающей книгу «Mining the Social Web, 2nd Edition»
источник
Из командной строки bash запустите:
источник
nltk_data
в моем домашнем каталоге и сохраняет пункт в нем. У меня есть Fedora 27, Py3.6.Это работает для меня:
В Windows вы также получите загрузчик NLTK
источник
Простой
nltk.download()
не решит эту проблему. Я попробовал ниже, и это сработало для меня:в
nltk
папке создайтеtokenizers
папку и скопируйте вашуpunkt
папку вtokenizers
папку.Это будет работать. структура папок должна быть такой, как показано на рисунке! 1
источник
У nltk есть свои предварительно обученные модели токенизаторов. Модель загружается из предварительно определенных веб-источников и сохраняется по пути установленного пакета nltk, выполняя следующие возможные вызовы функций.
Например, 1 tokenizer = nltk.data.load ('nltk: tokenizers / punkt / english.pickle')
Например, 2 nltk.download ('пункт')
Если вы вызываете вышеприведенное предложение в своем коде, убедитесь, что у вас есть подключение к Интернету без каких-либо брандмауэров.
Я хотел бы поделиться более лучшим альтернативным способом решения вышеуказанной проблемы с более глубоким пониманием.
Пожалуйста, выполните следующие шаги и наслаждайтесь токенизацией английского слова, используя nltk.
Шаг 1: Сначала загрузите модель "english.pickle", следуя веб-пути.
Перейдите по ссылке « http://www.nltk.org/nltk_data/ » и нажмите «скачать» в опции «107. Модели токенайзера Punkt»
Шаг 2: Извлеките загруженный файл «punkt.zip», найдите из него файл «english.pickle» и поместите его на диск C.
Шаг 3: скопируйте вставьте следующий код и выполните.
Дайте мне знать, если у вас возникнут проблемы
источник
На Дженкинс это может быть исправлено путем добавления следующего подобным кода в Virtualenv Builder под сборкой вкладки:
python -m nltk.downloader punkt
источник
я столкнулся с этой проблемой, когда я пытался сделать pos-теги в nltk. способ, которым я получил это правильно, состоит в том, чтобы создать новый каталог вместе с корпоративным каталогом с именем "taggers" и скопировать max_pos_tagger в тегах каталога.
надеюсь, что это работает и для вас. удачи с ним !!!
источник
В Spyder перейдите в свою активную оболочку и загрузите nltk, используя нижеприведенные 2 команды. import nltk nltk.download () Затем вы должны увидеть окно загрузчика NLTK, открытое, как показано ниже, перейдите на вкладку «Модели» в этом окне, нажмите «пункт» и загрузите «пункт»
источник
Проверьте, есть ли у вас все библиотеки NLTK.
источник
Данные токенайзеров punkt довольно велики - более 35 МБ , это может быть очень важно, если, как и я, вы запускаете nltk в среде, такой как lambda, с ограниченными ресурсами.
Если вам нужен только один или, возможно, несколько языковых токенизаторов, вы можете резко уменьшить размер данных, включив только эти языки.
.pickle
файлы.Если вам требуется только поддержка английского языка, размер данных nltk может быть уменьшен до 407 КБ (для версии Python 3).
меры
nltk_data/tokenizers/punkt
при использовании python 3 добавьте еще одну папку,PY3
чтобы ваша новая структура каталогов выглядела такnltk_data/tokenizers/punkt/PY3
. В моем случае я создал эти папки в корне моего проекта..pickle
файлы для языков, которые вы хотите поддерживать, вpunkt
папку, которую вы только что создали. Примечание: пользователи Python 3 должны использовать соленья изPY3
папки. С загруженными языковыми файлами это должно выглядеть примерно так: example-folder-stucturenltk_data
папку в пути поиска, предполагая, что ваши данные не находятся в одном из предопределенных путей поиска . Вы можете добавить свои данные, используя любую переменную средыNLTK_DATA='path/to/your/nltk_data'
. Вы также можете добавить собственный путь во время выполнения в Python, выполнив:ПРИМЕЧАНИЕ. Если вам не нужно загружать данные во время выполнения или связывать данные с вашим кодом, было бы лучше создать
nltk_data
папки во встроенных местах, которые ищет nltk .источник
nltk.download()
не решит эту проблему. Я попробовал ниже, и это сработало для меня:в
'...AppData\Roaming\nltk_data\tokenizers'
папке, извлеките загруженнуюpunkt.zip
папку в том же месте.источник
В
Python-3.6
I можно увидеть предложение в отладочных сообщениях . Это довольно полезно. Поэтому я скажу вам, ребята, чтобы вы обратили внимание на ошибку, которую вы получили, в большинстве случаев ответы находятся внутри этой проблемы;).И затем, как предлагают другие люди здесь, либо с помощью терминала Python, либо с помощью команды, как
python -c "import nltk; nltk.download('wordnet')"
мы можем установить их на лету. Вам просто нужно выполнить эту команду один раз, и тогда она сохранит данные локально в вашем домашнем каталоге.источник
У меня была похожая проблема при использовании назначенной папки для нескольких загрузок, и мне пришлось добавить путь к данным вручную:
однократная загрузка, может быть достигнута следующим образом (работает)
Этот код работает, это означает, что nltk запоминает путь загрузки, переданный в функции загрузки. С другой стороны, если я загружаю последующий пакет, я получаю ошибку, описанную пользователем:
Несколько загрузок вызывают ошибку:
Ошибка:
Ресурсный пункт не найден. Пожалуйста, используйте NLTK Downloader для получения ресурса:
import nltk nltk.download ('пункт')
Теперь, если я добавляю путь данных ntlk к моему пути загрузки, он работает:
Это работает ... Не знаю, почему работает в одном случае, но не в другом, но сообщение об ошибке, похоже, подразумевает, что оно не регистрируется в папке загрузки во второй раз. Примечание: использование windows8.1 / python3.7 / nltk3.5
источник