coreseek中mmseg词库的导入方法

coreseek使用mmseg作为分词工具,默认的词库是有限的,我们需要为mmseg增加自定义词,用来丰富词库,实现更加精准的搜索服务。本文介绍如何自定义mmseg词,并通过脚本和mmseg命令导入词库。

准备一个词库

在导入之前,先准备好一个txt的词库文件,在这个文件中每个词占一行,保存为utf8编码格式,例如如下a.txt词库:

阿宝
阿爆
阿本
阿才
阿弟
阿弟仔
阿杜
阿朵

你也可以下载搜狗细胞词库,通过深蓝词库转换器转成以上的格式。

搜狗细胞词库下载地址:http://pinyin.sogou.com/dict/
深蓝词库转换器下载地址:imewlconverter_1_3_1

把搜狗细胞词库通过这个软件导出为txt文件,并且要把它转成utf8格式,默认是ANSI编码。

转成mmseg格式

写脚本,将以上txt的词库转换成mmseg格式的txt。

/*
* 把txt词库转换成mmseg词库
* 注意源文件必须是utf8编码
*/$sourcefile = null;
$targetfile = null;$options = getopt("s:o:");
if (!isset($options['s'])) {$sourcefile = "words.txt";
} else {$sourcefile = $options['s'];
}if (!isset($options['o'])) {$targetfile = "mmseg-dict.txt";
} else {$targetfile = $options['o'];
}convert_file($sourcefile, $targetfile);function convert_file($sourcefile, $targetfile) {$rhandle = fopen($sourcefile, "r");$whandle = fopen($targetfile, "w");if ($rhandle) {while (($buffer = fgets($rhandle, 4096)) !== false) {$line = trim($buffer, "\r\n\t ");fwrite($whandle, "$line\t1\r\nx:1\r\n");}if (!feof($rhandle)) {echo "Error: unexpected fgets() fail\n";}fclose($rhandle);fclose($whandle);}
}

执行以上php脚本:

php words2mmseg.php -s a.txt -o b.txt

导出b.txt文件,它是mmseg词库要求的词式。

阿宝  1
x:1
阿爆  1
x:1
阿本  1
x:1
阿才  1
x:1
阿弟  1
x:1
阿弟仔 1
x:1
阿杜  1
x:1
阿朵  1
x:1

导入操作命令

通过如下命令,将txt文件转成mmseg运行所需的lib词典:

cd /usr/local/mmseg3/etc/
cp unigram.txt unigram.txt.bk
cp uni.lib uni.lib.bk
cat b.txt >> unigram.txt
/usr/local/mmseg3/bin/mmseg -u /usr/local/mmseg3/etc/unigram.txt
mv unigram.txt.uni uni.lib

导入完成后,通过如下命令检验导入效果:

echo "阿弟仔" > whatever.txt
/usr/local/mmseg3/bin/mmseg -d /usr/local/mmseg3/etc/ whatever.txt

