智能搜索之我见

上一篇 / 下一篇  2011-05-31 11:29:21 / 个人分类:WEB测试

做智能搜索已经有半年了,还是很不理想。

第一次尝试,按照中文、英文、数字、全拼四种数据进行拆分并分别精准搜索。

存在无法解决问题:很不灵活,没有分词,匹配度很低。

第二次尝试,添加模糊匹配,对用户上行的关键进行了分词。

存在无法解决的问题:搜索不准确,不能按照语义进行搜索,理想状态是先搜索最长匹配的的然后是在进行拆分,拆分时搜索原则是比较长的才是语义最准确的;最短的如果有精准匹配了就不现实长的,原则就是能精准匹配的就不要在模糊匹配处理。这两点一直无法实现。

第三次尝试,精准匹配+开源模块的模糊匹配自动分词

存在的问题:开源模块的模糊搜索自动分词很不准确,把很长的关键字拆成一个字然后去匹配结果比较准确的意思拆分后无法搜索到结果,还有错别字识别是根据拼音来匹配的发现和拼音的音调有关系,有的是根据汉字的首字母进行分析然后匹配,结果也是很不理想。

第四次尝试:预处理—+精准匹配+开源模糊匹配,主要工作放在手工录入方面,依靠强大的数据库检索来达到搜索的效果,这样就需要大量的人力来每天搜集数据入库,开销太大了。

百度的搜索是依靠机器人强大的收集功能来自动采编数据,我们现在是把人作为机器人使用导致效率低下。

我的构想:

1、精准匹配之必须的,入库的都是含义明确的关键字。

2、在精准匹配之前需要去除搜索内容的垃圾数据,并拆分关键。

去除垃圾数据需要一张垃圾数据的表进行维护,剔除时参考垃圾数据表中的数据进行剔除,垃圾数据包括:助动词、语气词,和不文明语言、连续输入的相同字符、特殊符号根据业务实际需要处理。

拆分部分有开源模块依据语义进行拆分匹配交给精准匹配来处理。拆出来的关键字需要重新组合来匹配库中的关键字。

3、利用机器人自动收集用户的搜索内容,并依据关键字进行分类处理,前期有手工精准匹配,发现规律后制定业务规则进行自动入库,面对固定的业务可以自动处理,在某一行业一些词语是相对固定的。

4、最后通过手工和自动化相互补充来完善知识库。



TAG:

 

评分:0

我来说两句

Open Toolbar