即使我将目录下载到 nltk.data.path 的路径列表,NLTK 也找不到路径

NLTK does not find path even though I downloaded the directory to the path list of nltk.data.path

当 运行 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']

好的,现在我想下载 NLTK stopwords 数据。

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

一切正常,但是当我调用 stopwords 时,出现 OS 错误:

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

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

好吧,我认为 NLTK 会查看整个路径列表。但本质上,此错误表明它仅查看 '/home/alex/nltk_data' 而未找到数据并引发错误。

您没有为存储 NLTK 数据的目录设置环境变量 NLTK_DATABy default 安装目录是 nltk_data 在您的主目录中。

您可以通过以下方式设置:

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

或使用默认的 /home/alex/nltk_data 目录(将数据移到那里/将符号链接移到那里)。

download_dir参数只是指示暂时存储数据的位置。