[论文笔记] 2021-Hindawi-Social Recommendation System Based on Hypergraph Attention Network

论文提出HASRE模型,利用超图建模用户间的高阶关系,通过图注意力机制捕捉不同朋友的影响。模型在三个数据集上表现优越,解决了传统图神经网络无法捕获复杂关系的问题。同时,模型通过超边级和节点级注意力机制突出重要信息,优化用户和物品的表示。
摘要由CSDN通过智能技术生成

1 摘要

论文链接:https://www.hindawi.com/journals/cin/2021/7716214/
代码链接:TensorFlow,未找到代码资源

   由于图结构在社交网络和图神经网络中强大的表示能力,图神经网络在社会化推荐系统中的应用变得越来越广泛。尽管图神经网络已经成功应用于社会化推荐系统,但实际应用中性能受到限制。主要原因在于它们只利用了成对的用户关系,无法捕获用户之间的高阶关系。针对这一问题,本文提出一个模型——HASRE,将超图注意力网络应用到社会化推荐系统中。具体来说,使用超图建模用户之间的高阶关系;使用图注意力机制捕获不同朋友的影响,并自适应地为用户提供模型选择信息。在三个数据集上的实验证明了该模型的优越性。

2 介绍

   社会影响力(social influence):朋友的行为会影响用户的态度和行为。
   社会同质性(social homophily):有相似兴趣的用户之间会建立连接,成为朋友。

   本文要解决的问题

    (1)基于图神经网络的社交推荐方法无法捕获用户之间复杂的高阶关系

   用户之间的一阶关系是指成对的用户关系,而用户之间的高阶关系是指与用户节点相关的多个邻居节点。如两个或两个以上的用户是彼此的朋友或者与用户有相似兴趣的陌生人,如图1所示。

用户之间复杂的高阶关系

    (2)如何突出显示每个超边上具有重要信息的节点

   在三角形语义主题的超图中传播和聚合用户意图时,有些节点信息非常重要,而其他节点信息则不然。此外,对于用户节点,用户之间存在不同程度的影响。

   本文的贡献(创新点)

    (1)使用超图模型来构建用户之间复杂的关系;

    (2)创造性地将图注意网络融入到超图结构中,可以更加关注重要用户的信息。

3 问题定义

3.1 符号定义

   U = { u 1 , u 2 , u 3 , . . . , u m } U = \{u_1,u_2,u_3,...,u_m\} U={u1,u2,u3,...,um} 表示用户集, I = { i 1 , i 2 , i 3 , . . . , i n } I = \{i_1,i_2,i_3,...,i_n\} I={i1,i2,i3,...,in} 表示物品集。用户-物品交互矩阵用 Z ∈ R m × n Z \in \mathbb{R}^{m \times n} ZRm×n 表示,用户购买了物品,则对应元素值为1;否则为0。社交网络用对称关系矩阵 S ∈ R m × m S \in \mathbb{R}^{m \times m} SRm×m 表示(社交网络图为无向图)。令 h u ( l ) ∈ R d ( l ) h_u^{(l)} \in \mathbb{R}^{d^{(l)}} hu(l)Rd(l) 表示用户 u u u l l l 层的向量表示,维度为 d d d H ( l ) ∈ R m × d ( l ) H^{(l)} \in \mathbb{R}^{m \times d^{(l)}} H(l)Rm×d(l) P ( l ) ∈ R n × d ( l ) P^{(l)} \in \mathbb{R}^{n \times d^{(l)}} P(l)Rn×d(l) 分别表示所有用户和物品的embedding向量。

3.2 超图定义

   超图用 G = ( V , E ) G = (V,E) G=(V,E) 表示,其中, V = { v 1 , v 2 , v 3 , . . . , v N } V = \{v_1,v_2,v_3,...,v_N\} V={v1,v2,v3,...,vN} 表示节点集, E = { e 1 , e 2 , e 3 , . . . , e M } E = \{e_1,e_2,e_3,...,e_M\} E={e1,e2,e3,...,eM} 表示边集,使用关联矩阵 C ∈ R N × M C \in \mathbb{R}^{N \times M} CRN×M 表示超图 G G G 的拓扑结构,即

