【自然语言处理】调用NLTK数据失败‘wordnet‘和‘punkt‘不存在[Errno 11004]问题解决

wordnet报错

明明已经按照了nltk包,但使用 WordNet 语料库时依然报错提示数据不存,依据以下代码在python中下载wordnet仍然报错:

import nltk
nltk.download('wordnet')

运行后始终提示:

[nltk_data] Error loading wordnet: <urlopen error [Errno 11004]
[nltk_data]     getaddrinfo failed>
False

下载这个语料库需要翻墙,挂了梯子仍然报错,估计是网络原因已经不支持在线下载了。于是尝试手动下载。
NLTK数据库官网:https://github.com/nltk/nltk_data
在这里插入图片描述

在这里插入图片描述

再运行代码就没有问题了,但需要注意在代码中加入下面的代码以定位到自己的路径:

nltk.data.path.append('/path/to/custom/nltk_data')
#引号里是自己保存nltk数据的路径

punkt报错

好不容易解决了wordnet问题,运行到一半又提示punkt找不到了。在刚刚下载的文件夹中找到“tokenizers”文件夹,发现里面是有“punkt”文件夹的,但没有解压,把它解压一下就行。
在这里插入图片描述
在这里插入图片描述
需要注意:解压后一般会自动再创建一个punkt文件夹将解压后的文件嵌套在其中,由此出现/tokenizers/punkt/punkt的情况,这样会导致路径读取失败,所以需要删掉一个,挪一下位置,保证最后的路径是 /tokenizers/punkt,具体如下图所示。再回头运行代码就不会报错了。
在这里插入图片描述

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值