mmseg4j 1.7 beta 版发布

mmseg4j1.7beta版采用keytree数据结构大幅提升分词速度,通过避免复制待分词句子并直接与词库结构进行比较等优化手段,使得分词效率显著提高。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

mmseg4j 1.7 beta 版,主要改进分词速度。最大的变动是词库的数据结构改变了,改为key tree(键树)。有几点的性能改进:

[list]
[*]要比较的词不从 char[] sen(代分词的句子) 里复制,直接与词库结构比较, 性能提升10%
[*]用 key tree 的词库数据结构, 性能提升不少
[*]用 key tree 里实现的 maxmatch, 同时返回所有相关词的长度(就不用从所有不同的词长去试匹配了), 性能提高很大
[/list]

目前是用 HashMap 去实现 key tree的,固然内存开销增加,1.7 beta 版一个词库要 50M左右(15W词,有点多),之前的几个版都是10M左右。速度:simple 算法 1900kb/s左右;complex 算法 1200kb/s左右;max-word 模式 930kb/s左右。测试机(测试机:AMD athlon 64 2800+ 1G内存 xp)。

之前的版本都是 ArrayList<char[]> 存储词库,加二分查找。光查找就没有 key tree 快;再加上 key tree 一次最长匹配下去可以知道所有有效的不同词的长度,而二分查找做不到这一点(要所有不同词长去试匹配),这一点改进在我机子上速度提高了300-400kb/s。

目前用 HashMap 实现的 key tree 的缺点是:加载词库长一些,内存开销大。这些缺点换来了速度。

下载 [url=http://mmseg4j.googlecode.com/files/mmseg4j-1.7-beta.jar]mmseg4j-1.7-beta.jar[/url],[url=http://mmseg4j.googlecode.com/svn/trunk/]源码[/url]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值