`

基于lucene的几种中文分词测试代码

 
阅读更多

 

出处:http://hi.baidu.com/lewutian/item/0231d0f26132e2b731c19997

/**
@本程序测试了四种中文分词(标准,ChineseAnayzer,je,Smart(基于中科院))的方法,读者可以通过本程序分析学习这四种中文分词方法的优劣
@其中lucene采用的2.4.1最新版本,点击这里下载学习
@中科院分词java版学习和下载到这里
@je-Analyzer下载到这里
*/
public static void main(String[] args)
    {
        String text ="发展中国家在上海大学城购买了道具和服装" ;    
        StandardAnalyzer analyzerStand = new StandardAnalyzer();//内置
        ChineseAnalyzer    chineseAnalyzer = new ChineseAnalyzer();//lucene2.4版本+
        CJKAnalyzer cjkanalyzer = new CJKAnalyzer();//亚洲字符分析器
        MMAnalyzer    analyzer = new MMAnalyzer();//je-analyzer
        Analyzer    smartChineseAnalyzer = new SmartChineseAnalyzer();//基于中科院
        try
        {
            AnalyzerUtils.displaytokens(analyzerStand, text);
            AnalyzerUtils.displaytokens(chineseAnalyzer, text);
            AnalyzerUtils.displaytokens(cjkanalyzer, text);
            AnalyzerUtils.displaytokens(smartChineseAnalyzer, text);
            AnalyzerUtils.displaytokens(analyzer, text);
        }
        catch (IOException e)
        {
                e.printStackTrace();
        }

Run and Show results:

从结果可以看出2点:
正确率: Je>=Smart>=二分法>=Chinese>=Stand
时间:     Stand<=二分法Chinese<= Smart<=Je
还有一点,就是经过几次分析后,可以明显看出基于中科院的那个分词时间明显下降一个数量级,没有仔细
研究,怀疑和隐马尔科夫模型有关。

其他的优劣请读者自我发掘,有问题麻烦告诉我,Thx。
http://hi.baidu.com/lewutian推荐文章:
1. VC MFC中设置对话框的背景色、背景图片
2. 将汉字转化为拼音 实现中英文混合排序 pinyin4j
3. 1
4. 1
5. Lucene 2.2.0
6. 转一篇比较好的Lucene的文章
7. Lucene构架全文搜索引擎
8. lucene 对目录索引和搜索例子
9. 用开源软件构建垂直搜索引擎
10. Lucene简单使用
11. lucene中文切词(没加庖丁方法的)算法
12. lucene demo
13. 采访IK Analyzer 中文分词器开源项目作者林良益
14. Lucene中文分词下载
15. lucence 3.0 分词测试

分享到:
评论

相关推荐

    Lucene关于几种中文分词的总结

    《Lucene关于几种中文分词的总结》 在搜索引擎和信息检索系统中,中文分词是文本处理的关键步骤。Lucene作为一款强大的全文检索库,虽然内置了StandardAnalyzer,但其对中文分词的支持并不完全满足所有应用需求。...

    基于Lucene的中型搜索引擎(C#)

    总的来说,基于Lucene的中型搜索引擎(C#)结合了开源的全文检索库和C#语言的优势,为企业或个人开发自定义搜索引擎提供了一种高效且灵活的解决方案。通过深入理解Lucene的原理和ShootSearch的优化策略,开发者可以...

    Lucene.NET2.9搜索引擎源代码(C#)

    Lucene.NET 是一个基于 Apache Lucene 的全文搜索引擎库,它是用 C# 实现的。Apache Lucene 是一个高性能、可扩展的信息检索库,广泛用于构建复杂的搜索功能。Lucene.NET 2.9 版本提供了对 .NET Framework 的全面...

    springmvc集成lucene全文搜索

    Spring MVC是一种基于模型-视图-控制器(MVC)架构模式的轻量级Web框架,它提供了一种组织应用程序代码的结构,并简化了处理HTTP请求和响应的过程。Lucene则是一个高性能、全文本搜索库,提供了索引和搜索文本的强大...

    ASP.NET基于Ajax+Lucene构建搜索引擎的设计和实现(源代码+论文).zip

    在这个项目中,“ASP.NET基于Ajax+Lucene构建搜索引擎的设计和实现”涵盖了以下几个核心知识点: 1. ASP.NET基础:ASP.NET提供了多种开发模式,如Web Forms、MVC和Web API,它们分别适用于不同的应用场景。在这个...

    毕业论文设计-IT计算机-ASP.NET基于Ajax+Lucene构建搜索引擎实现(源码+论文).zip

    论文部分可能涵盖了以下几个方面:搜索引擎的架构设计、Ajax与ASP.NET的集成、Lucene的使用方法、搜索算法的实现、性能优化策略以及系统的测试与评估。开题报告可能会阐述选题的意义、研究目标、技术路线和预期成果...

    search-engine-framework:基于Lucene的搜索引擎框架,CMU课程11-642项目

    基于Lucene的搜索引擎框架通常包含以下几个核心模块: 1. **爬虫(Crawler)**:负责抓取网络上的信息,遵循HTTP协议,爬取指定URL及其链接的页面。 2. **预处理(Preprocessing)**:对抓取的网页进行清洗,去除...

    IK算法源码

    IKAnalyzer是IK算法的一种实现,它基于Lucene,提供了一个简单易用的API,使得开发者能够快速地集成到自己的项目中。 IK算法的核心思想是动态扩展词典,它在分词过程中不断学习和优化。主要有以下几个关键点: 1....

    基于PHP的火端搜索php版源码.zip

    4. **Lucene或Sphinx**:火端搜索可能基于Apache Lucene或Sphinx这样的全文搜索引擎库。这些库提供了高效的索引和查询功能,开发者需要了解它们的工作机制和API调用。 5. **数据结构与算法**:索引构建和查询优化...

    arirang.lucene-analyzer-5.0.0:Lucene 5.0.0 Arirang Hangul Stemetic Analyzer

    在项目"arirang.lucene-analyzer-5.0.0-master"中,包含了源代码、测试用例以及必要的配置文件,使得开发者可以轻松集成到他们的Lucene项目中。通过这个分析器,开发者可以实现对韩语文档的高效索引和检索,提升搜索...

    java基于主题搜索的知识管理系统设计与实现

    单元测试和集成测试确保代码质量,持续集成/持续部署(CI/CD)流程确保每次更新的稳定性。 总结来说,"Java基于主题搜索的知识管理系统设计与实现"是一个涵盖多方面技术的项目,包括Java编程、数据库设计、全文搜索...

    开源搜索网站开源搜索网站

    1. **Elasticsearch**:Elasticsearch是最流行的开源搜索引擎之一,基于Lucene库开发,提供分布式、实时的搜索和分析引擎。它支持多种数据类型,包括文本、数值、地理位置等,并且具有强大的聚合分析能力。 2. **...

    Java全文搜索j2ee完整源码

    Java全文搜索是基于Java技术实现的一种高效检索技术,主要用于在大量文本数据中快速找到与查询字符串匹配的内容。在这个"Java全文搜索j2ee完整源码"项目中,开发者使用了Apache Lucene库来构建和执行全文搜索功能。...

    apache-nutch-1.13-src.zip_nutch_网络爬虫

    - `src/test`:测试代码,包括单元测试和集成测试,有助于理解和验证 Nutch 的工作原理。 - `src/bin`:包含命令行工具,如 `nutch` 脚本,用于启动爬虫、索引和搜索操作。 - `build.xml`:Ant 构建脚本,用于构建和...

    apache-nutch-1.4-src.tar.gz_nutch_搜索引擎

    3. **分词和索引(Tokenizer and Indexing)**:Nutch 使用Apache Lucene库进行分词和索引。Lucene 是一个高性能、全文本搜索库,Nutch 利用其对网页内容进行分词,生成倒排索引,便于快速检索。 4. **存储系统...

    Solr3.5开发应用指导

    常见的几种方案包括: 1. **基于Lucene自行封装实现站内搜索**:这种方式虽然能够最大程度地控制搜索引擎的行为,但由于需要大量的开发工作,且在后续维护和扩展方面可能会遇到挑战,因此通常不会被首选。 2. **...

    Doris实战笔记-be依赖包

    Clucene,全称为"C++ Lucene",是基于Java Lucene的C++版本。Lucene是Apache软件基金会的一个开源项目,专门用于文本检索和全文搜索。它提供了强大的文本分析、索引和查询功能。将Lucene移植到C++,使得Clucene能够...

    Solrj 中文教程

    通常情况下,有以下几种方案可供选择: - **基于Lucene自封装实现站内搜索**:这种方式可以提供高度的定制化能力,但开发工作量大且后期维护成本较高。 - **调用Google或Baidu等第三方搜索引擎API**:虽然这种方式...

    提取关键词(Java版)

    Java提供了多种分词工具,例如IK Analyzer、HanLP、jieba分词等,它们针对中文文本进行了优化,能有效地处理中文的词边界问题。 3. **构建词汇表**:统计每个文档中所有词汇的出现次数,形成词汇表,用于后续TF计算...

Global site tag (gtag.js) - Google Analytics