Я не могу использовать лемматизатор nltk wordnet, потому что не могу загрузить корпус wordnet на свой университетский компьютер из-за проблем с правами доступа.
Когда я пытаюсь это сделать, я получаю следующую ошибку:
**********************************************************************
Resource 'corpora/wordnet' not found. Please use the NLTK Downloader
to obtain the resource: >>> nltk.download() Searched in:
- '/home/XX/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
**********************************************************************
Когда у меня дома была та же проблема, я мог решить ее двумя способами:
nltk.download()
, стандартный способ и /home/XX/nltk_data
и просто вставив в нее каталог корпуса. Теперь в университете у меня есть доступ только к /home/XX/bin
, а не к /home/XX
напрямую. Так можно ли в любом случае вставить корпус Wordnet в /home/XX/bin
, а затем каким-нибудь образом заставить nltk искать корпус в этой папке?
import nltk;
Теперь nltk.data.path
- это список мест, где искать модули. Вы можете просто сделать:
nltk.data.path.append("your location/directory");
Похоже, вам нужно установить переменную окружения "NLTK_DATA", чтобы указать NLTK, где искать. http://nltk.org/data.html
Я решил проблемы, редактируя nltk-рычаг pyinstaller. После большого исследования я решил действовать в одиночку в структуре кода. Я решил свою проблему путем комментария строк:
datas=[]
'''for p in nltk.data.path:
datas.append((p, "nltk_data"))'''
hiddenimports = ["nltk.chunk.named_entity"]
, Кроме того, необходимо переименовать файл: pyi_rth __ nltk.cpython-36.pyc к pyi_rth_nltk.cpython-36.pyc. Этот файл имеет еще 1 подчеркивание. Предупреждение с версией Python.