在coreseek中实现准一元分词与词库分词整合的方案

发布: 2012-10-08 15:23

由于sphinx官方版本只支持n元分词,

而coreseek改进版本,表面上是只支持词库分词的

这样,使用coreseek的时候,由于其使用最大匹配算法分词,

对于某些特殊的长词,可以分为多个词时,在使用短词搜索的时候,

无法搜索出相应的结果。

如,研究生教育,虽然在语义上应该分出“研究生”和“教育”,

但是在搜索引擎中,最好也能搜索到”研究“这个词。

经研究发现,coreseek支持一个同义词的功能,

使用这个同义词功能,可以兼容这种搜索要求。

如,在同义词库thesaurus.txt中可以有一条,

研究生

-研究

则表示分词的时候,这两个词都会被分出来,把搜索其中任何

一个词的时候,都能得到这条结果。

在更极端情况下,把研究生这个词库中的词可分出下面的“词”(字):

研究生

-研究,研,究,生

这样,相当于词库分词与准n元分词的组合分词方式了。

至于为什么叫准n元分词,因为,这些n元字不是根据原文分出来的,

而是根据现有的词库分出来的,肯定要比纯n元分词的结果要少,

这样的优点是与词库的准确度相关,并且能最小化索引数据库。

与相比sphinx提供的纯n元分词,在分词效率与最终索引数据库大小上、

搜索效率上有比较好的折中。



原文: http://qtchina.tk/?q=node/690

Powered by zexport