最近在实现基于lucene.net的搜索方案,涉及中文分词,找了很多,最终选择了MMSeg4j,但MMSeg4j只有Java版,在博客园上找到了*王员外*(http://www.cnblogs.com/land/archive/2011/07/19/mmseg4j.html )基于Java版的翻译代码,但它不支持最新的Lucene.Net 3.0.3,于是基于它的代码升级升级到了最新版Lucene.Net (≥ 3.0.3),同时将其中大部分Java风格代码修改为.Net风格,并修正了其中几个小错误。

为了方便大家使用,我把修改后代码放到Github上了,并包含简单示例代码。另外,为了方便使用,制作了NuGet安装包,上传到了NuGet上,使用时,直接NuGet搜索Lucene.Net.Analysis.MMSeg即可。

Git地址

https://github.com/JimLiu/Lucene.Net.Analysis.MMSeg

NuGet地址

https://nuget.org/packages/Lucene.Net.Analysis.MMSeg/

PM> Install-Package Lucene.Net.Analysis.MMSeg

使用

一共三种搜索模式供选择:

SimpleAnalyzer

Analyzer analyzer = new SimpleAnalyzer();

MaxWordAnalyzer

Analyzer analyzer = new MaxWordAnalyzer();

ComplexAnalyzer

Analyzer analyzer = new ComplexAnalyzer();

具体使用方法,请参考代码中的示例和lucene.net的文档

基于MMSeg算法的中文分词类库相关推荐

  1. Jcseg是基于mmseg算法的一个轻量级Java中文分词器

    Jcseg是基于mmseg算法的一个轻量级中文分词器,同时集成了关键字提取,关键短语提取,关键句子提取和文章自动摘要等功能,并且提供了一个基于Jetty的web服务器,方便各大语言直接http调用,同 ...

  2. 基于Hmm模型和Viterbi算法的中文分词和词性标注

    使用 python 实现基于Hmm模型和Viterbi算法的中文分词及词性标注:使用 最大概率算法 进行优化.最终效果:人民日报语料:分词(F1:96.189%):词性标注(F1:97.934%) 完 ...

  3. 基于感知器的中文分词算法

    http://heshenghuan.github.io/2015/12/21/%E5%9F%BA%E4%BA%8E%E6%84%9F%E7%9F%A5%E5%99%A8%E7%9A%84%E4%B8 ...

  4. 中文分词算法python_Python FMM算法的中文分词器实现方法源码

    这是一篇基于Python代码使用FMM算法达到中文分词效果实现方法的文章.中文语句分词因为编码的关系在Python语言中并不是很好处理,关于中文乱码与编码的问题解决方法,可以参考玩蛇网的Python中 ...

  5. 基于词典规则的中文分词(C语言实现)

    0 引 言 自然语言处理(Natural Language Processing, NLP)是以语言为对象,利用计算机技术来分析.理解和处理自然语言的一门学科,即把计算机作为语言研究的强大工具,在计算 ...

  6. 视频教程-隐马尔科夫算法:中文分词神器-深度学习

    隐马尔科夫算法:中文分词神器 在中国知网从事自然语言处理和知识图谱的开发,并负责带领团队完成项目,对深度学习和机器学习算法有深入研究. 吕强 ¥49.00 立即订阅 扫码下载「CSDN程序员学院APP ...

  7. 自然语言处理之维特比算法实现中文分词

    维特比算法实现中文分词实例 维特比(viterbi)算法介绍 算法思路 分词实例 维特比(viterbi)算法介绍 维特比算法是一种动态规划算法用于寻找最有可能产生观测事件序列的-维特比路径-隐含状态 ...

  8. 自制基于HMM的python中文分词器

    不像英文那样单词之间有空格作为天然的分界线, 中文词语之间没有明显界限.必须采用一些方法将中文语句划分为单词序列才能进一步处理, 这一划分步骤即是所谓的中文分词. 主流中文分词方法包括基于规则的分词, ...

  9. 基于 HanLP 的 ES 中文分词插件

    一.分词插件 1.分词器概念 在 ES 中,分词器的作用是从文本中提取出若干词元(token)来支持索引的存储和搜索,分词器(Analyzer)由一个分解器(Tokenizer).零个或多个词元过滤器 ...

最新文章

  1. 【建站系列教程】2.3、分享一些小说的api接口
  2. LOADRUNNER 登陆功能测试实例(转)
  3. Sql server 2005系统表详细说明
  4. 6.22软件工程总结
  5. c++中在堆和栈中申请空间的差别
  6. micropython用什么编译_micropython开发者指南
  7. opencv 特征匹配和
  8. 聊聊redisson的分布式锁
  9. 谁敢动英伟达的奶酪?AI芯片领域,这12家创业公司值得关注
  10. JVM 方法调用之动态分派
  11. eclipse 使用问题
  12. 安装天文基本包:kapteyn和pyslalib
  13. git学习笔记-(7-高层命令(1))
  14. 阿里腾讯进击韩国互联网
  15. 近中期3D编程研究目标
  16. 数据库分类和负载均衡方案
  17. 盘点4种微信营销如何快速吸粉的方法
  18. AxureRP(中英文版)——初识Axure(一)
  19. 科研人快速入门LaTex到日常使用,下载安装配置,语法使用说明等
  20. iptable规则的设定与查看

热门文章

  1. Microsoft .NET Pet Shop 4 架构与技术分析
  2. 指针的本质2-void和void*及其应用在nginx中的应用
  3. 使GDAL库支持中文路径或中文文件名的处理方法
  4. C++11中= delete;的使用
  5. 【Qt】使用QCamera获取摄像头,并使用图像视图框架QGraphics*来显示
  6. 非此即彼的逻辑错误_超全MBA逻辑答题口诀,快收藏!
  7. css删除线_前端删除文字贯穿线的方法有哪些
  8. linux shell for 循环变量,shell for循环总结
  9. python数字类型及运算_Python基础之(基本数据类型及运算)
  10. HTML DOM Console对象