`

如何打造自己的coreseek/sphinx分词词库

php 
阅读更多

下面给大家介绍一下如何打造自己的coreseek分词词库。 coreseek自身带的词库不是很大,直接使用它分词可能会返回大量没用结果。要想搜索结果准确打造一个专门的分词 词库必不可少。

i. 首先到搜狗http://pinyin#sogou#com/dict/下载你要的词库

ii. 因为下载回来的词库不是文本文件我们不能直接使用,所以要先转换成文本文件。网上找一个搜狗转 google的小工具,用它把你下载的全部词库转成文本文件。合并为一个文件命名为words.txt。文件要用utf8编码 保存,如果想直接使用我下面的工具进行转换的话文件名一定要是words.txt。如果你想自己转换请参考官网上的方 法http://www#coreseek#cn/opensource/mmseg/

iii. 现在我们有了一个初步的词库,但这个词库还不能直接使用,要再整理并转换coreseek使用的格式才行。 这里我提供一个自己编写的小程序方便转换。 源程序如下:

使用方法如下:

1. 把words.txt,转换工具words_format.php及c:\coreseek\etc\unigram.txt三个文件放到能运行php的 服务器同一个目录下.

2. 然后访问words_format.php .

3. 等待程序运行完,时间长短要看你词的多少,太多的话中间可能假死。运行完后会在相同目录下生产 words_new.txt把这个文件加到原unigram.txt的后面,保存备用.

4. 把上面得到的文件unigram.txt复制到C:\coreseek\bin然后在命令行下进入目录C:\coreseek\bin 执行 mmseg -u unigram.txt 该命令执行后,将会在unigram.txt所在目录中产生一个名为unigram.txt.uni的文件 ,将该文件改名为uni.lib,完成词典的构造。

5. 测试新词库能否正解分词。在C:\coreseek\bin下新建文本文件test.txt。输入要测试的关键词。 例如:四季服装网中大面料辅料,然后保存。当中一定要包含你新加进词库的某个关键词。例如四季服装网是我新加的 关键词。然后在刚才的命令行下执行mmseg -d C:\coreseek\bin test.txt>result.txt .执行完后打开新生产 的结果文件result.txt .如果看到分词结果类似四季服装网/x 中大/x 面料/x 辅料/x 的话证明词库已正确生成, 如果看到新关键词被分切开如: 四/x 季/x 服/x 装/x网/x 中大/x 面料/x 辅料/x的话就说明新的词库并不正确。 要检查一下哪里出错了,重新生产。

6. 再把得到的uni.lib复制到C:\coreseek\etc覆盖原文件就大功告成了

 

====================================

使用命令行构造词典:详情看这个coreseek词典构造 http://www.coreseek.cn/opensource/mmseg/

 

词典的构造

mmseg -u unigram.txt

该命令执行后,将会在unigram.txt所在目录中产生一个名为unigram.txt.uni的文件,将该文件改名为uni.lib,完成词典的构造。需要注意的是,unigram.txt需要预先准备,并且编码格式必须为UTF-8编码。

特别提醒:Windows下面编辑词典文件,请使用Notepad2,绝对不要使用记事本(Notepad)。

词典文件格式:

....
河 187
x:187
造假者 1
x:1
台北队 1
x:1
湖边 1
......

其中,每条记录分两行。其中,第一行为词项,其格式为:[词条]\t[词频率]。特别提醒,有的编辑器会使用4到8个空格代表\t,这将导致该词条无法解析。需要注意的是,对于单个字后面跟这个字作单字成词的频率,这个频率需要在大量的预先切分好的语料库中进行统计,用户增加或删除词时,一般不需要修改这个数值;对于非单字词,词频率处必须为1。第二行为占位项,是由于LibMMSeg库的代码是从Coreseek其他的分词算法库(N-gram模型)中改造而来的,在原来的应用中,第二行为该词在各种词性下的分布频率。LibMMSeg的用户只需要简单的在第二行处填"x:1"即可。

将修改好的uni.lib 放到mmseg对应的目录下就可以了

分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    coreseek中日韩分词词库

    本文将详细探讨“coreseek/sphinx分词词库txt版本(中日韩)”的核心特点、用途以及如何有效利用这些分词词库。 一、词库概述 1. 中文词库(zhuni.txt):中文分词是中文搜索引擎面临的首要挑战,因为中文词汇之间无...

    coreseek(sphinx + 中文分词)

    Coreseek 是一款中文全文检索/搜索软件,以GPLv2许可协议开源发布,基于Sphinx研发并独立发布,专攻中文搜索和信息处理领域,适用于行业/垂直搜索、论坛/站内搜索、数据库搜索、文档/文献检索、信息检索、数据挖掘等...

    中日韩分词词库.zip

    《中日韩分词词库及其在CoreSeek与Sphinx中的应用》 在信息技术领域,中文、日文和韩文的处理一直以来都是一个挑战,尤其是在搜索引擎和信息检索系统中。中日韩分词词库是解决这个问题的关键工具,它为理解和处理这...

    sphinx mmseg coreseek 搜狗 词库

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

    浅谈Coreseek、Sphinx-for-chinaese、Sphinx+Scws的区别

    Sphinx-for-chinaese则是另一个针对中文的Sphinx扩展版,它简化了部署过程,内置了分词和词库,同样支持索引和搜索分词。但其分词效果可能不如Coreseek强大,且版本更新速度较慢。这种方案适合那些希望快速搭建简单...

    中文搜索引擎sphinx索引coreseek-4.1-beta.zip压缩文件

    coreseek是一款基于sphinx开源的搜索引擎,因为sphinx只支持英文和俄文(即只能进行英文分词和俄文分词),所以如果要使用sphinx做中文搜索的话,需要自己独立去导入中文词库。而coreseek里集成了中文词库模块mmseg,...

    coreseek安装

    4. **安装mmseg中文分词库**:编译和安装mmseg,它是Coreseek进行中文分词的关键组件。 5. **安装libsphinxclient**:此库是用于连接Sphinx搜索服务的必要组件。 6. **安装PHP Sphinx模块**:从PECL网站下载并编译...

    sphinx开源的搜索引擎的PHP模块扩展包(linux) sphinx.1.1.0版本

    sphinx是一个开源的搜索引擎,因为sphinx只支持英文和俄文(即只能进行英文分词和俄文分词),所以如果要使用sphinx做中文搜索的话,再引入一个中文词库,可以在我的文章里搜索 基于sphinx的开源搜索引擎coreseek的...

    coreseek-3.2.14-win32

    3. **开发工具和API**:可能包括开发者接口文档、示例代码和API头文件,使得开发人员能够集成CoreSeek到自己的应用中,实现自定义的搜索功能。 4. **分词器**:如MMSEG分词库,这是处理中文文本的关键部分,它能够...

    配合《带有sphinx搜索功能的yii2框架实例》的资源

    CoreSeek则是Sphinx的中文分词版本,它在Sphinx的基础上加入了中文分词的支持,使得在处理中文数据时更加得心应手。CoreSeek集成了多个中文分词库,如jieba、mmseg等,提高了中文文本的搜索精度。 在《带有sphinx...

    coreseek-4.1-win32

    CoreSeek通过集成开源的中文分词引擎,如MMSEG(Maximum Matching Segment)或者jieba分词库,提高了对中文文本的处理能力。 中文分词是将连续的汉字序列切分成具有独立语义的词语的过程。MMSEG算法是一种广泛使用...

    coreseek-4.1-win32.zip

    reseek其实就是基于sphinx的中文分词版本,sphinx本身并没有提供中文分词功能,需要自行安装中文词库比较麻烦,coreseek提供了中文分词功能,提供了完整的官方中文使用文档,并且在使用上和官方的sphinx并没有差别。

    SPhinx在量子知道中的应用-征宇.pdf

    Coreseek是Sphinx在中国的一个分支,它添加了对中文分词的支持,采用了libmmseg分词引擎。 Sphinx的核心工作原理基于倒排索引,这是一种优化搜索效率的数据结构。在量子知道这样的应用中,Sphinx能够快速查找包含...

    基于Sphinx+MySql+Python的站内搜索引擎的设计与实现.pdf

    国内的Coreseek项目基于Sphinx开发,增加了对中文分词和编码的支持,并优化了中文搜索结果的排序。 2. MySQL数据库与分词: MySQL是一个广泛使用的开源关系数据库管理系统,支持英文分词的全文检索,但对于中文分词...

    coreseek.rar

    CoreSeek是一款基于Sphinx搜索引擎的中文分词和全文检索解决方案,专为中文环境设计,提供了高效、可扩展的全文检索功能。Sphinx是一款开源的、高性能的全文搜索引擎,最初由俄罗斯开发者开发,广泛应用于Web应用、...

    网站搜索的进化PPT学习教案.pptx

    常见的中文分词工具有Scws(基于词频词典)、Paoding(基于Lucene)、Imdict(智能词典)和Mmseg4j(封装mmseg算法,自带Sogou词库)。这些工具帮助搜索引擎理解中文文本,提高搜索准确性。 4. Sphinx与Coreseek的...

Global site tag (gtag.js) - Google Analytics