北大开源了中文分词工具包:准确率远超THULAC、结巴分词!

最近,北大开源了一个中文分词工具包,它在多个分词数据集上都有非常高的分词准确率。其中广泛使用的结巴分词误差率高达 18.55% 和 20.42,而北大的 pkuseg 只有 3.25% 与 4.32%。

pkuseg 是由北京大学语言计算与机器学习研究组研制推出的一套全新的中文分词工具包。它简单易用,支持多领域分词,也支持用全新的标注数据来训练模型。

pkuseg 具有如下几个特点:

高分词准确率:相比于其他的分词工具包,该工具包在不同领域的数据上都大幅提高了分词的准确度。根据北大研究组的测试结果,pkuseg 分别在示例数据集(MSRA 和 CTB8)上降低了 79.33% 和 63.67% 的分词错误率。

多领域分词:研究组训练了多种不同领域的分词模型。根据待分词的领域特点,用户可以自由地选择不同的模型。

支持用户自训练模型:支持用户使用全新的标注数据进行训练。

预训练模型

分词模式下,用户需要加载预训练好的模型。研究组提供了三种在不同类型数据上训练得到的模型,根据具体需要,用户可以选择不同的预训练模型。以下是对预训练模型的说明:

PKUSeg提供了三个预训练模型,用户需要加载预训练好的模型,根据具体需要,用户可以选择不同的预训练模型,以下是说明:

MSRA:在 MSRA(新闻语料)上训练的模型。

https://pan.baidu.com/s/1twci0QVBeWXUg06dK47tiA

CTB8:在 CTB8(新闻文本及网络文本的混合型语料)上训练的模型。

https://pan.baidu.com/s/1DCjDOxB0HD2NmP9w1jm8MA

WEIBO:在微博(网络文本语料)上训练的模型。

https://pan.baidu.com/s/1QHoK2ahpZnNmX6X7Y9iCgQ

其中,MSRA 数据由第二届国际汉语分词评测比赛提供,CTB8 数据由 LDC 提供,WEIBO 数据由 NLPCC 分词比赛提供。

安装与使用

pkuseg 的安装非常简单,我们可以使用 pip 安装,也可以直接从 GitHub 下载:

pip install pkuseg

使用 pkuseg 实现分词也很简单,基本上和其它分词库的用法都差不多:

'''代码示例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​

#假设用户已经下载好了ctb8的模型并放在了'./ctb8'目录下,通过设置model_name加载该模型

seg = pkuseg.pkuseg(model_name='./ctb8')

text = seg.cut('我爱北京天安门')

print(text)

对于大型文本数据集,如果需要快速分词的话,我们也可以采用多线程的方式:

'''代码示例4'''

import pkuseg

#对input.txt的文件分词输出到output.txt中,使用默认模型和词典,开20个进程

pkuseg.test('input.txt', 'output.txt', nthread=20)

最后,pkuseg 还能重新训练一个分词模型:

'''代码示例5'''

import pkuseg

#训练文件为'msr_training.utf8',测试文件为'msr_test_gold.utf8',模型存到'./models'目录下,开20个进程训练模型

pkuseg.train('msr_training.utf8', 'msr_test_gold.utf8', './models', nthread=20)

这些都是 GitHub 上的示例,详细的内容请参考 GitHub 项目,例如参数说明和参考论文等。

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

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

代码示例

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个进程训练模型

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

GitHub传送门:

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

论文传送门:

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

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

来源:部分内容参考机器之心:https://mp.weixin.qq.com/s/Y48nunuS9FTQ41CqzLbgFQ

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 193,812评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,626评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,144评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,052评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,925评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,035评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,461评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,150评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,413评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,501评论 2 307
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,277评论 1 325
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,159评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,528评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,868评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,143评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,407评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,615评论 2 335

推荐阅读更多精彩内容