- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
142|数据科学家必备套路之一:搜索套路
2018-07-13洪亮劼来自北京
《AI技术内参》
到目前为止,我们已经完整地介绍了搜索、推荐和广告的主流技术,为你呈现了这些产品技术
方向的整个生态系统。在这些系列的分享里,我们重点介绍了这些技术方向的基本模型,然后
花了不少篇幅讲如何评测模型的好坏,包括如何进行线下评测以及线上评测。同时,我们从传
统的经典模型讲到最近几年利用深度学习对这些技术方向的提升,帮助你理顺了这些技术发展
的脉络。
尽管我们已经在之前的文章中分享了这些技术的方方面面,但是对于很多经验较少的数据科学
家或者人工智能工程师来说,依然会感到无法得心应手地把这些模型和知识给应用到真实场景
中。
其实,出现这种情况一方面是个人经验积累的原因,毕竟从初学者到能够熟练应用各种模型工
具应对实际产品的需要,是一个长时间磨炼的结果;然而另一方面,也是因为搜索、推荐和广
告这些产品场景其实是有一些套路,在没有接触到这些套路的时候往往会觉得不得要领,而在
慢慢熟悉了这些套路之后,进步也就会慢慢加快。
那么,在接下来的三篇文章里,我就有针对性地来分享在这三个领域里的一些常见套路。今
天,我们首先从搜索产品套路说起。
多轮打分套路
我们前面已经介绍过多轮打分的系统架构了。当我们想要构建任何一个搜索引擎时,都应该立
刻想到多轮打分这个架构,这是一个基本套路。
我们先来回顾一下多轮打分最基本的模式:针对一个搜索关键词,我们首先从索引中找到第一
批,也是数目相对比较多的相关文档,这就是第一轮打分;然后,我们再根据一个相对比较复
杂的模型,对剩余的文档进行打分排序,这是第二轮打分。
很多时候,两轮打分就已经能够满足需求了,可以直接给用户返回结果集。当然了,我们也常
常加入第三轮打分,这个时候经常是实现一个商业逻辑层,可以针对最后的搜索结构加上一些
商业规则。
多轮打分这个套路之所以关键,是因为它其实影响了一系列的技术决定。
首先,只有第一轮是直接作用在索引上的。这一轮往往可以并行化,并且不需要太多考虑文档
之间的顺序。
我来举个例子说明。在一个大型搜索引擎的架构下,假设我们有一亿个文档,每五百万个文档
存放在一个数据节点上。如果我们有一个关键词是“人工智能”,那么就要到这20个数据节
点上分别查找包含这个关键词的文档。当我们把所有的文档汇集起来以后,排序取出前1000
个文档,这个时候就进入第二轮。最简单的第二轮打分是在一个计算节点上进行的,而且这个
时候我们只针对1000个文档进行打分,对计算时间的要求就大幅度降低了。那么,在这样的
情况下,第二轮打分使用的模型可以是比较复杂的模型。后面每一轮打分所针对的文档往往是
越来越少,因此模型的复杂度可以越来越高。
从解决问题的角度上来说,第一轮在索引上的打分,是要解决“召回”(Recall)的问题。这
一步有可能是从非常多甚至是成千上万的文档中返回几百到几千不等的文档,因此一旦一些文
档没有在这一轮中被返回,就无法在后面的轮数中被重新筛选出来。所以,我们要理清这么一
个思路,那就是如果你认定系统有“召回”的问题,也就是说,本该搜出来的东西,完全搜索
不出来,那肯定是在第一轮打分就出了问题。第二轮以后的打分解决的就是“精度”
(Precision)的问题。
同时,我们可以看到,什么时候解决“召回”问题,什么时候解决“精度”问题,这其实是取
决于具体的业务场景。
对于“精度”非常看重的搜索场景,比如说网页的信息类关键词,例如“特朗普”、“比尔盖
茨”,人们往往只关注前10位,甚至是前3位的搜索结果。那么很明显,我们可以先有一个
比较简单的第一轮架构,比如就是文字匹配,而把功夫都下在第二轮以后的打分上。
而对于“召回”比较看重场景,比如说法律文档搜索,那必须要做好的就是第一轮的打分,这
个时候可能需要采用简单的文字直接匹配和语义的模糊匹配。
高频和长尾的套路
刚开始接触搜索产品的朋友往往会有一个困惑,那就是不知道该如何提升一个搜索产品,有一
种无从下手的感觉。那么,对于搜索产品的提高有没有什么套路可言呢?
一个比较基本的套路,就是把搜索关键词按照某种频率或者是流量分为“高频关键词”和“长
尾关键词”,从而为这两类不同的关键词设计排序算法。
为什么要把关键词按照频率分开呢?我来介绍一下最主要的思路。
对于很多搜索网站来说,一些高频的关键词往往占据了相对来说比较大的流量,而很多长尾的
关键词,也就是仅仅出现过几次的关键词则并没有太多人搜。因此,如果我们先解决了高频的
关键词,也就解决了大部分的搜索问题,从而可以把精力留下来慢慢解决低频的长尾关键词。
而
您可能关注的文档
- 071-推荐系统评测之二:线上评测【萌萌家】.pdf
- 073-现代推荐架构剖析之一:基于线下离线计算的推荐架构【萌萌家】.pdf
- 074-现代推荐架构剖析之二:基于多层搜索架构的推荐系统【萌萌家】.pdf
- 075-现代推荐架构剖析之三:复杂现代推荐架构漫谈【萌萌家】.pdf
- 078-基于深度学习的推荐模型之三:利用深度学习来扩展推荐系统【萌萌家】.pdf
- 081-广告回馈预估综述【萌萌家】.pdf
- 085-LinkedIn的广告点击率预估模型【萌萌家】.pdf
- 089-广告的竞价策略是怎样的?【萌萌家】.pdf
- 093-聊一聊“程序化直接购买”和“广告期货”【萌萌家】.pdf
- 094-归因模型:如何来衡量广告的有效性【萌萌家】.pdf
文档评论(0)