GDSRec:Graph-Based Decentralized Collaborative Filtering for Social Recommendation
摘要——基于 user-item interactions和user-user social relations生成推荐是基于 web 的系统中的常见用例。这些联系可以自然地表示为图结构数据,因此利用图神经网络(GNN)进行社会推荐已成为一个有前景的研究方向。然而,现有的基于图的方法无法考虑用户(项目)的偏差偏移。
例如,挑剔用户的低评级可能并不意味着对该项目持负面态度,因为用户在常见情况下倾向于给予低评级。
在图形建模过程中应考虑此类统计数据。虽然过去的一些工作考虑了这种偏差,但我们认为,这些提出的方法仅将偏差视为标量,无法捕获隐藏在数据中的完整偏差信息。此外,用户之间的社交关系也应该是可区分的,以便具有相似项目偏好的用户能够对彼此产生更大的影响。为此,我们提出了基于图的分布式协作过滤社交推荐(GDSRec)。
GDSRec 将偏差视为向量,并将其融合到学习用户和项目表示的过程中。通过分散的邻域聚集来捕获统计偏差偏移,而根据偏好相似性来定义社会连接强度,然后将其纳入模型设计中。
代码参考:https://github.com/MEICRS/GDSRec
1 简介
面对大量的网络用户和信息爆炸,推荐系统至关重要,它可以缓解信息过载,为用户提供更高效和高质量的服务。有效的推荐系统可以通过从大量信息中获取用户偏好的内容(例如电影、音乐、商品)而使用户受益,并通过降低促销成本使服务提供商受益。因此,近年来,推荐系统引起了广泛的兴趣。同时,随着社交媒体的发展,利用社交关系来提高推荐绩效也越来越受欢迎[1]–[3]。在社交网络中,连接的朋友之间存在信息流。用户的偏好与他/她周围的人相似或受其影响,这已被社会关联理论证明[4],[5]。
最近,深度学习由于其高表达性和模型保真度而表现出了实现良好性能的强大能力。对于社交推荐领域,用户-项目交互和用户-用户友谊可以自然地表示为图形,其中用户和项目是节点,而交互(友谊)是边缘。基于这些观察,利用 GNN 的最新进展进行社会推荐已成为一个有前景的研究方向。
然而,几乎基于 GNN 的推荐方法都是从原始交互图中学习的,很少关注图的统计信息,这可能导致对真实用户偏好的误解。例如,从用户的角度来看,挑剔的用户可能倾向于对他观看的每一部电影给予低评级,那么 5 分之 3 的评级实际上可能表示该用户的积极偏好。从项目的角度来看,如果该项目的平均评分可以达到高分(例如 4.5 分),则评分为5 分之 4 也可以表示消极态度。这是隐藏在数据中的偏见,会误导用户和项目表示的培训。
基于这一观点,提出了 FunkSVD 和 SVD++,将这些用户和项目偏差建模为评分预测中的标量。然而,我们认为这些方法很简单,但没有捕捉到实践中隐藏的真正偏见。首先,我们认为使用标量不足以完全模拟用户和项目的真实偏差。其次,现有的方法没有明确地构建数据中的偏差,而是使用原始数据进行学习。这也导致无法很好地学习偏见。此外,社会联系强度也应该是可区分的。从[11]中可以看出,与那些关系薄弱的用户相比,拥有强大关系的用户更有可能分享相似的口味,从而平等对待所有社会关系也会导致次优解。
在本文中,我们设计了一个新的基于 GNN 的模型来解决上述社会推荐问题(GDSRec)。更准确地说,我们将偏差视为向量,并将其融合到所提出的模型中的用户/项目表示中。这种设计有助于我们了解真正的用户偏好。为此,我们设计了一个分散的交互图,以考虑用户(项目)的统计偏差偏移。该图通过显式提取偏差信息来构建,并帮助模型学习更好的表示。此外,我们根据偏好相似性对用户-用户连接重新加权,这有助于模型关注有用的友谊连接,同时对冗余聚集进行降噪。
我们的主要贡献总结如下:
- 我们将评分偏差视为向量,并将其融合到学习用户和项目表示的过程中。为此,我们引入了一个新的视角,将原始图处理为分散图,并从分散图中学习用户和项目表示。通过利用原始数据的统计信息获得分散图,从而在该图上明确地提取偏差信息。
- 给出了一个简单而有效的社交关系的显式强度,然后可以将其纳入最终预测规则,并有助于提高推荐性能。
- 我们提出了一种新的基于 GNN 的社交推荐协作过滤模型(GDSRec),该模型在具有显式可微社交连接强度的分散图上学习。
- 我们在两个真实世界数据集上进行实验,以验证所提出模型的有效性。
实验结果表明,GDSRec 优于比较的最新基线。
2 背景
2.1 相关工作
对于一般推荐任务,有两种主要类型的算法:基于内容的算法[12]和协作过滤算法[13],[14]。。在这些方法中,协作过滤因其有效性和可扩展性而被广泛使用。
矩阵分解[15]–[17]是最重要的协作过滤方法之一,在各种场景中取得了巨大成功[18],[19]。它将用户和项目映射到共享的潜在因素空间,用户和项目之间的交互由其潜在因素的内积建模。在[10]中,SVD++考虑了扩展矩阵分解模型的用户和项目偏差。此外,社交网络推荐的探索已被证明是有效的。在[20]中,作者发现,与两个随机选择的用户相比,具有以下关系的用户更有可能在主题上分享相似的兴趣。因此,社会关系在帮助用户过滤信息方面发挥着重要作用。基于这种观察,已经提出了许多基于社会的推荐算法[1],[21]-[25]。在[21]中,提出了一种因子分解方法,通过使用用户的社交网络信息和评级记录来解决评级预测问题。
TrustMF[23]是通过使用社交互动中用户之间的信任网络的矩阵分解进行评级预测而引入的。TrustSVD[26]利用扩展 SVD++的信任信息。[24]和[25]中的作者利用贾卡德系数来计算社会关系的强度,但没有考虑评级。此外,一些其他工作利用辅助信息来改进推荐质量,例如[27],[28]。最近,SREPS[29]学习了用户在不同场景中的多重偏好。
深度学习模型也被用来增强推荐的模型表达能力。由于推荐数据可以自然地组织为图表,因此也开展了利用 GNN[30]–[33]进行推荐的研究。GNN 的关键洞察力是通过聚集来自邻域的特征信息来学习节点的表示。这符合协作过滤的本质。
在[34]中,作者提出了一种称为图卷积矩阵完成(GCMC)的图自动编码器框架,该框架基于在用户-项目交互图上传递的可微消息,而不使用社交关系。提出了神经图协同过滤(NGCF)[35],以将用户-项目交互集成到嵌入过程中。
引入知识图注意推荐网络(KGAT)[36]来显式建模知识图中的高阶连接性。
DiffNet[37]是通过使用分层影响扩散部分来建模用户的潜在偏好如何被可信用户递归影响而提出的。
[38]中引入了一种基于 GNN 的社交推荐算法 GraphRec。它提供了一种联合捕获交互和评级的方法,用于学习用户和项目的表示。此外,社交网络信息在 GraphRec 中用于学习用户的更好表示。
DANSER[39]提出了两个双图注意网络,以学习推荐系统中社会效果的深度表示。
Diffnet++[40]通过注入反映在用户项目图中的高阶用户潜在兴趣和反映 在用户- 用户图中的高阶用户影响促进用户和项目表示 。
LightGCN[41]通过去除图卷积 网络中的非线性激活和特征变 换简化了NGCF,并提高了推荐的性能。
ESRF[42]开发了一个基于图卷积网络的深度对抗框架,以应对社交推荐的挑战。
FBNE[43]通过折叠用户-项目二分 图 来 改 进 社 交 推 荐 的 性 能 , 探索了隐含的高阶用户 -用户关系 。
HOSR[44]是通过沿高阶社交邻居执行嵌入传播来生成用户嵌入。
然而,大多数这些方法没有考虑到图形数据中存在的统计偏移,同时也缺乏有效而简单的强度设计社会关系。
2.2 符号
用户集合,R(ui)是用户 ui 交互的项目集合。设 N(ui)是用户ui在社交网络中直接连接的用户集∈ RD 表示用户 ui 的嵌入,qvj∈ RD表示项目 vj 的嵌入,其中 D 是嵌入大小。E(ui)和 E(vj)分别表示用户 ui 和项目 vj 的平均评分。⌈ ·⌉ 和|·|分别是整数值函数和绝对值函数。⊕ 表示两个向量之间的连接操作。⟨ ·⟩ 用于获取数据集中的条目数。
3 拟议框架
我们首先给出了问题的公式,然后介绍了分散图和所提出的框架。稍后,我们详细介绍了如何获得预测的评分,并从所提出的模型中学习用户/项目潜在因素偏移。最后,我们解释了如何训练模型。
3.1 问题制定
假设有 N 个用户 U={u1,u2,···,uN},M 个项目 V={v1,v2,··