Graph Neural Networks for Social Recommendation 社交信息引入图推荐

本文首发于公众号:code路漫漫,欢迎关注
在这里插入图片描述

Motivation

社交信息在推荐系统中常以社交关系图存在,其中的结点是用户,边表示用户之间的联系,两个结点有边直接相连表示这两个用户是好友。
在推荐系统中存在着两种图:

  1. 社交网络图 user-user,包含用户和用户之间的社交信息
  2. 用户物品交互图 user-item,包含用户和物品之间的交互信息

在这里插入图片描述

社交关系图中包含着用户的社交信息,结合社交网络的推荐常用做法就是把社交网络信息整合到用户和物品的 latent factor learning 中。在推荐系统中引入社交信息存在着几个挑战:

  1. 怎么整合两种图的信息
  2. 怎么捕捉用户对物品的交互和偏好
  3. 怎么区分社交关系的影响,不同的好友应该具有不同的影响力

Contribution

论文的几个贡献:

  1. 提出了 GraphRec 框架,把社交信息引入到推荐中
  2. 提出了在 user-item graph 上捕捉用户物品交互和用户偏好的方法
  3. 提出了考虑不同社交关系影响的方法
  4. 做了对比试验展示 GraphRec 的有效性

Solution

在这里插入图片描述

GraphRec 框架由三个模块组成:

  1. User Modeling,学习 user latent factor
  2. Item Modeling,学习 item latent factor
  3. Rating Prediction,进行评分预测

上面图的右下角是三个 embedding,User Modeling 和 Item Modeling 都利用了其中的一些embedding进行学习,下面介绍每个模块

User Modeling

为了更好的学习到 user latent factor,论文提出了两个 aggregation 方法对已有的信息整合

  1. item aggregation,学习 item-space user latent factor
  2. user aggregation,学习 social-space user latent factor

然后对两个 aggregation 的结果进行整合即可得到最终的 user latent factor

1 item aggregation

简单概括一下:
首先是 item aggregation,它结合 item embedding 和 opinion embedding (opinion 是用户对交互物品的评分)得到 interaction representation,然后把 interaction representation 和 user embedding 结合起来得到结果
在这里插入图片描述

更详细的表述:
公式符号的定义:
在这里插入图片描述
在这里插入图片描述

公式1里面利用了两个组件,一个是 opinion-aware interactoin representation,另一个是 Aggreitems 聚合函数
opinion-aware interactoin representation 的定义方法如下:
在这里插入图片描述

这里直接用了一个 2 层的 MLP 来接收 item embedding 和 opinion embedding,MLP 的输出就是上文要求的 representation。
至于聚合函数,这里使用了注意力机制去计算每个邻居的影响,而不是使用 mean-pooling 对所有邻居做同等的处理
在这里插入图片描述

至此我们的 item aggregation 就完成了,总结一下,一个是由 2 layer MLP 得到的 interaction representation,另一个是注意力机制得到的聚合函数,两个组合成公式1,然和得到 item-space user latent factor

2 social aggregation

从特定的user出发,聚合它邻居节点的item-space embedding,由此得到 social-space embedding,逻辑和计算方法同 item aggregation
在这里插入图片描述

也使用了注意力机制去得到结果
在这里插入图片描述

3 Learning User Latent Factor

这里就是把前两个学习到的 latent factor 直接拼接起来作为最终的结果
在这里插入图片描述

最后整个 User Modeling 的模块图
在这里插入图片描述

Item Modeling

和 User Modeling 一样,都是为了更好的得到 item representation,这里只有一个 user aggregation

User Aggregation

使用和物品交互过的用户来建模物品,具体表现是通过 user embedding 和 opinion embedding 来得到 opinion-aware interaction user representation
在这里插入图片描述

然后利用这个 fjt 去进一步计算 item latent factor

在这里插入图片描述

同样的使用注意力机制改进权重计算
在这里插入图片描述

至此我们得到了 user 和 item 的 latent factor,然后接下来就是组合了
论文这里直接将两个 latent factor 进行拼接,然后用 MLP 去预测得分,也是最后的 Rating Prediction 模块的组成
在这里插入图片描述

Evaluation

这里是实验部分
数据集是 Ciao 和 Epinions
在这里插入图片描述

评价指标是 MAE 和 RMSE
baseline 的话直接看实验结果吧
在这里插入图片描述

可以看到论文显示 GraphRec 是最优的,证明社交信息的引入有助于提高模型的性能
作者对进行了消融实验:
GraphRec-SN:去掉社交信息
GraphRec-Opinion:去掉 opinion embedding
在这里插入图片描述

实现显示 GraphRec-SN 效果不如 GraphRec,而去掉 opinion embedding 会使得性能很糟糕
然后对注意力机制的有效性进行了研究,这里划分了五个机制
在这里插入图片描述

在这里插入图片描述

还是原来的最好
然后对 embedding size 进行了研究
在这里插入图片描述

代码:
代码这一块网上争议比较大,包括官方的代码都没能复现出论文的效果
这里有作者开源的代码
https://github.com/wenqifan03/GraphRec-WWW19

还有几个第三方实现的代码
https://github.com/Wang-Shuo/GraphRec_PyTorch

https://github.com/lcwy220/Social-Recommendation

Summarization

一篇将社会信息引入推荐系统的文章,论文中涉及到的 embedding:
user embedding
opinion embedding
item embedding
然后把这些 embedding 聚合,得到更好的 represention,从而得到改进最后的预测结果

  • 1
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
混合神经网络用于少样本学习。少样本学习是指在给定的样本数量非常有限的情况下,如何进行有效的学习和分类任务。混合神经网络是一种结合了神经网络和其他模型的方法,用于解决少样本学习问题。 首先,混合神经网络将神经网络与其他模型结合起来,以充分利用它们在不同任务上的优势。神经网络可以有效地处理结构数据,并捕捉节点之间的关系,而其他模型可能在处理其他类型的数据时更加优秀。通过将它们结合起来,混合神经网络可以在少样本学习中更好地利用有限的数据。 其次,混合神经网络可以通过在训练过程中使用一些预训练模型来提高学习效果。预训练模型是在大规模数据集上进行训练得到的模型,在特定任务上可能有较好的性能。通过将预训练模型与神经网络结合,混合神经网络可以在少样本学习中利用预训练模型的知识,以更好地适应有限的数据。 最后,混合神经网络还可以通过设计适当的注意力机制来提高学习效果。注意力机制可以使网络更加关注重要的特征和关系,忽略无关的信息。在少样本学习中,选择性地关注有限的样本和特征对于提高学习的效果至关重要。混合神经网络可以通过引入适当的注意力机制来实现这一点,以提取和利用关键信息。 综上所述,混合神经网络是一种用于少样本学习的方法,它结合了神经网络和其他模型的优势,并利用预训练模型和适当的注意力机制来提高学习效果。这种方法对于在有限数据条件下执行有效的学习和分类任务非常有帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值