中文分词工具jieba:代码之分词、词性标注、关键词提取与两个问题一个注意。问题一:安装jieba库成功但导入失败,问题二:paddle模式使用不了。注意:关闭paddle模式的控制台信息提示

本文主要是介绍中文分词工具jieba:代码之分词、词性标注、关键词提取与两个问题一个注意。问题一:安装jieba库成功但导入失败,问题二:paddle模式使用不了。注意:关闭paddle模式的控制台信息提示,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、官方入口

 

jieba官方项目入口:fxsjy/jieba: 结巴中文分词 (github.com)

二、两个问题:

问题一:已经通过命令行或者pycharm安装成功jieba,但是运行代码报错说“ModuleNotFoundError:No module named 'jieba' ”

解决方案:再次打开命令行输入pip install jieba,提示已经成功安装,记下路径后找到2个文件夹“jieba”和“jieba-0.42.1.dist-info”。将这两个文件夹放到我们工程文件的.py文件的同一目录下。

问题二:用paddle模式需要安装百度飞桨paddlepaddle,但是后者仅支持3.6到3.10版本的python,且要求pip 版本为 20.2.2 或更高版本。

解决方案:1、去paddle官网复制pip代码(如下),在pycharm的终端运行。

python -m pip install paddlepaddle==2.4.2 -i https://pypi.tuna.tsinghua.edu.cn/simple

2、在pycharm里写上如下代码:

import paddle
paddle.enable_static()
jieba.enable_paddle() 

三、注意事项

每次打开paddle模式,控制行都会输出很长的信息提示,如下:

想要减少其信息提示,可以在代码中增加如下两行:

import logging # 用来关闭jieba在控制台中默认打印的很长一串提醒信息的
jieba.setLogLevel(logging.WARNING) # 用来关闭jieba在控制台中默认打印的很长一串提醒信息的

之后就只会输出如下的信息了:

四、demo代码

text文件准备:

“哇!”危丽站在一栋新实验楼前,和旁边长大的小丽一起仰头打量半天,忍不住感叹,“以后我就在这里工作?”第九农学基地进行了两年的扩建,新实验楼共建七栋,因为转来的研究员不多,目前只有两栋开放,但每栋实验楼规模都不小。“我们是第一批搬来的研究员,可以选实验室。”严静水拖着行李,“听说这里的实验室很不错。”从中央农学研究院转到第九农学基地,他们还是第一批,也算是领头人,未来这里发展状况,还得看之后的成果。“你们来了。”赵离浓的声音从后方传来。两人回头看去,便见到她衣袖叠高,露出小臂,双手上还带着水珠,应该是刚洗完手,脚上穿着一双黑色雨靴,鞋底扒了厚厚一层黄泥。“小赵,好几个月没见了!”危丽直接扑过去抱住赵离浓,蹭过去的脸被推开,也丝毫不在意,“我带了风干鸡肉,晚上一起吃!”旁边严静水根本没眼看下去:“别磨蹭了,我们去选实验室。”“我换双鞋。”赵离浓立刻转移话题,在实验大楼门口鞋柜换了鞋子才进去。严静水等在旁边,发了张清单给她:“我们这次过来,带了几样实验仪器,体积比较大,装在货运列车上,明天下午三点到。”赵离浓点开一看,全是他们现在缺的实验设备,她低头笑了笑,很高兴:“明天我让人去对接,搬到实验室。”严静水还带来了一些别的消息:“罗家虽然出了事,但经调查罗翻雪没有牵扯其中,所以她还留在中央研究院,身份不变。”不过,高级研究员通道打开,这次她没有升上去,后面只能靠自己再去争取,一直在申请基地外工作。实验室选好后,严静水和危丽也算彻底安定下来,以后的发展就在这边。危丽很快活,这里面积广,很适合她遛鸡,不像在中央基地,她时刻都得照顾其他人的心理承受能力。但很快,她收到了第九

demo代码:

