`

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 也放进去评估。

相关推荐

    cws_evaluation, Java开源项目cws_evaluation:中文分词器分词效果评估对比.zip

    《cws_evaluation:Java开源项目中的中文分词器效果评估》 在中文自然语言处理领域,分词是至关重要的一步,它对后续的文本分析、信息检索、机器翻译等任务有着直接影响。cws_evaluation是一个Java开源项目,专门...

    Java开源项目cws-evaluation:中文分词器分词效果评估对比.zip

    Java开源项目cws-evaluation:中文分词器分词效果评估对比.zip

    中文分词工具word-1.0,Java实现的中文分词组件多种基于词典的分词算法

    word分词是一个Java实现的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。 能准确识别英文、数字,以及日期、时间等数量词,能...5、Java开源项目cws_evaluation:中文分词器分词效果评估

    CWS_Dict:AAAI 2018年论文“带有用于中文分词的词典的神经网络”的源代码-tensorflow source code

    结合字典的神经网络用于中文分词 本文提出了中文分词算法的源代码和语料库。 张琦,刘晓宇,付金兰。 结合字典进行中文分词的神经网络。 AAAI 2018 依存关系 目录结构 CWS_dict same-domain: In-domain ...

    pyltp使用的cws_V3.4.0.model

    使用哈工大的ltp,少不了分词模型,由于ltp_data全量模型包太大,经常遇到下载不下来的问题,可以通过下载cws.model直接解决。该文件需要放置到全英文名的路径下才能用: import pyltp from pyltp import Segment...

    java 中文分词插件

    "raycool.plugin.ds.cws"这个名字可能是指一个名为Raycool的Java分词插件,其中“ds”可能代表数据结构或特定的分词策略,“cws”则很可能表示“Chinese Word Segmentation”,即中文分词。这个插件可能包含了特定...

    基于NLP技术实现的中文分词插件,准确度比常用的分词器高太多,同时提供ElasticSearch和OpenSearch插件

    ideaseg 是 Indexea 推出的一个基于最新的 HanLP 自然语言处理工具包实现的中文分词器, 包含了最新的模型数据,同时移除了 HanLP 所包含的非商业友好许可的 NeuralNetworkParser 相关代码和数据。

    cws_injury:武装突袭 3 的国际象棋大师的伤口系统

    昏迷单位在流血时有视觉效果 无意识的单位可以四处移动并开火他们的主要武器 无意识的单位会被 AI 忽略,直到他们开火 无意识的单位无法行走、投掷手榴弹、装弹等。 昏迷的医生可以对自己进行急救(可以在配置中...

    ltp-cws:LTP中文分词模块

    另外还新增了个性化(增量式)训练功能,用户可以根据自己的实际需求,如对新领域的文本进行分词等,自行标注少量句子的分词结果(比如对LTP分词结果的修正),LTP分词模块可以重新训练一个更好应对新领域的分词器,...

    中文分词十年又回顾- 2007-2017 CWS-10Year-Review-21

    【中文分词十年又回顾-2007-2017 CWS-10Year-Review-21】 本文是对2007年至2017年间中文分词技术发展的回顾,主要关注了深度学习在自然语言处理中的应用及其对中文分词效果的影响。作者指出,虽然深度学习已经在...

    wksh_raster_CWS:用R操纵栅格

    【标题】"wksh_raster_CWS:用R操纵栅格"揭示了这个压缩包文件主要涉及的内容是使用R语言处理栅格数据。栅格数据是地理信息系统(GIS)中的重要组成部分,通常用于存储和分析空间连续性数据,如卫星图像、气候模型...

    机器学习C++源码解析-隐马尔科夫中文分词HMM_CWS算法-源码+数据

    本资源包提供了一个用C++实现的HMM算法,专门用于中文分词(Chinese Word Segmentation,简称CWS)。中文分词是将连续的汉字序列切分成具有独立意义的词汇单元的过程,它是中文信息处理的基础步骤。 首先,我们来...

    NLP工具::face_savoring_food:本项目推进通过Tensorflow基于BiLSTM + CRF实现中文分词,词性标注,命名实体识别(NER)

    本项目初步通过Tensorflow基于BiLSTM + CRF实现字符级序列标注模型。 功能: 1,对未登录字(词)识别能力 2,Http接口 3,可快速实现分词,词性标注,NER,SRL等序列标注模型 欢迎各位大佬吐槽。 说明 环境配置:...

    Python-multicriteriacws简单有效的多标准中文分词

    其核心思想是结合多种分词策略,通过多个标准进行综合评估,从而实现更优的分词效果。这种多标准方法能够弥补单一策略的不足,提高对各种语言现象的处理能力。 ### 3. 分词策略 `multi-criteria-cws` 主要采用以下...

    ewpw_detectability:CWS的东部鞭式不良意愿检测能力分析

    【描述】:“ewpw_detectability”这部分描述可能意味着该项目或研究的核心是评估CWS系统在检测“鞭式不良意愿”这一特定威胁时的有效性。东部地区可能指的是某个地理区域,这暗示了研究具有地域针对性,因为不同...

    基于Tensorflow的中文分词模型.zip

    在【压缩包子文件的文件名称列表】"cws-tensorflow-master"中,"cws"通常代表Chinese Word Segmentation,即中文分词,而"master"可能指的是项目的主分支或者源代码的主版本。这表明压缩包内包含了项目的源代码,...

    sac_cws:SAC自定义小部件

    SAC(可能是某个项目或框架的缩写)中的“SAC自定义小部件”是利用JavaScript实现的一种功能模块化的方式,允许开发者根据需求创建自己的用户界面组件。在本文中,我们将深入探讨JavaScript在创建自定义小部件中的...

    CWS, 中文分词ACL2016纸的源代码.zip

    CWS, 中文分词ACL2016纸的源代码 CWS这段代码实现了本文中提出的分词算法。Chinese与Hai汉语词切分学研究。 ACL 2016.最近我们改进了系统,coressponding文件将出现在 ACL2017,源代码在上,这个 repo 是1.更新使用...

    汉语分词系统 www.8jiao.com

    很不错的一个汉语分词终端 简介: http://dev.8jiao.com/index.php/Wb_cws_index API说明:http://dev.8jiao.com/index.php/Wb_cws_api

    CWS12v5.2_Win_b151201_se.rar

    CWS12v5.2是NXP Codewarrior系列的其中一个版本,专为8位和16位微控制器设计,提供了全面的开发工具集,包括编译器、调试器、模拟器以及项目管理工具等,使得开发者能够高效地进行微控制器应用的开发。该IDE以其易用...

Global site tag (gtag.js) - Google Analytics