NLTK не находит path, хотя я загрузил каталог в список путей nltk.data.path

#python #installation #nltk

#python #установка #nltk

Вопрос:

При запуске nltk.data.path я получаю следующие каталоги:

nltk.data.path

 ['/home/alex/nltk_data',
 '/home/alex/miniconda3/envs/machinelearning/nltk_data',
 '/home/alex/miniconda3/envs/machinelearning/share/nltk_data',
 '/home/alex/miniconda3/envs/machinelearning/lib/nltk_data',
 '/usr/share/nltk_data',
 '/usr/local/share/nltk_data',
 '/usr/lib/nltk_data',
 '/usr/local/lib/nltk_data']
  

Хорошо, отлично, теперь я хочу загрузить stopwords данные NLTK.

 nltk.download('stopwords',download_dir='/home/alex/miniconda3/envs/machinelearning/nltk_data')
  

Все работает нормально, но когда я вызываю stopwords ошибку ОС:

 stopwords.words('english')[0:15]

OSError: No such file or directory: '/home/alex/nltk_data/corpora/stopwords/english'
  

Ну, я подумал, что NLTK просматривает весь список путей. Но, по сути, эта ошибка предполагает, что она ищет только '/home/alex/nltk_data' то, что не находит данные и выдает ошибку.

Ответ №1:

Вы не настраиваете переменную среды NLTK_DATA для каталога, в котором вы сохранили данные NLTK. По умолчанию каталог установки находится nltk_data в вашем домашнем каталоге.

Вы можете либо установить его с помощью:

 NLTK_DATA='/home/alex/miniconda3/envs/machinelearning/nltk_data'
  

или используйте /home/alex/nltk_data каталог по умолчанию (переместите туда данные / символическую ссылку).

download_dir Параметр только указывает, где временно хранить данные.