最近在做分词,在网上发现了MMSEG,论文简单入理。在code.google.com上搜到了java的实现版本,非常感谢chenlb开源自己的代码。
在学习mmseg4j对字典的结构比较困惑,做了些调研,写下自己的感受。
mmseg4j采用 key-tree的形式存储字典数据结构,这有点类似中科院的ictclas4j的字典结构,ictclas4j的字典结构含有6768个字块(好像是这么多,可能有误),每一个子块是由含有以该字开头的词组成。结构图如下所示:
mmseg4j原始字典有两个,一个是chars.dct,另一个是words.dct。mmseg4j先加载chars.dct,这个比较简单,直接就是字 和 在语料库中的频率。频率是在CharNode这个类中。在加载words.dct的时候,实际上是对第一步加载chars.dct的填充,填充 CharNode 的 KeyTree字段。
KeyTree类中含有一个 TreeNode 字段,该字段也是一个类,其总定义了
char key;
Map<Character, TreeNode> subNodes;
boolean alsoLeaf;
该定义是一个递归的数据结构结构。
程序首先是通过下面的语句
CharNode cn = dic.get(line.charAt(0));
找到dic 中的 CharNode,dic即为加载chars.dct后的dct。 其后开始逐渐的对CharNode填充,最后填充成这样的一种形式:所有同一个字开始的词语被放入到同一个CharNode中,而该规则是递归的,所有第二个词一样的也被列在同一个hashmap中,之后是第三个...依次类推下去。
这样构成了一个Character-CharNode的树状词典结构,在进行最大模式匹配时提升很大的效率。
以上的叙述有些粗浅。
- 大小: 31.7 KB
分享到:
相关推荐
mmseg4j-all-1.8.5中文分词器
lucene中文分词 mmseg4j-1.8.5与lucene3.1兼容
mmseg4j-1.8.5中文分词器API
mmseg4j
mmseg4j-all-1.8.5.jar
本人用的solr是4.10的,经过本人亲测可用,放心下载,包含以下3个jar包: mmseg4j-analysis-1.9.1.jar, mmseg4j-core-1.9.1.jar, mmseg4j-solr-2.2.0.jar
包里包含了至今mmseg4j的所有版本及版本对应solr版本说明,还有solr配置和自定义词典路径相关配置文章
lucene中文分词工具包,自己用ant编译成功的。可以进行定制的分词器,同义词开发。作为工具包使用。官网没有提供,组要自己编译,方便用传上来
与solr4.8匹配的mmseg4j分词器的版本
mmseg4j-core, 用于java中文分析器的mmseg4j核心 MMSEG <dependency> <groupId>com.chenlb.mmseg4j</groupId> <artifactId>mmseg4j-core</artif
该压缩包包含`mmseg4j-solr-2.3.2.jar`和`mmseg4j-core-1.10.0.jar`,其中solr-2.3.2不是官方的版本,该版本有改动,使得mmseg4j可以很好的支持Solr6,如果你的Solr低于Solr6,请使用官方的mmseg4j-solr-2.3.0.jar...
solr6.3下好用的mmseg4j分词库,测试可用。
mmseg4j-solr-mmseg4j-solr-2.2.0.zip
<tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="complex" dicPath="dic"/> <tokenizer class="com.chenlb.mmseg4j.solr.MMSegTokenizerFactory" mode="max-word" /> ...
mmseg4j-1.9.1 分词器 包含修复bug的mmseg4j-analysis-1.9.1.jar dist\修复bug下是修复bug后的mmseg4j-analysis-1.9.1.jar
mmseg4j-solr-2.4.0.jar mmseg4j-analysis-1.9.1.jar mmseg4j-core-1.10.0.jar
mmseg4j-core-1.10.0,非常好用的中文分词器
solr6配置mmseg4j,里面包含mmseg4j需要jar包、dic文件、详细配置说明文档,里面有详细截图和需要文件
mmseg4j-solr-2.3.0-with-mmseg4j-core是Solr的中文分词包,该压缩包含有mmseg4j-core-1.10.0.jar和mmseg4j-solr-2.3.0.jar。