C i j = { 1 , if  v i ∈ e j 0 , if  v i ∉ e j C_{ij} = \begin{cases} 1, & \text{if } v_i \in e_j \\ 0, & \text{if } v_i \notin e_j \end{cases} Cij={1,0,if viejif vi/ej

如图2所示。超图中每个节点的属性可以用 X = [ x 1 , x 2 , x 3 , . . . , x N ] T ∈ R N × d X = \left[x_1,x_2,x_3,...,x_N\right]^T \in \mathbb{R}^{N \times d} X=[x1,x2,x3,...,xN]TRN×d 表示。

超图网络结构

4 模型

   本文提出的模型——HASRE,将超图注意力网络应用于社会化推荐系统中,整体框架如图3所示。

模型框架图

4.1 超图构建

   为了更好地表示用户之间的高阶关系,首先将社交网络图与用户-物品交互图对齐,然后构建超图,包括用户节点、物品节点及其关系。本文使用三角形结构来表示三种语义主题(如图1所示),来构建超图。三种语义主题分别为“拥有相同的朋友”的“社交主题”(如 u 3 u_3 u3 u 6 u_6 u6 u 8 u_8 u8)、“购买相同物品的朋友”的“联合主题”(如 u 1 u_1 u1 u 2 u_2 u2 i 1 i_1 i1)、“购买相同物品的陌生人”(如 u 2 u_2 u2 u 5 u_5 u5 i 2 i_2 i2)。

构建超图

4.2 超图注意网络

   本文中超图通道主要用于处理三种三角形语义主题,并从用户之间的高阶关系中提取更加准确的用户embedding向量。为了控制基本用户embedding向量到不同通道的流量,使用自门控单元(a self-gating unit,SGU)来过滤输入信息,即

H c ( 0 ) = f g a t e c ( H ( 0 ) ) = H ( 0 ) ⊙ σ ( H ( 0 ) W g c + b g c ) H_c^{(0)} = f_{gate}^c(H^{(0)}) = H^{(0)} \odot \sigma (H^{(0)}W_g^c + b_g^c) Hc(0)=fgatec(H(0))=H(0)σ(H(0)Wgc+bgc)

其中, W g c ∈ R d × d W_g^c \in \mathbb{R}^{d \times d} WgcRd×d b g c ∈ R d b_g^c \in \mathbb{R}^d bgcRd 分别表示SGU中训练的权重和偏置, c ∈ { t , r } c \in \{t,r\} c{t,r} 表示两个不同的通道, H t ( 0 ) H_t^{(0)} Ht(0) 指用于超图通道的基础用户embedding向量, H r ( 0 ) H_r^{(0)} Hr(0) 指显示社交网络的基础用户embedding向量, ⊙ \odot 表示点积, σ \sigma σ 表示Sigmoid函数。SGU通过维度重加权调整特征粒度中的基本用户嵌入,最终获得超图信道的用户嵌入。

4.2.1 节点级注意力机制

   给定一个节点 v i v_i vi ,首先通过HyperGAT学习连接该节点的超边表示,使用注意力机制来突出显示某些节点对超边的重要性,即

f j l = σ ( ∑ v k ∈ e j a j k W 1 x k l − 1 ) f_j^l = \sigma (\sum_{v_k \in e_j} a_{jk}W_1x_k^{l-1}) fjl=σ(vkejajkW1xkl1)

其中, W 1 W_1 W1 是可训练的权重矩阵, x k l x_k^l xkl 指节点 k k k 在第 l l l 层神经网络的特征信息。超图中节点 X ( 0 ) X^{(0)} X(0) 的特征信息使用多层感知器(MLP)来组合超图中的用户基础embedding向量 H t ( 0 ) H_t^{(0)} Ht(0) 和物品基础embedding向量 P t ( 0 ) P_t^{(0)} Pt(0) ,即

X ( 0 ) = g ( H t ( 0 ) ⊕ P t ( 0 ) ) X^{(0)} = g(H_t^{(0)} \oplus P_t^{(0)}) X(0)=g(Ht(0)Pt(0))

其中, g g g 表示用户信息和物品信息的融合, ⊕ \oplus 表示两个向量之间的序列运算, P t ( 0 ) P_t^{(0)} Pt(0) 是超图中物品的基础embedding向量,获取方式与 H t ( 0 ) H_t^{(0)} Ht(0) 相同。 a j k a_{jk} ajk 表示节点 v k v_k vk 的信息被聚合到超边 e j e_j ej 时对超边贡献的注意力系数,即

a j k = e x p ( a 1 T u k ) ∑ v p ∈ e j e x p ( a 1 T u p ) u k = L e a k y R e L U ( W 1 x k l − 1 ) a_{jk} = \frac{exp(a_1^T u_k)}{\sum_{v_p \in e_j} exp(a_1^T u_p)} \qquad u_k = LeakyReLU(W_1x_k^{l-1}) ajk=vpejexp(a1Tup)exp(a1Tuk)uk=LeakyReLU(W1xkl1)

其中, a 1 T a_1^T a1T 是权重参数, u k u_k uk 指超边 e j e_j ej 上节点 v k v_k vk 的相关性。

4.2.2 超边级注意力机制

   所有超边都用 { f j l ∣ ∀ e j ∈ E i } \{f^l_j \mid \forall e_j \in E_i\} {fjlejEi} 表示。本文设计的超图结构主要用于利用用户之间的高阶关系来学习精确的用户embedding向量。如果超图中的节点 v i v_i vi 是用户节点,使用超边信息来学习下一层用户的节点信息,即

h i l = σ ( ∑ e j ∈ E i b i j W 2 f j l ) h_i^l = \sigma (\sum_{e_j \in E_i} b_{ij}W_2 f_j^l) hil=σ(ejEibijW2fjl)

其中, h i l h_i^l hil 表示节点 v i v_i vi 更新的特征信息, W 2 W_2 W2 是可训练的权重矩阵, b i j b_{ij} bij 表示超边 e j e_j ej 在节点 v i v_i vi 上的注意力系数,即

b i j = e x p ( a 2 T v j ) ∑ e p ∈ E i e x p ( a 2 T v p ) v j = L e a k y R e L U ( [ W 2 f j l ∥ W 1 h i l − 1 ] ) b_{ij} = \frac{exp(a_2^T v_j)}{\sum_{e_p \in E_i} exp(a_2^T v_p)} \qquad v_j = LeakyReLU([W_2 f_j^l \parallel W_1 h_i^{l-1}]) bij=epEiexp(a2Tvp)exp(a2Tvj)vj=LeakyReLU([W2fjlW1hil1])

其中, a 2 T a_2^T a2T 是权重参数, v j v_j vj 指超边 e j e_j ej 上节点 v i v_i vi 的相关性, ∥ \parallel 是向量的连接操作。

4.3 学习全面的用户表示和物品表示

   在通过L层HyperGAT传播的用户embedding后,对超图通道中每层获得的用户embedding进行平均,以形成超图通道的最终用户表示

H t = 1 L + 1 ∑ l = 0 L H t ( l ) H_t = \frac{1}{L+1} \sum_{l=0}^L H_t^{(l)} Ht=L+11l=0LHt(l)

   超图通道中只学习用户embedding向量,物品信息只是辅助作用。另外用户的社交关系是复杂的,超图中只是定义高阶的社交关系,社交网络中存在一些孤立的用户。因此,使用一个简单GCN来提取用户-物品交互图中的用户特征向量和物品特征向量,即

H r ( l + 1 ) = D u − 1 Z P ( l ) , H r ( 0 ) = f g a t e r ( H ( 0 ) ) , P ( l + 1 ) = D i − 1 Z T H m ( l ) , H m ( l ) = 1 2 H t ( l ) + 1 2 H r ( l ) . H_r^{(l+1)} = D_u^{-1} Z P^{(l)} , \quad H_r^{(0)} = f_{gate}^r (H^{(0)}), \quad P^{(l+1)} = D_i^{-1} Z^T H_m^{(l)}, \quad H_m^{(l)} = \frac{1}{2} H_t^{(l)} + \frac{1}{2} H_r^{(l)}. Hr(l+1)=Du1ZP(l),Hr(0)=fgater(H(0)),P(l+1)=Di1ZTHm(l),Hm(l)=21Ht(l)+21Hr(l).

其中, H r ( l ) H_r^{(l)} Hr(l) 是图卷积通道的门控用户embedding, H M ( l ) H_M^{(l)} HM(l) 是超图通道的用户embedding和图卷积通道的用户embedding的组合, D u ∈ R m × m D_u \in \mathbb{R}^{m \times m} DuRm×m D i ∈ R n × n D_i \in \mathbb{R}^{n \times n} DiRn×n Z Z Z Z T Z^T ZT 的度矩阵。故最终的用户embedding向量 H H H 和物品embedding向量 P P P

H = H t + 1 L + 1 ∑ l = 0 L H r ( l ) , P = 1 L + 1 ∑ l = 0 L P ( l ) H = H_t + \frac{1}{L+1} \sum_{l=0}^L H_r^{(l)}, \quad P = \frac{1}{L+1} \sum_{l=0}^L P^{(l)} H=Ht+L+11l=0LHr(l),P=L+11l=0LP(l)

4.4 模型优化

   使用BPR损失进行训练,即

L B P R = ∑ i ∈ I ( u ) , j ∉ I ( u ) − l o g σ ( r ^ u , i ( Φ ) − r ^ u , j ( Φ ) ) + λ ∥ Φ ∥ 2 2 L_{BPR} = \sum_{i \in I(u),j \notin I(u)} -log \sigma(\hat{r}_{u,i}(\Phi) - \hat{r}_{u,j}(\Phi)) + \lambda \parallel \Phi \parallel_2^2 LBPR=iI(u),j/I(u)logσ(r^u,i(Φ)r^u,j(Φ))+λΦ22

5 结论

   (1)本文提出了一种将超图注意力网络应用于社会化推荐系统的模型,既考虑了用户之间的高阶关系,又区分了用户朋友的不同影响,在一定程度上提高了推荐系统的性能。

   (2)未来发展方向:
    ∙ \bullet 将物品的属性信息考虑在内;
    ∙ \bullet 将动态神经网络应用于社会化推荐系统,即考虑动态的社交信息,以更好地挖掘用户的潜在偏好。

   (3)个人拙见与疑问:
    ∙ \bullet 文中设计了三种类型的三角形语义主题,在超图通道中进行处理,但在处理时是否需要对其区分、如何区分存疑。
    ∙ \bullet 文中提到“超图中节点 X ( 0 ) X^{(0)} X(0) 的特征信息使用多层感知器(MLP)来组合超图中的用户基础embedding向量 H t ( 0 ) H_t^{(0)} Ht(0) 和物品基础embedding向量 P t ( 0 ) P_t^{(0)} Pt(0) ”,为什么要这样写呢 ?
    ∙ \bullet H m ( l ) H_m^{(l)} Hm(l) 以及最终的用户embedding向量 H H H 时使用动态权重,区分不同来源信息的影响,这样处理是否能够提升推荐系统的性能?

:文中有几处符号错误,不知道是不是本人的错觉!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值