美团首页的搜寻是美团 App 上各类生存服务最大的流量散发入口,每天为数千万的用户提供各种服务。而搜寻排序是一个典型的多业务混合排序建模问题,这种多业务场景搜寻存在很多挑战。本文聚焦到店商家多业务场景的多业务排序建模优化工作,心愿能对从事相干工作的同学有帮忙。
引言
美团的使命是“帮大家吃得更好,生存更好”,美团 App 承载的业务包含外卖、到店餐饮、买菜、优选、酒店、游览、休闲娱乐等各类生存服务。美团首页的搜寻是美团 App 上各类生存服务最大的流量散发入口,每天为数千万的用户提供各种服务。美团搜寻排序是一个典型的多业务混合排序建模问题,一个典型的多业务搜寻场景是当用户搜寻地点,如 “望京” 的时候,用户的需要不是很明确,此时搜寻的后果页如下图 1 所示,下方的商家列表中会蕴含望京左近餐饮、电影、休闲娱乐、酒店等多种业务的后果,这就是一个多业务混合排序场景。
而多业务场景存在如下几点挑战:
- 因业务之间存在共性和个性,如何让模型兼顾这两种个性,实现更好的数据学习。比方到店餐饮对间隔特色十分敏感,而旅游景点业务对间隔特色绝对不敏感。
- 业务人造存在高频和低频个性(比方外卖和游览),导致模型的训练数据中多业务样本数量不均衡。
- 各个业务往往有本人不同的主指标,如何满足不同业务的指标,最终可能晋升搜寻的用户体验。
本文分享了美团搜寻中的多业务排序建模优化工作,咱们次要聚焦在到店商家多业务场景,后续的内容会分为以下四个局部:第一局部是对美团搜寻排序分层架构进行简略介绍;第二局部会介绍多路交融层上的多业务交融建模;第三局部会介绍精排模型的多业务排序建模;最初一部分是总结和瞻望。心愿能对从事相干工作的同学有所启发或者帮忙。
排序流程简介
美团搜寻零碎流程如下图 2 所示,整体流程分为数据层、召回层、排序层和展现层。其中排序层分为以下几个子局部:
- 粗排层:应用绝对简略的模型对召回候选集进行初步过滤,实现排序成果和性能的 Trade-off。
- 多路交融层:应用查问词特色、上下文场景特色构建配额模型,进行不同业务候选集的数量管制,实现用户需要的准确了解。
- 精排层:应用亿级别特色的深度学习模型,捕获各种显式和隐式信号,实现 Item 排序分数的精准预估。
- 重排层:应用小模型和各种机制对精排后的后果进行调序,实现精密定向的优化。
- 异构排序层:应用深度学习模型对异构聚块进行排序,实现多业务的高承载。
多层排序架构设计次要是为了均衡排序成果和性能。本文后续提到的多业务建模优化工作次要从多路交融层和精排层进行介绍。
多业务建模实际
多业务配额模型(多路交融层)
随着美团业务的倒退,美团搜寻接入了到餐、到综、酒店、游览等业务。对于业务用意含糊的搜索词,比方用户搜寻“五道口”,须要依据用户、查问词、场景等多种因素来综合判断用户的业务用意。为了交融不同业务的召回后果,给 L2 精排一个比例适合的候选集,咱们设计了一个多业务配额模型来均衡多业务召回的比例。这种基于配额对多路召回后果进行合并的做法在搜寻、举荐场景中非常罕用,比方淘宝首页搜寻、美团举荐等。
为了多路召回的灵便接入,适配美团搜寻业务的倒退,咱们一直迭代搜寻配额模型。上面将具体介绍美团多业务配额模型的迭代过程,文章后续局部会将多业务配额模型(Multi-Business Quota Model)简称为MQM。
一维指标多业务配额
思考到大搜后果存在多路不同业务的召回,为了刻画用户搜寻 Query 对三路业务召回的用意强弱,咱们采纳多指标的建模形式,以每一路召回是否被点击、下单为指标进行建模,实现了多业务配额初版模型 MQM-V1。该模型输入各路召回的点击、下单联结概率,作为最终的配额散布。在特色层面,咱们应用 Query 维度特色、Context 维度特色、Cross 维度特色、User 维度特色,来刻画用户在不同场景的实时个性化需要。MQM-V1 模型构造如下图 4 所示。
MQM-V1 版本上线后,整体线上点击率 +0.53%,各业务访购率根本持平。
二维指标多业务配额
随着大搜召回策略的一直迭代,大搜不仅引入了按业务拆分的召回形式,而且引入了向量检索、地理位置近邻检索等跨多业务的异构召回形式,导致大搜召回策略一直减少,多业务配额模型也面临新召回源带来的冷启动问题。同时,为了增强多业务配额模型的个性化,咱们参考借鉴了[6]中用户行为序列建模的办法。综上,该版本 MQM-V2 与 MQM-V1 区别如下:
- 建模指标上,从以召回形式点击的一维指标降级到召回形式叉乘业务的二维指标,使得多路交融的粒度也更细、精度更高。
- 行为序列建模模块引入Transformer Layer。
- 为了解决新召回源接入的冷启动问题,咱们引入了人工教训层,包含业务先验和历史统计,综合模型输入决定每一路召回的配额。
MQM-V2 版本上线后,各业务指标率均有晋升,其中游览访购率 +2%,到餐访购率 +0.57%,到综、酒店访购率持平。
多业务排序模型(精排层)
从美团搜寻精排模型降级为 DNN 模型,始终到 2019 年底,美团搜寻的精排模型构造是业界支流的 Embedding&MLP 的范式构造,期间咱们也尝试过业界提出的模型构造比方PNN[1]、DeepFM[2]、DCN[3]、AutoInt[4]、FiBiNet[5]等等。
随着迭代的进行,咱们发现针对特定业务的优化难以在精排模型发挥作用,为了兼顾各个业务的个性,反对各个业务更加无效的针对性迭代优化,须要摸索出一种模型构造来适配美团搜寻这样的多业务场景。上面会具体介绍精排模型在多业务建模上的发展史,文章后续局部将多业务精排模型(Multi-Business Network)简称为 MBN。
独立子网络拆分
思考到酒店和游览在美团大搜排序策略的流量外面占比拟少,而针对小流量的相干优化在目前对立的 Embedding&MLP 模型构造外面很难体现,咱们尝试了如图 6 所示的人工自定义多塔模型 MBN-V1 构造:主网络复用目前的模型构造。具体情况介绍参考[6]中的行为序列建模局部,减少酒店和游览独立子网络;酒店子网络的输出包含酒店独有特色和主网络的打分输入,游览子网络的输出包含游览独有特色、主网络的打分输入、主网络最初一层 FC,酒店和游览子塔输出不同是因为业务逻辑不同导致数据分布差别大,这是实际出的后果,最终的输入是对三个输入的加权求和。
针对加权求和的权重局部,咱们采取了两种形式对权重进行设定:
- 第一种,采纳硬切分的形式,就是说权重向量是一个 One-hot 稠密向量:对酒店商家进行预测,只选取酒店子网络的输入,其余类推。
- 第二种,采纳软切分的形式,把多业务配额模型的输入作为权重值。
线上试验发现第二种办法比第一种好,咱们认为采纳硬切分会导致子塔分支的参数只能被对应业务的数据更新,而各业务的数据占比不均导致学习不佳,而软切分会达到一种常识迁徙的作用。最终线上的成果相比对立的 Embedding& MLP 模型,整体游览获得了正向成果:其中整体点击率 +0.17%,其余业务访购率成果根本持平。
子网络权重自学习
基于第一版多业务精排模型获得了初步正向成果,咱们持续增加美食业务子塔,同时思考到 MBN-V1 依赖配额模型的输入,这样会导致配额模型的变更可能会对精排模型的成果产生影响,针对这些因素咱们上线了第二版多业务模型 MBN-V2,模型构造如图7所示。相比 MBN-V1 的区别如下:
- 增加美食业务的独立子网络。
- 解耦精排模型和配额模型,在精排模型中集成权重生成子网络,该子网络的输出次要是一些 Query 维度,Context 维度的特色。
线上试验成果:MBN-V2 相比 MBN-V1,整体点击率 +0.1%,业务访购率成果根本持平。
子网络特色自适应
在第二版模型的根底上,咱们进一步增加到综业务子塔,随着子网络的变多,目前对于子网络的输出采纳人工设计,这种形式须要破费大量的工夫进行离线试验。思考到目前的多业务子塔构造非常相似业界的多任务学习,咱们也尝试引入业界的多任务学习构造;同时,咱们针对 MBN-V2 中的权重子网络输入进行剖析发现其输入的权重对不同业务商户的输入差不多,那么会带来业务的针对性优化不显著。基于上述局部,咱们迭代了第三版多业务精排 MBN-V3,构造如下图 8 所示,改良点如下:
- 补充到综子网络,采纳 MMoE[7]多任务学习构造,来主动学习特色表征输入给下层子网络,从而取代人工设计子网络的输出。
- 精排模型的损失函数除了采纳用户线上反馈计算的主 LambdaLoss 外,额定增加了业务的分类穿插熵 Loss,达到预测某业务 Item 得分时,对应的业务子塔权重最大的目标。
线上试验成果:MBN-V3 相比 MBN-V2,整体点击率成果持平、美食业务访购率 +0.36%,到综业务访购率 +1.07%,酒店业务访购率 +0.27%,游览业务访购率 +0.35%。
多业务特色表白优化
尽管 MMoE 多任务学习构造在业界很多场景失去了利用,在咱们的多业务建模场景也获得了无效验证,然而咱们继续跟进业界前沿,并且联合业务场景进行落地。
咱们尝试了腾讯提出的 PLE[8]构造,迭代出多业务精排 MBN-V4。 PLE 能够看成是 MMoE 的改进版,它对于每一个工作有本人特定的专家层,不同工作之间有共享的专家层,相比 MMoE 是所有专家输入的加权求和,PLE 子工作的输出是子工作独有的专家和共享专家输入的加权求和,更容易学出业务的个性;同时基于性能思考,咱们选取了单层 PLE 也即 CGC 构造,构造如下图9所示:
线上试验成果:MBN-V4 相比 MBN-V3,整体点击率 +0.1%,美食业务访购率 +0.53%,其余业务访购率稳定持平;咱们对 MMoE 和 CGC 的专家权重进行可视化如下图 10所示,剖析发现:CGC 构造的专家层权重相比 MMoE 在同一业务多条样本之间的专家权重方差更小,更加稳固,阐明 CGC 相比 MMoE 在特色示意上更加有劣势。
总结和瞻望
2019 年底开始,为了解决理论的多业务召回排序问题,美团搜寻进行了大量摸索,从工程到算法到产品状态各个层面丰盛对多业务的反对。其中排序算法层面次要在多路召回交融层和精排层进行优化。
多路交融层次要实现搜寻后果从后果相干到后果优质的筛选过程,须要解决不同召回形式(文本召回、举荐召回、向量召回)和不同业务召回后果的交融截断问题,间接决定了用户能浏览到的后果候选集。这其中最重要的问题就是判断用户对各个业务的需要强弱以及各业务的召回品质,对每个业务后果和召回后果确定适合的精排准入规范。
多业务配额模型通过整合用户实时需要、Query 的历史统计信息、搜寻上下文信息和每个召回源品质状况,给出了每路召回、每个业务的应进入精排的比例。该模型保障了不同场景下精排候选集的后果多样性和优质性,实现了新业务、新召回办法接入的少侵入性,升高业务、召回接入老本。同时也为精排层分业务的网络结构提供了交融各个业务子网络后果的先验权重。
精排层在多路交融层的根底上进一步对多业务搜寻后果进行精细化排序建模打分。用户的需要和美团业务一样是多样的,为了能充沛建模各种场景下的需要,精排多业务排序模型从底层数据(丰盛分业务的特色)、模型构造到业务指标交融都进行了多轮迭代。其中模型构造和相应的指标交融间接对各种大小业务、场景和相应的业务指标进行了分片建模,无效地缓解了小业务小场景在对立建模中被大业务样本吞没的问题。同时该模型反对新老业务的疾速迭代,各业务能够不便独立地迭代特色、模型构造和相应的指标。
上述优化笼罩了线上全流量,在搜寻用户体验和各业务价值均有显著晋升,但还有很多工作能够继续优化。
- 业务独有特色利用:目前咱们采纳对某些业务增加业务独有特色,其余业务对于这些缺失的独有特色给默认值,然而这样会带来很多冗余的计算量,这部分不论从成果还是性能方面都存在优化空间。
- 样本不均衡学习:不同业务的数据量在美团搜寻上差别大,如何让模型更好的学习出小业务的散布,咱们正在摸索迁徙学习和 Meta-Learning 等办法。
- 多指标优化:美团搜寻既要兼顾用户的搜寻体验,也要服务美团各个业务的战略目标,所以各个业务的主优化指标不肯定统一,多指标优化也是一个继续摸索的方向。
本文叙述的工作集中在美团多业务商家搜寻排序上,同时随着优选、买菜、团好货、闪购等商品类业务的倒退,咱们也正在进行商品类多业务混排以及商家商品异构多业务混排工作。
参考资料
- [1] Product-based neural networks for user response prediction
- [2] DeepFM: A Factorization-Machine based Neural Network for CTR Prediction
- [3] Deep & Cross Network for Ad Click Predictions
- [4] AutoInt: Automatic Feature Interaction Learning via Self-Attentive Neural Networks
- [5] FiBiNET: Combining Feature Importance and Bilinear feature Interaction for Click-Through Rate Prediction
- [6] Transformer 在美团搜寻排序中的实际
- [7] Modeling Task Relationships in Multi-task Learning with Multi-gate Mixture-of-Experts
- [8] Progressive Layered Extraction (PLE): A Novel Multi-Task Learning (MTL) Model for Personalized Recommendations
作者简介
培浩、肖垚、晓江、家琪、陈胜、云森、永超、利前等,均来自美团平台搜寻与 NLP 部。
浏览美团技术团队更多技术文章合集
前端 | 算法 | 后端 | 数据 | 平安 | 运维 | iOS | Android | 测试
| 在公众号菜单栏对话框回复【2020年货】、【2019年货】、【2018年货】、【2017年货】等关键词,可查看美团技术团队历年技术文章合集。
| 本文系美团技术团队出品,著作权归属美团。欢送出于分享和交换等非商业目标转载或应用本文内容,敬请注明“内容转载自美团技术团队”。本文未经许可,不得进行商业性转载或者应用。任何商用行为,请发送邮件至mailto:tech@meituan.com申请受权。