Graph Neural Networks for Recommender Systems | Chen Gao
本文最后更新于:9 个月前
从四个角度对推荐系统的研究进行了分类:阶段、场景、目标和应用

BG
1. 推荐系统
现代推荐系统三个阶段stage:
- 匹配:核心任务是高效检索潜在相关项目,并实现用户兴趣的粗粒度建模
- 排序:在匹配阶段之后,来自不同渠道的多个候选项目来源被合并到一个列表中,然后通过单个排名模型进行评分。
- 再排序:去除某些项目或更改列表的顺序,以满足其他标准并满足业务需求
不同场景scenario:社交推荐、顺序推荐、会话推荐、捆绑推荐、跨域推荐和多行为推荐
社交推荐:用户交互由自己的偏好和社会因素(社会影响力和社会同质性)共同决定。
序列推荐:从这些行为序列中提取信息并预测用户的下一个交互项,
基于会话的推荐SBR:用户档案和长期历史交互是不可用的,只提供来自匿名用户的短会话数据。SBR旨在使用给定的匿名行为会话数据预测下一个项目
捆绑推荐:推荐项目组合供用户消费
跨域推荐CDR:缓解冷启动和数据稀疏问题的一种很有前途的方法,分为两类,单目标(STCDR)和双目标(DTCDR)
多行为推荐:用户在多种行为而不是仅一种行为下与推荐系统交互。对于每个用户𝑢和项目𝑣,假设有𝐾不同类型的行为{𝑦1,𝑦2,...,𝑦𝐾}。 对于第 𝑖 行为,如果用户有观察到的行为,则 𝑦𝑖 = 1,否则 𝑦𝑖 = 0。目标是提高对某类目标行为的预测准确率 𝑦𝑡。
目标objective:准确性
- 多样性 individual-level diversity & system-level diversity.
- 解释能力 generate per-suasive explanations for how and why the item is recommended to a specific user
- 公平性 user fairness & item fairness
应用application
2. 图神经网络
The rise of GNN mainly originates from the advancement of convolutional neural network (CNN) and graph representation learning (GRL)
图构建:预先存在的图数据或从非结构化数据中抽象出图节点和边的概念
网络设计: GNN 模型可以分为光谱模型和空间模型. (how?图傅里叶变换) 通过迭代收集邻域信息来捕获图节点和边之间的高阶相关性.这里“信息”表示为嵌入,即低维向量。
GCN \[ H^{l+1}=\delta(\hat{D}^{-\frac{1}{2}}\hat{A}\hat{D}^{-\frac{1}{2}}H^lW^l) \]
GraphSAGE
GAT
自动学习节点互相的影响度
通过注意力机制,对给定信息进行权重分配,权重高意味着要进行重点加工。为不同的节点指定不同的权重来聚合邻域特征(嵌入)
HetGNN
HGNN
模型优化:基于 GNN 的模型中的优化将 GNN 泛化的表示视为输入,将图结构(例如边、节点类)视为标签,并为训练定义损失函数
3. Why are GNNs required for recommender systems
结构数据: 将所有数据表示为图上的节点和边;可以获得用户、项目和其他特征的高质量嵌入
高阶连通性:协同过滤效果可以自然地表示为图上的多跳邻居,并通过嵌入传播和聚合将其合并到学习的表示中。
监督信号:监督信号在收集的数据中通常是稀疏的,而基于 GNN 的模型可以在表示学习过程中利用半监督信号来缓解这个问题。
CHALLENGES
1. 图构建
两个任务:将数据输入构建为图形结构数据; 将推荐目标重新组织为图上的任务。
//TODO 表示学习,节点嵌入
- 节点
- 边
2. 网络设计
传播层,如何选择路径,聚合函数也有多种选择
3. 模型优化
BPR loss, 即让正样本和负样本的得分之差尽可能达到最大

数据采样。 在基于 GNN 的推荐中,要对正项或负项进行采样,采样方式高度依赖于图结构
4. 计算效率
EXISTING METHODS
GNN in Session-based Recommendation
two challenges:
how to model the item transition pattern in session data -->item transitions
how to activate user’s core interests from noisy data -->the information propagation on the graph
GNN in Multi-behavior Recommendation
- 如何对多个行为与目标行为之间的关系进行建模,
- 如何通过行为对项目的语义进行建模,
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!