Java开源项目cws_evaluation:中文分词器分词效果评估

原创
2014/08/30 23:02
阅读数 3.3K

cws_evaluation 是一个Java开源项目,用于对Java中文分词器分词效果进行评估

 

cws_evaluation 通过对前文《word分词器、ansj分词器、mmseg4j分词器、ik-analyzer分词器分词效果评估》中写的评估程序进行重构改进后形成的。

 

支持的分词器有:word分词器、ansj分词器、mmseg4j分词器、ik-analyzer分词器、jcseg分词器、fudannlp分词器、paoding分词器、jieba分词器、stanford分词器等9大中文分词器。

 

评估采用的测试文本有253 3709行,共2837 4490个字符。

 

cws_evaluation主页

可运行程序下载

 

最好的评估结果是word分词 全切分算法(trigram)

 

word分词 全切分算法(trigram):
分词速度:42.10602 字符/毫秒
行数完美率:65.04%  行数错误率:34.95%  总的行数:2533709  完美行数:1648163  错误行数:885546
字数完美率:56.3% 字数错误率:43.69% 总的字数:28374490 完美字数:15976750 错误字数:12397740

 

 

下面的评估数据中,word分词使用bigram,按行数完美率排序:

 

1:
word分词 全切分算法:
分词速度:40.259953 字符/毫秒
行数完美率:58.79%  行数错误率:41.2%  总的行数:2533709  完美行数:1489713  错误行数:1043996
字数完美率:49.53% 字数错误率:50.46% 总的字数:28374490 完美字数:14054431 错误字数:14320059

2:
Ansj ToAnalysis 精准分词:
分词速度:705.25415 字符/毫秒
行数完美率:58.6%  行数错误率:41.39%  总的行数:2533709  完美行数:1484830  错误行数:1048879
字数完美率:50.96% 字数错误率:49.03% 总的字数:28374490 完美字数:14462190 错误字数:13912300

3:
Stanford Beijing University segmentation:
分词速度:14.4612055 字符/毫秒
行数完美率:58.29%  行数错误率:41.7%  总的行数:2533709  完美行数:1477034  错误行数:1056675
字数完美率:51.36% 字数错误率:48.63% 总的字数:28374490 完美字数:14574120 错误字数:13800370

4:
Ansj NlpAnalysis NLP分词:
分词速度:171.70125 字符/毫秒
行数完美率:58.15%  行数错误率:41.84%  总的行数:2533687  完美行数:1473377  错误行数:1060310
字数完美率:49.8% 字数错误率:50.19% 总的字数:28374398 完美字数:14132290 错误字数:14242108

5:
Stanford Chinese Treebank segmentation:
分词速度:13.723294 字符/毫秒
行数完美率:55.45%  行数错误率:44.54%  总的行数:2533709  完美行数:1404968  错误行数:1128741
字数完美率:47.27% 字数错误率:52.72% 总的字数:28374490 完美字数:13414926 错误字数:14959564

6:
word分词 双向最大最小匹配算法:
分词速度:172.1868 字符/毫秒
行数完美率:55.31%  行数错误率:44.68%  总的行数:2533709  完美行数:1401582  错误行数:1132127
字数完美率:45.83% 字数错误率:54.16% 总的字数:28374490 完美字数:13005696 错误字数:15368794

7:
Ansj BaseAnalysis 基本分词:
分词速度:834.34753 字符/毫秒
行数完美率:55.31%  行数错误率:44.68%  总的行数:2533709  完美行数:1401582  错误行数:1132127
字数完美率:48.17% 字数错误率:51.82% 总的字数:28374490 完美字数:13670258 错误字数:14704232

8:
word分词 双向最大匹配算法:
分词速度:270.38776 字符/毫秒
行数完美率:52.01%  行数错误率:47.98%  总的行数:2533709  完美行数:1317801  错误行数:1215908
字数完美率:42.42% 字数错误率:57.57% 总的字数:28374490 完美字数:12038414 错误字数:16336076

9:
FudanNLP:
分词速度:94.249245 字符/毫秒
行数完美率:51.48%  行数错误率:48.51%  总的行数:2533709  完美行数:1304371  错误行数:1229338
字数完美率:43.22% 字数错误率:56.77% 总的字数:28374490 完美字数:12265742 错误字数:16108748

10:
Jieba SEARCH:
分词速度:662.1663 字符/毫秒
行数完美率:51.42%  行数错误率:48.57%  总的行数:2533709  完美行数:1303081  错误行数:1230628
字数完美率:42.09% 字数错误率:57.9% 总的字数:28374490 完美字数:11944313 错误字数:16430177

11:
Ansj IndexAnalysis 面向索引的分词:
分词速度:750.1914 字符/毫秒
行数完美率:50.89%  行数错误率:49.1%  总的行数:2533709  完美行数:1289517  错误行数:1244192
字数完美率:42.96% 字数错误率:57.03% 总的字数:28374490 完美字数:12191132 错误字数:16183358

12:
Jcseg 复杂模式:
分词速度:412.83997 字符/毫秒
行数完美率:48.64%  行数错误率:51.35%  总的行数:2533709  完美行数:1232550  错误行数:1301159
字数完美率:39.59% 字数错误率:60.4% 总的字数:28374490 完美字数:11236204 错误字数:17138286

13:
word分词 双向最小匹配算法:
分词速度:343.60004 字符/毫秒
行数完美率:46.76%  行数错误率:53.23%  总的行数:2533709  完美行数:1185013  错误行数:1348696
字数完美率:36.52% 字数错误率:63.47% 总的字数:28374490 完美字数:10365168 错误字数:18009322

14:
word分词 逆向最大匹配算法:
分词速度:607.2527 字符/毫秒
行数完美率:46.72%  行数错误率:53.27%  总的行数:2533709  完美行数:1183913  错误行数:1349796
字数完美率:36.67% 字数错误率:63.32% 总的字数:28374490 完美字数:10407342 错误字数:17967148

15:
word分词 正向最大匹配算法:
分词速度:615.3252 字符/毫秒
行数完美率:46.66%  行数错误率:53.33%  总的行数:2533709  完美行数:1182351  错误行数:1351358
字数完美率:36.73% 字数错误率:63.26% 总的字数:28374490 完美字数:10422209 错误字数:17952281

16:
Jcseg 简易模式:
分词速度:750.60815 字符/毫秒
行数完美率:45.24%  行数错误率:54.75%  总的行数:2533709  完美行数:1146355  错误行数:1387354
字数完美率:36.48% 字数错误率:63.51% 总的字数:28374490 完美字数:10352723 错误字数:18021767

17:
word分词 逆向最小匹配算法:
分词速度:970.16754 字符/毫秒
行数完美率:41.78%  行数错误率:58.21%  总的行数:2533709  完美行数:1058606  错误行数:1475103
字数完美率:31.68% 字数错误率:68.31% 总的字数:28374490 完美字数:8989797 错误字数:19384693

18:
MMSeg4j ComplexSeg:
分词速度:1071.8275 字符/毫秒
行数完美率:38.81%  行数错误率:61.18%  总的行数:2533688  完美行数:983517  错误行数:1550171
字数完美率:29.6% 字数错误率:70.39% 总的字数:28374428 完美字数:8400089 错误字数:19974339

19:
MMSeg4j SimpleSeg:
分词速度:1369.4913 字符/毫秒
行数完美率:37.57%  行数错误率:62.42%  总的行数:2533688  完美行数:951909  错误行数:1581779
字数完美率:28.45% 字数错误率:71.54% 总的字数:28374428 完美字数:8074021 错误字数:20300407

20:
IKAnalyzer 智能切分:
分词速度:350.47543 字符/毫秒
行数完美率:37.55%  行数错误率:62.44%  总的行数:2533686  完美行数:951638  错误行数:1582048
字数完美率:27.97% 字数错误率:72.02% 总的字数:28374416 完美字数:7938726 错误字数:20435690

21:
word分词 正向最小匹配算法:
分词速度:1079.0421 字符/毫秒
行数完美率:36.85%  行数错误率:63.14%  总的行数:2533709  完美行数:933769  错误行数:1599940
字数完美率:26.85% 字数错误率:73.14% 总的字数:28374490 完美字数:7621334 错误字数:20753156

22:
Jieba INDEX:
分词速度:622.5616 字符/毫秒
行数完美率:36.44%  行数错误率:63.55%  总的行数:2533709  完美行数:923459  错误行数:1610250
字数完美率:26.25% 字数错误率:73.74% 总的字数:28374490 完美字数:7448925 错误字数:20925565

23:
MMSeg4j MaxWordSeg:
分词速度:1064.9885 字符/毫秒
行数完美率:34.27%  行数错误率:65.72%  总的行数:2533688  完美行数:868440  错误行数:1665248
字数完美率:25.2% 字数错误率:74.79% 总的字数:28374428 完美字数:7152898 错误字数:21221530

24:
IKAnalyzer 细粒度切分:
分词速度:366.91785 字符/毫秒
行数完美率:18.87%  行数错误率:81.12%  总的行数:2533686  完美行数:478176  错误行数:2055510
字数完美率:10.93% 字数错误率:89.06% 总的字数:28374416 完美字数:3103178 错误字数:25271238

25:
Paoding MAX_WORD_LENGTH_MODE:
分词速度:1343.1075 字符/毫秒
行数完美率:14.19%  行数错误率:85.8%  总的行数:2533158  完美行数:359637  错误行数:2173521
字数完美率:7.72% 字数错误率:92.27% 总的字数:28373102 完美字数:2191349 错误字数:26181753

26:
Paoding MOST_WORDS_MODE:
分词速度:1338.9246 字符/毫秒
行数完美率:11.6%  行数错误率:88.39%  总的行数:2533158  完美行数:294011  错误行数:2239147
字数完美率:5.92% 字数错误率:94.07% 总的字数:28373102 完美字数:1680261 错误字数:26692841

 

 


展开阅读全文
打赏
1
33 收藏
分享
加载中
新浪云中文分词做得也不错。
2014/09/29 00:09
回复
举报
杨尚川博主

引用来自“FiReKing_”的评论

我一直搞不懂分词是什么定义 能不能简单解释下
中文分词 (Chinese Word Segmentation) 指的是将一个汉字序列切分成一个一个单独的词。分词就是将连续的字序列按照一定的规范重新组合成词序列的过程。我们知道,在英文的行文中,单词之间是以空格作为自然分界符的,而中文只是字、句和段能通过明显的分界符来简单划界,唯独词没有一个形式上的分界符,虽然英文也同样存在短语的划分问题,不过在词这一层上,中文比之英文要复杂的多、困难的多。
2014/09/20 22:44
回复
举报
我一直搞不懂分词是什么定义 能不能简单解释下
2014/09/18 11:29
回复
举报
杨尚川博主

引用来自“三平行者”的评论

中科院分词也不错,可以加进来比拼下!
中科院分词没有JAVA版本
2014/09/04 22:09
回复
举报
中科院分词也不错,可以加进来比拼下!
2014/09/03 10:27
回复
举报
更多评论
打赏
5 评论
33 收藏
1
分享
返回顶部
顶部