问题描述
在使用NLTK包的分词器word_tokenize时报错,下面就是原始报错信息,大意就是没有’punkt’这个资源,让我们用他提示的代码下载。
Resource punkt not found.
Please use the NLTK Downloader to obtain the resource:
import nltk
nltk.download(‘punkt’)
For more information see: https://www.nltk.org/data.html
Attempted to load tokenizers/punkt/PY3/english.pickle
Searched in:
- ‘/home/zhangshuai/nltk_data’
- ‘/home/zhangshuai/anaconda3/nltk_data’
- ‘/home/zhangshuai/anaconda3/share/nltk_data’
- ‘/home/zhangshuai/anaconda3/lib/nltk_data’
- ‘/usr/share/nltk_data’
- ‘/usr/local/share/nltk_data’
- ‘/usr/lib/nltk_data’
- ‘/usr/local/lib/nltk_data’
- ‘’
但是用他的这两句代码会出现下面的错误:
[nltk_data] Error loading punkt: <urlopen error [Errno 111] Connection
…
网上说要改什么浏览器设置,实在麻烦,尝试无果。决定手动下载直接放到他要求的文件夹下。
具体解决方法
1) 访问官方github: https://github.com/nltk/nltk_data.
2)下载代码
我以下载全部代码为例,点击Download ZIP即可。(360安全浏览器)会弹出下框,往往下载速度很慢,可以右键任务,选择“复制下载地址”,然后到迅雷去下载。其他浏览器类比一下,应该差不多。
3)下载完成后,找到zip文件解压打开
将packages复制到报错信息给出的文件夹
- ‘/home/zhangshuai/nltk_data’
- ‘/home/zhangshuai/anaconda3/nltk_data’
- ‘/home/zhangshuai/anaconda3/share/nltk_data’
- ‘/home/zhangshuai/anaconda3/lib/nltk_data’
- ‘/usr/share/nltk_data’
- ‘/usr/local/share/nltk_data’
- ‘/usr/lib/nltk_data’
- ‘/usr/local/lib/nltk_data’
我使用的第一个文件夹。
4)最后一步
看报错信息提示缺什么资源,我这次提示的是缺少’punkt’,就到packages/tokenizers找到这个zip文件,解压即可。
再次运行代码就不会报错啦~
OVER