本文介绍的是腾讯 AI Lab 和微信公众平台共同研发的一种最新的在异质图上基于邻域交互的点击预测新模型。论文题目为《Neighbour Interaction based Click-Through Rate Prediction via Graph-masked Transformer》,论文已被 SIGIR 2022 录用。并且在实际线上场景部署 A/B 测试中获得很好的效果。
论文标题:
Neighbour Interaction based Click-Through Rate Prediction via Graph-masked Transformer
https://dl.acm.org/doi/abs/10.1145/3477495.3532031
在线广告和产品搜索中,点击率(CTR)是商业评估的一个关键指标,它衡量用户点击或与候选项目互动的概率。对于拥有庞大用户群的应用来说,即使是对 CTR 的微小改进,也有可能促进整体收入的大幅增长。虽然现有的 CTR 预测方法已经取得了重大进展,但上述方法只注重挖掘候选物品与用户历史行为之间的互动关系,存在两个局限性。一方面,对于不活跃的用户来说,用户行为可能是稀疏的,这就产生了一个冷启动问题,降低了表示的质量。另一方面,由于推荐系统曝光率的限制,一个用户的直接相关物品不足以反映其所有的潜在兴趣。
问题建模
为了解决这些问题,我们提出了基于邻域交互的点击率预估 (NI-CTR) 预测模型。具体的,在微信公众号视频推荐任务中。除了视频点击关系外,还存在许多额外信息,如用户对文章或新闻的点击历史,用户和官方账号之间的订阅关系,以及官方账号和内容(视频 / 文章)之间的发布关系,都可以反映用户的点击偏好,并为推断提供重要线索。我们根据实体和关系来构建异构信息图(Heterogenous Information Network)。
在这个异构图上,针对给定的用户 - 视频对
,为了能够扩展对用户点击偏好的描述,我们在这一异构图上采样一个和
相关的一个邻域节点集合
以及对应的子图
,并且将点击率预测这一问题转化为对这一邻域分类问题。
有一组 M 用户
, 一组 N 物品
。用户与项目的相互作用被表示为一个矩阵
, 其中
表示用户 u 之前点击了项目 v , 否则
。给出任务相关的
, 如第 2.3.2 节所述, 我们可以为每个候选用户 u 和 项目 v 对抽取一批邻近节点
。每个节点
都与一个特征向量相关联, 如第 2.3.1 章节所述, 因此我们将采样的
的特征向量集表示为
。此外, 我们将背景特征(如时间、匹配方法、匹配得分)表示为 C 。因此, 一个
实例可以表示为:
NI-CTR 预测的目标是根据邻域
和背景特征 C 预测用户 u 点击物品 v 的概率。
为了建模 NI-CTR 的问题,我们提出了一个全新的框架 GMT,整体框架如下图所示:
1. 邻域节点集合
采样;
3. 基于邻域信息的 Graph-Masked Transformer 模型。
以下对各个模块分别进行介绍。
邻域节点
集合采样
对于每个节点 r, 考虑大规模服务中的 HIN 采样场景, 并且每个节点都可以与丰富的特征相关。为了兼顾采样的质量和采样效率,对节点采样有如下原则:
1. 尽可能多地对目标最接近的节点进行采样。
2. 通过限制对每种类型节点采样的个数来限制复杂度。
3. 采样到的节点和目标节点 r 有尽可能多的边。
基于以上原则,我们设计了 GHNSampling 算法。整个算法流程如下图所示。通过 GHNSampling 算法对于目标节点对
采样得到其邻域集合
。
为了有效地从本地邻域节点中学习用户 - 物品的点击偏好,除了存在在 HIN 中的交互信息,我们还从隐式建模的角度去考虑
节点交互的可能性。具体的,我们构建了四种不同交互图:
1)
:用于建模自然交互的导出子图,代表了原始异构图上的交互信息。
2)
:用于建模节点特征相似性图,代表了节点特征层面的交互信息,通过特性相似性, 可以捕捉到节点特征层面的语义信息。
3)
:用于捕捉用户邻域和物品邻域间交互的交叉邻域二分图,代表了用户和物品的邻域的节点之间可能的交互信息。
4)
:用于建模邻域中任何节点间交互的完全图。代表了任何两个节点之间可能的交互信息。
通过这四种交互关系的建模,我们可以更好的从显示建模和隐式建模角度考虑这些邻域节点之间的可能的交互,增强数据的完备性。
对于异构的交互图集合的建模:Graph-Masked Transformer
在局部交互图的构建之后, 一个用户 - 视频样本对可以被表示为如下:
为了从节点特征和异构的交互结构中学习到用户 - 视频的样本对的表示,我们提出了一个新颖的图谱掩码转化器 (GMT) 架构, 它基本上由一个异质节点特征转化层、堆叠的图掩码多头自注意力层和一个读出层组成。
对于邻域
中的节点 i, 由于不同类型的节点具有不同的特征维度, 因此具有不同的特征空间,这里,为了能够统一处理异质节点的情况,我们使用类型感知的特征转换层将它们嵌入到一个统一的空间:
其中
是第 i 个节点的类型, 而
是第 t 类节点类型的线性层, 不同类型的节点具有不同的可学习参数。
从图神经网络角度, 原始 Transformer 结构可以等价成是一个在全连接图上的 GAT。在这个结构里面,最大的挑战是如何加入图结构的先验信息。为了建模邻域节点的四种交互图,我们设计了一种简介的 Attention Mask 机制去将不同交互图信息建模到不同的 Attention Head 上。具体的,给定输入序列
,和的交互图邻接矩阵 M,我们定义了 Masked Attention:
其中
为掩码函数:
通过这种简单而有效的方式,我们使得 Graph-Masked Transformer 在使注意力的计算上可以很灵活的结合了结构上的先验。对于特定节点 i 来说,其输出可以表示为:
通过我们的多头图掩码机制,我们将各种图先验引入 Transformer 架构,这大大扩展了模型的表现力。在堆叠了多个图掩码的 MSA 层之后, 我们对 邻域中的所有节点的最终表示为:
。
在获得目标节点对
的邻域表示
后。为了突出两个目标节点的本身特征, 我们将它们的初始稠密嵌入
与邻域表示
和上下文特征 C 串联起来。因此, 数据实例的最终嵌入是:
我们采用一个参数为
的 MLP 层
和一个 Sigmoid 函数
来预测用户 u 会点击目标物品 v 的概率:
与此同时,对于同一
对,因为每次从 HIN 采样得到的邻域信息
都不相同,为了使得训练未定,在对
进行 S 次采样得到
的预测平均作来作交叉熵损失:
其中
是训练集,
是点击的真实标签。同时为了提升模型训练稳定性,我们采用了一个一致性正则化项的变体来强制使得对同一
对采样学到的表示尽可能一致:
其中
, 而
的维度。最终训练的损失函数为:
在离线任务上,我们在微信公众号平台视频推荐任务和 Tmall 数据上测试了 NI-CTR 模型。
在微信公众号平台视频推荐任务上,我们采样数据并构造了两个离线测试数据集:WC_FULL 是用一天的数据训练,用接下来一天数据测试;WC_SMALL 是用前半天(12 小时)的数据训练然后用后半天数据测试。WC_FULL 包含了 2000 万曝光 / 点击数据,涉及 1700 万的用户 50 万视频。而 Tmall 则为天猫的匿名购物数据。下表是在离线实验的结果。可以看到,在和多个模型比较场景下,我们的模型都显著优于现有的方法。
同时,我们也通过消融实验验证了引入多种邻域交互图和一致性正则化损失项的有效性:
更进一步的,我们将模型实际部署到了微信公众号视频的线上推荐场景。在连续 10 天测试中,我们的方法都取得了最高的 CTR 成绩。实际部署中,节点关系和特征是按照天为单位更新。训练用的点击数据则是以小时为单位更新。整个训练是在 16 张 V100 GPU 进行。
在本文中,我们提出了建模邻域信息来提高 CTR 预测的性能思路。具体的,我们将 CTR 预测建模成一个异构图上的针对目标用户 - 物品节点对的邻域子图预测问题。
为了更好地建模子图中存在的显式和隐式关系,我们探索了多种邻域节点的交互表示,并且设计了一种简洁的 Masked-Graph Transformer 结构来加入对多种交互表示的先验信息的建模。同时我们还引入了一致性正则化来增强模型的稳健性。我们通过离线和在线的实验验证了基于邻域交互图建模的模型的有效性,并证明了所提出的图掩码转换器的优越性和灵活性。我们还成功地将整个框架部署到一个拥有数十亿用户和物品的工业场景中,并在实际应用中获得了显著的 CTR 提升。
欢迎干货投稿 \ 论文宣传 \ 合作交流
推荐阅读
由于公众号试行乱序推送,您可能不再准时收到机器学习与推荐算法的推送。为了第一时间收到本号的干货内容, 请将本号设为星标,以及常点文末右下角的“在看”。