神经影响传播模型为了社交推荐
原文链接:A Neural Influence Diffusion Model for Social Recommendation, SIGIR’19
原理:社交网络上应用GNN提取朋友对用户的影响+候选项对用户历史交互项的注意力影响=用户向量,用户向量和项向量的内积预测评分。
摘要
准确的user 和 item的嵌入学习时建立一个成功的推荐系统的关键。协同过滤CF提供了一种从用户项的交互历史中学习user和item嵌入的方式,但这样的话系统的性能将会被用户行为数据的稀疏性而限制。随着在线社交网络的出现,社交推荐系统可以利用用户邻居的表现去缓解数据稀疏性的问题,从而更好的模拟user和item的嵌入。
我们认为,对于一个社交平台的每一个用户来说,他潜在的嵌入是受其信任用户的影响的,而这些信任用户又受信任用户的社会关系的影响
。随着社交影响递归的在社交网络中传播和扩散,每个用户的嵌入会在每次的递归过程中变化
。
然而,目前的社交推荐模型仅仅是利用每个用户的本地邻居(应该指的是直接相连的邻居)来开发静态模型,而没有模拟全球社交网络中的递归扩散,导致推荐性能不佳。
在本文中,我们提出了一个深度影响传播模型
,以激发用户如何受递归社会扩散过程的影响。对于每个用户,扩散过程开始于融合了相关特性和捕获了潜在行为表现的免费用户潜在向量的一个初始嵌入。我们提出的模型的核心思想是,我们设计了一个分层的影响传播结构
来模拟用户的潜在嵌入是如何随着社会扩散过程的继续而发展的。
问题定义
user set:U ( |U|=M )
item set:V ( |V|=N )
user-item interaction matrix:R ∈ R M×N
user-user directed graph:G = [U , S ∈ R M×M ]
user attributes matrix:X ∈ R d1×M
item attributes matrix:Y ∈ R d2×N
定义【社交推荐】:
Given a rating matrix R, a social network S, and associated real-valued feature matrix X and Y of users and items, our goal is to predict users’ unknown preferences to items as: Rˆ = f (R, S, X, Y), where Rˆ ∈ R M×N denotes the predicted preferences of users to items.
模型结构
模型的整体框架如下:
Embedding Layer
用 P ∈ RD×M 和 Q ∈ RD×N 分别表示 users 和 items 的free embeddings,他们捕获了用户和项协作的潜在表示,给定用户和项的索引,embedding layer 根据索引从矩阵 P 和 Q 中得到用户潜在向量 pa 和项潜在向量 qi。
Fusion Layer
对于每个用户 a,融合层将用户潜在向量 pa 和用户特征向量 xa 作为输入,输出用户 a 的融合嵌入 h0a,融合嵌入从不用类型的输入数据中捕获了用户最初的兴趣。(项操作类似)我们用一层全连接层来模拟融合层:
Influence Diffusion Layers
对于每个用户 a,用 hka 表示他在影响传播部分第 k 层的潜在嵌入,通过将第 k 层的输出输入到第 k+1 层,将会把用户 a 的潜在嵌入更新为hk+1a。
hkSa :平均池化操作,就是将用户 a 在 k 层信任的所有用户向量取平均来进行表示。
在给定 K 的情况下,最终会得到用户 a 在第 K 层的潜在嵌入 hKa
Predict Layer
用户 a 的潜在表示由两部分组成:社交传播层输出的嵌入 hKa 和 历史行为的表示(历史交互 items 的平均表示)。
最终的预测由 user 最终潜在向量和 item 潜在向量的内积计算得到。
模型训练
pair-wise ranking based loss function
总结
1、要理解在社交传播层不是水波纹那样一圈一圈的计算(比如我之前写过的 pipple network),而是整体进行递归的计算。是典型 neural graph network 的那种计算方式。
2、作者所说的社交网络的动态影响其实只是区别于之前一些工作中直接将邻居(信任用户)向量进行简单的平均池化操作而言,作者的方法考虑递归的考虑了这些邻居的向量表示,让邻居的向量表示也像当前用户向量的计算方式那样计算。这里用到的社交网络其实也是静态的,并没有随着时间的变化而改变,比如下一个时刻用户信任了别的用户,信任网络可能随着时间而扩大。
3、对于信任用户的信任程度方面,没有考虑不同用户的重要程度,更没有考虑用户在购买不同物品时对不同用户的不同信任程度。