`
lovnet
  • 浏览: 6880798 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
文章分类
社区版块
存档分类
最新评论

mmseg4j 中文分词器的一些简介整理

阅读更多

在 lucene 中,我们是使用 IndexWriter 调用 Analyzer 将文章切成以词为单位的 Stream,然后生成索引的。lucene 内建的分词器很多,比如:按空白字符分词的WhitespaceAnalyzer,添加了stopword过滤的StopAnalyzer,以及最常用的是StandardAnalyzer。这些自带的分词器对中文支持多不好,我觉得比较好的中文分词器是 mmseg4j

mmseg4j 是用 Chih-Hao Tsai 的 MMSeg 算法实现的中文分词器。并实现了 lucene 的 analyzer 和 solr 的 TokenizerFactory 以方便在 Lucene 和 Solr 中使用。

对 lucene 来说 ,mmseg4j 有以下四个 analyzer:SimpleAnalyzer、ComplexAnalyzer、MaxWordAnalyzer、MMSegAnalyzer。前面三个都是继承 MMSegAnalyzer,MMSegAnalyzer 默认使用 max-word 方式分词。

上面四个分次类涉及到了三个分词方法:Simple、Complex、max-word。MMSeg 算法有两种分词方法:Simple 和 Complex,都是基于正向最大匹配。mmseg4j 1.6 版开始在 Complex 算法基础上实现了最多分词(max-word)。类似如下的分词就是 max-word 分词:“很好听” -> "很好|好听"; “中华人民共和国” -> "中华|华人|共和|国"; “中国人民银行” -> "中国|人民|银行"。

mmseg4j 的词库是使用 utf-8 格式的,由于 utf-8 文件有带与不带 BOM 之分,建议词库第一行为空行或为无 BOM 格式的 utf-8 文件。

jar 中已有了,只有你对这个不满意时才需要替换的词库文件:

  • data/chars.dic 是单字与语料中的频率,一般不用改动,mmseg4j 1.5版本后已经加到mmseg4j的jar里了,我们不需要关心它,当然你在词库目录放这个文件可以覆盖它。
  • data/units.dic 是单字的单位,默认读jar包里的,你也可以自定义覆盖它,这功能是试行,如果不喜欢它,可以空的units.dic文件(放到你的词库目录下)覆盖它。

词库文件:

  • data/words.dic 是词库文件,一行一词,当然你也可以使用自己的,1.5版本使用 sogou 词库,1.0的版本是用 rmmseg 带的词库。 一般我们使用这个作为系统自带词库。分词效果当然还与词库有关,sogou 的词库是统计得出,有些高频的单字组合也成了词,如“我们的”。如果还要提高 mmseg4j 的分词效果,还要在整理下词库。
  • data/wordsxxx.dic 1.6版支持多个词库文件,data 目录(或你定义的目录)下读到"words"前缀且".dic"为后缀的文件。如:data/words-my.dic。 一般我们在这里里面,把这个当成我们自身特色的词库。

停止词

  • mmseg4j 没有加任何 stopword,如果需要 stopword ,需要用户自己实现。作者认为:这东西留给使用者自己加,因为作者不认为加 stopword 是好的方法。如音乐搜索,给加上 the,this……,还能找到歌曲?

参考资料:

mmseg4j 作者的博客
http://blog.chenlb.com

中文分词 mmseg4j 在 lucene 中的使用示例
http://blog.chenlb.com/2009/04/use-chinese-segment-mmseg4j-in-lucene-demo.html

Lucene中文分词
http://www.fallever.com/blog/jeff/tag/49/

分享到:
评论

相关推荐

    solr mmseg4j 中文分词器

    mmseg4j-solr-2.3.0.jar 支持 solr5.x 版本以上 分词器本身并未做升级还是mmseg4j-core-1.10.0 和 mmseg4j-analysis-1.9.1.jar为了方便也一并上传

    mmseg4j中文分词器

    **mmseg4j中文分词器** mmseg4j是一个基于Java实现的高效、灵活的中文分词工具,主要用于处理中文文本的分词任务。它借鉴了MaxEnt(最大熵模型)和MMSeg算法,提供了高效且准确的中文分词效果。在处理大量中文文本...

    兼容solr4.10.3的mmseg4j-1.9.1分词器

    "兼容solr4.10.3的mmseg4j-1.9.1分词器" 这个标题表明我们正在讨论的是一个针对Solr 4.10.3版本优化的mmseg4j分词器,版本号为1.9.1。mmseg4j是一款广泛使用的Java实现的中文分词库,它提供了高效且精准的中文分词...

    MMseg4j中文分词词库

    《MMseg4j中文分词词库:深入理解与应用》 在中文信息处理领域,分词是文本分析的基础步骤,它将连续的汉字序列分割成具有语义的词汇单元。MMseg4j是一个广泛应用于Java环境中的中文分词工具,它以其高效、灵活和...

    mmseg4j分词器jar包

    **mmseg4j分词器** 是一个专为Java平台设计的中文分词库,它在中文信息处理领域中扮演着重要的角色。该库的主要功能是将连续的汉字序列分割成具有语义意义的词语,这是自然语言处理(NLP)中的基础任务,对搜索引擎...

    mmseg4j分词器

    在com.chenlb.mmseg4j.analysis包里扩展lucene analyzer。 MMSegAnalyzer默认使用max-word方式分词(还有:ComplexAnalyzer, SimplexAnalyzer, MaxWordAnalyzer)。

    mmseg4j分词器,内含词库

    **mmseg4j分词器详解** mmseg4j是一个基于Java实现的中文分词工具,它在中文信息处理领域有着广泛的应用。该工具的主要功能是将连续的汉字序列分割成具有语义的词语,这一过程称为分词。在中文自然语言处理(NLP)...

    word分词器、ansj分词器、mmseg4j分词器、ik-analyzer分词器分词效果评估

    本话题将深入探讨四种常用的Java分词工具:word分词器、ansj分词器、mmseg4j分词器以及ik-analyzer,以及它们在实际应用中的效果评估。 首先,ansj分词器是由李弄潮开发的一款开源分词工具,它具有强大的词典支持和...

    mmseg4j-1.9.1 分词器 包含修复bug的mmseg4j-analysis-1.9.1.jar

    **mmseg4j分词器详解** mmseg4j是一个基于Java实现的中文分词库,它主要用于将中文文本拆分成一系列的词语,是信息检索、自然语言处理、搜索引擎等领域的基础工具。在1.9.1版本中,开发者对原有的功能进行了优化,...

    mmseg4j1.9.1.zip 中文分词器

    **中文分词器mmseg4j详解** 在自然语言处理(NLP)领域,中文分词是基础且关键的一环。中文不同于英文,其词汇之间没有明显的边界,因此需要通过分词来识别句子中的词语。`mmseg4j`便是一款专为Java平台设计的高效...

    跟益达学Solr5之使用MMSeg4J分词器

    本篇文章将带你深入学习如何在Solr5中集成并使用MMSeg4J分词器,提升中文处理能力。 首先,我们来了解一下MMSeg4J。这是一个高效、灵活的Java实现的中文分词库,它采用了基于词频的动态最大匹配算法(MaxMatch),...

    mmseg4j1.8.4分词工具

    mmseg4j1.8.4分词工具,可以方便的集成在lucene后者solr中。

    mmseg4j-solr-2.1.0-with-mmseg4j-core.zip

    《mmseg4j-solr-2.1.0-with-mmseg4j-core.zip:Solr4.8与mmseg4j分词器的集成详解》 在信息检索和文本挖掘领域,搜索引擎扮演着至关重要的角色,而Apache Solr作为一款高效、可扩展的开源全文搜索平台,被广泛应用...

    mmseg4j-solr-2.4.0.jar

    首先,mmseg4j是由李智勇开发的一个基于Java的中文分词工具,它的全称是“Minimum Match Segmentation for Java”。mmseg4j采用了最小匹配算法,能有效地进行中文词汇的切分,具有较高的分词准确率。该库的特点包括...

    mmseg4j分词

    mmseg4j是一款针对Java平台的高效中文分词工具,因其准确性和高性能而在许多项目中得到广泛应用。 mmseg4j的设计灵感来源于MaxEnt Segmentation(最大熵分词)算法,这是一种基于统计模型的分词方法,它通过学习...

    solr6配置mmseg4j

    3. **配置solrconfig.xml**:在Solr的配置文件solrconfig.xml中,我们需要添加mmseg4j的分词器。找到`<requestHandler>`或`<searchComponent>`部分,添加类似于以下的配置: ``` <searchComponent name="mmseg" ...

    mmseg4j.jar

    《mmseg4j在中文分词中的应用与详解》 mmseg4j是Java实现的中文分词库,广泛应用于搜索引擎、文本分析等领域。在Java社区中,它因其高效、灵活的特点而备受青睐。本篇文章将围绕mmseg4j的核心组件、功能特性以及在...

    mmseg4j 2.3 jar包

    **mmseg4j 2.3 Jar包:Lucene中文分词器详解** 在中文信息处理领域,分词是至关重要的第一步,它涉及到文本的预处理、搜索索引的构建以及信息检索等多个环节。mmseg4j是一款针对Java平台设计的高效、灵活的中文分词...

    mmseg4j-solr-2.3.0.jar

    mmseg4j中文分词器 mmseg4j-core-1.10.0.jar mmseg4j-solr-2.3.0.jar两个主要依赖包

    mmseg4j-solr-mmseg4j-solr-2.2.0.zip

    1. **安装与配置**:将mmseg4j-solr-2.2.0的jar包添加到Solr的lib目录下,然后在Solr的schema.xml中配置分词器,指定使用mmseg4j-solr的分词算法。 2. **定制词典**:mmseg4j-solr允许用户自定义词典,以适应特定...

Global site tag (gtag.js) - Google Analytics