项目场景:
机器学习中有一部分是做文本分词,将文本分离成独立的单词。需要用到python包NLTK,Natural Language Toolkit,自然语言工具集,这个工具在处理文本方面有很多功能强大的操作。但是通过pip install nltk
安装后,使用过程中遇到了问题:Resource punkt not found.
问题描述
代码
from nltk.tokenize import word_tokenize
string = "The science of today is the technology of tomorrow"
# 分词
print(f"分词:\n {word_tokenize(string)}")
运行后报错如下:
LookupError: Resource punkt not found.
原因分析:
从报错来看是缺少了puntk
,需要下载解决.
解决方案:
方法一:可以按照报错提示去解决这个问题。
import nltk
nltk.download('punkt')
方法二:去网站NTLK Data下载puntk。
下载之后是一个puntk.zip压缩包,进行解压缩。
报错里还有一个提示,尝试从下面这些目录中查找tokenizers/puntk/english.pickle
。
这个puntk.zip可以解压到报错中提示的目录下,而我练习的环境是虚拟环境,所以就把puntk.zip解压到了venv中,方便管理。截图如下,注意目录nltk_data/tokenizers
是根据报错提示自己手动创建的。
puntk配置好之后,重新运行刚开始的代码,功能已经正常:
其他相似报错,解决方法基本一样:
Resource stopwords not found.
Resource averaged_perceptron_tagger not found.
Resource brown not found.
如果官方网站下载不下来,可以从这儿下:nltk相关包下载