graph neural networks for social recommendation
发表于www’19。我认为本篇的创新性:1.引入社交网络信息 2.引入attention机制 3.单独处理不同的opinion(可以理解为不同的打分值)。
abstract
在GNNs上建立社交推荐系统面临着挑战:user-item图同时编码了交互信息和它们的相关意见;社交关系具有不同的强度;users同时在两个图之中(user-user社交网络、user-item图)。为了解决同时解决上述三个挑战,我们提出了一个图神经网路框架(GraphRec)。具体来说,我们提供了一个方法来同时捕捉user-item图之中的interactions以及opinions,并且提出了框架GraphRec,同时建模了两个图以及不同的强度。两个数据集上的实验证明了框架的有效性。
1.introduction
基于GNN的推荐系统面临着挑战:1)社交图和user-item图提供了了用户不同方面的信息。因此需要同时从两个图中挖掘出有效信息来表示用户。 2)user-item图不仅有interaction,也包括了用户对物品的偏好(interaction含分值信息)。于是需要同时捕捉这种偏好以及interaction的信息。3)如何识别具有不同强度的连接的社交关系。
2.the proposed framework
2.1 definitions and notations
2.2 an overview of the proposed framework
包含三个部分:用户建模、物品建模以及预测部分。用户建模部分为两种不同的用户图构建了两种聚合过程,一种是item aggregation,从user-item中聚合用户相关的items来理解user,一种则是social aggregation,用于聚合social graph中的用户间的关系信息,然后最终获得用户潜在表征通过同时组合item space和user space的信息。第二个部分是物品建模部分,用于学习物品潜在因子,为了同时考虑user-item graph中的interactions以及opinions,我们引入了user aggregation,用于在物品建模的过程中聚合用户的opinions。第三个部分是通过预测来学习模型参数(通过组合用户和物品的建模成分)。
2.3 user modeling
user modeling的目标是学得用户
u
i
u_i
ui的潜在因子
h
i
∈
R
d
h_i \in \mathbb{R}^d
hi∈Rd。挑战是如何组合user-item graph和social graph。
于是使用了两种聚合器来从两个图上学习:item aggregation以及social aggregation。item aggregation用于从user-item图中学习物品空间的用户潜在因子
h
i
I
∈
R
d
h_i^I \in \mathbb{R}^d
hiI∈Rd。social aggregation用于从social图中学习社交空间用户潜在因子
h
i
S
∈
R
d
.
h_i^S \in \mathbb{R}^d.
hiS∈Rd.以上两种因子被组合起来形成最后的用户潜在因子
h
i
h_i
hi。
item aggregation:
这个时候需要同时捕捉user-item图上的interactions和opinions来形成
h
i
I
h_i^I
hiI。
C ( i ) C(i) C(i)是用户 u i u_i ui交互过的物品集合, x i a x_{ia} xia代表opinion-aware interaction representation between u i u_i ui和物品 v a v_a va。
接下来将对opinion-aware interaction representation x i a x_{ia} xia和aggregation function A g g r e i t e m s Aggre_{items} Aggreitems进行定义。
对于每一个opinions的种类 r r r(例:不同的打分值),我们都引入一个opinion embedding vector e r ∈ R d e_r \in \mathbb{R}^d er∈Rd作为一个dense vector representation来表示opinion r r r。对于一个用户 u i u_i ui和物品 v a v_a va之间具有opinion r r r的interaction,我们建模opinion-aware interaction representation x i a x_{ia} xia为通过MLP的item embedding q a q_a qa和opinion embedding e r e_r er的组合(其实就是concatenation)。MLP的输出就是opinion-aware representation x i a x_{ia} xia:
一个受欢迎的aggregation function for A g g r e i t e m s Aggre_{items} Aggreitems是mean函数。
使用注意力机制:
social aggregation:
用于从社交网络中获取用户潜在因子。过程与上面类似,不再多加叙述:
learning user latent factor:
需要同时考虑item-space user latent factors以及social-space user latent factors。在经过concatenation以后通过MLP来组合他们。
2.4 item modeling
需要同时考虑interactions和opinions。与user的item aggregation基本一致,不再赘述。
2.5 rating prediction
本文的模型GraphRec聚焦于rating prediction。
2.6 model training
目标函数: