`

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

阅读更多

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

 

 

4
2
分享到:
评论
5 楼 yangshangchuan 2014-05-04  
--晴天-- 写道
行数完美率
行数错误率
完美行数
错误行数
字数完美率
字数错误率
完美字数
错误字数
这些“专业名词”不是特别懂啊解释一下啊!


                if(result.equals(standard)){
                    //分词结果和标准一模一样
                    perfectLineCount++;
                    perfectCharCount+=standard.replaceAll("\\s+", "").length();
                }else{
                    //分词结果和标准不一样
                    wrongLineCount++;
                    wrongCharCount+=standard.replaceAll("\\s+", "").length();
                }
4 楼 yangshangchuan 2014-05-04  
--晴天-- 写道
行数完美率
行数错误率
完美行数
错误行数
字数完美率
字数错误率
完美字数
错误字数
这些“专业名词”不是特别懂啊解释一下啊!


public float getLinePerfectRate(){
        return (int)(perfectLineCount/(float)totalLineCount*10000)/(float)100;
    }
    public float getLineWrongRate(){
        return (int)(wrongLineCount/(float)totalLineCount*10000)/(float)100;
    }
    public float getCharPerfectRate(){
        return (int)(perfectCharCount/(float)totalCharCount*10000)/(float)100;
    }
    public float getCharWrongRate(){
        return (int)(wrongCharCount/(float)totalCharCount*10000)/(float)100;
    }
3 楼 --晴天-- 2014-05-04  
行数完美率
行数错误率
完美行数
错误行数
字数完美率
字数错误率
完美字数
错误字数
这些“专业名词”不是特别懂啊解释一下啊!
2 楼 yangshangchuan 2014-05-01  
xinggg22 写道
建议把 jcseg 也放进去评估。


好主意!
1 楼 xinggg22 2014-05-01  
建议把 jcseg 也放进去评估。

相关推荐

Global site tag (gtag.js) - Google Analytics