`
baobeituping
  • 浏览: 1043452 次
  • 性别: Icon_minigender_1
  • 来自: 长沙
社区版块
存档分类
最新评论

Lucene分词器之庖丁解牛

阅读更多
注意:这里配置环境变量要重新启动系统后生效
 
我现在测试用的Lucene版本是lucene-2.4.0,它已经能够支持中文分词,但它是采用一元分词(逐字拆分)的方法,即把每一个汉字当作是一个词,这样会使建立的索引非常庞大,会影响查询效率.所以大多运用lucene的朋友,都会考虑使用其它的中文分词包,这里我就介绍最为常用的"庖丁解牛"分词包,当然它也是一个值得推荐的中文分词包.
        本文主要讲解Lucene如何整合"庖丁解牛"分词包,在整合前,还是先通过一个实例演示一下Lucene自带的中文分词器的分词效果.
    package gzu.lyq.luceneAnalyzer;
    import java.io.StringReader;
    import org.apache.lucene.analysis.Analyzer;
    import org.apache.lucene.analysis.Token;
    import org.apache.lucene.analysis.TokenStream;
    import org.apache.lucene.analysis.standard.StandardAnalyzer;
    //测试Lucene自带的中文分词器    
    public class LuceneAnalyzer {
        public static void main(String[] args) throws Exception {
            
//StandardAnalyzer: 一元分词  
            Analyzer analyzer = new StandardAnalyzer();
            String  indexStr = "
我的QQ号码是58472399";
            StringReader reader = new StringReader(indexStr);
            TokenStream ts = analyzer.tokenStream(indexStr, reader);
            Token t = ts.next();
            while (t != null) {
                System.out.print(t.termText()+"  ");
                t = ts.next();
            }
        }
    }
分词结果:
我  的  qq  号  码  是  234456   
        通过上面的例子就会发现,Lucene自带分词器是将中文逐字拆分的,这是最为原始的分词方法,现在大都不采用.
        下面进入主题,来讲解Lucene和"庖丁解牛"中文分词包的整合.
        "庖丁解牛"的下载地址是
[url]http://code.google.com/p/paoding/downloads/list[/url],下载好后解压,我解压在E:\paoding2_0_4,进入该目录,首先将paoding-analysis.jar拷贝到项目的WEB-INF/lib目录;接着需要设置环境变量PAODING_DIC_HOME,变量名:PAODING_DIC_HOME 变量值:E:\paoding2_0_4\dic 第三步将E:\paoding2_0_4\src目录下的paoding-dic-home.properties属性文件拷贝到项目的src目录下,添加一行paoding.dic.home=E:/paoding2_0_4/dic 好了,到这里,已经完成了Lucene和"庖丁解牛"的整合,下面写个例子来测试一下.
    package gzu.lyq.luceneAnalyzer;
    import java.io.StringReader;
    import org.apache.lucene.analysis.Analyzer;
    import org.apache.lucene.analysis.Token;
    import org.apache.lucene.analysis.TokenStream;
    import net.paoding.analysis.analyzer.PaodingAnalyzer;
    
//测试"庖丁解牛"中文分词器的分词效果    
    public class PaodingAnalyzer {
        public static void main(String[] args) throws Exception {
            Analyzer analyzer = new PaodingAnalyzer();
            String  indexStr = "
我的QQ号码是3453245";
            StringReader reader = new StringReader(indexStr);
            TokenStream ts = analyzer.tokenStream(indexStr, reader);
            Token t = ts.next();
            while (t != null) {
                System.out.print(t.termText()+"  ");
                t = ts.next();
            }
        }
    }
分词结果:
我的  qq  号码  3453245  
如果把indexStr换成是"中华人民共和国万岁" ,那么分词结果为:
中华  华人  人民  共和  共和国  万岁
  
注意:用庖丁分词器的时候,首先加入的包路径中不能有中文,似乎中文不认,要加入common-logging.jar包,要不然会提示找不到类。
分享到:
评论

相关推荐

    lucene中文分词(庖丁解牛)庖丁分词

    支持中文的庖丁解牛,庖丁分词,找了好久才找到的希望对你有帮助。

    lucene 中文分词 庖丁解牛

    庖丁解牛(很好的分词效率) 在做站内全文检索时创建索引时比较快,而且感觉效果比JE要好一些。。

    paoding analysis 3.0.1 jar (庖丁解牛分词器)

    由于庖丁官方目前提供可下载尚不支持Lucene 3.0以上版本。因此作者对paoding进行重新编译,使其与最新Lucene 3.0.1版本适用。 Latest paoding 3.0.1 for lucene 3.0.1 使用说明: 先下载2.0.4的版本(h t t p : / ...

    lucene3庖丁解牛中文分词器

    支持lucene3的庖丁解牛分词器和字典,可直接调用

    Lucene3.0以上版本庖丁解牛分词法demo

    最新庖丁解牛分词法的使用demo,支持Lucene3.3、3.4等3.0以上版本,庖丁解牛的分词包为自己编译生成的,之前的2.0的版本不能支持Lucene3.0以上版本,所以需要从svn下载最新的庖丁解牛源码,生成jar文件(我同样已...

    适用于lucene..5的庖丁解牛分词器

    可以适用于lucene3.5的庖丁解牛分词器jar包

    Lucene 庖丁解牛分词法2.4版本jar包

    Lucene 庖丁解牛分词法 , 能够使用它解决中文分词问题。

    lucene3.0 分词器

    lucene3.0 中文分词器, 庖丁解牛

    庖丁解牛工具

    庖丁解牛,Lucene分词器,很难得的资源。

    支持Lucene3.3、3.4的庖丁解牛分词法的源码和jar包

    资源为庖丁解牛分词法的最新源码以及生成的jar包,支持最新的Lucene3.4以及Lucene3.0以上版本。Jar包为本地生成,大家也可以到SVN上检出自己生成,另外庖丁解牛分词法的使用Demo我会接下来上传一份,欢迎分享。

    庖丁解牛分词器jar包

    Paoding's Knives 中文分词具有极 高效率 和 高扩展性 。引入隐喻,采用完全的面向对象设计,构思先进。 高效率:在PIII 1G内存个人机器上,1秒 可准确分词 100万 汉字。 采用基于 不限制个数 的词典文件对文章...

    lucene Analyzer 庖丁解牛 中文分词

    NULL 博文链接:https://qpshenggui.iteye.com/blog/1157999

    庖丁解牛,一种中文分词器

    一款比较好的中文分词器,可以很方便地集成到lucene中,集成到lucene3.0中的时候需要做一些修改,具体修改方法可以百度之

    paoding(庖丁解牛)

    庖丁中文分词库是一个使用Java开发的,可结合到Lucene应用中的,为互联网、企业内部网使用的中文搜索引擎分词组件。Paoding填补了国内中文分词方面开源组件的空白,本书介绍了在nutch上配置paoding

    lucene实现企业产品检索

    在lucene中使用庖丁解牛的分词器,实现类似当当网站的功能实现一个对企业内部产品的检索功能

    Paoding中文分词

    庖丁解牛中文分词,速度不错,词库也很全面,非常不错!

    lucene 例子以及所需jar包

    自己做的完整的luecene例子,分词用庖丁解牛,过滤文本用的tika

    paoding-analysis3.0

    庖丁解牛中文分词器,只要配置好字典的路径,就可以使用庖丁解牛,可以有效针对中文进行分词,而且可以自定义词典。适用于lucene-core-3.3.0.jar,包内已经包含lucene-core-3.3.0.jar,已测试,包好用!

    自然语言处理全集_代码结构说明.doc

    1)汉语分词,采用ICTCLAS系统和Lucene+庖丁解牛系统 2)情感倾向性分析,包括基于统计学习的SVM算法,基于情感词典的词语权重算法,给出文档的情感权重和情感倾向 3)文本聚类,包括KMeas算法实现,文档向量建模,...

    自然语言处理全集

    1)汉语分词,采用ICTCLAS系统和Lucene+庖丁解牛系统 2)情感倾向性分析,包括基于统计学习的SVM算法,基于情感词典的词语权重算法,给出文档的情感权重和情感倾向 3)文本聚类,包括KMeas算法实现,文档向量建模,...

Global site tag (gtag.js) - Google Analytics