运行nltk俄语词性标注代码提示No module named 'nltk'如何解决
ModuleNotFoundError: No module named 'nltk' 报错解决方案
报错原因
当前Python运行环境未安装nltk第三方依赖库,或者未导入对应功能方法、缺少nltk功能数据包。
操作步骤
1. 安装nltk库
打开命令行终端执行对应安装命令:
- 普通Python环境执行:
pip install nltk - Conda环境执行:
conda install nltk - 若系统同时安装Python2和Python3,可替换为
pip3 install nltk指定Python3环境安装
安装后可执行
pip show nltk查看安装路径,确认和你运行代码的Python解释器路径一致,避免多环境冲突。
2. 下载nltk功能数据包
代码用到的俄语分词、词性标注功能需要额外下载官方数据包,可在代码中添加下载逻辑,首次运行完成后可注释对应代码:
import nltk nltk.download('punkt') # 分词功能依赖包 nltk.download('averaged_perceptron_tagger_rus') # 俄语词性标注模型
3. 补全代码导入语句
你的代码缺少对应方法的导入声明,需在代码开头添加导入逻辑,修正后的完整可运行代码如下:
from nltk.tokenize import word_tokenize from nltk.tag import pos_tag import nltk # 首次运行完成后可注释下面两行 nltk.download('punkt') nltk.download('averaged_perceptron_tagger_rus') sentence = "Какой был шквал?" tokenized = word_tokenize(sentence) pos_tagged = pos_tag(tokenized, lang='rus') print(pos_tagged) key_words = [] for word, pos in pos_tagged: if pos == 'V' or pos == 'S': key_words.append(word) # 原代码缩进错误,移出循环避免每次迭代都打印结果 print(key_words)
内容的提问来源于stack exchange,提问作者Влад
相关产品推荐
相关产品推荐

