文档章节

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

杨尚川
 杨尚川
发布于 2014/08/30 23:02
字数 2133
阅读 1255
收藏 33

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

 

 


© 著作权归作者所有

杨尚川

杨尚川

粉丝 1100
博文 220
码字总数 1624053
作品 12
东城
架构师
私信 提问
加载中

评论(5)

CheneyWong
CheneyWong
新浪云中文分词做得也不错。
杨尚川
杨尚川 博主

引用来自“FiReKing_”的评论

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

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

中科院分词也不错,可以加进来比拼下!
中科院分词没有JAVA版本
三平行者
三平行者
中科院分词也不错,可以加进来比拼下!
cws_evaluation v1.0 发布,Java 中文分词器分词效果评估

cws_evaluation 是一个Java开源项目,用于对Java中文分词器分词效果进行评估。 支持的分词器有:word分词器、ansj分词器、mmseg4j分词器、ik-analyzer分词器、jcseg分词器、fudannlp分词器、...

杨尚川
2014/05/02
993
4
cws_evaluation v1.1 发布,中文分词器分词效果评估对比

cws_evaluation 是一个Java开源项目,用于对中文分词器的分词效果进行评估对比,目前支持9大中文分词器。分别是:word分词器、ansj分词器、mmseg4j分词器、ik-analyzer分词器、jcseg分词器、...

杨尚川
2015/05/12
2K
0
Java分布式中文分词组件word分词v1.2发布

word分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名...

杨尚川
2015/04/11
5.9K
5
Java中文分词组件 - word分词

Java分布式中文分词组件 - word分词 word分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数...

杨尚川
2014/04/29
25K
56
word v1.3.1 发布,Java 分布式中文分词组件

word 分词是一个Java实现的分布式的中文分词组件,提供了多种基于词典的分词算法,并利用ngram模型来消除歧义。能准确识别英文、数字,以及日期、时间等数量词,能识别人名、地名、组织机构名...

杨尚川
2015/10/05
2.1K
9

没有更多内容

加载失败,请刷新页面

加载更多

rime设置为默认简体

转载 https://github.com/ModerRAS/ModerRAS.github.io/blob/master/_posts/2018-11-07-rime%E8%AE%BE%E7%BD%AE%E4%B8%BA%E9%BB%98%E8%AE%A4%E7%AE%80%E4%BD%93.md 写在开始 我的Arch Linux上......

zhenruyan
今天
5
0
简述TCP的流量控制与拥塞控制

1. TCP流量控制 流量控制就是让发送方的发送速率不要太快,要让接收方来的及接收。 原理是通过确认报文中窗口字段来控制发送方的发送速率,发送方的发送窗口大小不能超过接收方给出窗口大小。...

鏡花水月
今天
10
0
OSChina 周日乱弹 —— 别问,问就是没空

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @tom_tdhzz :#今日歌曲推荐# 分享容祖儿/彭羚的单曲《心淡》: 《心淡》- 容祖儿/彭羚 手机党少年们想听歌,请使劲儿戳(这里) @wqp0010 :周...

小小编辑
今天
1K
11
golang微服务框架go-micro 入门笔记2.1 micro工具之micro api

micro api micro 功能非常强大,本文将详细阐述micro api 命令行的功能 重要的事情说3次 本文全部代码https://idea.techidea8.com/open/idea.shtml?id=6 本文全部代码https://idea.techidea8....

非正式解决方案
今天
5
0
Spring Context 你真的懂了吗

今天介绍一下大家常见的一个单词 context 应该怎么去理解,正确的理解它有助于我们学习 spring 以及计算机系统中的其他知识。 1. context 是什么 我们经常在编程中见到 context 这个单词,当...

Java知其所以然
昨天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部