中文分词器 mmseg4j

Apache
Java 查看源码»
跨平台
2009-09-26
chenlb

1、mmseg4j 用 Chih-Hao Tsai 的 MMSeg 算法(http://technology.chtsai.org/mmseg/ )实现的中文分词器,并实现 lucene 的 analyzer 和 solr 的TokenizerFactory 以方便在Lucene和Solr中使用。

2、MMSeg 算法有两种分词方法:Simple和Complex,都是基于正向最大匹配。Complex 加了四个规则过虑。官方说:词语的正确识别率达到了 98.41%。mmseg4j 已经实现了这两种分词算法。

  • 1.5版的分词速度simple算法是 1100kb/s左右、complex算法是 700kb/s左右,(测试机:AMD athlon 64 2800+ 1G内存 xp)。

  • 1.6版在complex基础上实现了最多分词(max-word)。“很好听” -> "很好|好听"; “中华人民共和国” -> "中华|华人|共和|国"; “中国人民银行” -> "中国|人民|银行"。

  • 1.7-beta 版, 目前 complex 1200kb/s左右, simple 1900kb/s左右, 但内存开销了50M左右. 上几个版都是在10M左右.

mmseg4j实现的功能详情请看:

http://mmseg4j.googlecode.com/svn/branches/mmseg4j-1.7/CHANGES.txt
http://mmseg4j.googlecode.com/svn/branches/mmseg4j-1.6/CHANGES.txt

3、在 com.chenlb.mmseg4j.example包里的类示例了三种分词效果。

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

5、在 com.chenlb.mmseg4j.solr包里扩展solr tokenizerFactory。

dicPath 指定词库位置(每个MMSegTokenizerFactory可以指定不同的目录,当是相对目录时,是相对 solr.home 的目录),mode 指定分词模式(simple|complex|max-word,默认是max-word)。

6、运行,词典用mmseg.dic.path属性指定或在当前目录下的data目录,默认是 ./data 目录。

java -Dmmseg.dic.path=./data -jar mmseg4j-1.6.jar 这里是字符串。

java -cp .;mmseg4j-1.6.jar com.chenlb.mmseg4j.example.Simple 这里是字符串。

java -cp .;mmseg4j-1.6.jar com.chenlb.mmseg4j.example.MaxWord 这里是字符串

7、一些字符的处理 英文、俄文、希腊、数字(包括①㈠⒈)的分出一连串的。目前版本没有处理小数字问题, 如ⅠⅡⅢ是单字分,字库(chars.dic)中没找到也单字分。

8、词库(强制使用 UTF-8):

  • data/chars.dic 是单字与语料中的频率,一般不用改动,1.5版本中已经加到mmseg4j的jar里了,我们不需要关心它,当然你在词库目录放这个文件可能覆盖它。

  • data/units.dic 是单字的单位,默认读jar包里的,你也可以自定义覆盖它,这功能是试行,如果不喜欢它,可以空的units.dic文件覆盖它。

  • data/words.dic 是词库文件,一行一词,当然你也可以使用自己的,1.5版本使用 sogou 词库,1.0的版本是用 rmmseg 带的词库。

  • data/wordsxxx.dic 1.6版支持多个词库文件,data 目录(或你定义的目录)下读到"words"前缀且".dic"为后缀的文件。如:data/words-my.dic。

Maven:

<dependency>
    <groupId>com.chenlb.mmseg4j</groupId>
    <artifactId>mmseg4j-core</artifactId>
    <version>1.10.0</version>
</dependency>
的码云指数为
超过 的项目
加载中

评论(3)

lxm9
lxm9
complex模式下“哈尔滨市” 不会分词,不应该分出‘哈尔滨’和‘哈尔滨市’吗?在max-word模式下会分成‘哈’,‘尔’,‘滨’,‘市’,请问怎么解决呢? #mmseg4j#
西
西·风
请问怎么配置停用词,很重要的需求 mmseg4j
鉴客
鉴客
mmseg4j 还有在开发吗?

暂无资讯

1
回答
mmseg4j 分词问题

complex模式下“哈尔滨市” 不会分词,不应该分出‘哈尔滨’和‘哈尔滨市’吗?在max-word模式下会分成‘哈’,‘尔’,‘滨’,‘市’,这个怎么解决呢?

2016/08/02 12:24
7
回答
[转]与Lucene 4.10配合的中文分词比较(标准详细的比较)

本文转自: http://www.hansight.com/blog-lucene4.10-with-chinese-segment.html 感谢原作者...

2015/01/18 14:47
2
回答
mmseg4j的simple与complex分词效果一样

最近的项目中用到了solr4.7,因IK不支持4.7,并且之前觉得mmseg4j还不错,就选择了mmseg4j,但是遇到一个奇怪的问题。感觉simple和...

2014/06/19 10:34
3
回答
Apache Lucene拆词和搜索的问题,搜索搜不到相关的结果?求指教

整理一下问题,大概是这样: 假设一句话,被拆出了一堆词,如果不用这一些词的其中之一来搜,就搜索不到。 比如:"苹果笔记本 Macbook Pro",这个名...

2016/01/25 23:43
3
回答
mmseg4j-1.9.1与Lucene-4.10.1异常

我用的Lucene4.10.1和mmseg4j的1.9.1在部署solr的时候,core没有加载进来,我add core之后就报了这个错 ERROR se...

2014/11/15 17:04
2
回答
jcseg1.9.2搜索高亮时报错

@狮子的魂 你好,想跟你请教个问题:我用的jcseg1.9.2版本,最后lucene highlight高亮时报错: rg.apache.lucene.s...

2015/06/02 21:41
1
回答
mmseg 自定义词典

mmseg 我做了分词定义,但是最终结果没有分词,也不报错,什么问题呢

2012/06/04 17:54
4
回答
solr索引时分词,如果更新词库了怎么办??

最近在用solr做一个项目,不断开发不断完善,但同事提出一个问题,以前没考虑过,想了想好像确实有问题。 问题描述: 目前索引的时候分词器采用的是max-w...

2014/06/23 00:12
2
回答
jcseg能否实现在分出的词后自动加空格的功能?
狮子的魂 的回答 2014/08/17 12:41
最佳答案
Jcseg本身只提供分词的功能, 把一个字符串切分成一个一个的词条给你, 你想怎么处理都行. JcsegTaskConfig config = new JcsegTaskConfig(); ADictionary dic = DictionaryFactory.createDefaultDic...

没有更多内容

加载失败,请刷新页面

lucene的使用

使用luncene3.6 下载地址 http://www.apache.org/dyn/closer.cgi/lucene/java/3.6.1 分词器使用 mmseg4j 下载地址 http://code.google.com/p/mmseg4j/downloads/list 项目中使用到的jar包有 ...

2012/11/05 15:23
235
0
Docker使用supervisor构建solr

Docker构建solr实现项目的基础索引环境

2014/11/26 16:58
211
0
Solr4.3整合到Tomcat中并添加MMSeg4j中文分词器

Solr4.3整合到Tomcat中并添加MMSeg4j中文分词器 1、新建一个文件夹命名为Solr并在里面建两个文件夹分别命名为home和server。 2、将下载的Solr包解压进入example的solr文件夹中拷贝其中的内容...

2014/04/10 15:21
279
1
lucene常用分词器对比

lucene常用分词器对比

2014/12/28 09:58
52
0
solr4.0添加mmseg4j和IK Analyzer分词器

solr4.0添加mmseg4j和IK Analyzer分词器。下载IK Analyzer 2012FF_hf1.zip和mmseg4j-1.9.0.v20120712-SNAPSHOT.zip,解压。将里面的IKAnalyzer2012FF_u1.jar和mmseg4j-all-1.9.0.v20120712-S...

2016/07/12 10:00
53
0
Tomcat 7.0 配置 solr 4.7.2 全过程

Win7 Tomcat 7.0 配置 solr 4.7.2 全过程

2015/05/31 12:26
1K
0
Solr环境配置、中文分词、数据库做为索引源及索引操作

一、配置solr环境 1、 下载solr http://www.apache.org/dyn/closer.cgi/lucene/solr/ 此处用的是4.6 解压到D盘D:/solr/apache-solr-4.6.0 2、修改tomcat conf/server.xml <Connector connect...

2013/06/26 16:04
2.5K
1
Nutch+solr+mmseg4j集成

学习笔记,--Nutch+solr+mmseg4j集成

2014/04/18 17:37
42
0
Solr5.5装mmeg4j

大数据

2016/06/19 15:34
5
0

没有更多内容

加载失败,请刷新页面

返回顶部
顶部