简述python四种分词工具,盘点哪个更好用?


Posted in Python onApril 13, 2021

大家好,我是安果!

分词在自然语言处理中有着常见的场景,比如从一篇文章自动提取关键词就需要用到分词工具,中文搜索领域同样离不开分词

Python 中有很多开源的分词工具,下面给大家介绍几款常见的分词依赖库

1. jieba 分词

“结巴” 分词,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算法识别出来了)

【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造

项目地址:

https://github.com/fxsjy/jieba

2. pkuseg 分词

pkuseg 是北大语言计算与机器学习研究组开源的一款分词工具

它的特点是支持多领域分词,目前支持新闻领域,网络领域,医药领域,旅游领域,以及混合领域的分词预训练模型,用户可以自由地选择不同的模型

相比通用分词工具,它的分词准确率更高 

github star:5.4k

代码示例

import pkuseg

seg = pkuseg.pkuseg()           # 以默认配置加载模型
text = seg.cut('python是一门很棒的语言')  # 进行分词
print(text)

输出

['python', '是', '一', '门', '很', '棒', '的', '语言']

项目地址:

https://github.com/lancopku/pkuseg-python

3. FoolNLTK 分词

基于 BiLSTM 模型训练而成,据说可能是最准的开源中文分词,同样支持用户自定义词典

GitHub  star: 1.6k

代码示例

import fool

text = "一个傻子在北京"
print(fool.cut(text))
# ['一个', '傻子', '在', '北京']

项目地址:

https://github.com/rockyzhengwu/FoolNLTK

4. THULAC

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

项目地址:

https://github.com/thunlp/THULAC-Python

目前我在用的还是结巴分词,配合用户自定义词典,解决常见的网络词语

你在用什么分词工具,欢迎留下你的意见

以上就是简述python四种分词工具,盘点哪个更好用?的详细内容,更多关于python 分词工具的资料请关注三水点靠木其它相关文章!

Python 相关文章推荐
Python使用urllib2获取网络资源实例讲解
Dec 02 Python
Python中利用函数装饰器实现备忘功能
Mar 30 Python
按日期打印Python的Tornado框架中的日志的方法
May 02 Python
Python中的异常处理相关语句基础学习笔记
Jul 11 Python
用python写一个windows下的定时关机脚本(推荐)
Mar 21 Python
OpenCV实现人脸识别
Apr 07 Python
使用Python设计一个代码统计工具
Apr 04 Python
详解python3中zipfile模块用法
Jun 18 Python
在PyCharm下打包*.py程序成.exe的方法
Nov 29 Python
python双端队列原理、实现与使用方法分析
Nov 27 Python
python错误调试及单元文档测试过程解析
Dec 19 Python
Keras 中Leaky ReLU等高级激活函数的用法
Jul 05 Python
python自动化调用百度api解决验证码
利用Python网络爬虫爬取各大音乐评论的代码
用Python制作灯光秀短视频的思路详解
python实现socket简单通信的示例代码
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
python用字节处理文件实例讲解
Apr 13 #Python
Python中相见恨晚的技巧
Apr 13 #Python
You might like
使用淘宝IP库获取用户ip地理位置
2013/10/27 PHP
WordPress中对访客评论功能的一些优化方法
2015/11/24 PHP
PHP封装XML和JSON格式数据接口操作示例
2019/03/06 PHP
引用 js在IE与FF之间的区别详细解析
2013/11/20 Javascript
jQuery仿Flash上下翻动的中英文导航菜单实例
2015/03/10 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
jQuery实现的超简单点赞效果实例分析
2015/12/31 Javascript
JavaScript面向对象程序设计教程
2016/03/29 Javascript
JS生成不重复的随机数组的简单实例
2016/07/10 Javascript
详解Nodejs的timers模块
2016/12/22 NodeJs
Validform验证时可以为空否则按照指定格式验证
2017/10/20 Javascript
ElementUI radio组件选中小改造
2019/08/12 Javascript
Postman动态获取返回值过程详解
2020/06/30 Javascript
Vue 实现v-for循环的时候更改 class的样式名称
2020/07/17 Javascript
如何实现vue的tree组件
2020/12/03 Vue.js
用python + openpyxl处理excel2007文档思路以及心得
2014/07/14 Python
python实现分析apache和nginx日志文件并输出访客ip列表的方法
2015/04/04 Python
详细介绍Python中的偏函数
2015/04/27 Python
python列出目录下指定文件与子目录的方法
2015/07/03 Python
Python多层装饰器用法实例分析
2018/02/09 Python
python3中的md5加密实例
2018/05/29 Python
Python 一键制作微信好友图片墙的方法
2019/05/16 Python
Python批量查询关键词微信指数实例方法
2019/06/27 Python
python实现微信自动回复机器人功能
2019/07/11 Python
python/golang实现循环链表的示例代码
2020/09/14 Python
python闭包与引用以及需要注意的陷阱
2020/09/18 Python
CSS3使用border-radius属性制作圆角
2014/12/22 HTML / CSS
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
信号量和自旋锁的区别?如何选择使用?
2015/09/08 面试题
幼儿教师工作感言
2014/02/14 职场文书
质量提升方案
2014/06/16 职场文书
2015年高考寄语或鼓励的话
2015/03/23 职场文书
2015年中职班主任工作总结
2015/05/25 职场文书
董事长开业致辞
2015/07/29 职场文书
Vue+Element UI实现概要小弹窗的全过程
2021/05/30 Vue.js
ROS系统将python包编译为可执行文件的简单步骤
2021/07/25 Python