1. 引言
美团到店推荐广告技术部服务于到店餐饮、休娱亲子、丽人医美等众多本地生活服务商家。其中,召回环节作为推荐广告系统的第一个环节,承担着从海量商品中寻找优质候选的角色,是算法优化的核心问题之一。
推荐系统中经典的召回范式有两类:基于标签构建倒排索引的显式召回和基于模型端到端建模用户兴趣的隐式召回。在隐式召回中,历史交互行为建模对于准确刻画用户兴趣非常关键。电商场景中,用户与商家、商品之间的交互关系适合通过图网络来表达。相较于传统模型,图神经网络可以构建用户与商品间的多种交互关系,然后借助高阶网络结构的传递性合理扩充用户行为的丰富度,将用户行为、用户基础属性和商品的内容属性等各种异质信息在统一的框架中进行融合,带来更大的效果空间。
美团到店推荐广告算法团队和NLP中心知识计算团队围绕图技术在推荐广告的应用进行了密切的合作,获得了线上效果的显著提升。本文主要介绍探索过程以及相关的实践经验。
2. 图神经网络简介
图作为包含节点自身和节点间边关系的集合,广泛存在于真实世界的多种场景中,例如社交网络中人与人之间的社交关系图、推荐系统中用户与商品的交互图等。图神经网络能捕捉节点和边的特征及其之间的拓扑关系,对图结构数据有很好的建模效果。推荐系统中常用的图神经网络模型可以分为两大类:基于图游走的方法和基于图卷积的方法。
基于图游走的方法:传统神经网络模型擅长处理欧式空间的数据,但难以建模图结构中蕴含的复杂拓扑关系。因此,早期的研究者们提出了通过游走方法从图结构数据上采样序列,然后使用传统神经网络模型处理的间接方案,其中以DeepWalk[1],Node2vec[2]等工作为典型代表。如下图1所示,这类方法侧重于在图中采用既定的游走策略生成节点序列,再使用NLP领域中的Skip-Gram模型训练得到每个节点的向量表征。
基于图卷积的方法:从图上采样序列进行建模的方式简单直接,但由于从原始图结构到序列的转换过程中存在信息损失,其效果存在较大的局限性,因而如何将图结构直接建模到神经网络中成为了图神经网络研究的关键问题。研究者们结合谱域图上信号的傅里叶变换,定义了图上的卷积操作,并通过一系列的简化将谱图卷积和神经网络联系起来。
2017年Thomas等人提出的GCN[3]是其中的代表作之一。图2为图结构至单层GCN公式的演化,其中$\tilde{A}$和$\tilde{D}$分别为加入自环的邻接矩阵及节点度矩阵,$X$为图节点特征矩阵,$W$为GCN模型的可训练参数,$\sigma$为激活函数(例如ReLU),$H$为图节点特征经过单层GCN网络后的输出特征。
GCN从整图的角度出发,打通了原始图结构和神经网络之间的壁垒,但巨大的计算量使其难以应用到大规模场景中。相比之下,GraphSAGE[4]从图上节点的角度,提出了基于采样的消息传递范式,使得图神经网络在大规模图上的高效计算变得可行。GraphSAGE中的SAGE指 SAmple and aggreGatE,即采样和聚合。下图3展示了GraphSAGE的采样聚合过程。图中左侧展示了对节点A使用两层采样器采样其一阶和二阶邻居,图中右侧展示了将采样得到的一阶二阶邻居的特征通过对应的聚合函数进行聚合,得到节点A的表征,进而可以使用A的表征计算包括节点分类、链接预测及图分类在内的多种图相关的任务。
GraphSAGE等基于消息传递范式的图神经网络方法,其中心节点能聚合到的特征范围取决于其采样的邻居阶数。在使用这类图神经网络训练时,除了使用节点的固有特征作为模型输入外,我们还可以给每个节点加入独立可训练的向量参数,从而更好的学习到高阶邻居的相关性。
除了上述提到的方法外,图神经网络领域作为研究热点之一,近年来不断涌现出GAT[5]、FastGCN[6]、GIN[7]等优秀算法,并在Pinterest[8]、阿里巴巴[9]、腾讯[10]等公司的大规模推荐场景落地取得良好效果。
3. 业务场景及挑战
到店推荐广告业务在流量侧主要覆盖美团/大众点评双侧的信息流广告、详情页广告等多种业务场景(如下图4所示),供给侧包括了餐饮、丽人医美、休闲娱乐、结婚、亲子等不同广告主品类,且每一个品类下包含商户、团单、泛商品等不同的推荐候选类型。
业务中召回模型建模面临以下两大挑战:
a. 同场景反馈数据稀疏:传统序列行为建模方案依赖用户在同场景的反馈数据构造正负样本进行模型训练,但用户在推荐广告场景的交互行为比较稀疏,据统计超过一半的活跃用户在近90天内无广告点击行为,超过40%的广告商品在近一个月没有被点击。如何解决反馈数据稀疏导致的用户兴趣刻画不准确、长尾商品学习不充分是我们面临的一大挑战。
b. LBS业务中不同时空场景下的兴趣刻画:到店业务中,用户在不同时间、空间下的浏览行为,往往有着完全不同的偏好。例如一个用户工作日在公司附近,可能感兴趣的就是一次方便的工作餐;在假期的家中,则会想找一个有趣的遛娃去处。但传统的图神经网络缺乏对用户请求时间和所处位置的实时感知能力。因此如何从图蕴含的丰富信息中挖掘出匹配当前时空场景的候选集合,同样是一大挑战。
针对以上业务特点和挑战,我们设计了基于全场景数据高阶关系的大规模异构图建模,借助全场景丰富的行为数据优化稀疏问题;并进一步强化时空信息感知,刻画用户在不同时空上下文中的兴趣。
4. 图召回技术在推荐广告的演进
4.1 基于全场景数据高阶关系的大规模异构图建模
团队之前的召回模型仅通过用户在广告场景的行为构造正负样本进行训练,这种方式提高了训练数据与预测场景的一致性,但也不可避免地产生用户兴趣刻画不准确、长尾商品推荐效果较差等问题。特别是召回作为推荐系统最上游环节,决定了全链路效果优化上限,我们期望借助图神经网络蕴含的强大表达能力,基于用户在全场景的行为数据全面刻画用户兴趣和商品信息。
如图5所示,图网络分别产出用户(User)和商品(Item)的隐式表征(Embedding),通过距离相似度衡量用户对候选广告的潜在兴趣。在图神经网络的选型上,我们使用带Attention结构的GAT[5],使得邻居信息的贡献度可以根据其对源节点的重要性自适应调节,抑制误点击等带来的噪声;使用Jumping Knowledge Network[11],根据节点的连接性自助调整其聚合网络范围,避免热门节点由于其广泛的连接性聚合范围过大损失了个性化信息。
全场景数据建模:为了全面挖掘用户的兴趣偏好,我们通过全场景行为数据构建了超大规模异构图网络进行建模。此处的全场景涵盖全业务(搜索、推荐、广告),全位置(首页、商品详情页、团单详情页)和全商品类型(商户、团单、泛商品等)。异构图包含用户(User)和商品(Item)两种类型节点,并通过三种类型的边进行连接:User点击Item边、Item共同点击边以及Item同店铺边。
为了增强全场景数据蕴含的丰富信息在各个场景间有效传递,同时区分出用户在广告场景独有的兴趣特点。我们在图构建过程中将广告场景和非广告场景的同个Item建模为不同节点,共享相同的非广告特征,但带有广告标识的节点会额外增加广告专属的特征。这样模型在训练过程中既能通过共享的特征迁移非广告场景的信息,也能学习到用户在广告场景独有的兴趣偏好。图构建完成后包含数亿节点、百亿边。
图裁剪与噪声抑制:上文提到的异构图由于涵盖了用户在全场景的行为数据,数据规模庞大,给实际落地带来了巨大的算力和性能挑战。我们发现在图的拓扑结构中,各个节点的度分布极不均匀,部分热门节点的邻居个数可达几十万,由于训练过程中每个节点只采样固定个数的邻居参与计算,过多的邻居引入了许多噪声数据,也带来了不必要的资源开销。根据图数据背后的业务理解,我们对原始拓扑结构进行合理裁剪。
具体来说:对于“User点击Item边”,保留行为时间较近的topN条出边;对于“Item共同点击边”,保留边权重较高的topN条出边。图裁剪后,节点数量保持不变,边数量减少46%,训练内存开销降低30%,并带来了约0.68%的离线Hitrate效果提升。
动态负样本采样:由于广告商户在全体商户中占比较小,全场景行为数据的引入导致训练样本空间增大了一个数量级,这进一步加剧了SSB(Sample Selection Bias)问题,负样本采样策略成为影响模型效果的关键因素。常见的随机负采样方式由于Hard Negative样本量不足,导致模型在实际预测时泛化性较差。而静态负样本采样策略,例如LBS场景下常见的基于距离、类目构建负样本,虽然可以取得一定效果提升,但通用性较差,策略配置繁琐,无法根据用户兴趣迁移自适应迭代。
以不同等级的城市为例,用户对于距离、类目的偏好程度不同,需要设置不同的阈值。因此,我们提出一种基于半监督学习的迭代式训练范式,将前一轮模型输出的商户Embedding通过KMeans进行聚类,在正样本所在的聚类集合中采样得到Hard Negative,加入到下一轮的训练样本中,依此步骤循环,引导模型不断“自我提升”。
实验发现,随着迭代轮次的增加,离线指标的边际收益会收窄;考虑到训练速度与收益的平衡,线上我们采用2轮迭代的方式。该优化相比随机负采样带来了约4.66%的离线Hitrate效果提升;相比静态负样本策略(如基于距离、类目的采样)带来了约1.63%的离线Hitrate效果提升。
上述3个优化点的迭代在多个主广告位落地,并在衡量广告营收的RPS(Revenue Per Search)指标提升约5%~10%。
4.2 强化时空信息感知的端到端异构图建模
在LBS的业务中,时空信息是影响用户兴趣的重要因素。用户通常具有稳定的长期兴趣,但也会受到当前时空信息影响而呈现出多变的短期兴趣。因此,我们在4.1节介绍的全场景异构图建模的基础上进行升级。根据长期兴趣稳定、短期兴趣多变的特点,我们采用针对性措施分别建模时空信息对长短期兴趣的影响。
如下图9所示,我们通过时空子图刻画用户在不同时空场景下的长期兴趣偏好,通过多因子协同激活的序列建模刻画用户在短期时空场景下的兴趣演变。值得注意的是,区别于将异构图预训练Embedding作为静态特征引入的两阶段训练方式,我们将模型各部分在相同的优化目标下进行一阶段端到端训练,避免优化目标不一致带来的效果损失。
时空子图构建及多视角融合:用户在不同的时空下表现出不同的兴趣,举例来说,一个用户可能在工作日的办公室订购咖啡,而在休息日的健身房参加运动。仅使用全局视角下的图模型提取用户全局兴趣,容易丢失用户在不同时空的兴趣差异。传统图模型方案通过全局信息获得用户统一的兴趣表征,无法准确刻画用户在不同时空场景下兴趣差异。
业界已经出现了一些结合时空信息的图表征学习方向的研究工作,如STGCN[12]等。在相关工作的基础上,我们从推荐广告的业务场景出发,基于用户行为对应的时间和空间信息,从时间、空间、时间&空间、全局等4个视角构建子图,并通过多视角融合模块获得用户长期兴趣。值得注意的是,所有子图共享Item2Item边,因为Item与Item的关系(如同店铺,共同点击等)较为稳定,不容易受到时空变化的影响。
如下图10所示,当用户请求到达时,从空间子图中获得用户在当前位置的兴趣,从时间子图中获得用户在多个时间的兴趣,从时间&空间子图中获得用户在当前位置下多个时间的兴趣,并结合全局兴趣及当前时间,进行多视角融合。在实践中,我们将时间划分为早晨、下午、晚上、深夜等4个时间段,将位置使用Geohash进行划分为多个地理区域。据统计,每个用户的历史行为涉及到的时间段和地理区域均比较集中,并不会对存储空间造成过大的压力。时空子图的构建及融合带来了约3.65%的离线Hitrate提升。
多因子协同激活的用户序列建模:我们将时间信息(当前时间与行为序列时间的差值)、位置信息(当前位置与行为序列位置的差值)作为激活因子来激活短期行为序列,捕捉用户兴趣随时空的迁移趋势。此外,图神经网络输出的用户长期兴趣向量,体现了用户在时间、位置等维度较稳定的兴趣偏好,也有利于从短期序列中提取出匹配当前时空场景的实时兴趣。使用时空信息及用户长期兴趣对用户短期行为序列进行激活时,涉及到多个因子协同激活的问题,业界常见的方案如下图11所示:
在美团LBS的业务场景中,各个激活因子之间可能会相互影响,例如时间和地理位置两种激活因子对行为序列激活的侧重点存在差异。为了让多因子激活发挥最佳效果,我们结合离线指标选择“多因子融合激活”模式。多因子协同激活的用户序列建模带来了约6.90%的离线Hitrate提升。
值得一提的是,图神经网络挖掘的多阶关系能够丰富用户序列的表达。这种多阶关系不仅体现在商品和商品、用户和商品等粗粒度节点之间,也体现在时间、位置、类目等细粒度特征之间。因此,我们对特征产出流程进行了升级改造,使图神经网络中的商品节点能够与用户行为序列在特征维度共享Embedding词典,并基于统一的优化目标端到端训练,帮助细粒度多阶信息更好地在图神经网络与用户序列间传递。
上述2个优化点的迭代在多个主广告位落地,并在衡量广告营收的RPS(Revenue Per Search)指标提升约5%。
5. 性能优化与应用
为了能够在大规模场景上线并进行实时召回,我们针对模型的离线训练和在线部署进行了优化。
适配LBS场景的大规模图神经网络训练框架:随着图神经网络在工业界的推广,开源社区涌现出一大批优秀的图神经网络训练框架,如Euler、DGL等。我们在开源框架的基础上,匹配公司内部大数据与机器学习平台,研发出一套适配LBS场景的大规模图神经网络训练框架。该框架支持大规模图的构建、特征抽取等构图操作,并额外开发支持了包括“位置信息动态采样”在内的常见LBS图神经网络操作。通过该框架我们已在多个业务场景落地线上模型,其中最大规模为亿级别节点、百亿级别边、带Side-information的图神经网络模型。
低延迟的在线计算流程:召回环节是广告推荐系统的第一个漏斗,需要在有限时间内从全量候选广告中选出高质量子集传递给下游。鉴于子图搜索、图卷积等复杂操作对线上耗时的巨大挑战,我们提出了低延迟的在线计算流程优化方案:在4.2节介绍的模型中,图模型部分主要用来表征用户长期兴趣,不受实时行为和请求信息影响,因此,我们将图节点Embedding离线计算好存入KV表中,避免图模型的在线推导成为耗时瓶颈;同时,在线请求时并行处理图节点Embedding和其它特征的抽取过程。实践表明,经过以上优化召回环节线上耗时涨幅小于2%。
6. 总结与展望
图神经网络对图结构的数据有很好的建模能力,能充分利用图节点的高阶邻居信息,在大规模推荐系统的召回模块中展现出巨大潜力,业界头部公司均有结合各自业务特点的图模型落地实践[8][9][10]。
本文介绍了大规模图召回技术在美团到店推荐广告的应用。基于对到店推荐广告场景特点的分析,我们在落地图召回技术时进行了对应的优化。在模型方面,为了解决广告反馈数据稀疏的问题,我们将全场景的数据融入到图模型中丰富用户兴趣表达,并结合图裁剪和动态负样本采样技术,累计提升Hitrate约5.34%;为了加强对时空等LBS动态场景信息的感知,我们通过时空子图模块刻画用户在不同时空下的兴趣,并进行多视角融合及长短期序列融合,累计提升约10.55%。配合离线训练及在线计算的性能优化,我们成功在多个主广告位上落地,线上RPS累计提升10%~15%。
未来我们还将在以下技术方向继续进行探索:
1. 多场景知识迁移
到店广告场景众多,不同广告位维护不同的图召回模型带来的维护成本较大。多场景的联合训练既能丰富图数据,提升用户兴趣的刻画,又能将单个图召回模型应用到不同广告位,降低维护成本。但是用户在不同广告位下的行为存在差异,数据融合不当可能导致引入噪声,影响模型训练结果。如何在模型设计中刻画用户在不同广告位下行为的共同点和差异点,是需要重点考虑的内容。
2. 动态图技术
用户兴趣随着时间空间不断发生着改变。动态图模型可以将时空等动态信息构建到图结构中,相比人为划分长期兴趣与短期兴趣,动态图可以更灵活地感知用户兴趣的变化,更贴合LBS业务的特点。
7. 作者简介
- 齐裕、李根、少华、张腾、程佳、雷军,来自美团到店事业群/广告平台技术部。
- 祥洲、梦迪、武威,来自美团平台/搜索推荐算法部NLP中心。
8. 参考资料
- [1] Perozzi, Bryan, Rami Al-Rfou, and Steven Skiena. “Deepwalk: Online learning of social representations.” Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining. 2014.
- [2] Grover, Aditya, and Jure Leskovec. “node2vec: Scalable feature learning for networks.” Proceedings of the 22nd ACM SIGKDD international conference on Knowledge discovery and data mining. 2016.
- [3] Welling, Max, and Thomas N. Kipf. “Semi-supervised classification with graph convolutional networks.” J. International Conference on Learning Representations. ICLR, 2017.
- [4] Hamilton, Will, Zhitao Ying, and Jure Leskovec. “Inductive representation learning on large graphs.” Advances in neural information processing systems 30 (2017).
- [5] Velickovic, Petar, et al. “Graph attention networks.” International Conference on Learning Representations. 2018.
- [6] Chen, Jie, Tengfei Ma, and Cao Xiao. “FastGCN: Fast Learning with Graph Convolutional Networks via Importance Sampling.” International Conference on Learning Representations. 2018.
- [7] Xu, Keyulu, et al. “How powerful are graph neural networks.” International Conference on Learning Representations. ICLR, 2019.
- [8] Ying, Rex, et al. “Graph convolutional neural networks for web-scale recommender systems.” Proceedings of the 24th ACM SIGKDD international conference on knowledge discovery & data mining. 2018.
- [9] Wang, Menghan, et al. “M2GRL: A multi-task multi-view graph representation learning framework for web-scale recommender systems.” Proceedings of the 26th ACM SIGKDD international conference on knowledge discovery & data mining. 2020.
- [10] Xie, Ruobing, et al. “Improving accuracy and diversity in matching of recommendation with diversified preference network.” IEEE Transactions on Big Data (2021).
- [11] Xu, Keyulu, et al. “Representation learning on graphs with jumping knowledge networks.” International conference on machine learning. PMLR, 2018.
- [12] Han, Haoyu, et al. “STGCN: a spatial-temporal aware graph learning method for POI recommendation.” 2020 IEEE International Conference on Data Mining (ICDM). IEEE, 2020.
团队简介
美团到店广告算法团队负责到店相关业务的广告算法优化,在保证用户体验和广告商户ROI的前提下,持续提升商业流量的变现效率。主要技术方向包括触发策略、质量预估、机制设计、创意生成、创意优选、反作弊、商家策略等。团队技术氛围浓厚,通过对前沿技术不断突破,驱动业务持续发展;重视人才培养,具备完善成熟的培养机制,帮助成员快速成长。
如发现文章有错误、对内容有疑问,都可以关注美团技术团队微信公众号(meituantech),在后台给我们留言。
分享一线技术实践,沉淀成长学习经验