准确率秒杀结巴分词,北大开源全新中文分词工具包PKUSeg

Posted 开源最前线

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了准确率秒杀结巴分词,北大开源全新中文分词工具包PKUSeg相关的知识,希望对你有一定的参考价值。

开源最前线(ID:OpenSourceTop) 猿妹整编


分词技术是一种比较基础的模块,就英文而言,词与词之间通常由空格分开,因此英文分词则要简单的多,但中文和英文的词是有区别的,再加上中国文化的博大精深,分词的时候要考虑的情况比英文分词要复杂的多,如果处理不好就会直接影响到后续词性标注、句法分析等的准确性,


目前,我们最常用的分词工具大概有四种哈工大LTP、中科院计算所NLPIR、清华大学THULAC和jieba。


不过最近,北大开源了一个中文分词工具包,名为 —— PKUSeg,基于Python。据介绍其准确率秒杀THULAC和结巴分词等工具。





pkuseg具有如下几个特点:

  • 多领域分词:不同于以往的通用中文分词工具,此工具包同时致力于为不同领域的数据提供个性化的预训练模型。根据待分词文本的领域特点,用户可以自由地选择不同的模型。 我们目前支持了新闻领域,网络文本领域和混合领域的分词预训练模型,同时也拟在近期推出更多的细领域预训练模型,比如医药、旅游、专利、小说等等。

  • 更高的分词准确率:相比于其他的分词工具包,当使用相同的训练数据和测试数据,pkuseg可以取得更高的分词准确率。

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



各类分词工具包的性能对比


前面有提到说pkuseg的准确率远超其他分词工具包,现在就是用数据说话的时候了,下面就是在 Linux 环境下,各工具在新闻数据 (MSRA) 和混合型文本 (CTB8) 数据上的准确率测试情况


准确率秒杀结巴分词,北大开源全新中文分词工具包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

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

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


此外,pkuseg提供了三种在不同类型数据上训练得到的模型,根据具体需要,用户可以选择不同的预训练模型:

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


CTB8:在CTB8(新闻文本及网络文本的混合型语料)上训练的模型。随pip包附带的是此模型。


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


1、LTP:https://github.com/HIT-SCIR/ltp

2、NLPIR:https://github.com/NLPIR-team/NLPIR

3、THULAC:https://github.com/thunlp/THULAC

4、jieba:https://github.com/yanyiwu/cppjieba



●编号510,输入编号直达本文

●输入m获取文章目录

以上是关于准确率秒杀结巴分词,北大开源全新中文分词工具包PKUSeg的主要内容,如果未能解决你的问题,请参考以下文章

北大开源了中文分词工具包

北大开源了Python中文分词工具包,准确度远超Jieba

学界 | 北大开源中文分词工具包 pkuseg

北大pkuseg-python中文分词工具包准确度高于THULAC和jieba结巴(附PDF公号发“pkuseg中文分词”下载)

尴尬!北大开源高准确度中文分词工具包,数据表现却遭质疑

北大开源中文分词工具pkuseg-python,我用张小龙的3万字演讲做了统计