用MeCab打造一套实用的中文分词系统
2015-04-03来源:易贤网

虽然是愚人节,但是这个不是愚人节玩笑,最近花了一些时间在MeCab身上,越发喜欢这个来自岛国的开源分词系统,今天花了一些时间训练了一个更适用的模型和词典,打包提供给大家使用,因为数据和词典涉及到一些版权问题,所以打包文件里只是mecab用于发布的二进制词典和模型文件,目前在mac os和linux ubuntu系统下测试无误,其他系统请自行测试使用:

链接: 密码: 8udf

了解和安装mecab请参考:

日文分词器 Mecab 文档

用MeCab打造一套实用的中文分词系统

使用前请按上述文档安装mecab,下载这个中文分词模型和词典之后解压,解压后得到一个mecab-chinese-data目录,执行:

mecab -d mecab-chinese-data

扬帆远东做与中国合作的先行

扬帆v,*,*,*,*,*,扬帆,*,*

远东ns,*,*,*,*,*,远东,*,*

做v,*,*,*,*,*,做,*,*

与p,*,*,*,*,*,与,*,*

中国ns,*,*,*,*,*,中国,*,*

合作v,*,*,*,*,*,合作,*,*

的u,*,*,*,*,*,的,*,*

先行vn,*,*,*,*,*,先行,*,*

EOS

上述第二列提供了词性标注结果。

如果想得到单行的分词结果,可以这样执行:

mecab -d ./mecab-chinese-data/ -O wakati

扬帆远东做与中国合作的先行

扬帆 远东 做 与 中国 合作 的 先行

如果想直接对文件分词,可以这样执行:

mecab -d ./mecab-chinese-data/ INPUT -o OUTPUT

具体可以参考上述两个文档,另外我在mac下测试了一下中文维基百科语料的切分速度,大概700多M的语料,不到90秒切分完毕,大概7M/s的切分速度完全达到了工业届的使用标准。另外Mecab还支持Nbest输出,多种输出格式,全切分模式,系统词典和用户词典定制等等,同时通过SWIG提供了perl, ruby, python, java的调用接口,非常方便。

以下是在backoff2005 人民日报语料库上的测试结果:

=== SUMMARY:

=== TOTAL INSERTIONS:3803

=== TOTAL DELETIONS:1981

=== TOTAL SUBSTITUTIONS:5004

=== TOTAL NCHANGE:10788

=== TOTAL TRUE WORD COUNT:104372

=== TOTAL TEST WORD COUNT:106194

=== TOTAL TRUE WORDS RECALL:0.933

=== TOTAL TEST WORDS PRECISION:0.917

=== F MEASURE:0.925

=== OOV Rate:0.058

=== OOV Recall Rate:0.482

=== IV Recall Rate:0.961

###pku_test.result380319815004107881043721061940.9330.9170.9250.0580.4820.961

召回率93.3%,准确率91.7%, F值为92.5%, 虽然还没有一个单纯针对这个测试语料比赛的分词结果好,但是测试了一些其他语料后觉得这个版本完全可以作为一个基准版本使用,另外mecab也提供了用户定制词典接口,方便用户按自己的需求定制使用。

更多信息请查看IT技术专栏

推荐信息