Данные токенайзеров punkt довольно велики и превышают 35 МБ , это может быть очень важно, если, как и я, вы используете nltk в среде, такой как lambda, с ограниченными ресурсами.
Если вам нужен только один или несколько языковых токенизаторов, вы можете резко уменьшить размер данных, включив только эти языки .pickle
файлы.
Если все, что вам нужно только для поддержки английского языка, тогда ваш размер данных nltk может быть уменьшен до 407 КБ (для версии Python 3).
Steps
- Загрузить данные nltk punkt: https://raw.githubusercontent.com/nltk/nltk_data/gh-pages/packages/tokenizers/punkt.zip
- Где-то в вашей среде создайте папки:
nltk_data/tokenizers/punkt
, при использовании python 3 добавьте еще одну папку PY3
, чтобы ваша новая структура каталогов выглядела как nltk_data/tokenizers/punkt/PY3
. В моем случае я создал эти папки в корне моего проекта.
- Извлеките zip и переместите файлы
.pickle
для языков, которые вы хотите поддерживать, в папку punkt
, которую вы только что создали. Примечание: пользователи Python 3 должны использовать соленья из папки PY3
. После загрузки языковых файлов это должно выглядеть примерно так: example-folder-stucture
- Теперь вам просто нужно добавить папку
nltk_data
в пути поиска, при условии, что ваши данные не находятся в одном из предопределенных путей поиска . Вы можете добавить свои данные, используя любую переменную среды NLTK_DATA='path/to/your/nltk_data'
. Вы также можете добавить собственный путь во время выполнения в python, выполнив:
from nltk import data
data.path += ['/path/to/your/nltk_data']
ПРИМЕЧАНИЕ. Если вам не нужно загружать данные во время выполнения или связывать данные с вашим кодом, лучше всего создать папки nltk_data
во встроенных местах , которые nltk ищет .