问题前提:
这篇博客是在你已经安装并使用coreseek的前提下,并且在使用过程中发现当前默认的分词效果不佳时作为参考。
解决方案:
1、扩展基本词典
参考:
http://jockchou.github.io/blog/2015/08/24/coreseek-mmseg.html
http://blog.sina.com.cn/s/blog_65c6008f0102wtua.html
http://blog.csdn.net/zp_00000/article/details/51151422
2、建立同义词库
Sphinx搜索一个比较变态的地方就是按最大匹配度搜索的。
比如分词中有江都,江都市,我搜江都市,是搜索不出江都的,同样如果搜索江都,也搜索不出江都市。
此时修改扩充分词库是没法解决问题的,我们需要建立同义词库。同义词库不需要自己填写,是根据分词库生成的。
1. 处理unigram.txt生成同义词库文件
python mmseg-3.2.13源代码/script/build_thesaurus.py unigram.txt > thesaurus.txt
thesaurus.txt文件的格式如下:
南京西路
-南京,西路,
2. 生成同义词词典
mmseg -t thesaurus.txt
3. 将thesaurus.lib放到uni.lib同一目录
4. coreseek索引和搜索时,会自动进行复合分词处理
参考: