天天看点

译文:通过去偏相关性预测改进 Uber Eats 首页推送推荐

译文:通过去偏相关性预测改进 Uber Eats 首页推送推荐

Uber Eats 中的主页动态排名

Uber Eats 的使命是让任何人随时随地轻松用餐。Uber Eats 主页信息流是实现这一目标的重要工具,因为它旨在通过利用机器学习技术为每位用户构建个性化的商店列表,提供神奇的美食浏览体验。例如,如果用户经常点寿司菜,信息流就会进行调整,向他们展示更多日本餐厅,尤其是那些寿司菜评分很高的餐厅。个性化推荐还可能包含类似但新颖的选项,如海鲜或其他亚洲美食。

为了实现高质量的个性化信息流,我们优先考虑的一个指标是准确估算转化率(在本博文的其余部分缩写为 CVR),它表示在主页信息流中向食客展示某家商店后,食客从该商店订餐的概率。为了估算这个数量,我们求助于一个根据用户互动数据(例如用户印象、点击和订单)训练的机器学习模型。然而,互动数据本身并不总能完美反映用户的偏好,因为它受到各种统计偏差的影响。事实上,由于机器学习模型的好坏取决于训练它们的数据,这些影响互动数据的统计偏差会对我们的模型生成的排名质量产生强烈的不利影响。当我们在本博文中使用偏差一词时,我们指的是统计偏差。

在推荐系统文献中,影响排名质量的多种偏见已经得到了深入研究,例如位置偏见、信任偏见、上下文质量偏见、选择偏见、邻近偏见、反馈回路偏见等;详情请参阅[1-3, 5, 9]及其中的参考文献。

在这篇博文中,我们重点讨论了其中最重要的一个偏见:位置偏见。位置偏见指的是用户倾向于从排名较高的商店订购更多商品,而不是排名较低的商店,而不管该商店与用户的真正相关性有多高。正如我们在后续章节中进一步讨论的那样,位置偏见在 Uber Eats 主页 feed 排名问题领域中普遍存在,如果不进行任何特殊处理,我们用有偏见的数据训练的 CVR 模型无法完美捕捉用户的真实意图,因为该模型无法区分偏见对用户订购行为的影响。

Uber Eats 首页 Feed 排名中的位置偏差

位置偏差是一种可以相对容易描述的现象,但它并不总是那么容易准确测量或可视化。通常,学者和从业者通过系统地修改排名推荐,并将这些结果与未修改的结果进行比较来测量位置偏差(参见 [6, 7])。在 Uber Eats 中,我们采用类似的方法来衡量位置偏差的影响。具体来说,我们使用一定比例的流量来测量位置偏差,方法是随机排列主页 feed 中很大一部分商店的顺序,以便我们可以严格测量位置偏差。由于我们的顶级推荐通常与每个用户高度相关,因此对一小部分流量的 feed 进行重新排列不会对整体发现体验产生负面影响。

由于这种选择性随机化,对于这一小部分流量,预期的真实用户商店相关性对于位于我们信息流顶部位置的商店是相同的,而不是按相关性排序的。因此,如果我们调查每个垂直位置的经验 CVR(定义为订单数量除以展示次数),我们观察到的任何与 x 轴平行的线的偏差都可以用我们数据中预先存在的偏差(包括位置偏差)的影响来解释。

图 1 显示了商店位置随机排列的这一小部分流量中经验 CVR 与商店垂直位置的关系。可以看出,即使预期的商店相关性在垂直位置上相同,用户仍然明显倾向于从信息流顶部的商店下订单,而不是排名较低的商店,这表明位置偏差对用户行为和我们的数据有重大影响。因此,我们的相关性排名模型可能受到正反馈循环的影响,即靠近信息流顶部的商店获得更多订单,鼓励模型了解它们是相关的,然后在未来的会话中将它们排在较高的位置(当然,对于排名较低的商店,会出现相反的效果)。根据这一观察结果和测量偏差的幅度,我们推断,通过采用一种方法来消除或减少数据中位置偏差的影响,我们的 CVR 模型预测质量有明显的提升空间。

译文:通过去偏相关性预测改进 Uber Eats 首页推送推荐

图 1:平滑经验 CVR 与随机交通中的垂直位置

