有什么办法可以在 nltk 查找 wordnet 语料库的位置列表中添加一个新位置?

Pro*_*oob 6 python

我无法使用 nltk wordnet lemmatizer,因为由于访问权限问题,我无法在我的大学计算机上下载 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'
**********************************************************************
Run Code Online (Sandbox Code Playgroud)

当我在家里遇到同样的问题时,我可以通过两种方式解决它:

  1. 使用nltk.download(), 标准方式和
  2. 在 location 创建一个新文件夹,/home/XX/nltk_data 然后将语料库目录粘贴到其中。

现在在大学里,我只能访问/home/XX/bin而不是/home/XX直接访问。那么无论如何我可以将wordnet语料库粘贴到其中/home/XX/bin,然后以某种方式让nltk在该文件夹中查找语料库?

Jav*_*esh 6

import nltk;
Run Code Online (Sandbox Code Playgroud)

现在,nltk.data.path是搜索模块的位置列表。你可以这样做:

nltk.data.path.append("your location/directory");
Run Code Online (Sandbox Code Playgroud)

  • 我们需要一次还是每次运行脚本时都这样做? (2认同)

小智 4

看来你需要设置环境变量“NLTK_DATA”来告诉NLTK去哪里寻找。http://nltk.org/data.html