logo 返回列表
超全面总结!搜索体系的建立与优化(二)
2018-02-27 972

搜索结果

看到这里,我们来到了搜索过程的最后一步。在这个页面上,我们通常可以看到大量的内容按照特定的逻辑顺序排列,有的顺序用户可以在筛选器中设置,比如电商app中的,按价格高低排序,销量多少排序等等,有的则是根据业务原因排序,用户不能改变,总体来说每个app都有自己特定的逻辑顺序。在这个阶段的搜索栏,通常的交互方式为上滑隐藏。当搜索关键词与搜索结果高度吻合的时候,会出现命定词高显模块,来看下面的图例吧。

当搜索结果出现异常的时候?会怎么样呢?(不考虑404)

  • 搜索结果零匹配,会出现一些相关词组选项,这些词组通常是你给出的搜索内容的分词。

  • 当你打错字的时候,结果页优先显示正确词组的匹配内容。但有个前提是,其他字或词要与相关内容匹配度非常高,这样才能被计算出来。

优化思路

很多情况下用户使用搜索功能的目的并不明确

随着互联网的高速发展,手机变得越来越「好玩」,功能很多时候就不再是简单的功能本身了。

长期刷微博的小伙伴们会发现,「热搜」模块内容的变更简直代表了时代的变化。从鹿晗关晓彤公开恋情,到pg one李小璐夜宿绯闻,到space x发射成功,热搜就像是时代的风向标,每个人都害怕错过热点,仿佛会被这个世界淘汰。

在这种现象的背后,究竟是用户「精神消费」过剩?还是搜索机制的升级?我们习惯于把某个功能固定于在某个意义层面上而难以跳脱,设计搜索时,我们假定用户为「进行带有强烈目的性搜索行为」。

很多情况下,懵懵的、不晓得干什么的用户数量也非常庞大。热搜是一种非常棒的分流手段,我们也可以递进式拓展相关的模块。比如,搜索栏下可以放置「经常访问博主/up/头条号/专栏…」入口。往大胆了想,在电商app中,针对于经常购买,浏览固定商家的用户,则可以在搜索过程中变更某个固定模块为「推送固定商家」、「类似在售商品」的信息,根据用户的行为特点,让「内容定制化」上升为「模块定制化」,打破app模块分配固定、难调配的局面。

搜索将会越来越智能,算法首当其冲

首先介绍一下搜索的物理逻辑:用户输入信息,系统根据输入的信息匹配相对应的内容,再按照特有的rank逻辑进行排序展示。这个表述只是简单的介绍,如果想要知道具体的原理,还需要深入到搜索词库的建立。每个搜索系统都有一个词库和一个索引库,他们之间是可以进行快速的关联匹配的,词库就好比一本书,索引库就好比目录,当你心里有具体想翻阅的某个内容时,就可以根据目录找到页码,匹配到相关内容。实际上「查书」这样的动作就已经构成一个简单的搜索过程了。

那么,机器检索复杂在哪里?这边要介绍一个新的概念:分词。

给大家看个幽默图片轻松一下,这位老母亲也是为自己的崽崽操碎了心。在图片中,用户输入检索内容时,你会发现,这个文本结构非常的口语化,「女儿高高胖胖穿什么好看」这更像是一个问句,很明显用户对于内容没有明确的预期。如果用这样口语化的描述性文本在淘宝中进行搜索,会出现什么样的结果呢?结果将会是没有匹配。

既然这样搜不到,那我们换个思路来吧,「女儿高高胖胖穿什么好看」,是不是可以换成「高个的女孩穿显瘦服装」这样的文本进行检索呢?我们来试试看。

咦,还是没有,那我们干脆再简化字段扩大搜索范围吧,换成「高个女显瘦」来搜索呢?

结果匹配到了很多漂亮时尚的衣服,搜索完成。

回头再梳理一遍过程,我们从「女儿高高胖胖穿什么好看」这样的非结构化文本到「高个的女孩穿显瘦服装」再到「高个女显瘦」的简化过程,就是一次人工分词操作。如果在足够智能的搜索引擎上,这些都可以自动完成。分词,简单表述为:拆分滤用字符串。

例如,三国的军事家司马懿。可以拆分为「三国」、「的」、「军事家」、「司马懿」这些词组。那在分词系统中,「的」、「是」、「在」是常见的停用词,通常会被直接pass掉,词组进一步拆分为「三国」、「军事家」、「司马懿」。

经过这样的处理,非结构化的内容就会转化成结构化的,可匹配度高的词库,可以轻易的匹配到想了解的内容。说了 这么多搜索原理,那优化思路在哪呢?这里说两点自己的看法。

词条归一

这是针对词库的优化,说到这个,得介绍一下搜索系统匹配关键词的规则「TF-IDF算法」。假如用户在百度上搜索「苹果」,那苹果有很多相关的信息文档,怎么才能准确匹配呢?系统需要提取这些信息文档的关键词,感兴趣的小伙伴可以百度公式。系统计算出文档里每个词的TF-IDF值后,然后按降序排列,取排在最前面的几个词与搜索词匹配就可以得到准确的匹配结果,不会出现我搜的是苹果,出来的是青苹果乐园。进一步的还有Lucene的打分系统,让好的,召回率高的内容优先展示。说了这么多,词条归一到底是什么?其实就是将同一词义的词组归为同一个词,比如苹果的别称有「蔷薇科苹果属果实」、「柰」、「滔婆」、「apple」、「りんごちゃん」等等,这些词组说的都是同一个意思,所以词条归一就是将这些词组归为同一类别,扩大匹配范围,提高关键词召回率。

更符合业务目标的rank逻辑

我们在搜索完成后,会看到搜索结果会按照特定的顺序排序,再进行展示。有些产品中,展示的顺序是否能够切合业务目标,会直接影响到产品的收益。所以,制定展示逻辑的算法要高度理解业务内容,实时回归业务进行规则的更新。


相关推荐
微信扫一扫
微信扫一扫
关注公众号,了解更多资讯
联系客服

微信扫码联系客服