前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >北大开源了中文分词工具包,准确度远超Jieba,提供三个预训练模型

北大开源了中文分词工具包,准确度远超Jieba,提供三个预训练模型

作者头像
Python数据科学
发布2019-10-21 15:38:24
1.1K0
发布2019-10-21 15:38:24
举报
文章被收录于专栏:Python数据科学

中文分词,是一门高深莫测的技术。不论对于人类,还是对于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

微博语料举栗

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

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

代码示例

代码语言:javascript
复制
1代码示例1        使用默认模型及默认词典分词
2import pkuseg
3seg = pkuseg.pkuseg()                #以默认配置加载模型
4text = seg.cut('我爱北京天安门')    #进行分词
5print(text)
代码语言:javascript
复制
1代码示例2        设置用户自定义词典
2import pkuseg
3lexicon = ['北京大学', '北京天安门']    #希望分词时用户词典中的词固定不分开
4seg = pkuseg.pkuseg(user_dict=lexicon)    #加载模型,给定用户词典
5text = seg.cut('我爱北京天安门')        #进行分词
6print(text)
代码语言:javascript
复制
代码示例3
import pkuseg
seg = pkuseg.pkuseg(model_name='./ctb8')    #假设用户已经下载好了ctb8的模型并放在了'./ctb8'目录下,通过设置model_name加载该模型
text = seg.cut('我爱北京天安门')            #进行分词
print(text)

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

代码语言:javascript
复制
代码示例5
import pkuseg
pkuseg.train('msr_training.utf8', 'msr_test_gold.utf8', './models', nthread=20)    #训练文件为'msr_training.utf8',测试文件为'msr_test_gold.utf8',模型存到'./models'目录下,开20个进程训练模型
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 Python数据科学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 准确度对比
  • 食用方法
    • 预训练模型
      • 代码示例
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档