我们的排名算法很大程度上依赖于对每个用户对每个商店的偏好的准确预测,我们将其表示为 [用户、商店、上下文] 展示的转化率。理想情况下,我们希望估算一个不可观察的数量True CVR,它是衡量特定商店在给定上下文中与用户的相关程度的真实指标,而不考虑可能存在的任何其他混杂因素。但是,在我们收集的展示数据中,即使是相同的用户-商店对,展示也会出现在不同的位置和表面上,并且每个展示都会在不同程度上受到位置偏差的影响。因此,当我们在这些有偏差的数据上训练我们的 CVR 模型时,该模型将学习有偏差的 CVR ,而不是期望的真实 CVR。我们的目标是弥合这一差距,让我们的模型只学习真实 CVR,而不是有偏差的 CVR。

要构建一个用于预测真实 CVR 的去偏 ML 模型,我们必须确定一种建模真实 CVR、偏向 CVR和 位置偏差之间关系的方法。问题归结为理解为什么用户不太可能从较低位置订购,即使是同一家商店。当我们思考这个问题时,我们意识到从印象到订单的链条中缺少一个步骤:检查。当商店在 Uber Eats 应用程序或网络浏览器中显示给用户或呈现给用户时,就会发生印象。但是,即使商店以像素为单位进行物理呈现,也不意味着用户看到了这些像素或检查了其内容。沿着意图阶梯向下一步,如果用户故意选择检查列表,并有意从显示给他们的商店下订单,就会发生检查。检查不需要点击。它可能只需要查看商店名称、菜系类型、图像或检查商店内有哪些菜肴。至关重要的是,并非每次印象都会导致检查,也并非每次检查都会导致订单。我们用一个检查模型来描述这种现象,将用户的整个下单过程分为3个阶段,如图2所示:

译文:通过去偏相关性预测改进 Uber Eats 首页推送推荐

图 2:检查模型

有许多理论和框架解释了印象如何转化为检查的机制,参见 [2, 4]。对于我们的具体用例,我们认为决定印象是否会导致检查的两个最关键机制是顺序推荐的物理性质和注意力衰减。由于推荐的顺序性和用户从上到下阅读的倾向,排名较高的商店更有可能首先被检查,而一旦用户找到合适的相关商店,排名较低的商店被检查的可能性就会大大降低。注意力衰减是指用户倾向于更仔细地检查排名靠前的商店,而不是排名较低的商店,因此在垂直滚动时逐渐减少对推荐的关注。虽然这两个现象不是唯一的因素,但它们在很大程度上推动了观察到的“位置偏差”,决定了印象是否会转化为检查。

商店展示的垂直位置在位置偏差现象中起着至关重要的作用。但令人惊讶的是,位置本身并不是决定位置偏差大小的唯一因素。位置偏差可能受到许多次要因素的影响。例如,不同的操作系统 (OS) 和不同的设备具有不同的用户界面和布局,导致垂直位置的感知方式及其对位置偏差的影响存在差异。同样,商店是以单个商店卡还是以轮播的形式呈现商店卡集合也在用户愿意将注意力集中在每个推荐上的方式中起着重要作用。下图 3 说明了设备操作系统和 feed 项目类型如何影响在随机流量上测量的观察到的位置偏差。位置偏差可能由许多变量组成,其中一些变量可能很难观察到,这一事实表明,一刀切或基于启发式的方法来处理位置偏差可能不够。

译文:通过去偏相关性预测改进 Uber Eats 首页推送推荐

图 3:位置偏差与垂直位置、设备操作系统和 Feed Item 类型之间的关系

到目前为止,我们已经描述了位置偏差如何影响展示是否会导致检查。我们还说明了为什么我们理想情况下希望预测真实 CVR,即检查商店后转化的真实概率。相比之下,偏差 CVR是我们在训练数据中观察到的由用户展示生成的经验 CVR 概率。将这些术语放入更严格的框架中,我们得到以下关系:

译文:通过去偏相关性预测改进 Uber Eats 首页推送推荐

这里,P(检查)或检查概率是位置偏差在我们的数据中的表现,并影响我们模型的预测。接下来,我们将这种概率称为位置偏差。

现在我们已经详细描述了 Uber Eats 排名生态系统中的位置偏见并展示了其影响,我们准备在下一节中描述如何处理它。