coreseek分词相关推荐

  1. sphinx+coreseek+php扩展--用php程序实现中文拆词

    ##################### 一  mariadb 安装 ##############                     使用的是yum安装 略 ################# ...

  2. Sphinx在windows下安装使用

    Sphinx 在 windows 下安装使用 前一阵子尝试使用了一下 Sphinx ,一个能够被各种语言 (PHP/Python/Ruby/etc) 方便调用的全文检索系统.网上的资料大多是在 lin ...

  3. sphinx+coreseek创建中文分词索引

    2019独角兽企业重金招聘Python工程师标准>>> 一:安装sphinx步骤如下: 下载sphinx最新的2.2.11版本 cd /opt/sphinx wget 下载地址 ta ...

  4. 基于php的Sphinx以及coreseek的全文搜索,中文分词的使用(一)

    基于php的Sphinx以及coreseek的全文搜索,中文分词的使用(一) ##1.sphinx简介 1.什么是sphinx Sphinx是由俄罗斯人Andrew Aksyonoff开发的一个全文检 ...

  5. php mmseg,coreseek+sphinx+mmseg中文分词安装

    由于官网挂了,找资源 下载coreseek+sphinx+mmseg中文分词安装费了很多时间 开始是在github上一阵狂搜,找了几个都安装失败,后来在csdn上找到资源,一阵折腾之后安装成功 准备工 ...

  6. ubuntu-10.04的测试环境 安装测试 Coreseek开源中文检索引擎-Sphinx中文版

    主要参考文档:http://www.coreseek.cn/products-install/install_on_bsd_linux/ 一. 32位版本: coreseek安装需要预装的软件: ap ...

  7. Coreseek-带中文分词的Sphinx

    Sphinx并不支持中文分词, 也就不支持中文搜索, Coreseek = Sphinx + MMSEG(中文分词算法) 1.下载 1).到官网下载 2).解压后有三个文件夹 csft-3.2.14: ...

  8. mysql coreseek_centos+php+coreseek+sphinx+mysql之一coreseek安装篇

    首先附上coreseek4.1版本下载 前期准备工作: yum install make gcc g++ automake libtool MySQL-client libMySQLclient15- ...

  9. sphinx和coreseek

    sphinx是国外的一款搜索软件. coreseek是在sphinx的基础上,增加了中文分词功能,换句话说,就是支持了中文. Coreseek发布了3.2.14版本和4.1版本,其中的3.2.14版本 ...

  10. Coreseek Windows下安装调试

    由于项目需要全文检索,后面就去网上查了下资料,找到了Sphinx[中文是狮身人面像]这个全文检索引擎,听说挺好用的,不过没有中文分词.后面又去找了一下,找到了Coreseek,一款中文全文检索/搜索软 ...

最新文章

  1. 第3讲--3.1旋转矩阵
  2. Hive的安装和配置
  3. 从零开始学python | 使用Python映射,过滤和缩减函数:所有您需要知道的
  4. Silverlight+WCF 新手实例 象棋 棋子移动-线交叉点(六)
  5. 凸优化第八章几何问题 8.4极值体积椭圆
  6. 2021计算机视觉-包揽所有前沿论文源码 -上半年
  7. ENVI5.3安装中国国产卫星支持工具
  8. vim插件-对齐插件tabular
  9. pr2打印机java 编程
  10. 分而治之(Work Breakdown Structure, WBS)
  11. 深度神经网络在Youtube推荐中的应用--开篇作之一--含部分实用技巧
  12. 【STC8G2K64S4】比较器介绍以及比较器掉电检测示例程序
  13. qq邮箱做php邮箱发送,PHP中利用PHPMailer发送QQ邮件
  14. eclipse创建springboot项目_创建SpringBoot自动配置项目:Starter测试使用
  15. 装的系统没有截图和计算机工具栏,win10百度浏览器工具栏找不到“截图”按钮怎么办...
  16. “数独”是一种智力游戏,一般认为起源于“正交拉丁方”,经日本人推广后风靡全球。
  17. 浅析:为何说2018年VR头显不会有重大突破
  18. Python基础篇1:输入直角三角形的两个直角边的长度a、b,求斜边c的长度
  19. 淘宝天猫商家运营推广,店铺宝贝滞销怎么办,如何处理
  20. 高新技术企业所得税政策有哪些?

热门文章

  1. laravel seeder 填充数据
  2. 以太网(报头格式 | MTU | ARP)
  3. Java:详解Java中的异常(Error与Exception)
  4. Java算法每日练习
  5. Git检查现有 SSH 密钥
  6. nu.xom:Serializer
  7. 星际迷航-发现号-第三季最后一集
  8. Ubuntu零基础教学-Ubuntu下如何创建.txt记事本文件
  9. SSH、SSL、TSL
  10. NOIP2017普及组★跳房子