北大开源了Python中文分词工具包,准确度远超Jieba-程序员宅基地

640?wx_fmt=png


来源:量子位
链接:https://mp.weixin.qq.com/s/z4s258mwY2NoMssCwTYNXQ


640?wx_fmt=jpeg

“土地,快告诉俺老孙,俺的金箍棒在哪?”

“大圣,您的金箍,棒就棒在特别适合您的发型。”

中文分词,是一门高深莫测的技术。不论对于人类,还是对于AI。

最近,北大开源了一个中文分词工具包,名为PKUSeg,基于Python。

工具包的分词准确率,远远超过THULAC结巴分词这两位重要选手。

640?wx_fmt=jpeg

 我们 [中出] 了个叛徒

除此之外,PKUSeg支持多领域分词,也支持用全新的标注数据来训练模型。

准确度对比

这次比赛,PKUSeg的对手有两位:

一位是来自清华的THULAC,一位是要“做最好的中文分词组件”的结巴分词。它们都是目前主流的分词工具。

测试环境是Linux,测试数据集是MSRA (新闻数据) 和CTB8 (混合型文本) 。

结果如下:

640?wx_fmt=png

比赛用的评判标准,是第二届国际汉语分词评测比赛提供的分词评价脚本。

F分数错误率两项指标上,PKUSeg都明显优于另外两位对手。

食用方法

预训练模型

PKUSeg提供了三个预训练模型,分别是在不同类型的数据集上训练的。

一是用MSRA (新闻语料) 训练出的模型:
https://pan.baidu.com/s/1twci0QVBeWXUg06dK47tiA

二是用CTB8 (新闻文本及网络文本的混合型语料) 训练出的模型:
https://pan.baidu.com/s/1DCjDOxB0HD2NmP9w1jm8MA

三是在微博 (网络文本语料) 上训练的模型:
https://pan.baidu.com/s/1QHoK2ahpZnNmX6X7Y9iCgQ

640?wx_fmt=jpeg

 微博语料举栗

大家可以按照自己的需要,选择加载不同的模型。

除此之外,也可以用全新的标注数据,来训练新的模型。

代码示例


1代码示例1        使用默认模型及默认词典分词
2import pkuseg
3seg = pkuseg.pkuseg()                #以默认配置加载模型
4text = seg.cut('我爱北京天安门')    #进行分词
5print(text)


1代码示例2        设置用户自定义词典
2import pkuseg
3lexicon = ['北京大学', '北京天安门']    #希望分词时用户词典中的词固定不分开
4seg = pkuseg.pkuseg(user_dict=lexicon)    #加载模型,给定用户词典
5text = seg.cut('我爱北京天安门')        #进行分词
6print(text)

1代码示例3
2import pkuseg
3seg = pkuseg.pkuseg(model_name='./ctb8')    #假设用户已经下载好了ctb8的模型并放在了'./ctb8'目录下,通过设置model_name加载该模型
4text = seg.cut('我爱北京天安门')            #进行分词
5print(text)

如果想自己训练一个新模型的话:

1代码示例5
2import pkuseg
3pkuseg.train('msr_training.utf8', 'msr_test_gold.utf8', './models', nthread=20)    #训练文件为'msr_training.utf8',测试文件为'msr_test_gold.utf8',模型存到'./models'目录下,开20个进程训练模型

欲知更详细的用法,可前往文底传送门。

快去试一下

PKUSeg的作者有三位,Ruixuan Luo (罗睿轩),Jingjing Xu (许晶晶) ,以及Xu Sun (孙栩) 。

工具包的诞生,也是基于其中两位参与的ACL论文

准确率又那么高,还不去试试?

GitHub传送门:
https://github.com/lancopku/PKUSeg-python

论文传送门:

640?wx_fmt=png

http://www.aclweb.org/anthology/P12-1027

640?wx_fmt=png

http://aclweb.org/anthology/P16-2092


  1. 程序员资源社区

  2. 640?wx_fmt=jpeg

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_44747933/article/details/89062632

智能推荐

【Qt学习】QIcon类 + 利用qrc机制设置图片路径(QtCreator)-程序员宅基地

文章浏览阅读1.7k次,点赞15次,收藏23次。setIcon()是用于设置窗口部件(如按钮、标签等)的图标。它可以将一个 QIcon 对象设置为窗口部件的图标,用于在界面中显示该部件的图标。通过setIcon()设置的图标将会显示在指定的窗口部件上。是用于设置顶级窗口(如主窗口、对话框等)的图标。它可以将一个 QIcon 对象设置为顶级窗口的图标,用于在窗口的标题栏、任务栏等位置显示该图标。通过设置的图标将会显示在窗口的标题栏、任务栏等位置。_qicon

