AAAI2021 | 你想与谁分享?社交电子商务中的共享推荐研究
引用:https://mp.weixin.qq.com/s/mn9yLgK12gfEpEle9kRClw
论文链接:http://www.shichuan.org/doc/99.pdf
前言
这是北邮的一个博士大佬刚发在AAAI2021上,电子商务网站淘宝上有关社交分享推荐,结合了基于元路径的GNN推荐,引入注意力机制,我觉得淘宝的推荐强大的一点就是对业务的特征非常熟悉,而这篇很好地利用了淘宝平台的数据,以及结合淘宝业务与对象特征设计模型,最后的实验设置也是很具有真实性,大佬也说后面,会将代码分享出来学习,具体也可以关注一下大佬公众号图与推荐。
1 介绍
社交电商的不断发展催生了一种新型的推荐范式,分享推荐。显著不同于传统二元推荐,分享推荐建模了用户、商品和朋友之间的三元交互,旨在基于用户和当前商品的特点,来预测当前商品会被分享给哪个好友 (实际最大化概率)。如图1所示,用户在看到不错的鞋子之后,分享给其喜欢AJ的好友;看到有趣的视频之后,分享给其具有同样爱好的朋友。这种分享互动行为增强了用户活性和黏性并带来潜在的经济价值。
本文针对淘宝的分享业务,首次抽象建模了分享推荐问题,提出了分享推荐模型HGSRec,并在大规模数据上验证了其有效性。
我觉得这篇论文主要的亮点在于将图神经网络应用到分享推荐中,其次针对淘宝大规模复杂的异质网络数据集分享推荐业务很好地设计元路径以及利用用户、商品、朋友三者之间的交互关系,例如朋友之间的社交关系、用户间购买行为的相似关系、用户查看、购买商品,以及用户和商品的基本属性特征,加入对于元路径的注意力机制,最后考虑到分享的非对称性。
2 模型
我们提出了一种基于异质图神经网络的分享推荐算法HGSRec。给定一个分享行为,我们首先学习u, i,v 的向量表示并基于神经网络模型预测分享行为的发生概率。整个模型主要包括以下几个部分:特征预训练,三元异质图神经网络,双协同注意力机制和传递性三元组表示。
2.1 特征嵌入
针对节点的第k个特征 ,我们随机初始一个表示矩阵
M
f
k
∈
R
d
∗
∣
f
k
∣
M^{f_k}\in R^{d*|f_k|}
Mfk∈Rd∗∣fk∣ ,其中
∣
f
k
∣
|f_k|
∣fk∣ 代表特征 的可能取值, d代表特征表示的维度。以用户 及其第个特征 为例,特征映射过程可以表示为:
e
u
f
k
U
=
M
f
k
U
⋅
u
f
k
U
e^{f^U _k}_u =M^{f^U _k} · u^{f^U_k}
eufkU=MfkU⋅ufkU
其中,
e
u
f
k
U
e^{f^U_k}_u
eufkU是用户u 的第k 个特征。考虑用户的所有特征,那么用户u的初始表示
x
u
x_u
xu为:
其中, ||代表拼接操作,$W_u 和 和 和 b_u$分别是权重和偏置。同样的,我们可以得到商品的初始表示。注意,这里朋友也是一个用户。
2.2 三元异质图神经网络
针对分享行为涉及到的用户、商品和朋友,我们设计了一个三元异质图神经网络来分别学习它们的表示,分别为 H e t e G N N U HeteGNN^U HeteGNNU , H e t e G N N I HeteGNN^I HeteGNNI 和 H e t e G N N V HeteGNN^V HeteGNNV 。
异质图神经网络通常按照层次聚合的方式来学习节点表示:首先,考虑单种关系下的邻居信息来学习节点表示;然后,考虑多种关系下的节点表示的融合。
特别的,给定一个用户u 和
k
1
k_1
k1 条用户相关的元路径
{
Φ
1
U
,
Φ
2
U
,
⋅
⋅
⋅
,
Φ
k
1
U
}
\{Φ^U_1 , Φ^U _2 , · · · , Φ^U_{k_1} \}
{Φ1U,Φ2U,⋅⋅⋅,Φk1U} , 可以得到
k
1
k_1
k1 组不同语义下的用户表示
{
x
u
Φ
1
U
,
x
u
Φ
2
U
,
⋅
⋅
⋅
,
x
Φ
k
1
U
}
\{x^{Φ^U_1}_u , x^{Φ^U_2}_u , · · · , x^{Φ^U_{k_1}}\}
{xuΦ1U,xuΦ2U,⋅⋅⋅,xΦk1U} .
x
u
Φ
1
U
,
x
u
Φ
2
U
,
⋅
⋅
⋅
,
x
Φ
k
1
U
=
H
e
t
e
G
N
N
U
(
u
)
x^{Φ^U_1} _u , x^{Φ^U_2} _u , · · · , x^{Φ^U _{k_1}} = HeteGNN^U(u)
xuΦ1U,xuΦ2U,⋅⋅⋅,xΦk1U=HeteGNNU(u)
给定一个用户u 和相应的元路径
Φ
U
Φ^U
ΦU,我们可以采样固定数量的邻居。基于采样的邻居
N
Φ
U
N^{Φ^U}
NΦU,我们提出了一种语义聚合器
S
e
m
A
g
g
u
Φ
U
SemAgg^{Φ^U}_u
SemAgguΦU来聚合邻居信息并得到节点在指定语义下的节点表示
x
u
N
Φ
U
x^{N^{Φ^U}}_u
xuNΦU,如下所示:
考虑到时间效率,我们这里用平均池化MeanPooling来加速聚合过程。语义聚合器 S e m A g g u Φ U SemAgg^{Φ^U}_u SemAgguΦU如下所示:
为了显式强调节点自身的特性,我们将用户u 和其在元路径下的表示 x u N Φ U x^{N^{Φ^U}}_u xuNΦU进行拼接,并通过单层神经网络进行映射得到节点在某个语义下的表示 。
其中, W Φ U W^{Φ^U} WΦU 和 b Φ U b^{Φ^U} bΦU分别是针对元路径 Φ U Φ^U ΦU的权重矩阵和偏置向量。给定一系列用户相关的元路径,我们可以得到一组用户表示。这组表示能够从不同方面来描述用户的特性。同样的,我们可以通过 学习到朋友的多个表示 。对于商品来说,其性质相对稳定单一。因此,我们只选取一条元路径来学习期表示。
2.3 对偶协同注意力机制
对偶协同注意力机制主要是考虑三元组之间的相互影响,进而对用户和朋友的多个表示进行加权融合,进一步提升分享推荐的准确度。对偶协同注意力机制包括两个部分:用户和商品之间的协同注意力 C o A t t U , I CoAtt_{U,I} CoAttU,I,朋友与商品之间的协同注意力 C o A t t V , I CoAtt_{V,I} CoAttV,I 。以用户 和商品 为例,协同注意力 旨在为用户学习一组交互权重 ,如下所示:
其中,协同注意力向量
q
U
,
I
q_{U,I}
qU,I用于学习用户的多个表示的权重 。
其中,
W
U
,
I
W^{U,I}
WU,I 和
b
U
,
I
b^{U,I}
bU,I分别为针对的权重矩阵和偏置向量。再经过归一化,我们就可以得到元路径
Φ
m
U
Φ^U_m
ΦmU的权重
w
u
,
i
Φ
m
U
w^{Φ^U_m}_{u,i}
wu,iΦmU。
其中, w u , i Φ m U w^{Φ^U_m}_{u,i} wu,iΦmU 可以认为是元路径 的 Φ m U Φ^U_m ΦmU贡献程度,其值越大,贡献越大。最后,通过对多个元路径下的用户表示进行加权,我们就可以得到最终的用户表示。
同样的,我们也可以通过协同注意力机制 C o A t t V , I CoAtt_{V,I} CoAttV,I来学习朋友的多个表示的权重并进行加权融合。
其中, h v h_v hv代表融合后的朋友的表示。
因为我们只选择了一条商品相关的元路径,所以商品i融合后的表示 h i h_i hi实际就是 x i Φ I x_i^{Φ^I} xiΦI。
2.4 传递性三元组表示
为了预测分享行为是否发生,我们需要为三元组建立一个联合的表示。首先,我们将三元组中各个部分的表示用各自的神经网络投影到同一个空间。
然后,我们设计了一种具有传递性的三元组联合表示 ,如下所示。这里的三元组表示用第一范式表示 Z u + Z i Z_u+Z_i Zu+Zi与 Z v Z_v Zv的相似度。这里可以尝试一下其他相似度方法,例如余弦等。
基于三元组联合表示 r u , i , v r_{u,i,v} ru,i,v ,我们可以得到预测值 y ^ u , i , v \hat{y}_{u,i,v} y^u,i,v,如下所示。
其中,W 和 b分别是权重矩阵和偏置向量。最后,我们可以计算交叉熵损失函数并优化模型。
其中, y u , i , v y_{u,i,v} yu,i,v 是标签, y + y^+ y+和 y − y^- y− 分别代表正样本和负样本, y + y^+ y+表示分享,图上连接的概率, y − y^- y−则相反。我觉得这里可以通过预测值,通过BPR作为目标函数优化,排序推荐效果。
3 实验
3.1 数据集
我们在淘宝收集了真实用户的分享行为数据进行实验,数据集统计见表1.
3.2 离线实验
离线实验中,对比SOTA推荐算法,我们模型在AUC上取得大幅度提升(11.7%-14.8%)。
3.3 Case Study
为了进一步探索分享行为发生背后的原因,我们做一个case study,如图5所示。可以看出:u707在关系U-S-U上激活程度最高,而v198在U-v-I-v-U上激活程度最高。这与他们基于特定关系下邻居的偏好是有强关联的。例如,u707基于关系U-S-U的邻居节点很多都会关注化妆品/香水这个类目下的商品,和i586是属于同一个类目的。
3.4 在线实验
最后,我们进行了长达25天的在线AB testing,来验证HGSRec的在线服务效果。可以看出,HGSRec能够平均提升10%左右的UCTR,用户体验得到了很大程度的改善。