来源:量子位
链接:https://mp.weixin.qq.com/s/z4s258mwY2NoMssCwTYNXQ
“土地,快告诉俺老孙,俺的金箍棒在哪?”
“大圣,您的金箍,棒就棒在特别适合您的发型。”
中文分词,是一门高深莫测的技术。不论对于人类,还是对于AI。
最近,北大开源了一个中文分词工具包,名为PKUSeg,基于Python。
工具包的分词准确率,远远超过THULAC和结巴分词这两位重要选手。
除此之外,PKUSeg支持多领域分词,也支持用全新的标注数据来训练模型。
这次比赛,PKUSeg的对手有两位:
一位是来自清华的THULAC,一位是要“做最好的中文分词组件”的结巴分词。它们都是目前主流的分词工具。
测试环境是Linux,测试数据集是MSRA (新闻数据) 和CTB8 (混合型文本) 。
结果如下:
比赛用的评判标准,是第二届国际汉语分词评测比赛提供的分词评价脚本。
在F分数和错误率两项指标上,PKUSeg都明显优于另外两位对手。
PKUSeg提供了三个预训练模型,分别是在不同类型的数据集上训练的。
一是用MSRA (新闻语料) 训练出的模型:
https://pan.baidu.com/s/1twci0QVBeWXUg06dK47tiA二是用CTB8 (新闻文本及网络文本的混合型语料) 训练出的模型:
https://pan.baidu.com/s/1DCjDOxB0HD2NmP9w1jm8MA三是在微博 (网络文本语料) 上训练的模型:
https://pan.baidu.com/s/1QHoK2ahpZnNmX6X7Y9iCgQ
大家可以按照自己的需要,选择加载不同的模型。
除此之外,也可以用全新的标注数据,来训练新的模型。
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
论文传送门:
http://www.aclweb.org/anthology/P12-1027
http://aclweb.org/anthology/P16-2092
程序员资源社区
文章浏览阅读1.7k次,点赞15次,收藏23次。setIcon()是用于设置窗口部件(如按钮、标签等)的图标。它可以将一个 QIcon 对象设置为窗口部件的图标,用于在界面中显示该部件的图标。通过setIcon()设置的图标将会显示在指定的窗口部件上。是用于设置顶级窗口(如主窗口、对话框等)的图标。它可以将一个 QIcon 对象设置为顶级窗口的图标,用于在窗口的标题栏、任务栏等位置显示该图标。通过设置的图标将会显示在窗口的标题栏、任务栏等位置。_qicon
文章浏览阅读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中的数据
文章浏览阅读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
文章浏览阅读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
文章浏览阅读1.1k次。*&---------------------------------------------------------------------**&ReportSAPBAPITESTMARKING**&**&-------------------..._bapi_costestimate_releasing
文章浏览阅读598次。C++虚函数与JAVA中抽象函数比较 1:java中没有虚函数的概念,但是有抽象函数的概念,用abstract关键字表示,java中抽象函数必须在抽象类中,而且抽象 函数不能有函数体,抽象类不能被实例化,只能由其子类实现抽象函数,如果某个抽象类的子类仍是抽象类,那么该子类不需要实现其父类的抽象函数。 2:C++中的有虚函数的概念,用virtual 关键字来表示,每个类都会有一个虚函数表,该..._虚函数是不是就是抽象函数
文章浏览阅读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 设置向下切换页面
文章浏览阅读242次。将前端查询出的Table数据导出为Excel_table转为excel java
文章浏览阅读4.7k次。转自https://www.switchyomega.com/settings/下载链接:https://proxy-switchyomega.com/download/情景模式代理服务器代理服务器可以支持 HTTP、HTTPS、SOCKS4、SOCKS5 代理协议。SOCKS 代理协议不支持验证。下图以配置 Shadowsocks 的 SOCKS5 代理协议为例。情..._浏览器不支持socks4代理认证
文章浏览阅读316次。您所在位置:网站首页 > 海量文档 > 高等教育 > 习题/试题二级C语言上机题库(全).doc248页本文档一共被下载:次,您可全文免费在线阅读后下载本文档。 下载提示1.本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。2.该文档所得收入(下..._免费的二级c语言练习题库
文章浏览阅读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实验拓扑图
文章浏览阅读330次。_struts、hibernate、spring流程图