处理 Uber Eats 首页 Feed 排名中的位置偏差

为了准确估计真实 CVR, 我们最好仅使用检查数据来训练我们的模型。不幸的是,我们无法确定印象是否导致了检查,因此这是不可能的。相反,我们需要想出一种方法来消除印象数据的偏差,以便生成尽可能接近真实 CVR 的CVR 估计值。

多年来,我们的团队做出了许多努力来减轻位置偏差对 feed 排名的影响。我们的努力包括仅使用从流量的随机部分收集的数据来训练模型,使用 IPW(逆倾向加权)框架在训练阶段适当地加权我们的数据点,并在训练期间直接利用垂直位置作为特征;以及其他方法。这些不同的尝试帮助我们稳步建立了关于我们用例中位置偏差问题的宝贵见解,并提出了越来越有效的方法来处理它。例如,通过这些尝试,我们意识到位置偏差不仅是垂直位置的函数,而且还受到设备操作系统和 feed 项目类型等其他因素的影响,如上一节所述。同样,我们发现我们处理位置偏差的尝试不应该对 CVR 预测的幅度产生重大影响,因为这会产生下游问题,特别是与模型校准相关的问题。

根据我们过去的学习,我们推断出我们需要一个模型,该模型在模型训练期间利用位置特征与其他特征的交互,但在在线推理期间不明确利用它。这表明,经过一些小的修改,[8] 中描述的位置偏差感知学习框架就是我们用例的一个很好的候选者。受 [8] 中方法的启发,我们构建了一个带有位置偏差侧塔的深度学习 CVR 模型,这使我们能够同时估计图 2 所示的检查模型下的真实 CVR和位置偏差。该模型的架构自然遵循方程 (1),如图 4 所示。该模型包括两个独立的深度神经网络 (DNN) 塔,分别估计检查概率 P(检查 = 1)和真实 CVR。这些塔的输出对数在通过 S 形函数之前被相加,在概率空间中,这类似于将概率相乘,但在计算上更为稳健。我们将这个 ML 问题作为分类任务,并使用二元交叉熵损失训练所述模型。该模型在有偏差的印象数据上进行训练,其中每一行是用户对商店的印象,标签是印象是否导致订单。

译文:通过去偏相关性预测改进 Uber Eats 首页推送推荐

图 4:具有位置偏差侧塔的深度学习 CVR 模型。该图描绘了整体结构,但并不代表生产中使用的特定架构。

虽然我们没有直接估计真实 CVR和位置偏差的数据,但很容易看出,如果等式 (1) 中给出的检查模型成立,则 DNN 可能能够学习等式 (1) 中的各个组成部分,真实 CVR和位置偏差,作为其两个塔的输出。训练步骤完成后,在线服务期间,我们会根据模型预测的真实 CVR估计值对商店进行排名,这更准确地反映了用户的偏好,因为它们不受位置偏差的影响。

在尝试训练该模型的过程中,我们发现一个关键点是,如果这两个塔具有一些共同的特征,那么偏置塔可能会学习到一些与真实 CVR数量相关的信息,从而降低 CVR 塔的预测准确性。为了解决这个问题,我们在偏置塔中采用了各种正则化技术,例如 l1 正则化和 dropout。由于 CVR 塔的架构比偏置塔的架构复杂得多,我们发现,一旦位置塔得到适当的正则化,偏置塔就很难学习与真实 CVR相关的信息。另一方面,偏置塔可以独占访问与位置偏差更相关而与真实 CVR关系不大的特征,这使得位置塔比 CVR 塔更容易学习位置偏差。这种特征配置有助于每个塔仅学习与其预期任务相关的信息,并且是成功生成去偏差的真实 CVR预测的关键。

结果

我们按照上一节中描述的深度学习架构训练了一个 CVR 模型。我们发现,该架构在从我们的训练数据中提取位置偏差的影响方面做得不错,因为对随机流量进行的离线分析表明,位置去偏模型的真实 CVR预测与观测的垂直位置无关。相反,我们的生产模型的预测分数与观测的垂直位置相关,因为在没有位置偏差处理的情况下,生产模型正在学习预测偏差 CVR而不是真实 CVR。

