关注我们,一起学习~
title:Triangle Graph Interest Network for Click-through Rate Prediction
from:WSDM 2022
link:https://arxiv.org/pdf/2202.02698.pdf
code:https://github.com/alibaba/tgin
1. 导读
DIN家族又迎来新成员啦,这次阿里提出的是TGIN(三角图兴趣网络)。DIN家族成员介绍可见下文:
推荐系统(二十一)DIN系列——DIN、DIEN、DSIN深度兴趣网络总结
现存的基于用于历史行为数据的推荐模型,主要面临以下问题:
行为交互数据稀疏;
用户行为广泛且难以捉摸,需要进行探索;
推荐的产品会受主流因素影响,需要关注多样性。
本文作者采用图神经网络相关方法来提升模型性能,推荐系统商品-商品图中三角形具有两个特殊性质:三角形内同质性和三角形间异质性。基于此提出的TGIN的主要思想为:
对于用户行为序列中的每个点击商品,在商品-商品图的邻域中引入三角形作为补充。TGIN 将这些三角形视为用户兴趣的基本单位,它们为捕捉用户点击商品的真正动机提供了线索。
通过聚合几个兴趣单元的信息来描述每次点击行为,以缓解难以捉摸的动机问题。
注意力机制决定了用户对不同兴趣单元的偏好。
TGIN通过选择多样且相对的三角形,引入新颖而偶然的物品,以扩大用户兴趣的探索机会。
2. 定义
用户表示为U,商品集合表示为I,用户点击表示为,用户u点击最终的商品i,其历史点击商品序列B,y表示是否点击。
商品-商品共现图:商品-商品共现图是无向图,V是节点集合,E是边集合。节点表示某个商品,如果在历史序列中共现了两个商品,,则存在三元组的边,w表示共现次数。在实践中,为了构建一个商品-商品共现图,作者设置了一个滑动窗口并在所有用户的行为序列上滑动。窗口内的每一对商品都由一条无向边连接。每条边的权重被分配为所有用户行为中两个连接项的出现总数。
三角形:在共现图中,对于节点v,令v节点的k阶邻居节点集合表示为,当且仅当,,在集合中且存在边,,
k阶三角形:对于三角形,其中三个节点到节点v的最短距离为k,则称其为节点v的k阶三角形。
3. 方法
3.1 高效地提取三角形
提取三角形是一个耗时的过程,尤其是对于大规模的图数据。然而,作为一项实时任务,CTR 预测对效率有很高的要求。经验上,对于一个特定的商品,它附近的三角形影响更大。因此,在文中,三角形仅从每个商品的小范围邻域中提取。以 0 阶三角形为例,对于共现图中的每个节点,对其所有的 1 阶邻居进行采样。然后检查每对邻居节点是否可以与特定商品形成一个三角形。即需要判断每对之间是否有边。通过为边缘构造一个 Hashmap 来解决它,这可以将时间复杂度限制为 O(1)。但它需要很高的存储容量,并且在处理数十亿条边时遇到了障碍。因此,使用 Bloom Filters[1]来缓解这个问题。可以在去重后生成所有的一阶三角形。基于此,任何阶的三角形都可以用类似的方式得到。
3.2 选择多样的三角形
采用 Determinantal Point Processes (DPP)来建模一组相关但多样化的三角形的选择概率。三角形集 T 上的 DPP 是 T 的幂集上的概率分布。如果将非零概率分配给空集∅,则存在一个半正定核矩阵,使得对于 S ⊆ T 的每个子集,S 的概率定义如下,det为求行列式,I为单位阵。
L矩阵可以写为格拉姆矩阵(Gram matrix),的行是表示三角形特征的向量。每个行向量根据经验构造为三角形相关性分数和三角形特征向量,即。因此,L的元素可以写为
402 Payment Required
。若特征向量x为标准化后的,则两个三角相似度采用余弦相似度可以表示为 ,因此L可以重写为下式,C为三角形相似度矩阵,Diag{}表示对角矩阵,其中第i个元素为r_i。基于[2]修改DPP核矩阵为下式,其中,其中θ在0到1之间是超参数,用于平衡相关性和多样性。
在实践中,作者通过平均其中三个节点的特征来计算三角形特征向量 ( x )。对于三角形相关性得分 ( r ),采用三角形的内部权重和外部权重。内部重量是其三个边缘的平均权重。对于外部权重,将分母设置为三个内部节点到中心节点的距离之和,并将分子设置为连接三个内部节点和中心节点的边权重之和。基于此,三角形相关性得分(r)是内外权重乘积的算术平方根。在确定了 DPP 内核 L 之后,应用推理算法 [2] 为推荐找到最优的多样化而相关的三角形集。
3.3 模型结构
![6989238aa2b7d4c58c2b3cccfb5ba4f3.png](https://i-blog.csdnimg.cn/blog_migrate/03d894c25b04bfcb4ab5d5e3b38f83ae.png)
3.3.1 embedding层
本文主要考虑四类特征:用户画像,用户历史行为,上下文和目标商品的特征,分别表示为,,,和。其中其中L是历史序列的长度,表示行为序列中的位置信息,位置embedding。在提取和选择三角形后,为行为序列中的所有商品都生成一个三角形集合,并且将三角形中包含的节点的embedding进行stack,最终可以得到序列表征为,n表示三角形集合中三角形的个数。目标商品的三角形表征为。
3.3.2 三角形内的聚合层
给定一组与用户行为和目标商品相关且多样化的三角形,使用这些三角形来表示项目背后的潜在兴趣单元。在这里,使用一个简单的池化操作来聚合三角形内信息并生成用户行为序列的表示。公式如下,其中,对于目标商品的三角形集合采用相同的池化操作进行聚合。
3.3.3 三角形间的聚合层
采用多头自注意力来实现多个三角形之间的聚合。计算方式如下,
402 Payment Required
随后,将每个头计算得到的结果进行拼接,得到下式,对于目标商品也采用同样的多头自注意力操作得到
3.3.4 行为细化层
使用聚合层得到的表征,结合另一个多头自注意力来实现不同行为之间的交互。公式如下,将多头注意力的输出整合为一个矩阵
通过设置一个辅助损失函数来约束模型学得更好的表征,公式如下,相当于是在一段行为序列中用前i个行为来预测第i+1个商品是够会被点击。为负样本的表征。
402 Payment Required
3.3.5 用户行为建模层
在本文中,为了捕捉用户兴趣随时间的漂移趋势,从用户行为序列中提取位置特征。提出了一种位置感知注意机制来计算不同位置的用户行为的重要性,用于用户建模。具体来说,用户表示的每个用户行为的注意力系数计算如下,
402 Payment Required
然后对序列表征进行加权求和得到包含位置信息的表征,公式如下,
3.3.6 多层兴趣融合层
不同阶的三角形反映不同的兴趣偏好,对于每一阶k,可以得到表征,将其堆叠可得矩阵V,用户和V的注意力相关系数计算公式如下,
得到用户对每一阶的兴趣系数后,进行加权求和得到下式,
3.3.7 优化
损失函数采用交叉熵损失函数,公式如下,其中,将这些拼接送入f(),即MLP进行预测。
再结合上述的辅助损失,总损失为
402 Payment Required
4. 实验结果
离线对比实验结果
5. 总结
在三角形表征聚合的过程中,是蹭蹭递进的,首先是在三角形内部对三个节点的表征进行均值聚合;然后,是对同一商品对应的三角形集合中的不同三角形表征进行聚合,表达出该商品能反映的兴趣表征;最后是行为序列中不同商品对应的表征进行交互。
通过多阶的三角形反映不同层次的兴趣,之后结合位置信息以及一些常规的融合操作对最终的偏好进行预测。
采用序列中不同长度的子序列对之后的商品进行预测,构建辅助损失,得到更好的表征。
6. 文献
以下两篇文献主要关系到如何高效的生成并选择出多样化的三角形
[1] Andrei Broder and Michael Mitzenmacher. 2004. Network applications of bloom filters: A survey. Internet mathematics 1, 4 (2004), 485–509
[2] Laming Chen, Guoxin Zhang, and Hanning Zhou. 2018. Fast greedy map inference for determinantal point process to improve recommendation diversity. In Proceedings of the 32nd International Conference on Neural Information Processing Systems. 5627–5638.