搜索精确度优化

2015-5-20 10:44:36


如果问大家做搜索核心的环节是什么,估计很多人会答分词;好的分词的确可以让内容构建索引和搜索变得更精细;到底有了一个好的分词算法是不是就能使搜索变得更精准可靠呢?但从这一段时间深入了解搜索业务知识后才发现,只有好的分词算法是完全不满足业务搜索的需要, 分词只是一个基础还需要在这基础上深入细分才能更好的体现搜索结果的精准度.

词库

         词库作为精确分词的基础,所以有一个完善的词库对内容归类和检索的精准性提供基础的保障.不过不同行业和专类其词库都有差异(所以收集和完善词库所投入的人力是非常大的).如果想精确搜索只有基础词库中不够,不同行类有不同的需求,所以需要针对词库中的词制订不同的权重维度.针对不同行业其词库存在的维度信息也不一样

  •  B2C和B2B
    产品分类,产品品牌,产品型号等;而这些词表现维度所产生的权重都有差异.除了以上词性外还存在着相似词,apple=苹果,其两者的权重则是相等的.
  • 技术
    对于我们技术来说也有些相应的行业词,如语言C#,JAVA,JAVASCRIPT,还有一些控件类,功能类.不同分类的词对权重的影响也不一样.

实际上做不同行业的搜索都会存在相应行业的分类词,其维度权重也和具体行业有着直接关系;但是每个行业的词表现维度都需要大量的人力去整理和维护,这是一个持久不断完善的工作.

权重

         权重决定了搜索记录展现的先后,所以搜索精确性很大程度通过权重来保持其内容展现的精准性.但权重的决策需要依据词的特性来决定,一般情况下有以几种方式来制定权重的精准度


  • 拆词后通过最长词匹配来提高相关的权重,如搜索MP3被拆成了MPMP3.那把MP3命中的信息权重提高中.这是一种相对某些业务提高权重的办法,对于我们常见的在线MP3搜索来说也许可能,如果当前平台业务的MP的权重比较高而3是描述型号那这样的长词权重意义不大.
  • 词分类
    针对词进行相关的维度权重描述是最直接有效的方法,就以我要买MP3”,如果MP3词有描述是产品,则可以直接把这个词的权重推上去,那自然而然和MP3相关的产品被推到前面.虽然这样可以提高准确度但词的维护就会变得相当复杂,因为在搜索不同词组成的搜索内容所表达的意思可能存在变化,而这些相互影响的关系也在词中描述出来则比较困难.不过事在人为,这些信息的整理对搜索来说都是有价值.
  • 权重比例制定
    权重比例分配非常重要,否则搜索结果表现出来的结果可能完全不是用户想要的结果.如果搜索”C# SOCKET”,由于c#属于语言词权重相应比较高,但如果我们把C#的权重提得过高那会导致最终出来的结果有可能只有C#而没SOCKET.所以权重分配比例规划在整个搜索系统起到非常重要的作用.

其他因素

         有很多情况会采用其他外部因素对权重的干扰,其实很多干扰主要是为了提高更准确的搜索结果;如在B2B,BC2行业在搜索产品的情况会考虑商家信用,销售量和评论等等.(不过有些过于商业性平台则完全从收益上去考虑愿意花多少钱,但这些多多少少都会对搜索这个公平性带来严重的影响.在这里让我想起一句话只要冲够钱你就足够强”)


关注微信公众号