本文主要是介绍【论文笔记】Graph Neural Networks for Recommender Systems: Challenges, Methods, and Directions,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
文章链接:https://arxiv.org/pdf/2109.12843.pdf
本文是清华李勇和中科大何向南组最新的推荐中GNN综述
推荐系统的发展历程
浅层模型
早期的推荐模型主要通过计算交互的相似度来捕获协同信号,之后随着Netflix比赛中矩阵分解模型的大放异彩,推荐系统被转化为表示学习问题。
神经网络模型
浅层的模型不足以建模复杂的用户行为和大量数据输入,以神经协同过滤NCF,深度因子分解机DeepFM为代表的神经网络方法被开发了出来。
图神经网络模型
传统的神经网络很难学习到数据中的高阶结构信息,而图神经网络GNN采用消息传递机制整合邻居信息,通过多层堆叠使得节点可以访问高阶邻居的信息。因此图神经网络模型近年来被广泛应用在推荐系统中,并成为最先进的方法。
GNN
- 图的构建
- 同构图 边和节点只有一类
- 异构图 边和节点有多个种类
- 超图 一条边可以链接多个点
-
图神经网络的建模,消息传递聚合机制
-
如何优化
- 链路预测:BPRloss
- 节点分类:Logloss
- GNN为什么适合推荐系统
- 结构化数据
推荐系统数据多,种类杂(交互,用户画像,商品属性等),用图可以统一整合在一起,获得高质量嵌入。
- 高阶关联
堆叠GNN层可以自然引入高阶关联,增强协同过滤信号
- 监督信号
监督信号,例如交互数量稀疏。GNN在表示学习中利用半监督信号来缓解监督信号少的问题。
- GNN在推荐系统上应用需要考虑的几个问题
构图—> 消息传递聚合机制—> 模型优化—> 训练和推理效率
推荐系统的分类
根据推荐系统的不同阶段
- Matching 匹配阶段:第一个推荐阶段会从非常大的item池子中匹配出几百个候选项目。该阶段的特点有数据规模大,同时出于在线服务的延迟考虑,模型通常比较简洁。此外,现实工业界中的推荐系统通常包含多个匹配渠道,来分别考虑不同方面的信息。
- Ranking 排序阶段:第二个推荐阶段会把来自不同渠道的多个匹配结果整合到一个列表中,并对其进行排序,选出排名靠前的items。这一阶段由于输入规模较少,系统可以为了精度来使用复杂算法,并把多种特征考虑进来。同时多种特征之间如何交互也成为了该阶段的关键挑战。
- Re-ranking 重排序阶段:上一阶段的优化目标主要是推荐精度,但推荐系统除了精度之外,还需要考虑新鲜度,多样性,公平性等问题。这一阶段需要考虑不同Items之间的多重关系,进行删除或者更改顺序等操作。
根据不同推荐场景
- 社交推荐
除了用户-商品之间的交互之外,利用用户的社交关系来增强推荐效果。
主要挑战:如何捕获社交因素,如何结合社交信息和交互行为
近期发展:
- 序列推荐
利用用户的历史交互序列提取用户的兴趣,来预测下一个item。
主要挑战:如何从序列中提取尽可能多的有效信息
近期发展:
- 会话推荐
用户档案和长期的历史交互不可用,只通过匿名用户的短会话数据进行推荐。
主要挑战:如何在会话数据中建模items的变化模式以及如何在噪声数据中提取用户的核心需求
近期发展:
- 捆绑推荐
给用户推荐bundle(一组items)而不是单个item
主要挑战:用户对捆绑包的决策需要考虑items的从属关系,用户和捆绑包的交互更加稀疏,高阶关联的建模
近期发展:
- 跨域推荐
利用用户在多领域内的历史交互,缓解冷启动和数据稀疏问题。
主要挑战:如何整合利用不同域的信息
近期发展:
- 多行为推荐
利用多种行为下的交互进行推荐,来缓解数据稀疏问题。
主要挑战:如何建模多种行为和目标行为之间的关系,如何通过行为建模物品的语义信息。
近期发展:
根据不同的推荐目标
- 多样性
给用户推荐不同种类的Items,减少冗余。
主要挑战:如何增强劣势主题的信号,如何在多样性和准确性之间权衡。
近期发展:
- 可解释性
解释为什么给这个用户推荐这个Item
主要挑战:如何细粒度解释
近期发展:
- 公平性
给不同用户的推荐结果中去偏见。
主要挑战:如何减小推荐中的歧视和社会偏见
近期发展:
未来发展方向
- 更深层的GNN,CNN加深之后性能更好了,GNN加深可以捕获更高阶的关联,但是存在过平滑等问题,同时在GNN加深的过程中,也要保证计算量是可以接受的。
- 动态的GNN推荐,应用场景中很多图是一直在动态变化的,如何使推荐系统自适应时间演化具有很大现实意义。
- 知识图谱增强的GNN推荐,利用知识图谱引入更多外部知识,提高推荐质量的同时也能考虑多样性,公平性更多指标。
- 效率和可扩展性,大规模工业系统中的效率和大数据量。
- 自监督GNN,利用自监督缓解数据稀疏问题。
- 对话推荐,在聊天过程中进行推荐。
- 自适应GNN推荐,推荐目前有很多场景,如何结合Auto ML等技术,创建通用的GNN推荐系统。
这篇关于【论文笔记】Graph Neural Networks for Recommender Systems: Challenges, Methods, and Directions的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!