在这些积极的早期信号的鼓舞下,我们启动了一项实验,将我们新构建的去位置偏差 CVR 模型与我们现有的生产 CVR 模型进行了比较。实验证实了我们有希望的离线观察结果。我们观察到,新的去位置偏差模型生成了更相关的 Uber Eats 主页信息流,因为用户在统计上显著地从主页信息流中下了更多订单,并且更少地需要使用搜索功能。此外,主页信息流订单的大幅增加转化为巨大的营收影响。我们观察到我们平台上每个用户的订单量显著增加,这表明我们的新模型能够更好地理解用户真正想要什么,并且总体上生成了更诱人的信息流,从而吸引更多用户下订单。基于这些发现,我们向公众用户推出了该模型,并成功完成了实验。

结论和未来工作

在这篇博文中,我们介绍了 Uber Eats 如何使用检查模型了解位置偏差,以及如何通过使用位置偏差侧塔训练 DL 模型来估计位置偏差。从有偏差的数据中消除位置偏差的影响有助于我们的模型更准确地估计真正的相关性,为我们的用户生成更相关的建议,并提高用户参与度。

在此过程中,我们主要关注位置偏差,将其作为训练数据中的主要偏差来源。但是,我们要强调的是,尽管位置偏差是我们排名模型中最重要的偏差来源之一,但它并不是唯一的偏差来源。特别是,邻近偏差和选择偏差是我们认为我们的模型受到的另外两个偏差示例。未来,我们计划通过解决这些和其他偏差问题来继续增强用户的内容发现体验。

参考

[1] 王宣晖等,“学习在个人搜索中对有选择偏差的排名。”第 39 届 ACM SIGIR 国际信息检索研究与发展会议论文集。2016 年。

[2] Joachims, Thorsten 等人,“评估网络搜索中点击和查询重构的隐式反馈的准确性。” ACM 信息系统学报(TOIS) 25.2(2007):7-es。

[3] Sinha, Ayan、David F. Gleich 和 Karthik Ramani。“推荐系统中的反卷积反馈回路。”神经信息处理系统进展29 (2016)。

[4] Klöckner, K. 等:搜索结果列表的深度和广度优先处理。见:CHI'04 扩展摘要“计算系统中的人为因素”。第 1539-1539 页 ACM(2004 年)。

[5] 陈嘉伟等,“推荐系统中的偏见与去偏见:调查与未来方向。” ACM 信息系统学报41.3 (2023): 1-39。

[6] Wang, X.、Bendersky, M.、Metzler, D. 和 Najork, M.(2016 年 7 月)。学习在个人搜索中对选择偏差进行排名。第 39 届国际 ACM SIGIR 信息检索研究与开发会议论文集(第 115-124 页)。

[7] Joachims, T.、Swaminathan, A. 和 Schnabel, T.(2017 年 2 月)。带有偏向反馈的无偏学习排序。第十届 ACM 网络搜索和数据挖掘国际会议论文集(第 781-789 页)。

[8] Guo, H.、Yu, J.、Liu, Q.、Tang, R. 和 Zhang, Y. (2019 年 9 月)。PAL:用于实时推荐系统中 CTR 预测的位置偏差感知学习框架。第 13 届 ACM 推荐系统会议论文集(第 452-456 页)。

[9] 顾颖、丁哲、王胜、邹玲、刘燕和尹丹(2020 年 10 月)。深度多面变换器在大规模电子商务推荐系统中的多目标排名。第 29 届 ACM 信息与知识管理国际会议论文集(第 2493-2500 页)。

封面图片由另一方创作并注明来源,取自https://openverse.org/,表明创作者。它根据CC BY 2.0获得许可。未做任何更改。

作者:

Charles Luo

Charles Luo was an Applied Scientist Ph.D. intern at the Uber Eats search and discovery team. He is currently pursuing his Ph.D. in Biostatistics at the University of California, San Diego.

Utkan Candogan

Utkan Candogan is a Senior Applied Scientist working on ranking and recommendations problems that surface in the Uber Eats app. Previously, Utkan received his Ph.D. degree from California Institute of Technology, specializing in mathematical optimization.

Brett Vintch

Brett Vintch was a science leader at Uber Eats, working on consumer problems like discovery, personalization, and cart building, and merchant problems like merchant selection and growth.

出处:https://www.uber.com/en-JP/blog/improving-uber-eats-home-feed-recommendations/