mmseg 同义词/复合词自定义

2019独角兽企业重金招聘Python工程师标准>>> hot3.png

Linux mmseg 同义词/复合分词处理:
其基本使用状况为:
词库包含:
    南京西路、南京、西路
索引时:
    文本中的“南京西路”会被同时索引为以上三者
查询时:
    输入南京西路,可以直接匹配南京西路,而不匹配南京或者西路;
    输入南京或者西路,也可以搜索到南京西路

用法:
1. 处理unigram.txt生成同义词库文件
   注*:在mmseg安装目录 /mmseg3/etc/ 下运行
   $ python (加安装之前coreseek目录路径)mmseg-3.2.14(源代码=>是解压后的coreseek 目录下)/script/build_thesaurus.py unigram.txt > thesaurus.txt //下载后的压缩包自定义存放
   $ python /usr/local/src/coreseek-4.1-beta/mmseg-3.2.14/script/build_thesaurus.py unigram.txt > thesaurus.txt         //我自己的存放目录

   *thesaurus.txt文件的格式如下:
南京西路
-南京,西路,
张三丰
-太极宗师,武当祖师,

2. 生成同义词词典
   注*:在mmseg安装目录 /mmseg3/etc/ 下运行
   mmseg -t thesaurus.txt //mmseg 在安装后的mmseg3/bin下
   $ /usr/local/mmseg3/bin/mmseg -t thesaurus.txt //我自己的安装目录

3. 将thesaurus.lib放到uni.lib同一目录
4. 停掉要使用同义词/复合词的那个sphinx ,重新建索引indexer -> 启动sphinx searchd -> 搜索search
5 注:同义词不影响分词。只影响索引
6. coreseek索引和搜索时,会自动进行复合分词处理。

转载于:https://my.oschina.net/u/569662/blog/61178

你可能感兴趣的:(python)