⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 readme.txt

📁 中文分词工具
💻 TXT
字号:
最新V1.4版分词器

1.修订特定情况下数量词切分造成指针越界异常的BUG
2.进一步优化算法效率
3.优化词典
4.对英文和数词进行分割处理


IKAnalyzer基于lucene2.0版本API开发,实现了以词典分词为基础的正反向全切分算法,是Lucene 
Analyzer接口的实现,代码使用例子如下: 



import org.mira.lucene.analysis.MIK_CAnalyzer(最大全切分)
import org.mira.lucene.analysis.IK_CAnalyzer(细粒度全切分)<------引用类 
import ..... 


public class IKAnalyzerTest extends TestCase { 


        RAMDirectory directory; 
        private IndexSearcher searcher; 


        public void setUp() throws Exception { 


                directory = new RAMDirectory(); 


                IndexWriter writer = new IndexWriter(directory, 
                        new MIK_CAnalyzer(),   <-------实例化类  (或使用细粒度切分  new IK_CAnalyzer())
                         true); 


                Document doc = new Document(); 
                doc.add(Field.Keyword("partnum", "Q36")); 
                doc.add(Field.Text("description", "Illidium Space Modulator")); 
                writer.addDocument(doc); 
                writer.close(); 
                searcher = new IndexSearcher(directory); 


        } 


        public void testTermQuery() throws Exception { 
                Query query = new TermQuery(new Term("partnum", "Q36")); 
                Hits hits = searcher.search(query); 
                assertEquals(1, hits.length()); 
        } 



} 


***************************************************************************
细粒度全切分算法
***************************************************************************

分词效果测试,命令行如下: 
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 = 无家可归 
 
***************************************************************************
最大全切分算法
***************************************************************************


实现类 : org.mira.lucene.analysis.MIK_CAnalyzer

效果测试命令行:
java -classpath IKAnalyzer.jar;lucene-core-2.0.0.jar org.mira.lucene.analysis.MIK_CAnalyzer 中华人民共和国香港特别行政区 


分词效果:

例子:中华人民共和国香港特别行政区 
        
        0 - 7 = 中华人民共和国
        7 - 14 = 香港特别行政区

例子:陈文平是开睿动力通讯科技有限公司董事长 
        
        0 - 3 = 陈文平
        4 - 6 = 开睿
        6 - 8 = 动力
        8 - 10 = 通讯
        10 - 12 = 科技
        12 - 16 = 有限公司
        16 - 19 = 董事长

例子:据路透社报道,印度尼西亚社会事务部一官员星期二(29日)表示,日惹市附近当地时间27日晨5时53分发生的里氏6.2级地震已经造成至少5427人死亡?,20000余人受伤,近20万人无家可归。
        
        1 - 4 = 路透社
        4 - 6 = 报道
        7 - 12 = 印度尼西亚
        12 - 14 = 社会
        14 - 16 = 事务
        18 - 20 = 官员
        20 - 23 = 星期二
        24 - 27 = 29日
        28 - 30 = 表示
        31 - 33 = 日惹
        34 - 36 = 附近
        36 - 40 = 当地时间
        40 - 43 = 27日
        44 - 46 = 5时
        46 - 49 = 53分
        48 - 50 = 分发
        49 - 51 = 发生
        50 - 52 = 生的
        52 - 54 = 里氏
        54 - 58 = 6.2级
        58 - 60 = 地震
        60 - 62 = 已经
        62 - 64 = 造成
        64 - 66 = 至少
        66 - 71 = 5427人
        71 - 73 = 死亡
        75 - 80 = 20000
        80 - 82 = 余人
        82 - 84 = 受伤
        86 - 90 = 20万人
        90 - 94 = 无家可归 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -