【机器学习bug记录】windows安装NLTK包报错:Resource punkt not found.

项目场景:

机器学习中有一部分是做文本分词,将文本分离成独立的单词。需要用到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.
【机器学习bug记录】windows安装NLTK包报错:Resource punkt not found._第1张图片


原因分析:

从报错来看是缺少了puntk,需要下载解决.


解决方案:

方法一:可以按照报错提示去解决这个问题。

import nltk
nltk.download('punkt')

方法二:去网站NTLK Data下载puntk。
【机器学习bug记录】windows安装NLTK包报错:Resource punkt not found._第2张图片
下载之后是一个puntk.zip压缩包,进行解压缩。

报错里还有一个提示,尝试从下面这些目录中查找tokenizers/puntk/english.pickle

【机器学习bug记录】windows安装NLTK包报错:Resource punkt not found._第3张图片
这个puntk.zip可以解压到报错中提示的目录下,而我练习的环境是虚拟环境,所以就把puntk.zip解压到了venv中,方便管理。截图如下,注意目录nltk_data/tokenizers是根据报错提示自己手动创建的。
【机器学习bug记录】windows安装NLTK包报错:Resource punkt not found._第4张图片

puntk配置好之后,重新运行刚开始的代码,功能已经正常:
功能正常

其他相似报错,解决方法基本一样:
Resource stopwords not found.
【机器学习bug记录】windows安装NLTK包报错:Resource punkt not found._第5张图片
Resource averaged_perceptron_tagger not found.
【机器学习bug记录】windows安装NLTK包报错:Resource punkt not found._第6张图片

Resource brown not found.
【机器学习bug记录】windows安装NLTK包报错:Resource punkt not found._第7张图片

如果官方网站下载不下来,可以从这儿下:nltk相关包下载

你可能感兴趣的:(机器学习,机器学习,python)