`
wx1569110409
  • 浏览: 18631 次
文章分类
社区版块
存档分类
最新评论

使用搜狗词库制作mmseg自定义词典

 
阅读更多

总结使用搜狗词库制作mmseg词典的方法和步骤。另外,最近一直没写新博客,一方面是因为懒,另一方面是确实没什么可写的。

coreseek的介绍和安装説明可参考这里,不再赘述。以下是接下来需要注意的几点:

  • 下面假设libmmseg安装于/usr/local/mmseg3目录
  • 生成的mmseg词典文件必须为UTF-8编码。
  • 下面用到的两个python脚本见辅助脚本

提取搜狗字库

目前只支持搜狗词库,搜狗词库可以在这里这里下载。

下载后的词库文件(.scel)放在sougou目录下,然后运行脚本

./extract-sougou-dict.py sougou/*.scel -o sougou-dict.txt -mmseg

生成的sougou-dict.txt可供mmseg库分词使用。

合并已有的词典和自定义词典

假设已有的词典文件为unigram.txt,则运行脚本

./merge-mmseg-dict.py -a unigram.txt -b sougou-dict.txt -o merged.txt

这里以unigram.txt为主词典,意味着如果在合并的过程中出现重复词组,则忽略sougou-dict.txt中的重复词组。

更新mmseg词典

首先备份下旧的词典文件

cd /usr/local/mmseg3/etc
mv unigram.txt unigram.txt.bak
mv uni.lib uni.lib.bak
cd -

将合并后的词典重命名为unigram.txt,在指定的目录里运行mmseg

mv merged.txt /usr/local/mmseg3/etc/unigram.txt
/usr/local/mmseg3/bin/mmseg -u /usr/local/mmseg3/etc/unigram.txt

最后将生成的unigram.txt.uni重命名为uni.lib

cd /usr/local/mmseg3/etc
mv unigram.txt.uni uni.lib

需要注意一个比较蛋疼的问题,更新后的分词效果对已建立的索引无效1

检验分词效果

找一个之前无法分词的词组,然后用mmseg进行测试,这里假设词典位于/usr/local/mmseg3/etc目录下

echo "金交所" > whatever.txt
/usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc whatever.txt

如果词典中没有`金交所'这个词组,结果通常如下

金/x 交/x 所/x

Word Splite took: 0 ms.