import jieba
import jieba.posseg as pseg
import paddle
import jieba.analyse
import logging # 用来关闭jieba在控制台中默认打印的很长一串提醒信息的paddle.enable_static()jieba.setLogLevel(logging.WARNING) # 用来关闭jieba在控制台中默认打印的很长一串提醒信息的print("jieba分词返回的类型", jieba.cut("我是小明"))print("****************精确模式:试图将句子最精确地切开,适合文本分析***********************")# jieba.lcut以及jieba.lcut_for_search直接返回list
# 而jieba.cut以及jieba.cut_for_search返回一个迭代器。
print("list+cut演示:", list(jieba.cut("我是小明")))
print("lcut演示:", jieba.lcut("我是小明"))
print()# HMM模型是用来处理未登录词的,直接lcut(s)是默认关闭HMM模型的。
print("HMM打开:", jieba.lcut("小明硕士毕业于中国科学院计算所,后在日本京都大学深造", HMM=True))
# print()print("HMM关闭:", jieba.lcut("小明硕士毕业于中国科学院计算所,后在日本京都大学深造", HMM=False))
print()print("****************搜索引擎模式:在精确模式的基础上,对长词再次切分,适合用于搜索引擎分词****************")
print(jieba.lcut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造"))
print()print("****************全模式:把句子中所有的可以成词的词语都扫描出来, 速度非常快,但是不能解决歧义***********")
print(jieba.lcut("小明硕士毕业于中国科学院计算所,后在日本京都大学深造", cut_all=True))
print()jieba.enable_paddle()
print("****************paddle模式,支持词性标注。一般与HMM模型结合,更好地处理未登录词***********")
print("HMM打开的paddle:", jieba.lcut("小明硕士毕业于中国科学院计算所,后在日本京都大学深造", HMM=True))
print("HMM关闭的paddle:", jieba.lcut("小明硕士毕业于中国科学院计算所,后在日本京都大学深造", HMM=False))
print()print("***************************词性标注**************************")
s = "那个球状闪电呈橘红色,拖着一条不太长的尾巴"
print(pseg.lcut(s))
print("paddle模式下", pseg.lcut(s, use_paddle=True))
print()print("***************************关键词提取**************************")
text = ''
with open('in.txt', 'r', encoding='utf-8') as inf:text = inf.read()
# extract_tags和textrank是两种提取关键词的算法
print("extract_tags+weight:", jieba.analyse.extract_tags(text, topK=10, withWeight=True))
print("textrank+weight:", jieba.analyse.textrank(text, topK=10, withWeight=True))
print("extract_tags:", jieba.analyse.extract_tags(text, topK=10))
print("textrank:", jieba.analyse.textrank(text, topK=10))
print("extract_tags+筛选:", jieba.analyse.extract_tags(text, topK=10, allowPOS=('n',)))
print("textrank+筛选:", jieba.analyse.textrank(text, topK=10, allowPOS=('n',)))

结果展示:

这篇关于中文分词工具jieba:代码之分词、词性标注、关键词提取与两个问题一个注意。问题一:安装jieba库成功但导入失败,问题二:paddle模式使用不了。注意:关闭paddle模式的控制台信息提示的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/557130

相关文章

win10安装及配置Gradle全过程

《win10安装及配置Gradle全过程》本文详细介绍了Gradle的下载、安装、环境变量配置以及如何修改本地仓库位置,通过这些步骤,用户可以成功安装并配置Gradle,以便进行项目构建... 目录一、Gradle下载1.1、Gradle下载地址1.2、Gradle下载步骤二、Gradle安装步骤2.1、安

IDEA和GIT关于文件中LF和CRLF问题及解决

《IDEA和GIT关于文件中LF和CRLF问题及解决》文章总结:因IDEA默认使用CRLF换行符导致Shell脚本在Linux运行报错,需在编辑器和Git中统一为LF,通过调整Git的core.aut... 目录问题描述问题思考解决过程总结问题描述项目软件安装shell脚本上git仓库管理,但拉取后,上l

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

idea npm install很慢问题及解决(nodejs)

《ideanpminstall很慢问题及解决(nodejs)》npm安装速度慢可通过配置国内镜像源(如淘宝)、清理缓存及切换工具解决,建议设置全局镜像(npmconfigsetregistryht... 目录idea npm install很慢(nodejs)配置国内镜像源清理缓存总结idea npm in

pycharm跑python项目易出错的问题总结

《pycharm跑python项目易出错的问题总结》:本文主要介绍pycharm跑python项目易出错问题的相关资料,当你在PyCharm中运行Python程序时遇到报错,可以按照以下步骤进行排... 1. 一定不要在pycharm终端里面创建环境安装别人的项目子模块等,有可能出现的问题就是你不报错都安装

Java集合之Iterator迭代器实现代码解析

《Java集合之Iterator迭代器实现代码解析》迭代器Iterator是Java集合框架中的一个核心接口,位于java.util包下,它定义了一种标准的元素访问机制,为各种集合类型提供了一种统一的... 目录一、什么是Iterator二、Iterator的核心方法三、基本使用示例四、Iterator的工

Java 线程池+分布式实现代码

《Java线程池+分布式实现代码》在Java开发中,池通过预先创建并管理一定数量的资源,避免频繁创建和销毁资源带来的性能开销,从而提高系统效率,:本文主要介绍Java线程池+分布式实现代码,需要... 目录1. 线程池1.1 自定义线程池实现1.1.1 线程池核心1.1.2 代码示例1.2 总结流程2. J

idea突然报错Malformed \uxxxx encoding问题及解决

《idea突然报错Malformeduxxxxencoding问题及解决》Maven项目在切换Git分支时报错,提示project元素为描述符根元素,解决方法:删除Maven仓库中的resolv... 目www.chinasem.cn录问题解决方式总结问题idea 上的 maven China编程项目突然报错,是

Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题

《Python爬虫HTTPS使用requests,httpx,aiohttp实战中的证书异步等问题》在爬虫工程里,“HTTPS”是绕不开的话题,HTTPS为传输加密提供保护,同时也给爬虫带来证书校验、... 目录一、核心问题与优先级检查(先问三件事)二、基础示例:requests 与证书处理三、高并发选型:

JS纯前端实现浏览器语音播报、朗读功能的完整代码

《JS纯前端实现浏览器语音播报、朗读功能的完整代码》在现代互联网的发展中,语音技术正逐渐成为改变用户体验的重要一环,下面:本文主要介绍JS纯前端实现浏览器语音播报、朗读功能的相关资料,文中通过代码... 目录一、朗读单条文本:① 语音自选参数,按钮控制语音:② 效果图:二、朗读多条文本:① 语音有默认值:②