Uber 双塔嵌入模型在个性化餐厅排名中的实际应用,通过冻结编码器和上下文历史过滤,针对资源受限环境进行了优化。
📝 详细摘要
本文详细介绍了一个双塔嵌入(TTE)模型在食品配送应用中改进餐厅排名的实际实现。面对数据和计算资源的限制,作者通过使用冻结的 TinyBERT 模型来处理餐厅语义,并通过对其订单历史进行上下文过滤平均来表示用户,从而对 Uber 的 TTE 模型进行了调整。主要技术亮点包括带有漏斗约束(点击 -> 加入购物车 -> 下单)的多任务学习,以及利用浏览产生的“弱负面信号”。该方法显著提升了转化率,并展示了在广告和搜索等不同应用界面上的高泛化能力。
💡 主要观点
- 上下文历史过滤显著提升了对用户即时意图的捕捉能力。 通过在平均嵌入之前,根据当前选择的标签过滤用户的订单历史,模型能够区分长期偏好和当前意图。这可以防止不相关的历史订单(例如汉堡)在用户专门寻找冰淇淋时干扰结果。
💬 文章金句
- 操作上的优势在于解耦:餐厅嵌入可以离线预计算,而用户嵌入则在请求时在线生成。
- 通过在平均之前根据匹配的标签过滤过去的交互,我们使用户表示具有上下文性而非全局性。
- 排名头部联合预测点击、加入购物车和下单,并带有简单的漏斗约束:P(下单) ≤ P(加入购物车) ≤ P(点击)。
- 如果候选检索问题已经解决,并且模型只专注于排序阶段,那么你不需要 Uber 规模的基础设施。
- 一个对用户-餐厅对而不是特定列表进行评分的模型,可以在选择、搜索排名或广告等产品界面中重复使用。
📊 文章信息
AI 评分:83
来源:Towards Data Science
作者:Andrey Chubin
分类:人工智能
语言:英文
阅读时间:5 分钟
字数:1225
标签: 双塔嵌入, 推荐系统, 排序学习, 多任务学习, TinyBERT