文章目录
1 摘要
论文链接:https://arxiv.org/pdf/2111.03344.pdf
代码链接:https://github.com/ziruizhu/SHGCN
现有的方法大多假设社会关系可以均匀地应用于所有的物品,这对于用户实际不同的偏好是不现实的。本文认为社会关系的影响应该是不均匀的,即两个社会相关的用户可能只对某些特定的产品具有相同的偏好,而对于其他产品,他们的偏好可能是不一致的甚至是矛盾的。在这一思想的启发下,建立了一个新的社会化推荐模型,将传统的成对“用户-用户”关系扩展为“用户-物品-用户”的三元关系。为了很好地处理这种高阶关系,将框架建立在超图的基础上。更具体地说,每个超边连接一个用户-用户-物品三元组,表示两个用户在物品上共享类似的偏好。本文开发了一个社会超图卷积网络(简称SHGCN)来学习复杂的三元组社会关系。在两个真实数据集上的大量实验证明了模型的有效性。数据稀疏性和超参数研究进一步验证了模型的合理性。
2 介绍
已有的工作忽略了一个重要的事实,即用户与朋友之间的兴趣不一致,导致推荐性能较差。例如,用户可能与同学在书籍上有相似的兴趣,与家人在食物或着装上有相同的品味。也就是说,社会关系对用户行为的影响是非同质的。值得一提的是,有一些社会化推荐的作品对社会关系的各种强度进行了建模。然而,这种强度只代表了社会亲密程度,并不能处理非同质性的影响。
这种非同质效应很重要,但很难捕捉,因为大多数时候只能获得二元的社会关系。最近,拼多多等社交电商平台越来越受欢迎。在这种新型的电子商务平台中,用户可以在社交网络上与朋友分享产品,如图1(a)所示。当用户与好友共享一件商品时,共享的商品在一定程度上反映了他们之间细微的共同兴趣。该平台的另一个案例是团购,两个(或两个以上)用户发起一个团购,一起购买特定商品,如图1(b)所示。考虑到人们会与不同的朋友购买不同的物品,例如与网球伙伴购买球拍,与同事购买笔记本电脑,不均匀效应在这里发挥了重要作用。
研究非同质性社会对用户行为的影响主要有两个挑战:
(1)三元社会关系的表征。三元社会关系包括三个方面,两个使用者和一个共享物品。它们之间的关系并不明确,与现有作品中仅用一个标量值来表示两个用户的成对关系相比,构造它们的表示具有很大的挑战性。
(2)在偏好学习中利用三元组。事实上,三元组反映了两个用户之间复杂而精细的共同兴趣。给定三元组,提取预测信号并将其融合到偏好学习中是一项挑战。
受图学习最新进展的启发,提出构造一个超图,通过引入可以连接两个以上节点的超边来泛化图。更准确地说,利用超边连接两个用户节点和一个物品节点,以表示复杂的三元组。为了捕捉复杂的社会影响并了解用户偏好,提出了一个基于超图卷积网络的模型,名为SHGCN。通过精心设计的embedding传播层,该模型可以通过消息在由三元社会关系构建的超图上传递,有效地了解用户的潜在偏好。
3 问题定义
在非同质性社会化推荐中,社会关系数据为三元组形式,即 < u s e r , u s e r , i t e m > <user, user, item> <user,user,item> ,如图1所示。例如,用户可以与他/她的朋友共享一个物品或共同购买一个物品,这反映了他们之间细微的共同兴趣。
假设用户/物品的集合为 U / V U/V U/V ,有 M M M 个用户和 N N N 个物品。用户-物品交互数据可以表示为集合 Y Y Y ,即
Y = { ( i , j ) ∣ user i interacts with the item j } Y = \{(i,j) | \text{user }i \text{ interacts with the item }j\} Y={(i,j)∣user i interacts with the item j}
三元社会关系数据可以表示为三元组集合 E E E ,定义如下
E = { e = ( i 1 , i 2 , j ) , i 1 , i 2 ∈ U , j ∈ V ∣ user i 1 interacts with friend i 2 with respect to item j } E = \{e = (i_1, i_2, j), i_1, i_2 \in U, j \in V | \text{user } i_1 \text{ interacts with friend } i_2 \text{ with respect to item } j\} E={e=(i1,i2,j),i1,i2∈U,j∈V∣user i1 interacts with friend i2 with respect to item j}
本文研究的问题如下:
输入:用户-物品交互数据 Y Y Y 和三元组社会关系数据 ε \varepsilon ε 。
输出:评估用户 i i i 会与物品 j j j 交互(购买)的概率推荐模型。
4 模型
提出的模型社会化超图卷积网络(简称SHGCN)主要由四部分组成,分别为超图构建、embedding层、超图卷积层、预测与优化。
4.1 超图构建
4.1.1 超边与超图
定义1:超图。一个超图 H H H 可以定义为 H = ( X , E ) H = (X, E) H=(X,E) ,其中, X X X 是节点集(也称为顶点), E E E 是超边集。每条超边包含几个顶点,因此可以认为是非空的顶点集合。
一个超边可以连接任意顶点, 因此超边 e ∈ E e \in E e∈E 是 P \ { ∅ } P\backslash \{\emptyset\} P\{∅} ,其中, P P P 表示 X X X 的幂集。 对于 ∀ e ∈ E \forall e \in E ∀e∈E , e e e 的基数称为 e e e 的度。
4.1.2 超图结构数据
为了将数据构建为超边,首先在用户 i 1 i_1 i1 、用户 i 2 i_2 i2 和物品 j j j 之间构建一个超边,用于任何三元社会关系 ( i 1 , i 2 , j ) ∈ E (i_1, i_2, j) \in E (i1,i2,j)∈E ;对于用户-物品交互 ( i , j ) ∈ Y (i, j) \in Y (i,j)∈Y ,在用户 i i i 和物品 j j j 之间构建一条经典边。然后,非同质性社会化推荐的任务转向在所构建的超图上预测给定用户和给定物品之间存在经典交互边。
4.2 Embedding层
使用低维向量 P i ∈ R d P_i \in \mathbb{R}^d Pi∈Rd ( Q j ∈ R d Q_j \in \mathbb{R}^d Qj∈Rd)来描述用户 i i i (物品 j j j),其中, d d d 表示embedding大小。那么,包含用户和物品的完整embedding矩阵可以表述为
E = [ P 1 , ⋯ , P M , Q 1 , ⋯ Q N ] = [ P , Q ] E = [P_1, \cdots , P_M, Q_1, \cdots Q_N] = [P, Q] E=[P1,⋯,PM,Q1,⋯QN]=[P,Q]
其中, M M M 和 N N N 分别表示用户和物品的数量。使用 E k = [ P k , Q k ] E^k = [P^k, Q^k] Ek=[Pk,Qk] 来表示由第 k k k 层超图卷积获取的embedding矩阵。这里 E 0 = E E^0 = E E0=E 。
4.3 超图卷积层
整体结构如图3所示。
4.3.1 超边表示
为了便于理解,将超边视为虚拟节点,如图2所示。对于超边的虚拟节点,它与它连接的节点相邻,作为经典边。
超边
e
e
e 的embedding
C
e
C_e
Ce 的超图卷积网络的消息传播可以重新表述为图卷积网络中的传播,即
C e k = σ ( a g g r e g a t e ( E w k − 1 ∣ w ∈ K ( e ) ) ) C_e^k = \sigma \left(aggregate \left(E_w^{k-1} | w \in K(e) \right) \right) Cek=σ(aggregate(Ewk−1∣w∈K(e)))
其中, K ( e ) K(e) K(e) 表示连接超边 e e e 的节点集合, σ ( ⋅ ) \sigma(\cdot) σ(⋅) 是激活函数, E w ( k − 1 ) E_w^{(k-1)} Ew(k−1) 表示在第 ( k − 1 ) (k-1) (k−1) 层的embedding矩阵。注意,不区分用户和物品embedding, w w w 表示用户或物品的统一下标。
对于 l − u n i f o r m l-uniform l−uniform 超图,可以连接所有相邻节点的embedding,然后使用多层感知器(MLP)作为聚合器来生成超边的embedding,即
C e k = σ ( 1 ∣ K ( e ) ∣ ( ∑ w ∈ K ( e ) E w k − 1 ) W 1 k + b 1 k ) C_e^k = \sigma \left( \frac{1}{| K(e) |} \left( \sum_{w \in K(e)} E_w^{k-1}\right) W_1^k + b_1^k\right) Cek=σ ∣K(e)∣1 w∈K(e)∑Ewk−1 W1k+b1k
其中, W 1 k ∈ R d × d W_1^k \in \mathbb{R}^{d \times d} W1k∈Rd×d 和 b 1 k ∈ R d b_1^k \in \mathbb{R}^d b1k∈Rd 表示可学习的变换矩阵和偏置,选择 LeakyReLU作为非线性激活函数。
4.3.2 社会关系表示模块
超边编码的三元社会关系传达了用户之间非同质的社会影响。由于两个用户可以通过多个超边连接,为了更好地建模社会关系,需要聚合不同超边的影响。建立一个向量 R t R_t Rt 来表示两个用户 i 1 i_1 i1 和用户 i 2 i_2 i2 的社会关系,他们是朋友。为了得到表示,设计的图卷积层如下:
R t k = σ ( a g g r e g a t e ( C e k ∣ e ∈ N ( i 1 , i 2 ) ) ) , t = η ( i 1 , i 2 ) R_t^k = \sigma \left( aggregate \left( C_e^k | e \in N(i_1, i_2)\right)\right) , t = \eta(i_1, i_2) Rtk=σ(aggregate(Cek∣e∈N(i1,i2))),t=η(i1,i2)
其中, N ( i 1 , i 2 ) N(i_1, i_2) N(i1,i2) 表示连接用户 i 1 i_1 i1 和用户 i 2 i_2 i2 的超边的集合, η ( i 1 , i 2 ) \eta (i_1, i_2) η(i1,i2) 是映射函数,输出下标 i 1 − i 2 i_1 - i_2 i1−i2 关系,用于从 R R R 中embedding查询。
使用图卷积网络进行聚合,将信息从超边传递给关系embedding。即
R t k = σ ( 1 ∣ N ( i 1 , i 2 ) ∣ ( ∑ e ∈ N ( i 1 , i 2 ) C e k ) W 2 k + b 2 k ) R_t^k = \sigma \left( \frac{1}{| N(i_1, i_2) |} \left( \sum_{e \in N(i_1, i_2)} C_e^k\right) W_2^k + b_2^k \right) Rtk=σ ∣N(i1,i2)∣1 e∈N(i1,i2)∑Cek W2k+b2k
4.3.3 用户建模模块
关键思想是使用计算得到的社会关系表示,以细粒度的方式对两个用户之间的社会关系建模。部署一个基于信息传递的聚合过程,即
其中,来自超边的消息有助于解决现有作品只能聚合来自社交网络的消息的局限性。这里
Z
(
i
)
Z(i)
Z(i) 表示连接到用户
i
i
i 的超边集合。如上所示,还为用户embedding添加了一个自循环操作,其中前一层的embedding将直接添加到下一层的embedding中。这将有助于防止消失或爆炸的梯度问题。
来自超边的信息旨在捕捉非同质社会效应的潜在信号,而来自社交网络的信息主要集中于社会同质建模。换句话说,第一项在不同物品之间是不同的,而第二项衡量的是两个用户在总体上有多相似。
使用注意力图卷积层进行聚合。具体来说,使用MLP来生成用于 w w w 相对于 P i k P_i^k Pik 的注意力权重。
P i k = P i k − 1 + σ ( 1 ∣ Z ( i ) ∣ ( ∑ e ∈ Z ( i ) C e k ) W 3 k + b 3 k ) + σ ( ∑ w ∈ N ( i ) α w i k P w k ) P_i^k = P_i^{k-1} + \sigma \left( \frac{1}{| Z(i) |}\left( \sum_{e \in Z(i)} C_e^k \right) W_3^k + b_3^k\right) + \sigma \left( \sum_{w \in N(i)} \alpha_{wi}^k P_w^k\right) Pik=Pik−1+σ ∣Z(i)∣1 e∈Z(i)∑Cek W3k+b3k +σ w∈N(i)∑αwikPwk
α w i k = M L P ( R η ( w , i ) ) \alpha_{wi}^k = MLP(R_{\eta(w, i)}) αwik=MLP(Rη(w,i))
其中, M L P MLP MLP 用于学习用户 i i i 所有朋友的注意力权重 α w i \alpha_{wi} αwi 。
4.3.4 物品建模模块
对于物品,可以充分利用超边的表示来捕获物品的特征。事实上,一个特定物品的内在特征确实是由涉及该物品的三元社会关系的特征所塑造的。例如,社交网络中的物品分享行为与物品本身以及两个用户高度相关。因此,提出一个传播模块来聚合超边表示,即
Q j k = Q j k − 1 + σ ( a g g r e g a t e ( C e k ∣ e ∈ Z ( j ) ) ) Q_j^k = Q_j^{k-1} + \sigma \left(aggregate\left(C_e^k | e \in Z(j)\right)\right) Qjk=Qjk−1+σ(aggregate(Cek∣e∈Z(j)))
其中, Z ( j ) Z(j) Z(j) 表示连接物品 j j j 的超边集合。
使用GCN聚合器进行聚合,即
Q j k = Q j k − 1 + σ ( 1 ∣ Z ( j ) ∣ ( ∑ e ∈ Z ( j ) C e k ) W 4 k + b 4 k ) Q_j^k = Q_j^{k-1} + \sigma \left( \frac{1}{| Z(j) |} \left( \sum_{e \in Z(j)}C_e^k\right)W_4^k + b_4^k\right) Qjk=Qjk−1+σ ∣Z(j)∣1 e∈Z(j)∑Cek W4k+b4k
其中, W 4 k W_4^k W4k 和 b 4 k b_4^k b4k 是可学习的变换矩阵和偏置。注意,对每一层的输出embedding进行了归一化,以确保数值的稳定性。
4.4 预测与优化
4.4.1 预测层
L L L 层传播之后,获得 L L L 个不同的用户和物品embeddings { E 0 , ⋯ , E L } \{E^0, \cdots , E^L\} {E0,⋯,EL} 。将所有层的输出拼接起来以生成用户和物品最终的表示,即
E ∗ = E 0 ∥ ⋯ ∥ E L = [ P ∗ , Q ∗ ] E^* = E^0 \parallel \cdots \parallel E^L = [P^* , Q^*] E∗=E0∥⋯∥EL=[P∗,Q∗]
选择简单又有效的点积作为预测函数,即
r i , j = P i ∗ ⊗ Q j ∗ r_{i, j} = P_i^* \otimes Q_j^* ri,j=Pi∗⊗Qj∗
4.4.2 模型优化
采用BPR损失进行优化,即
L o s s = ∑ ( i , j 1 , j 2 ) ∈ O − l n σ ( r i , j 1 − r i , j 2 ) + λ ∥ θ ∥ 2 2 Loss = \sum_{(i, j_1, j_2) \in O} -ln \sigma(r_{i, j_1} - r_{i, j_2}) + \lambda \parallel \theta \parallel _2^2 Loss=(i,j1,j2)∈O∑−lnσ(ri,j1−ri,j2)+λ∥θ∥22
其中, O = { ( i , j 1 , j 2 ) ∣ ( i , j 1 ) ∈ Y , ( i , j 2 ) ∈ Y − } O = \{(i, j_1, j_2) | (i, j_1) \in Y, (i, j_2) \in Y^-\} O={(i,j1,j2)∣(i,j1)∈Y,(i,j2)∈Y−} 表示负采样的成对训练数据, Y Y Y 和 Y − Y^- Y− 分别表示观察到的和采样的未观察到的用户-物品交互集合。
5 实验
6 总结
(1)本文探讨了非同质社会化推荐问题,研究了朋友之间的细粒度社会影响。
(2)构造了一个既能很好地表示三元社会关系又能很好地表示用户-物品交互数据的超图。
(3)开发了一种有效的超图卷积网络模型,可以有效地从超图中学习。
(4)在两个真实数据集上的大量实验结果证明了模型的有效性。
(5)未来工作:
在更多的场景中测试模型的性能,比如社交网络中的团购,两个以上的朋友共享一件物品。利用更多的辅助数据(如多关系信息或这些复杂交互的显式评级)来检查模型在其他任务(如关系预测或分类)上的有效性。还计划进一步考虑时间信息,以提高在更复杂应用中的推荐性能。