当前位置: 首页 > 工具软件 > NLTK > 使用案例 >

NLTK

景震博
2023-12-01

1、nltk.download('stopwords'):

(1)由于实验室服务器无法连接到NLTK指定的URL,所以这里只能手动下载需要的数据,即停用词stopwords。

从运行上面代码报的错误得知,NLTK会默认搜索几个路径,以求找到本地已经下载好的nltk_data:


  Attempted to load corpora/stopwords

  Searched in:
    - '/home/XXXXXX/nltk_data'
    - '/home/XXXXXX/local/anaconda3/envs/tf1_14/nltk_data'
    - '/home/XXXXXX/local/anaconda3/envs/tf1_14/share/nltk_data'
    - '/home/XXXXXX/local/anaconda3/envs/tf1_14/lib/nltk_data'
    - '/usr/share/nltk_data'
    - '/usr/local/share/nltk_data'
    - '/usr/lib/nltk_data'
    - '/usr/local/lib/nltk_data'

XXXXXX是我服务器用户名,这里隐去,我服务器用的是Anaconda虚拟出的环境,但是每个环境都会寻找第一个目录,所以决定把该目录作为nltk_data的存放目录。

(2)新建目录 /home/XXXXXX/nltk_data

再下一级的目录创建,参考链接:http://www.nltk.org/data.html;该链接最下面有manual installation指示,即自己手动下载该数据如何处理,主要就是讲目录创建,和系统环境变量设置。

  • 首先下一级目录的创建:

从上面的报错,和manual installation 中都可知,nltk data(如stopwords) 应该放在/home/XXXXXX/nltk_data下一级目录 corpora中,故再创建目录/home/XXXXXX/nltk_data/corpora。

  • 下载数据

下载数据页 http://www.nltk.org/nltk_data/ ,在该页面下载 stopwords 的zip包,然后上传服务器的目录:/home/XXXXXX/nltk_data/corpora,unzip解压即可。

至此,手动安装 nltk_data 结束,在python脚本中运行代码:

stop_words = set(stopwords.words('english'))
print(stop_words)

就不会出错了。

  • 关于指定系统环境变量:NLTK_DATA

我在用到的虚拟环境tf1_14下指定了该环境变量,设置环境变量直接在登录服务器的bask环境下输入命令:

参考:https://www.guru99.com/linux-environment-variables.html

创建环境变量:
NLTK_DATA=/home/XXXXXX/local/share/nltk_data
验证该变量值:
echo $NLTK_DATA

这里的目录是自己想要放置该数据的目录,但是这样设置了之后,仍然无法在上面的代码中测试通过。

不知道为什么?

 类似资料: