北大pkuseg-python中文分词工具包准确度高于THULAC和jieba结巴(附PDF公号发“pkuseg中文分词”下载)
Posted 数据简化DataSimp
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了北大pkuseg-python中文分词工具包准确度高于THULAC和jieba结巴(附PDF公号发“pkuseg中文分词”下载)相关的知识,希望对你有一定的参考价值。
数据DataSimp社区分享:信息与数据处理分析、数据科学研究前沿、数据资源现状和数据简化基础的科学知识、技术应用、产业活动、人物机构等信息。欢迎大家参与投稿,为数据科学技术做贡献,使国人尽快提高数据能力,提高社会信息流通效率。做事要平台,思路要跟进;止步吃住行,无力推文明。要推进人类文明,不可止步于敲门呐喊;设计空想太多,无法实现就虚度一生;工程能力至关重要,秦陇纪与君共勉之。
北大pkuseg-python中文分词工具包准确度高于THULAC和jieba结巴(6216字)
目录
A pkuseg-python:一个高准确度的中文分词工具包(5450字)
0.github版本说明lancopku/pkuseg-python
1.主要亮点
2.编译和安装
3.各类分词工具包的性能对比
4.使用方式
5.相关论文
6.作者
参考文献(841字)Appx(1236字).数据简化DataSimp社区简介
A pkuseg-python:一个高准确度的中文分词工具包(5450字)
pkuseg-python:一个高准确度的中文分词工具包
文|秦陇纪、lancopku,数据简化DataSimp©20190109Wed
诸如:“土地,快告诉俺老孙,俺的金箍棒在哪?”
“大圣,您的金箍,棒就棒在特别适合您的发型。”
又如:我们中出了个叛徒。分词△我们[中出]了个叛徒。
例如微博语料Aitor园:“帝国主义者侵略我,奴役我们,他们要把我们的地瓜分掉!”......“等等,他们为什么要分我们的地瓜?”[狗头]
不论对于人类,还是对于AI,中文分词,是一门高深莫测的技术。
最近,北大开源了lancopku中文分词工具包,准确度远超Jieba和THULAC,支持多领域分词。
北大开源的这个中文分词工具包名为PKUSeg,基于Python。在ACL论文和MSRA (新闻数据)和CTB8(混合型文本)比赛中,PKUSeg的对手有两位:一位是来自清华的THULAC,一位是要“做最好的中文分词组件”的结巴分词。它们都是目前主流的分词工具。
测试环境是Linux,测试数据集是MSRA (新闻数据)和CTB8(混合型文本)。比赛用的评判标准,是第二届国际汉语分词评测比赛提供的分词评价脚本。结果如下文(3.各类分词工具包的性能对比)。在F分数和错误率两项指标上,PKUSeg都明显优于另外两位对手。pkuseg-python工具包的分词准确率,远远超过THULAC和结巴分词这两位重要选手!
除此之外,PKUSeg支持多领域分词(下文4.使用方式)也支持用全新的标注数据来训练模型。
0.github版本说明lancopku/pkuseg-python
Type |
Name |
Latest commit message |
Commit time |
pkuseg |
fix encoding bug |
28 days ago |
|
LICENSE |
support windows and modify LICENSE |
2 months ago |
|
README.md |
Update README.md |
a month ago |
|
setup.py |
fix encoding bug |
28 days ago |
以下是其说明文档README.md《pkuseg-python:一个高准确度的中文分词工具包》。pkuseg-python简单易用,支持多领域分词,在不同领域的数据上都大幅提高了分词的准确率。目录:1.主要亮点2.编译和安装3.各类分词工具包的性能对比4.使用方式5.相关论文6.其它语言实现7.作者。
1.主要亮点
pkuseg是由北京大学语言计算与机器学习研究组研制推出的一套全新的中文分词工具包。pkuseg具有如下几个特点:
1.高分词准确率。相比于其他的分词工具包,我们的工具包在不同领域的数据上都大幅提高了分词的准确度。根据我们的测试结果,pkuseg分别在示例数据集(MSRA和CTB8)上降低了79.33%和63.67%的分词错误率。
2.多领域分词。我们训练了多种不同领域的分词模型。根据待分词的领域特点,用户可以自由地选择不同的模型。
3.支持用户自训练模型。支持用户使用全新的标注数据进行训练。
2.编译和安装
1.通过pip下载(自带模型文件):pip install pkuseg,之后通过import pkuseg来引用;
2.从github下载(需要下载模型文件,见预训练模型),将pkuseg文件放到目录下,通过import pkuseg使用,模型需要下载或自己训练。
3.各类分词工具包的性能对比
我们选择THULAC、结巴分词等国内代表分词工具包与pkuseg做性能比较。我们选择Linux作为测试环境,在新闻数据(MSRA)和混合型文本(CTB8)数据上对不同工具包进行了准确率测试。我们使用了第二届国际汉语分词评测比赛提供的分词评价脚本。评测结果如下:
MSRA |
F-score |
Error Rate |
jieba |
81.45 |
18.55 |
THULAC |
85.48 |
14.52 |
pkuseg |
96.75 (+13.18%) |
3.25 (-77.62%) |
上表是新闻数据(MSRA)的,下表是混合型文本(CTB8)数据的。
CTB8 |
F-score |
Error Rate |
jieba |
79.58 |
20.42 |
THULAC |
87.77 |
12.23 |
pkuseg |
95.64 (+8.97%) |
4.36 (-64.35%) |
4.使用方式
4.1 代码示例
代码示例1
使用默认模型及默认词典分词
import pkuseg
seg =pkuseg.pkuseg() #以默认配置加载模型
text =seg.cut('我爱北京天安门') #进行分词
print(text)
代码示例2
设置用户自定义词典
import pkuseg
lexicon = ['北京大学', '北京天安门'] #希望分词时用户词典中的词固定不分开
seg =pkuseg.pkuseg(user_dict=lexicon) #加载模型,给定用户词典
text =seg.cut('我爱北京天安门') #进行分词
print(text)
代码示例3
import pkuseg
seg =pkuseg.pkuseg(model_name='./ctb8') #假设用户已经下载好了ctb8的模型并放在了'./ctb8'目录下,通过设置model_name加载该模型
text =seg.cut('我爱北京天安门')#进行分词
print(text)
代码示例4
import pkuseg
pkuseg.test('input.txt','output.txt', nthread=20) #对input.txt的文件分词输出到output.txt中,使用默认模型和词典,开20个进程
代码示例5
import pkuseg
pkuseg.train('msr_training.utf8','msr_test_gold.utf8', './models', nthread=20) #训练文件为'msr_training.utf8',测试文件为'msr_test_gold.utf8',模型存到'./models'目录下,开20个进程训练模型
如果想自己训练一个新模型的话:
4.2 参数说明
pkuseg.pkuseg(model_name='msra',user_dict='safe_lexicon')
model_name模型路径。默认是'msra'表示我们预训练好的模型(仅对pip下载的用户)。用户可以填自己下载或训练的模型所在的路径如model_name='./models'。
user_dict设置用户词典。默认为'safe_lexicon'表示我们提供的一个中文词典(仅pip)。用户可以传入一个包含若干自定义单词的迭代器。
pkuseg.test(readFile,outputFile, model_name='msra', user_dict='safe_lexicon', nthread=10)
readFile输入文件路径
outputFile输出文件路径
model_name同pkuseg.pkuseg
user_dict同pkuseg.pkuseg
nthread测试时开的进程数
pkuseg.train(trainFile,testFile, savedir, nthread=10)
trainFile训练文件路径
testFile测试文件路径
savedir训练模型的保存路径
nthread训练时开的进程数
4.3 预训练模型
分词模式下,用户需要加载预训练好的模型。我们提供了三种在不同类型数据上训练得到的模型,根据具体需要,用户可以选择不同的预训练模型。以下是对预训练模型的说明:
①MSRA: 在MSRA(新闻语料)上训练的模型。新版本代码采用的是此模型。
②CTB8: 在CTB8(新闻文本及网络文本的混合型语料)上训练的模型。
③WEIBO: 在微博(网络文本语料)上训练的模型。
其中,MSRA数据由第二届国际汉语分词评测比赛提供,CTB8数据由LDC提供,WEIBO数据由NLPCC分词比赛提供。
PKUSeg提供的这三个预训练模型,分别是在不同类型的数据集上训练的。△例如微博语料Aitor园:“帝国主义者侵略我,奴役我们,他们要把我们的地瓜分掉!”......“等等,他们为什么要分我们的地瓜?”[狗头]大家可以按照自己的需要,选择加载不同的模型。
除此之外,也可以用全新的标注数据,来训练新的模型。
欲知更详细的用法,可前往文底传送门。
4.4 开源协议
1. pkuseg面向国内外大学、研究所、企业以及个人用于研究目的免费开放源代码。
2. 如有机构或个人拟将pkuseg用于商业目的,请发邮件至xusun@pku.edu.cn洽谈技术许可协议。
3. 欢迎对该工具包提出任何宝贵意见和建议,请发邮件至jingjingxu@pku.edu.cn。
5.相关论文
此工具包的诞生,也是基于其中两位参与的ACL论文。本工具包基于以下文献:
论文1:http://www.aclweb.org/anthology/P12-1027
· Xu Sun, Houfeng Wang,Wenjie Li. Fast Online Training with Frequency-Adaptive Learning Rates forChinese Word Segmentation and New Word Detection. ACL. 253–262. 2012
@inproceedings{DBLP:conf/acl/SunWL12,
author = {XuSun and Houfeng Wang and Wenjie Li},
title = {FastOnline Training with Frequency-Adaptive Learning Rates for Chinese Word Segmentationand New Word Detection},
booktitle ={The 50th Annual Meeting of the Association for Computational Linguistics,Proceedings of the Conference, July 8-14, 2012, Jeju Island, Korea- Volume 1:Long Papers},
pages ={253--262},
year = {2012}}
论文2:http://aclweb.org/anthology/P16-2092
· Jingjing Xu, Xu Sun.Dependency-based Gated Recursive Neural Network for Chinese Word Segmentation.ACL 2016: 567-572
@inproceedings{DBLP:conf/acl/XuS16,
author ={Jingjing Xu and Xu Sun},
title ={Dependency-based Gated Recursive Neural Network for Chinese WordSegmentation},
booktitle ={Proceedings of the 54th Annual Meeting of the Association for ComputationalLinguistics, {ACL} 2016, August 7-12, 2016, Berlin, Germany, Volume 2: ShortPapers},
year = {2016}}
6.作者
Ruixuan Luo (罗睿轩), Jingjing Xu(许晶晶), Xu Sun (孙栩)©2019 GitHub, Inc.(注1:以上资料来自《python版本:高准确度中文分词工具,简单易用,跟现有开源工具相比大幅提高了分词的准确率。》[1])
准确率又那么高,还不去试试?
评论a:用相同的语料训练再用相同语料去测?[捂脸]另外两位选手有话想说。。。b:这比较骗外行啊c:土地,快告诉俺老孙,俺的金箍棒在哪?”“大圣,您的金箍,棒就棒在特别适合您的发型。”——博大精深啊!d:一看就是过拟合了吧e:麻烦看一下github好么不能乱发啊,什么就超越了jieba,明显考试作弊了呀f:拉倒吧…g:hhhh 上次开组会老师还说他们组开源了一个新工具,就叫pku-seg,准确率远超jieba(注2:选自知乎《北大开源了中文分词工具包,准确度远超Jieba和THULAC,支持多领域分词》[4])
—END—
参考文献(841字)
1. Ruixuan Luo(罗睿轩), Jingjing Xu(许晶晶), Xu Sun(孙栩), lancopku. python版本:高准确度中文分词工具,简单易用,跟现有开源工具相比大幅提高了分词的准确率。.[EB/OL]; github, https://github.com/lancopku/Pkuseg-python, 2018-12-08,visiting data: 2019-01-09.
2. Xu Sun, Houfeng Wang, Wenjie Li. Fast Online Training withFrequency-Adaptive Learning Rates for Chinese Word Segmentation and New WordDetection. ACL. 253–262. 2012
3. Jingjing Xu, Xu Sun. Dependency-based Gated Recursive NeuralNetwork for Chinese Word Segmentation. ACL 2016: 567-572
北大pkuseg-python中文分词工具包准确度高于THULAC和jieba结巴(6216字)
(标题下「数据简化DataSimp」文字链接,点击后继续点“关注”接收推送)
秦陇纪©2010-2019数据简化DataSimp
Appx(1236字).数据简化DataSimp社区简介
信息社会之数据、信息、知识、理论持续累积,远超个人认知学习的时间、精力和能力。必须行动起来,解决这个问题。应对大数据时代的数据爆炸、信息爆炸、知识爆炸,解决之道重在数据简化(Data Simplification):简化减少知识、媒体、社交数据,使信息、数据、知识越来越简单,符合人与设备的负荷。(秦陇纪,2010)
数据简化DataSimp年度会议(DS2010-2019),聚焦数据简化技术(Data Simplification Techniques):对各类数据从采集、处理、存储、阅读、分析、逻辑、形式等方面做简化,应用于信息及数据系统、知识工程、各类数据库、物理空间表征、生物医学数据,数学统计、自然语言处理、机器学习技术、人工智能等领域。欢迎数据科学技术、简化实例相关论文投稿加入数据简化社区,参加会议出版专著。请投会员邮箱DataSimp@163.com,详情访问社区网站www.datasimp.org。填写申请表加入数据简化DataSimp社区成员,应至少有一篇数据智能、编程开发IT文章:①原创数据智能科技论文;②数据智能工程技术开源程序代码;③翻译美欧数据智能科技论文;④社区网站发帖人管理员版主志愿者义工;⑤完善黑白静态和三彩色动态社区S圈型LOGO图标。DataSimplification/Sciences/Knowledge Simplification Public Accounts——DataSimp@163.com, 2018.12.12Wed,Xi'an, Shaanxi, China.
LIFE
Lifebegins at the end of your comfort zone.——Neale Donald Walsch
THEDAY
Thestrength of purpose and the clarity of your vision,alongwith the tenacity to pursue it,is your underlying driver ofsuccess.——Ragy Tomas
(转载请写出处:©数据简化DataSimp2010-2018汇译编,欢迎技术、传媒伙伴投稿、加入数据简化社区!“数据简化DataSimp、科学Sciences、知识简化”投稿反馈邮箱DataSimp@126.com。)
转发/留言/打赏后“阅读原文”下载PDF
以上是关于北大pkuseg-python中文分词工具包准确度高于THULAC和jieba结巴(附PDF公号发“pkuseg中文分词”下载)的主要内容,如果未能解决你的问题,请参考以下文章