【论文整理】基于图神经网络的序列推荐模型整理Graph Neural Networks for Recommender Systems: Challenges, Methods, and Direct

本文主要是介绍【论文整理】基于图神经网络的序列推荐模型整理Graph Neural Networks for Recommender Systems: Challenges, Methods, and Direct,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

序列推荐发展历程

在这里插入图片描述
对于序列推荐,为了提高推荐性能,需要从序列中提取尽可能多的有效信息,并了解用户在序列中的兴趣,包括短期兴趣、长期兴趣、动态兴趣等,以便准确预测用户可能感兴趣的下一个项目。已经使用了一些序列建模工具,如马尔可夫链或递归神经网络GNN。对于图神经网络,通过将数据转换为图,它可以很好地用于短期、动态的兴趣建模或表示学习。使用GNN进行序列建模的一般模式。
SURGE将每个用户的序列转换为项目-项目图,并通过度量学习自适应地学习边的权重,动态图池只保留较强的边。保留的图形通过位置展平转换为序列,并最终用于预测下一个项目。
MA-GNN考虑序列中的短期兴趣建模,以构建项目-项目图。对于每个项目,它只会在序列中构建与其他项目接近的边。这使它能够在仍然通过其他网络学习长期用户兴趣。将学习到的多个表示融合在一起并用于最终推荐。
由于GNN具有通过聚集相邻节点的信息进行高阶关系建模的能力,因此在将多个序列融合到一个图中后,它可以学习不同序列中用户和项目的表示,这是马尔可夫模型或递归神经网络所无法完成的。Wang等人[ Knowledge-enhanced graph neural networks for sequential recommendation.]提出了一种简单的方法,将序列信息直接转换为图上的有向边,然后使用GNN学习表示。
ISSR模型同时构建了用户项目二部图和项目项目图,其中项目项目图的边表示序列中的共现,边权重根据出现的次数分配。GNN学习到的表示通过递归神经网络用于最终推荐。与直接将时间序列转换为图中的有向边不同,DGSR和TGSRec在构建图的过程中考虑了序列中的时间戳。在图中,每条边表示用户和项目之间的交互,并具有相应的时间属性。然后对时态图执行卷积运算,以了解用户和项目的表示。GES-SASRec和SGRec专注于项目表征的学习。
对于序列中的一个项目,GES-SASRec考虑其他序列中该项目的下一个项目,SGRec不仅考虑下一个项目,还考虑上一个项目。通过将目标项目前后的项目按不同的顺序聚合,增强了项目的表示。GPR和GME通过考虑连续出现的频率或相同序列中出现的频率来构建项目之间的边,以增强表示。
有些作品更复杂。例如,RetaGNN在构建图表时考虑了项目的属性,而STP-UDGAT在POI建议中考虑了地理位置、时间戳和频率。

各模型细节

在这里插入图片描述

这篇关于【论文整理】基于图神经网络的序列推荐模型整理Graph Neural Networks for Recommender Systems: Challenges, Methods, and Direct的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/403069

相关文章

MyBatis Plus 中 update_time 字段自动填充失效的原因分析及解决方案(最新整理)

《MyBatisPlus中update_time字段自动填充失效的原因分析及解决方案(最新整理)》在使用MyBatisPlus时,通常我们会在数据库表中设置create_time和update... 目录前言一、问题现象二、原因分析三、总结:常见原因与解决方法对照表四、推荐写法前言在使用 MyBATis

Java SWT库详解与安装指南(最新推荐)

《JavaSWT库详解与安装指南(最新推荐)》:本文主要介绍JavaSWT库详解与安装指南,在本章中,我们介绍了如何下载、安装SWTJAR包,并详述了在Eclipse以及命令行环境中配置Java... 目录1. Java SWT类库概述2. SWT与AWT和Swing的区别2.1 历史背景与设计理念2.1.

Java日期类详解(最新推荐)

《Java日期类详解(最新推荐)》早期版本主要使用java.util.Date、java.util.Calendar等类,Java8及以后引入了新的日期和时间API(JSR310),包含在ja... 目录旧的日期时间API新的日期时间 API(Java 8+)获取时间戳时间计算与其他日期时间类型的转换Dur

MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)

《MySQL复杂SQL之多表联查/子查询详细介绍(最新整理)》掌握多表联查(INNERJOIN,LEFTJOIN,RIGHTJOIN,FULLJOIN)和子查询(标量、列、行、表子查询、相关/非相关、... 目录第一部分:多表联查 (JOIN Operations)1. 连接的类型 (JOIN Types)

详解如何使用Python从零开始构建文本统计模型

《详解如何使用Python从零开始构建文本统计模型》在自然语言处理领域,词汇表构建是文本预处理的关键环节,本文通过Python代码实践,演示如何从原始文本中提取多尺度特征,并通过动态调整机制构建更精确... 目录一、项目背景与核心思想二、核心代码解析1. 数据加载与预处理2. 多尺度字符统计3. 统计结果可

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

SpringBoot整合Sa-Token实现RBAC权限模型的过程解析

《SpringBoot整合Sa-Token实现RBAC权限模型的过程解析》:本文主要介绍SpringBoot整合Sa-Token实现RBAC权限模型的过程解析,本文给大家介绍的非常详细,对大家的学... 目录前言一、基础概念1.1 RBAC模型核心概念1.2 Sa-Token核心功能1.3 环境准备二、表结

利用Python实现时间序列动量策略

《利用Python实现时间序列动量策略》时间序列动量策略作为量化交易领域中最为持久且被深入研究的策略类型之一,其核心理念相对简明:对于显示上升趋势的资产建立多头头寸,对于呈现下降趋势的资产建立空头头寸... 目录引言传统策略面临的风险管理挑战波动率调整机制:实现风险标准化策略实施的技术细节波动率调整的战略价

C++ HTTP框架推荐(特点及优势)

《C++HTTP框架推荐(特点及优势)》:本文主要介绍C++HTTP框架推荐的相关资料,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1. Crow2. Drogon3. Pistache4. cpp-httplib5. Beast (Boos

JAVA数组中五种常见排序方法整理汇总

《JAVA数组中五种常见排序方法整理汇总》本文给大家分享五种常用的Java数组排序方法整理,每种方法结合示例代码给大家介绍的非常详细,感兴趣的朋友跟随小编一起看看吧... 目录前言:法一:Arrays.sort()法二:冒泡排序法三:选择排序法四:反转排序法五:直接插入排序前言:几种常用的Java数组排序