﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-lushengdi-随笔分类-lucene</title><link>http://www.blogjava.net/lushengdi/category/31995.html</link><description /><language>zh-cn</language><lastBuildDate>Fri, 06 Jun 2008 07:04:12 GMT</lastBuildDate><pubDate>Fri, 06 Jun 2008 07:04:12 GMT</pubDate><ttl>60</ttl><item><title>lucene中文分词组件（词典全切分算法）下载</title><link>http://www.blogjava.net/lushengdi/archive/2008/06/06/206315.html</link><dc:creator>鲁胜迪</dc:creator><author>鲁胜迪</author><pubDate>Fri, 06 Jun 2008 06:10:00 GMT</pubDate><guid>http://www.blogjava.net/lushengdi/archive/2008/06/06/206315.html</guid><wfw:comment>http://www.blogjava.net/lushengdi/comments/206315.html</wfw:comment><comments>http://www.blogjava.net/lushengdi/archive/2008/06/06/206315.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/lushengdi/comments/commentRss/206315.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/lushengdi/services/trackbacks/206315.html</trackback:ping><description><![CDATA[<p>下载地址：<br />
http://groups-beta.google.com/group/SegWord/web/IKAnalyzer.jar </p>
<p>IKAnalyzer基于lucene2.0版本API开发，实现了以词典分词为基础的正反向全切分算法，是Lucene Analyzer接口的实现，代码使用例子如下：</p>
<p>import org.mira.lucene.analysis.IK_CAnalyzer &lt;------- 引用类<br />
import .....</p>
<p>public class IKAnalyzerTest extends TestCase {</p>
<p>RAMDirectory directory;<br />
private IndexSearcher searcher;</p>
<p>public void setUp() throws Exception {</p>
<p>directory = new RAMDirectory();</p>
<p>&nbsp;</p>
<p>IndexWriter writer = new IndexWriter(directory,<br />
new IK_CAnalyzer(), &lt;------- 实例化类<br />
true);</p>
<p>Document doc = new Document();<br />
doc.add(Field.Keyword("partnum", "Q36"));<br />
doc.add(Field.Text("description", "Illidium Space Modulator"));<br />
writer.addDocument(doc);<br />
writer.close();<br />
searcher = new IndexSearcher(directory);</p>
<p>}</p>
<p>public void testTermQuery() throws Exception {<br />
Query query = new TermQuery(new Term("partnum", "Q36"));<br />
Hits hits = searcher.search(query);<br />
assertEquals(1, hits.length());<br />
}<br />
}</p>
<p>分词效果测试，命令行如下：<br />
java -classpath IKAnalyzer.jar;lucene-core-2.0.0.jar org.mira.lucene.analysis.IK_CAnalyzer 中华人民共和国香港特别行政区</p>
<p><br />
该算法适合与互联网用户的搜索习惯和企业知识库检索，用户可以用句子中涵盖的中文词汇搜索，如用&#8220;人民&#8221;搜索含&#8220;人民币&#8221;的文章，这是大部分用户的搜索思维；<br />
不适合用于知识挖掘和网络爬虫技术，全切分法容易造成知识歧义，因为在语义学上&#8220;人民&#8221;和&#8220;人民币&#8221;是完全搭不上关系的。</p>
<p>分词效果：</p>
<p>1.实现中文单词细粒度全切分</p>
<p>如：中华人民共和国<br />
0 - 2 = 中华<br />
0 - 4 = 中华人民<br />
0 - 7 = 中华人民共和国<br />
1 - 3 = 华人<br />
2 - 4 = 人民<br />
2 - 7 = 人民共和国<br />
4 - 6 = 共和<br />
4 - 7 = 共和国</p>
<p>2.实现对专有名词的识别和切分（人名，公司名）</p>
<p>如：陈文平是开睿动力通讯科技有限公司董事长<br />
0 - 3 = 陈文平 &lt;------ 人名，非汉语词汇<br />
4 - 6 = 开睿 &lt;------ 公司名，非汉语词汇<br />
6 - 8 = 动力<br />
8 - 10 = 通讯<br />
10 - 12 = 科技<br />
12 - 14 = 有限<br />
12 - 16 = 有限公司<br />
14 - 16 = 公司<br />
16 - 18 = 董事<br />
16 - 19 = 董事长<br />
18 - 19 = 长</p>
<p>3.对数词和量词的合理切分</p>
<p>如：据路透社报道，印度尼西亚社会事务部一官员星期二(29日)表示，日惹市附近当地时间27日晨5时53分发生的里氏6.2级地震已经造成至少5427人死亡，20000余人受伤，近20万人无家可归。<br />
0 - 1 = 据<br />
1 - 4 = 路透社<br />
4 - 6 = 报道<br />
。。。。。。 <br />
18 - 20 = 官员<br />
20 - 22 = 星期<br />
20 - 23 = 星期二<br />
22 - 23 = 二<br />
24 - 26 = 29<br />
24 - 27 = 29日<br />
26 - 27 = 日<br />
28 - 30 = 表示<br />
31 - 33 = 日惹<br />
33 - 34 = 市<br />
。。。。。。<br />
40 - 42 = 27<br />
40 - 43 = 27日<br />
43 - 44 = 晨<br />
44 - 45 = 5<br />
44 - 46 = 5时<br />
45 - 46 = 时<br />
46 - 48 = 53<br />
46 - 49 = 53分<br />
48 - 50 = 分发<br />
。。。。。。<br />
52 - 54 = 里氏<br />
54 - 57 = 6.2<br />
54 - 58 = 6.2级<br />
57 - 58 = 级<br />
58 - 60 = 地震<br />
。。。。。。<br />
66 - 70 = 5427<br />
66 - 71 = 5427人<br />
71 - 73 = 死亡<br />
72 - 73 = 亡<br />
74 - 79 = 20000<br />
79 - 81 = 余人<br />
81 - 83 = 受伤<br />
84 - 85 = 近<br />
85 - 87 = 20<br />
85 - 89 = 20万人<br />
87 - 89 = 万人<br />
89 - 93 = 无家可归<br />
<br />
转载于 <a href="http://www转载于.jdon.com/jivejdon/thread/30255.html">http://www.jdon.com/jivejdon/thread/30255.html</a></p>
<img src ="http://www.blogjava.net/lushengdi/aggbug/206315.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/lushengdi/" target="_blank">鲁胜迪</a> 2008-06-06 14:10 <a href="http://www.blogjava.net/lushengdi/archive/2008/06/06/206315.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>