Chinaunix首页 | 论坛 | 博客
  • 博客访问: 602426
  • 博文数量: 103
  • 博客积分: 2269
  • 博客等级: 大尉
  • 技术积分: 1108
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-23 16:32
文章分类

全部博文(103)

文章存档

2012年(61)

2011年(42)

分类: Java

2012-05-15 10:04:44

中文分词 mmseg4j 的词库格式
发表于:2009年4月23日 | 分类:mmseg4j | 标签: , | views(3,045)

: 可以任意转载, 转载时请务必以超链接形式标明文章原文出处, 即下面的声明.

原文出处:http://blog.chenlb.com/2009/04/chinese-segment-mmseg4j-dictionary-format.html

有个网友 email 问题词库格式怎么样?他想为繁体中文进行分词,所以想词库换成繁体的。很遗憾我目前还没找到繁体版的词库。目前 mmseg4j 的词库全是简体版,包括 chars.dic、units.dic、words.dic,并且强制使用 UTF-8 编码。

下面一一解说下词库的格式。

1、chars.dic,是单个字,和对应的频率,一行一对,字在全面,频率在后面,中间用空格分开。这个文件的信息是 complex 模式要用到的。在最后一条过虑规则中使用了频率信息。从 1.5 版后已经把它打包进 jar 里,一般不用关心它。不过可以在词库目录下放一个同名文件覆盖它。

2、units.dic,是单位的字,如:分、秒、年。这一文件是我在 mmseg4j 1.6 后加入的,也是一行一条。主要是在数字后面的单位信息切分好,不与words.dic中的词有混淆。同时也打包进 jar 里,目前还是试行,如果不喜欢它,可以用空的文件放到词库目录下覆盖它。

3、words.dic,是核心的词库文件,一行一条,不需要其它任何数据(如词长)。1.0 版是用 rmmseg(ruby 的 mmseg 实现) 的词库。1.5版后 mmseg4j 改用 sogou 词库,可以 找到下载。然后我把它去了频率等信息,并转为 UTF-8 编码。

4、wordsXXX.dic,是自定义词库文件(其实是 mmseg4j 可以从多个文件读取词)。这功能是 1.6 版加入的。它的格式与 words.dic 一样,只不过 XXX 部分是如您自己写的名字,如:源码包里的 data/words-my.dic。注意:自定义词库文件名必需是 "words" 为前缀和 ".dic" 为后缀。

mmseg4j 默认从当前目录下的 data 目录读取上面的文件。当然也可以指定别的目录,如:new ComplexAnalyzer("./my_dic"),在 solr 中可以用 dicPath 属性指定它。

延伸:

如果加了自定义的词,要用 simple 或 complex 分词模式是检验它是否有效。因为目前 max-word 模式分出来的词长不会超过2
阅读(4346) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~