简述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使用代理抓取网站图片(多线程)
Mar 14 Python
使用Python解析JSON数据的基本方法
Oct 15 Python
Python实现SMTP发送邮件详细教程
Mar 02 Python
python ddt实现数据驱动
Mar 14 Python
详解利用django中间件django.middleware.csrf.CsrfViewMiddleware防止csrf攻击
Oct 09 Python
对python中词典的values值的修改或新增KEY详解
Jan 20 Python
Python实现的爬取豆瓣电影信息功能案例
Sep 15 Python
浅谈keras的深度模型训练过程及结果记录方式
Jan 24 Python
基于python实现模拟数据结构模型
Jun 12 Python
linux系统下pip升级报错的解决方法
Jan 31 Python
端午节将至,用Python爬取粽子数据并可视化,看看网友喜欢哪种粽子吧!
Jun 11 Python
Python编解码问题及文本文件处理方法详解
Jun 20 Python
python自动化调用百度api解决验证码
利用Python网络爬虫爬取各大音乐评论的代码
用Python制作灯光秀短视频的思路详解
python实现socket简单通信的示例代码
使用Selenium实现微博爬虫(预登录、展开全文、翻页)
python用字节处理文件实例讲解
Apr 13 #Python
Python中相见恨晚的技巧
Apr 13 #Python
You might like
php miniBB中文乱码问题解决方法
2008/11/25 PHP
Thinkphp搭建包括JS多语言的多语言项目实现方法
2014/11/24 PHP
php抓取网站图片并保存的实现方法
2015/10/29 PHP
PHP实现计算器小功能
2020/08/28 PHP
windows系统php环境安装swoole具体步骤
2021/03/04 PHP
科讯商业版中用到的ajax空间与分页函数
2007/09/02 Javascript
下载站控制介绍字数显示的脚本 显示全部 隐藏介绍等功能
2009/09/19 Javascript
网页禁用右键实现代码(JavaScript代码)
2009/10/29 Javascript
基于jquery的分页控件(C#)
2011/01/06 Javascript
JS实现很酷的EMAIL地址添加功能实例
2015/02/28 Javascript
javascript比较两个日期相差天数的方法
2015/07/24 Javascript
使用HTML5+Boostrap打造简单的音乐播放器
2016/08/05 Javascript
AngularJS中watch监听用法分析
2016/11/04 Javascript
使用jQuery操作DOM的方法小结
2017/02/27 Javascript
node.js 核心http模块,起一个服务器,返回一个页面的实例
2017/09/11 Javascript
解决Vue使用mint-ui loadmore实现上拉加载与下拉刷新出现一个页面使用多个上拉加载后冲突问题
2017/11/07 Javascript
jQuery+ajax读取json数据并按照价格排序示例
2018/03/28 jQuery
Vue下路由History模式打包后页面空白的解决方法
2018/06/29 Javascript
python进阶教程之文本文件的读取和写入
2014/08/29 Python
python3简单实现微信爬虫
2015/04/09 Python
python使用append合并两个数组的方法
2015/04/28 Python
使用pygame模块编写贪吃蛇的实例讲解
2018/02/05 Python
python退出命令是什么?详解python退出方法
2018/12/10 Python
Python中的枚举类型示例介绍
2019/01/09 Python
Python空间数据处理之GDAL读写遥感图像
2019/08/01 Python
CSS Houdini实现动态波浪纹效果
2019/07/30 HTML / CSS
阿根廷旅游网站:almundo阿根廷
2018/02/12 全球购物
澳大利亚拥有最佳跳伞降落点和最好服务的跳伞项目运营商:Skydive Australia
2018/03/05 全球购物
什么是Web Service?
2012/07/25 面试题
留学经费担保书
2014/05/12 职场文书
维稳承诺书
2015/01/20 职场文书
学校党支部公开承诺书
2015/04/30 职场文书
白银帝国观后感
2015/06/17 职场文书
2016年党员岗位承诺书
2016/03/24 职场文书
MySQL令人咋舌的隐式转换
2021/04/05 MySQL
Springboot如何使用logback实现多环境配置?
2021/06/16 Java/Android