mmseg 同义词/复合分词处理

发布时间:2013-07-11 06:26:20
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/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索引和搜索时,会自动进行复合分词处理。