|
IKAnalyzer基于lucene2.0版本API开发,实现了以词典分词为基础的正反向全切分算法,是Lucene Analyzer接口的实现,代码使用例子如下:
分词效果测试,命令行如下: java -classpath IKAnalyzer.jar;lucene-core-2.0.0.jar org.mira.lucene.analysis.IK_CAnalyzer 中华人民共和国香港特别行政区
该算法适合与互联网用户的搜索习惯和企业知识库检索,用户可以用句子中涵盖的中文词汇搜索,如用“人民”搜索含“人民币”的文章,这是大部分用户的搜索思维; 不适合用于知识挖掘和网络爬虫技术,全切分法容易造成知识歧义,因为在语义学上“人民”和“人民币”是完全搭不上关系的。
分词效果:
1.实现中文单词细粒度全切分
如:中华人民共和国 0 - 2 = 中华 0 - 4 = 中华人民 0 - 7 = 中华人民共和国 1 - 3 = 华人 2 - 4 = 人民 2 - 7 = 人民共和国 4 - 6 = 共和 4 - 7 = 共和国
2.实现对专有名词的识别和切分(人名,公司名)
如:陈文平是开睿动力通讯科技有限公司董事长 0 - 3 = 陈文平 <------ 人名,非汉语词汇 4 - 6 = 开睿 <------ 公司名,非汉语词汇 6 - 8 = 动力 8 - 10 = 通讯 10 - 12 = 科技 12 - 14 = 有限 12 - 16 = 有限公司 14 - 16 = 公司 16 - 18 = 董事 16 - 19 = 董事长 18 - 19 = 长
3.对数词和量词的合理切分
如:据路透社报道,印度尼西亚社会事务部一官员星期二(29日)表示,日惹市附近当地时间27日晨5时53分发生的里氏6.2级地震已经造成至少5427人死亡,20000余人受伤,近20万人无家可归。 0 - 1 = 据 1 - 4 = 路透社 4 - 6 = 报道 。。。。。。 18 - 20 = 官员 20 - 22 = 星期 20 - 23 = 星期二 22 - 23 = 二 24 - 26 = 29 24 - 27 = 29日 26 - 27 = 日 28 - 30 = 表示 31 - 33 = 日惹 33 - 34 = 市 。。。。。。 40 - 42 = 27 40 - 43 = 27日 43 - 44 = 晨 44 - 45 = 5 44 - 46 = 5时 45 - 46 = 时 46 - 48 = 53 46 - 49 = 53分 48 - 50 = 分发 。。。。。。 52 - 54 = 里氏 54 - 57 = 6.2 54 - 58 = 6.2级 57 - 58 = 级 58 - 60 = 地震 。。。。。。 66 - 70 = 5427 66 - 71 = 5427人 71 - 73 = 死亡 72 - 73 = 亡 74 - 79 = 20000 79 - 81 = 余人 81 - 83 = 受伤 84 - 85 = 近 85 - 87 = 20 85 - 89 = 20万人 87 - 89 = 万人 89 - 93 = 无家可归
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/jyz3051/archive/2008/01/08/2029560.aspx
|