近日,北大开源中文分词工具包,对多个词的分词准确率非常高分割数据集。其中广泛使用的口吃分词错误率高达18.55%和20.42,而北大的pkuseg仅为3.25%和4.32%。pkuseg是北京大学语言计算与机器学习课题组开发的全新中文分词工具包。简单易用,支持多领域分词,大大提高了对不同领域数据的分词准确率。项目地址:https://github.com/lancopku/PKUSeg-pythonpkuseg具有以下特点:分词准确率高:与其他分词工具包相比,该工具包在不同领域的数据分词准确率上有了很大的提升。根据北京大学课题组的测试结果,pkuseg在示例数据集(MSRA和CTB8)上分词错误率分别降低了79.33%和63.67%。多领域分词:研究团队训练了多种不同领域的分词模型。根据待分词的领域特点,用户可以自由选择不同的模型。支持用户自训练模型:支持用户使用全新的标注数据进行训练。此外,作者还选取了THULAC、stutter分词等国内具有代表性的分词工具包,与pkuseg进行了性能对比。他们选择Linux作为测试环境,测试了不同工具包在新闻数据(MSRA)和混合文本(CTB8)数据上的准确性。此外,测试使用第二届国际中文分词评测大赛提供的分词评测脚本。评测结果如下:我们可以看到目前使用最广泛的分词准确率是***,清华大学搭建的THULAC分词准确率没有它高。当然,pkuseg是在这些数据集上训练的,所以它在这些任务上会更加准确。在预训练模型的分词模式下,用户需要加载预训练模型。研究团队提供了三种针对不同类型数据训练的模型,用户可以根据具体需求选择不同的预训练模型。以下是对预训练模型的描述:MSRA:在MSRA(新闻语料库)上训练的模型。新版本的代码遵循这个模型。CTB8:在CTB8(新闻文本和网络文本的混合语料库)上训练的模型。微博:在微博(网络文本语料库)上训练的模型。其中,MSRA数据由第二届国际中文分词大赛提供,CTB8数据由LDC提供,WEIBO数据由NLPCC分词大赛提供。在GitHub项目中,三个预训练模型都提供了下载地址。安装和使用pkuseg的安装非常简单。我们可以使用pip安装,也可以直接从GitHub上下载:pipinstallpkuseg使用pkuseg实现分词也很简单,基本上用法和其他分词库类似:'''代码示例1:使用默认模型和默认字典分词'''importpkuseg#加载默认配置的模型seg=pkuseg.pkuseg()#进行分词text=seg.cut('我爱北京天安门')print(text)'''代码example2:Setuser-defineddictionary'''importpkuseg#希望分词的时候用户词典里的词是固定的,不分开lexicon=['PekingUniversity','Beijing天安门']#加载模型,给定用户字典seg=pkuseg。=lexicon)text=seg.cut('我爱北京天安门')print(text)'''代码示例3'''importpkuseg#假设用户下载了ctb8模型并放入'./ctb8'directory接下来加载模型,设置model_nameseg=pkuseg.pkuseg(model_name='./ctb8')text=seg.cut('我爱北京天安门')print(text)对于大文本数据集,如果需要快词分割,我们也可以使用多线程:'''代码示例4'''importpkuseg#将input.txt文件分割输出到output.txt,使用默认模型和字典,开启20个进程pkuseg.test('input.txt','output.txt',nthread=20)***,pkuseg还可以重新训练一个分词模型:'''代码示例5'''importpkuseg#训练文件为'msr_training.utf8',测试文件是'msr_test_gold.utf8',模型存放在'./models'目录下,开20个进程训练模型pkuseg.train('msr_training.utf8','msr_test_gold.utf8','./models',nthread=20)这些是GitHub上的例子,请参考GitHub项目获取详细内容,例如参数说明和参考论文。
