为什么机器学习广泛的用在谷歌的广告系统中,而很少用在搜索排序中?

[本文为Quora译文,原文地址见文尾]不少我在谷歌的朋友告诉我,它们的广告系统多是基于机器学习的,而搜索排序则基于人凭借直觉撰写的函数(部分模块基于机器学习)。是什么导致了这样的差异?Edmond Lau, 前谷歌搜索质量工程师当我在谷歌的时候,我知道谷歌核心排序团队的负责人Amit Singhal,有一个哲学层面的,关于在搜索排序中使用机器学习的反对意见。我认为

[本文为Quora译文,原文地址见文尾]

不少我在谷歌的朋友告诉我,它们的广告系统多是基于机器学习的,而搜索排序则基于人凭借直觉撰写的函数(部分模块基于机器学习)。

是什么导致了这样的差异?

Edmond Lau, 前谷歌搜索质量工程师

当我在谷歌的时候,我知道谷歌核心排序团队的负责人Amit Singhal,有一个哲学层面的,关于在搜索排序中使用机器学习的反对意见。我认为其背后有两个主要原因:

1.在机器学习系统里,弄清楚为什么一个检索结果比另一个结果排序更高很困难。某一个具体策略的原因非常难以捉摸。很多机器学习算法均是黑盒,顶多告诉一些权重与模型,它们很难表述清楚一个具体策略的原因;

2.在一些场景下,即使人已经成功的分辨出基于哪些因素,使得一个结果比另一个结果的排序靠前,但依然很难构建一个机器学习系统,在单独的场景下,去拟合这些因素的权重。施加到一个机器学习系统的信号与特征,只能间接的影响输出层的权重信息,而这种直接控制的缺失,意味着即使一个人可以清楚的解释为什么一个检索结果比另外一个更好,但依然无法将这种人工干预直接施加到一个机器学习系统中。

基于规则的评分体系,依然复杂,但使得工程师可以直接的调整不同场景下的排序权重。从谷歌在网页搜索上的领先可以看出,这种策略的选择,保留了对结果的可解释性与可控性,使得谷歌的搜索结果质量改进工作迭代快速且提升显著,他们的Team在2008年发布了450项改进,而这个数字貌似还在增加。

而广告排序,则倾向于是一个优化问题,相对于两个具体的检索结果,两个广告的质量非常难以比较。相对的,一个检索句对应的两个网页结果具备明显的不同,可以通过人工评分的方式辨别其质量。在搜索引擎中一个只有三行或者四行的广告对用户来讲往往是类似的。用户往往可以非常容易的辨别出一个不好的广告,但是很难分辨出两个都有道理的广告哪个更好。

品牌的不同,小的文字差异,用户行为的跟踪,这些人难以感知的东西,却容易被机器辨识,它们在广告的场景下也更加重要。另外的,不同的广告主有不同的预算与投标,这使得广告排序更多的近似于一个收入优化问题,而不是一个质量优化问题。因为人很难通过经验的总结,弄清一个广告排序系统如何才能运转的更好。可解释性,可控性虽然在网页排序中非常重要,但在广告搜索中则不重要的多。如此机器学习变成了一个非常好的选择。

Jackie Bavaro, Google PM for 3 years

Edmond Lau的回答很棒,我想增加一些更加重要的信息。

2008到2010年我正在谷歌的搜索组,很多组都将基于机器学习的系统改为了基于规则的系统。也就是说,谷歌曾经尝试了很多机器学习方法,但当他们意识到采用基于规则的方法将取得更快的质量改进速度时,他们果断改换了方向。这绝非是一种偏见,这是很多搜索组经过尝试而得到的结论。

我曾是图片、视频、地域搜索的产品经理,这三个组致力于当数据属于这三种类型时,给用户提供最好的结果。我经常看着的随机挑选的检索词对应的搜索结果,并且考虑“它们是否包含了用户想要的结果?如果没有,我们如何做的更好?”当我们问这个问题的时候,我们往往可以进一步的思考哪些元素可以帮助我们(挑选出好结果)。你希望展示的那个图片,也正是谷歌系统努力想为你呈现的。

Anonymous(匿名)

部分回答非常经典,但是另外一部分重要原因是这两个系统在目标,规模以及用户之间的差异。

广告系统的用户是广告主与谷歌的销售部,如果机器学习系统不适用,这些广告主将非常郁闷,如此谷歌赚的钱就少了。但相对而言,这是可以容忍的。这个系统有一个客观的目标,这样机器学习系统可以直接对其进行优化。并且广告的搜索空间,也相对非常非常小(长尾词少)。

搜索排序系统则有一个非常主观的目标-用户体验。CTR,搜索量等等,都很难描述这个目标,尤其是当搜索句是长尾的时候。虽然一些策略可以自动找到,但是依然需要大量的策略需要基于人的主观认知。

Sameer Gupta, working on itSuggest Bio

当前的各类机器学习算法在“一般情况”下表现良好,但对于“特殊情况”是无力的,而搜索引擎的评价指标,例如准确率,召回率,RMSE等,仅仅描述“一般情况”的。

也就是说:机器学习方法非常容易拟合已经得到的数据,但在未见数据上将导致灾难性的问题。

谷歌依然采用人工规则的方式操作检索结果,并未完全切换到机器学习方法上,Peter-Norvig给了两个原因:

1.人类专家认为,他们可以设计比机器学习模型更好的算法;

2.第二个原因非常有趣,谷歌搜索团队担心人工智能模型在那些与训练数据不同的未见数据上,可能导致灾难性结果(非常差的BadCase),他们相信,人工构建的模型,将相当程度上规避这些问题。
数据分析, 数据挖掘, 机器学习, 排序