Downloader to obtain the resource: >>> nltk.download())
一、问题描述
在kaggle中使用
nltk.download('wordnet')
[nltk_data] Downloading package wordnet to /usr/share/nltk_data
[nltk_data] Package wordnet is already up-to-date!
提示wordnet已存在,但是还在报错
Resource 'corpora/wordnet' not found. Please use the NLTK
Downloader to obtain the resource: >>> nltk.download()
Searched in:
- '/root/nltk_data'
- '/usr/share/nltk_data'
- '/usr/local/share/nltk_data'
- '/usr/lib/nltk_data'
- '/usr/local/lib/nltk_data'
二、解决方法
我们打印下上述nltk指出的wordnet包路径下的文件
import os
for dirname, _, filenames in os.walk('/usr/share/nltk_data/corpora'):
for filename in filenames:
print(os.path.join(dirname, filename))
发现
是个压缩包
使用下面方法对wordnet.zip进行解压
!unzip /usr/share/nltk_data/corpora/wordnet.zip -d /usr/share/nltk_data/corpora/
完美解决。
所以是nltk只查询包存不存在(不管是压缩包还是解压后的),检测到压缩包存在,调用的时候没解包就出问题了。