通常我们在终端是不能用nltk.download(‘punkt’)下载的
在使用nltk这个工具包时,需要的数据通常是不能通过nltk.download(‘xxx’)下载下来的,我们可以从官网http://www.nltk.org/nltk_data/
上下载需要的数据,比如punkt、stopwords等等
那么下载后的punkt放到哪里呢???
我们打开python
import nltk
nltk.word_tokenize("dsd dcascacav ds")
不出意外的话,他应该是显示如下问题:
我们看它显示的Searched in: 说明它是在列出的那几个目录中寻找punkt的位置。(注意我这是Ubuntu系统)
那么我们尝试着把punkt.zip放到/home/sun_xh/anaconda3/nltk_data下,注意要解压的。
也就是说现在你的电脑上有目录/home/sun_xh/anaconda3/nltk_data/punkt
(注意具体你的路径名称什么样,取决于你的python路径)
现在我们再尝试
import nltk
nltk.word_tokenize("dsd dcascacav ds")
结果呢?
还TMD的是
,这尼玛什么情况。而我们观察黄色字体发现Attempted to load tokenizers/punkt/PY3/english.pickle
punkt/PY3/english.pickle这个我们是知道的,它的完整路径是/home/sun_xh/anaconda3/nltk_data/punkt/PY3/english.pickle
那么tokenizers是什么呢,于是我们尝试在nltk_data下创建tokenizers文件夹,把punkt放到tokenizers文件夹中。
所以此时的punkt的路径是:
/home/sun_xh/anaconda3/nltk_data/tokenizers/punkt
再尝试一遍
import nltk
nltk.word_tokenize("dsd dcascacav ds")
OK了!
在使用nltk这个工具包时,需要的数据通常是不能通过nltk.download(‘xxx’)下载下来的,我们可以从官网http://www.nltk.org/nltk_data/
上下载需要的数据,比如punkt、stopwords等等,然后按照上述流程将下载的数据放到对应的位置,即可使用nltk了。