从workspace导入数据进入模型_拟合工具箱如何导入workspace中的数据-程序员宅基地

文章浏览阅读1.2k次。从workspace导入数据进入模型在workspace中创建变量方法一:方法二:方法三:Form output after final data value by设置超出t范围的数据Interpolate data在workspace中创建变量1.通过命令窗口创建时间序列t = [0:0.1:10]';2.创建对应关系data = sin(t);3.通过plot可展示关系plot(t,data)4.model里插入From workspace方法一:simin = [t,da_拟合工具箱如何导入workspace中的数据

# can‘t read “Startup(-L)“: no such element in array # Load canceled_can't read "startup(-l)": no such element in array-程序员宅基地

文章浏览阅读6.5k次,点赞10次,收藏15次。在使用modelsim进行仿真时,遇到这个问题,#can’t read “Startup(-L)”: no such element in array#Load canceled在百度没找到答案。在这个网址有个解决方案 点我跳转https://community.intel.com/t5/Intel-Quartus-Prime-Software/How-can-i-solve-can-t-read-quot-Startup-L-quot-no-such-element/m-p/1215970_can't read "startup(-l)": no such element in array

Hadoop3.2.0 Hadoop 命令指南_hadoop3 checknative libhadoop-程序员宅基地

文章浏览阅读9.2k次,点赞2次,收藏5次。Hadoop命令指南概览 Shell选项 Generic选项 User Commands 用户命令 archive checknative classpath conftest credential distch distcp dtutil fs gridmix jar jnipath kerbname kdiag..._hadoop3 checknative libhadoop

ck24 bapi BAPI_COSTESTIMATE_MARKING BAPI_COSTESTIMATE_RELEASING-程序员宅基地

文章浏览阅读1.1k次。*&---------------------------------------------------------------------**&ReportSAPBAPITESTMARKING**&**&-------------------..._bapi_costestimate_releasing

C++虚函数与JAVA中抽象函数比较_虚函数是不是就是抽象函数-程序员宅基地

文章浏览阅读598次。C++虚函数与JAVA中抽象函数比较  1:java中没有虚函数的概念,但是有抽象函数的概念,用abstract关键字表示,java中抽象函数必须在抽象类中,而且抽象 函数不能有函数体,抽象类不能被实例化,只能由其子类实现抽象函数,如果某个抽象类的子类仍是抽象类,那么该子类不需要实现其父类的抽象函数。  2:C++中的有虚函数的概念,用virtual 关键字来表示,每个类都会有一个虚函数表,该..._虚函数是不是就是抽象函数

随便推点

Qt54 多页面切换组件 QTabWidget_tabwidget 设置向下切换页面-程序员宅基地

文章浏览阅读846次。学习自唐佐林老师的QtWidget.h#ifndef WIDGET_H#define WIDGET_H#include <QtGui/QWidget>#include <QTabWidget>class Widget : public QWidget{ Q_OBJECT QTabWidget m_tabWidget;//多页面切换组件对象protected slots: void onTabCurrentChanged(i_tabwidget 设置向下切换页面

【将前端查询出的Table数据导出为Excel】_table转为excel java-程序员宅基地

文章浏览阅读242次。将前端查询出的Table数据导出为Excel_table转为excel java

浏览器多代理配置 - SwitchyOmega_浏览器不支持socks4代理认证-程序员宅基地

文章浏览阅读4.7k次。转自https://www.switchyomega.com/settings/下载链接:https://proxy-switchyomega.com/download/情景模式代理服务器代理服务器可以支持 HTTP、HTTPS、SOCKS4、SOCKS5 代理协议。SOCKS 代理协议不支持验证。下图以配置 Shadowsocks 的 SOCKS5 代理协议为例。情..._浏览器不支持socks4代理认证

二级c语言上机题库下载,二级C语言上机题库(全).doc-程序员宅基地

文章浏览阅读316次。您所在位置:网站首页 > 海量文档&nbsp>&nbsp高等教育&nbsp>&nbsp习题/试题二级C语言上机题库(全).doc248页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。2.该文档所得收入(下..._免费的二级c语言练习题库

HCIP第八天 IPV6_ipv6实验拓扑图-程序员宅基地

文章浏览阅读123次。实验拓扑图如下:实验要求:全网可达实验步骤:1.先通V4网络,R1、2、9、10R1给R2做缺省R2给R9做缺省R10给R9做缺省r2上做acl、nat2.R1、R2为双栈,同时做V6网络R1[r1]ipv6 [r1]int g0/0/0[r1-GigabitEthernet0/0/0]ipv6 enable [r1-GigabitEthernet0/0/0]ipv6 address 2002:1d01:0101::1 64[r1]ipv6 ro.._ipv6实验拓扑图

推荐文章

热门文章

相关标签