服务器之家

服务器之家 > 正文

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

时间:2021-10-09 00:06     来源/作者:刘志军

大家好,我是安果!

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

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

1. jieba 分词

“结巴” 分词,GitHub 最受欢迎的分词工具,立志做最好的 Python 中文分词组件,支持多种分词模式,支持自定义词典

github star:26k

代码示例

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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))

输出:

?
1
2
3
4
5
6
7
【全模式】: 我/ 来到/ 北京/ 清华/ 清华大学/ 华大/ 大学
 
【精确模式】: 我/ 来到/ 北京/ 清华大学
 
【新词识别】:他, 来到, 了, 网易, 杭研, 大厦    (此处,“杭研”并没有在词典中,但是也被Viterbi算法识别出来了)
 
【搜索引擎模式】: 小明, 硕士, 毕业, 于, 中国, 科学, 学院, 科学院, 中国科学院, 计算, 计算所, 后, 在, 日本, 京都, 大学, 日本京都大学, 深造

项目地址:

https://github.com/fxsjy/jieba

2. pkuseg 分词

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

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

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

github star:5.4k

代码示例

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

输出

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

项目地址:

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

3. FoolNLTK 分词

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

GitHub  star: 1.6k

代码示例

?
1
2
3
4
5
import fool
 
text = "一个傻子在北京"
print(fool.cut(text))
# ['一个', '傻子', '在', '北京']

项目地址:

https://github.com/rockyzhengwu/FoolNLTK

4. THULAC

THULAC 由清华大学自然语言处理与社会人文计算实验室研制推出的一套中文词法分析工具包

具有词性标注功能,能分析出某个词是名词还是动词或者形容词

github star:1.5k

代码示例

?
1
2
3
4
5
6
7
8
 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 分词工具的资料请关注服务器之家其它相关文章!

原文链接:https://mp.weixin.qq.com/s/cfubf3NTCeyNkJk5uH5cXA

标签:

相关文章

热门资讯

yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
2021年耽改剧名单 2021要播出的59部耽改剧列表
2021年耽改剧名单 2021要播出的59部耽改剧列表 2021-03-05
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部