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

阅读: 评论:0

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

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

一、官方入口

 

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

二、两个问题:

问题一:已经通过命令行或者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 

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

import paddle
able_static()
able_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在控制台中默认打印的很长一串提醒信息的able_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()able_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(&#', 'r', encoding='utf-8') as inf:text = ad()
# extract_tags和textrank是两种提取关键词的算法
print("extract_tags+weight:", act_tags(text, topK=10, withWeight=True))
print("textrank+weight:", ank(text, topK=10, withWeight=True))
print("extract_tags:", act_tags(text, topK=10))
print("textrank:", ank(text, topK=10))
print("extract_tags+筛选:", act_tags(text, topK=10, allowPOS=('n',)))
print("textrank+筛选:", ank(text, topK=10, allowPOS=('n',)))

结果展示:

本文发布于:2024-01-31 16:36:13,感谢您对本站的认可!

本文链接:https://www.4u4v.net/it/170669017429894.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:分词   模式   词性   控制台   中文
留言与评论(共有 0 条评论)
   
验证码:

Copyright ©2019-2022 Comsenz Inc.Powered by ©

网站地图1 网站地图2 网站地图3 网站地图4 网站地图5 网站地图6 网站地图7 网站地图8 网站地图9 网站地图10 网站地图11 网站地图12 网站地图13 网站地图14 网站地图15 网站地图16 网站地图17 网站地图18 网站地图19 网站地图20 网站地图21 网站地图22/a> 网站地图23