如果在自定义的词典中有`金交所'这个词组,则结果如下

金交所/x

Word Splite took: 0 ms.

辅助脚本

以下两个脚本放在Github上。

  • extract-sougou-dict.py

    参考了这篇文章里的代码。

  • merge-mmseg-dict.py

    合并两个mmseg词典,如果两个词典包含相同的词组,那么以主词典为准(-a)。

转载于:https://my.oschina.net/mote001/blog/1838641

分享到:
评论

相关推荐

    sphinx mmseg coreseek 搜狗 词库

    在IT领域,Sphinx、MMSEG、CoreSeek和搜狗词库是四个与搜索引擎和文本处理相关的技术。这里,我们将详细探讨这些技术及其在实际应用中的作用。 首先,Sphinx是一个开源全文搜索引擎,广泛用于网站后台,提供高效、...

    mmseg4j 词库

    对于不再提供1.9.0版本下载的情况,开发者可以选择使用其他版本的mmseg4j,并自行准备词库,或者选择其他分词工具如jieba、ansj等,它们同样提供了丰富的词库支持和接口供开发者调用。 总之,mmseg4j 1.9.0版本的...

    MMseg4j中文分词词库

    在实际使用时,用户可以根据需要选择不同的词典,或者自定义词典来满足特定领域的分词需求。 在Solr5.2.1中,配置MMseg4j词库的过程包括编辑solrconfig.xml和schema.xml文件,设置分词器的相关参数,如词典路径、...

    中文分词器jcseg支持人名识别mmseg四种过滤算法分词准确率达到了97%以上。支持自定义词库。在lexicon文件夹下可以随便添加删除更改词库和词库内容并且对词库进行了分类.zip

    中文分词器jcseg支持人名识别...支持自定义词库。在lexicon文件夹下可以随便添加删除更改词库和词库内容并且对词库进行了分类.zip,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    mmseg4j分词器,内含词库

    mmseg4j中的词库是其核心组成部分之一,它包含了大量预先定义的常用词汇和专有名词。词库的质量直接影响到分词的准确性和效率。词库通常会定期更新,以适应语言的发展和社会热点的变化。在提供的"data.zip"文件中,...

    elasticsearch-analysis-mmseg:Mmseg Analysis插件将Lucene mmseg4j-analyzer code.google.compmmseg4j集成到elasticsearch中,支持自定义词典

    Mmseg Analysis插件将Lucene mmseg4j-analyzer: : 集成到elasticsearch中,支持自定义词典。 该插件随附以下分析器: mmseg_maxword , mmseg_complex , mmseg_simple和令牌生成器: mmseg_maxword , mmseg_...

    mmseg-0.7.3_mmseg0.7.3_

    mmseg是一个广泛使用的中文分词库,由C++编写,它采用了动态最大匹配算法,能够有效地处理中文词汇的歧义问题。0.7.3版本可能包含了一些性能优化、bug修复或新功能。 压缩包内的文件“mmseg-0.7.3”很可能包含了源...

    mmseg4j-all-with-dic-1.8.6-sources.jar和mmseg4j-all-with-dic-1.8.6.jar

    mmseg4j是Java环境下广泛使用的中文分词库,尤其在搜索引擎构建和文本挖掘中发挥着关键作用。本文将围绕"mmseg4j-all-with-dic-1.8.6-sources.jar"和"mmseg4j-all-with-dic-1.8.6.jar"这两个核心文件,详细解析mmseg...

    mmseg4j\mmseg4j-1.8.5.zip

    此外,它还支持自定义词典,允许用户根据具体应用场景添加或修改词汇,增强了灵活性。 总的来说,mmseg4j是Java环境中处理中文文本的得力工具,尤其适用于搜索引擎、信息检索、自然语言处理等领域。1.8.5版本的发布...

    mmseg4j-1.9.1

    此外,mmseg4j还支持自定义词典,用户可以根据实际需求添加或更新词库,提升了灵活性。 在使用mmseg4j时,我们需要进行以下步骤: 1. 引入依赖:在Java项目中,我们需要将mmseg4j-1.9.1的JAR包引入到项目的类路径中...

    mmseg4j-1.9.1.v20130120-SNAPSHOT

    2. **灵活性**:支持自定义词典,用户可以根据需求添加或修改词库,以适应特定领域的分词需求。 3. **智能分词**:内置了丰富的常用词库,并且采用了动态最大匹配策略,可以智能地处理多音字、新词和网络词汇。 4....

    mmseg-0.7.3.tar.gz

    因此,用户可能需要根据具体的应用场景和需求,调整分词策略,如添加自定义词典,以处理新出现的词汇或专业术语。 总的来说,mmseg-0.7.3.tar.gz提供了Sphinx对中文的强有力支持,通过MMSeg的分词技术,显著提升了...

    mmseg4j分词器jar包

    3. **词典(Dictionary)**: 分词器的性能很大程度上取决于词典,mmseg4j包含了一个大规模的中文词典,包含了常见的词汇和短语,同时也支持用户自定义词典,以适应特定领域的分词需求。 **二、mmseg4j的使用** 1. ...

    mmseg4j-solr-2.3.0&mmseg4j;-core.zip

    mmseg4j支持自定义词典,用户可以根据业务需求添加或修改词典,包括专业术语、人名、地名等特殊词汇。自定义词库通常以文本文件形式存在,配置时需要在Solr的schema.xml文件中声明,并将其路径添加到mmseg4j的配置中...

    mmseg4j-solr-mmseg4j-solr-2.2.0.zip

    2. **定制词典**:mmseg4j-solr允许用户自定义词典,以适应特定领域的分词需求。这可以通过添加或修改词典文件来实现,例如添加专业术语或者品牌名。 3. **调整参数**:根据实际场景,可以调整mmseg4j-solr的各种...

    mmseg4j-solr-2.4.0.jar

    同时,mmseg4j还支持自定义词典,用户可以根据需求添加或修改词汇,以满足特定领域的分词需求。 值得注意的是,mmseg4j-solr-2.4.0.jar中的mmseg4j-2.4.0子目录包含了mmseg4j的核心组件,包括分词算法的实现和相关...

    mmseg4j1.9.1.zip 中文分词器

    5. **自定义词典**:`mmseg4j`允许用户创建自定义词典,增强分词的准确性,如添加专业术语、人名、地名等。 **mmseg4j与Solr的集成** 1. **配置Solr**:在Solr的`schema.xml`中指定`mmseg4j`为分词器,需要配置...

    mmseg4j jar包

    2. **自定义词典**:用户可以根据具体需求添加或修改词典,以适应特定领域的分词任务,比如增加专业术语或者品牌名称。 3. **歧义消除**:在中文分词中,由于词语的多义性,往往会出现歧义。mmseg4j通过分析上下文...

    mmseg4j 2.3 jar包

    mmseg4j支持自定义词典,用户可以根据业务需求添加专业词汇,提高分词效果。同时,通过调整分词模式和参数,可以在速度和精度间找到适合的平衡点。 总结,mmseg4j 2.3作为一个成熟的Java中文分词解决方案,不仅为...

    ik+mmseg分词器

    IK 分词器具有良好的可扩展性,支持自定义词典,并且能够动态加载新词,这使得它在处理实时数据时表现出色。在 Solr 中,IK Analyzer 可以作为默认的分词器,用于对输入的中文文本进行切词,从而提高搜索的准确性和...

Global site tag (gtag.js) - Google Analytics