/**
* <p>Copyright: Copyright (C) 2008 www.zihou.com & www.shuzhen.net. All rights reserved.</p>
* @author <a href="mailto:bbmonkey62@163.com">bbmonkey62</a>
*
*
* 关于shuzhen分词器的最新版本和相关资讯请访问:www.shuzhen.net
* 另外通过http://www.zihou.com/bbs/thread.php?fid-12.html也可以获得
*
*
* ShuzhenAnalyzer是一款基于字典的中文分词器,您现在看到的是1.1.4版本
*
* ShuzhenAnalyzer可以应用于个人学习以及商业用途,但有如下不适用的范围:
* 1、将此分词器用于销售营利
* a、包括单独销售此分ShuzhenAnalyzer分词器
* b、包括在出售的软件产品或其他一切产品中包含了ShuzhenAnalyzer分词器,如果您要将ShuzhenAnalyzer包含在您销售的产品中,请与作者联系取得授权
* 2、反编译且更改其类的名称
*
* 如果违反上述不适用的两条,作者将保留追究法律责任的权力
*
* 更多中文分词技术方面的资料请关注:http://www.zihou.com/bbs/thread.php?fid-2.html
* 更多中文分词器的下载请关注:http://www.zihou.com/bbs/thread.php?fid-12.html
*
* 注:为了叙述简便,存放在文件系统jdbm中的字典库统一称呼为jdbm字典系统,存放在内存中的字典系统称为内存字典系统
* 有时统称为字典系统则既指jdbm字典系统也指内存字典系统
*
*/
此版本特性及功能:
1、分词采用完全匹配(自命名)方式,也就是只要是符合字典系统中条目的就全部匹配出来
2、基于字典系统分词,字典系统的存放介质由使用者自由配置,既可以将字典系统只配置在JDBM系统中,也可以将字典系统只配置在内存系统中,也可以两者结合在一起使用,
当两者结合一起使用的时候,优先调用内存字典系统,当且仅当在内存字典系统中没有找到匹配项时才调用JDBM字典系统;
3、字典系统条目数量理论上可以趋于无穷多而绝不会出现内存溢出现象(在使用者理性配置的前提下,因为如果使用者配置为字典系统只采用内存,而条数过多情况下是会内存溢出的)
4、即使仅仅采用JDBM字典系统,索引创建及搜索速度受字典条目数量影响也是非常小的,速度也很快
5、可以很方便对字典系统进行管理,管理功能如下:
5.1、往字典系统中增加单个条目
5.2、往字典系统中增加多个条目
5.3、利用txt文件往字典系统中批量增加多个条目
5.4、删除字典系统中指定的某一个条目
5.5、判断字典系统中是否已存在某一条目
6、对搜索词提供了两种处理方式,可以更好地应用在不同需求的系统中,提高搜索结果的质量
如:搜索词为:1949年10月1日,中华人民共和国在\"北京\"宣-告成立
那么用两种方式分别对此搜索词进行处理过的结果如下:
第一种处理后的结果:1949 10 1 中华 中华人民 中华人民共和国 华人 人民 人民共和国 共和 共和国 "北京" -告成 成立
第二种处理后的结果:1949 年 10 月 1 日 中华 中华人民 中华人民共和国 华人 人民 人民共和国 共和 共和国 在 "北京" 宣 -告成 成立
7、去掉了分词时的英文停留词,因为目前感觉没有多大意义
8、分词时严格按照分词标准来进行,在与类似HighLighter等高亮显示器使用时,能准确高亮显示出命中,这一点避免了Google搜索中高亮显示的BUG
使用说明:
1、解压开压缩包后,可以见到两个jar包:ShuzhenAnalyzer-1.1.4.jar和jdbm-1.0.jar,将这两个jar包导入到你的系统中即可(ShuzhenAnalyzer-1.1.4.jar的目录结构为net/shuzhen/*.class)
2、不论是否采用字典系统,在调用分词器的时候,均可以这种形式,例如:IndexWriter writer = new IndexWriter(path,new ShuzhenAnalyzer(), true);
3、配置文件为:shuzhen.properties ,从1.1.4版本开始支持相对路径配置(所有配置文件均存放在WEB-INF/classes,也就是类根目录下),以下是shuzhen.properties里面的配置例子:
3.1、pDict=dict/dict.txt
配置字典文件dict.txt的存放位置,里面存放的字典条目会存入到jdbm中,如果配置了内存字典系统,也会导入到内存中,
实际分词时,是基于jdbm字典系统或内存字典系统而不是txt文件,左边的pDict不能改变,右边的路径表示为:WEB-INF/classes/dict/dict.txt,存放路径只要是在WEB-INF/classes下可以自定义
3.2、mDict=dict/mdict.txt
批量导入字典条目时用到,格式与dict.txt一样,左边的mDict不能改变,右边的存放路径如上表示为WEB-INF/classes/dict/mdict.txt,存放路径只要是在WEB-INF/classes下可以自定义
3.3、kPath=keysgroup/keysgroup
字典系统存放位置,也就是jdbm系统的存放位置,左边的kPath不能变,右边的keysgroup/keysgroup也不能变,表示WEB-INF/classes/keysgroup,不能自定义修改
3.4、shuzhen.properties的存放位置:存放位置为系统的类根目录,比如web系统的类根目录为:WEB-INF/classes,则将shuzhen.properties放在WEB-INF/classes下
4、配置是否采用内存字典系统或采用的话导入多少个条目到内存字典系统中
在shuzhen.properties中进行配置,配置项为maxKeyNumMemory,其值含义为:
maxKeyNumMemory=0 表示不采用内存字典系统
maxKeyNumMemory=-1 表示将dict.txt中的字典条目全部导入到内存字典系统中
maxKeyNumMemory为大于0的整数,则表示要导入到内存字典系统中的字典条目数量
maxKeyNumMemory除上面以外的任何值包括为空都表示不采用内存字典系统
5、系统自带有一个dict.txt,里面预录了有220199个字典条目
6、此版本用到了jdbm包,在1.1.4版本中包含了jdbm包,但您也可以自行去下载JDBM,其下载及介绍页面见:http://www.zihou.com/bbs/read.php?tid-34.html
****关于功能使用Demo,请参见随带的ShuzhenDemo.java****
历史版本记录(除了1.1.3版本,其他的都已建议不要再下载使用了)
1.1.3的下载地址可参见:
http://www.shuzhen.net 里的历史版本下载
或
http://bbs.zihou.com/htm_data/12/0809/359.html
关于编写者
作者:bbmonkey62
从事互联网行业,目前在北京一家互联网公司任软件工程师
作者联系方式
可在论坛留言:http://www.zihou.com/bbs/thread.php?fid-14.html
作者java技术博客
http://www.blogjava.net/bbmonkey62
关于此版本更详细的分词效果以及分词数据测试分析等内容,请访问 www.shuzhen.net
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
此版本改进为:分词时采用了完全匹配方式(自命名的),也即将符合字典条目的词全部切分出来,在基于字典的分词中达到了“分无可分”的程度;分词时完全按照标准分词来进行,这样保证了在和一些高亮显示组件如highlighter一起使用时,能准确无误的将命中进行高亮显示,避免了Google高亮显示的 Bug;配置文件的存放支持相对路径,这样更灵活,更方便应用在一些虚拟机上;字典条目支持导入到内存中,也就是在原有JDBM字典系统的基础上增加内存字典系统,且能方便自定义导入多少条目到内存中,能自定义使用内存还是JDBM字典系统还是两者结合起来使用,从而提高了索引创建速度;改进了对搜索词的处理;能对字典系统进行管理;另外也提供适合jdk1.5的版本。 详细信息可参见官方网站:http://www.shuzhen.net
资源推荐
资源详情
资源评论
收起资源包目录
ShuzhenAnalyzer-1.1.4-jdk1.5.0.rar (6个子文件)
ShuzhenDemo.java 6KB
dict.txt 1.65MB
shuzhen.properties 87B
jdbm-1.0.jar 85KB
readme.txt 5KB
ShuzhenAnalyzer-1.1.4-jdk1.5.0.jar 17KB
共 6 条
- 1
资源评论
yuanjian0211
- 粉丝: 2
- 资源: 5
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功