浅谈python常见四款分词工具,哪个更好用你知道吗?
Admin 2021-05-18 群英技术资讯 2461 次浏览
分词工具在Python中,会经常使用到,而比较常的分词工具有jieba 分词、pkuseg 分词、FoolNLTK 分词和THULAC,这四种,那么究竟哪个更好用呢?
分词在自然语言处理中有着常见的场景,比如从一篇文章自动提取关键词就需要用到分词工具,中文搜索领域同样离不开分词。Python 中有很多开源的分词工具,下面给大家介绍几款常见的分词依赖库
“结巴” 分词,GitHub 最受欢迎的分词工具,立志做最好的 Python 中文分词组件,支持多种分词模式,支持自定义词典
github star:26k
代码示例
import jieba
strs=["我来到北京清华大学","乒乓球拍卖完了","中国科学技术大学"]
for str in strs:
seg_list = jieba.cut(str,use_paddle=True) # 使用paddle模式
print("Paddle Mode: " + '/'.join(list(seg_list)))
seg_list = jieba.cut("我来到北京清华大学", cut_all=True)
print("全模式: " + "/ ".join(seg_list)) # 全模式
seg_list = jieba.cut("我来到北京清华大学", cut_all=False)
print("精确模式: " + "/ ".join(seg_list)) # 精确模式
seg_list = jieba.cut("他来到了网易杭研大厦") # 默认是精确模式
print("新词识别:", ",".join(seg_list))
seg_list = jieba.cut_for_search("小明硕士毕业于中国科学院计算所,后在日本京都大学深造") # 搜索引擎模式
print("搜索引擎模式:", ".join(seg_list))
输出:
【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学 【精确模式】: 我/ 来到/ 北京/ 清华大学 【新词识别】:他, 来到, 了, 网易, 杭研, 大厦 (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了) 【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造
pkuseg 是北大语言计算与机器学习研究组开源的一款分词工具。它的特点是支持多领域分词,目前支持新闻领域,网络领域,医药领域,旅游领域,以及混合领域的分词预训练模型,用户可以自由地选择不同的模型。相比通用分词工具,它的分词准确率更高
github star:5.4k
代码示例
import pkuseg
seg = pkuseg.pkuseg() # 以默认配置加载模型
text = seg.cut('python是一门很棒的语言') # 进行分词
print(text)
输出
['python', '是', '一', '门', '很', '棒', '的', '语言']
基于 BiLSTM 模型训练而成,据说可能是最准的开源中文分词,同样支持用户自定义词典
GitHub star: 1.6k
代码示例
import fool text = "一个傻子在北京" print(fool.cut(text)) # ['一个', '傻子', '在', '北京']
THULAC 由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包。具有词性标注功能,能分析出某个词是名词还是动词或者形容词
github star:1.5k
代码示例
import thulac
thu1 = thulac.thulac() #默认模式
text = thu1.cut("我爱北京天安门", text=True) #进行一句话分词
print(text) # 我_r 爱_v 北京_ns 天安门_ns
代码示例2
thu1 = thulac.thulac(seg_only=True) #只进行分词,不进行词性标注
thu1.cut_f("input.txt", "output.txt") #对input.txt文件内容进行分词,输出到output.txt
以上就是4种python分词工具的介绍,哪个更好用,没有统一的答案,主要是看大家的实际应用和习惯。关于python分词工具的介绍就到这,更多python分词工具的内容,可以关注其他文章。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
内容介绍opencv灰度图和彩色图互相转换注意:附:python将灰度图转换为RGB彩色图总结opencv灰度图和彩色图互相转换如果摄像头本来就得到3维度红外图那就不用处理直接可以用:importc
这篇文章主要介绍了Django中如何使用celery异步发送短信验证码的代码示例,有需要的朋友可以借鉴参考下,希望可以对大家有所帮助
本文主要介绍Python列表复制的内容,而Python中列表的复制有直接赋值、浅复制和深复制这几种。下面我们来分别了解一下几种情况的使用和区别是什么。
Pandas包的merge、join、concat方法可以完成数据的合并和拼接,本文主要介绍了这三种实现方式,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
这篇文章主要介绍了Python实现层次分析法及自调节层次分析法的示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008