SIGformer: Sign-aware Graph Transformer for Recommendation

news/2024/10/15 5:38:42/

SIGformer: Sign-aware Graph Transformer for Recommendation(Sigir24)

在这里插入图片描述

摘要

在推荐系统中,大多数基于图的方法只关注用户的正面反馈,而忽略了有价值的负面反馈。将正反馈和负反馈结合起来形成一个带符号的图,可以更全面地理解用户的偏好。然而,现有的两类反馈融合算法存在两个主要局限性:1)它们分别处理正反馈和负反馈,无法从整体上利用签名图中的协作信息; 2)它们依赖于MLP或GNN从负反馈中提取信息,可能效果不佳.为了克服这些局限性,我们引入了SIGformer,一种新的基于符号感知的图推荐方法。SIGformer结合了两种创新的位置编码,可捕获带符号图的频谱属性和路径模式,从而能够充分利用整个图。

引言

普通的Transformer只关注通过自我注意的语义相似性,缺乏显式编码的协作信息的签名图。尽管现有的图Transformer模型[6,36,65]引入了微妙的位置编码来捕获图结构,但它们既不是专门为签名图设计的,也不是为推荐任务设计的。为了解决这些挑战,我们引入了两种为基于符号感知图的推荐量身定制的新颖位置编码:
(1)信号感知频谱编码(SSE)。为了整合整个符号图的结构,我们提出了在符号图上使用节点谱表示。具体地说,我们将符号图的拉普拉斯矩阵的低频特征向量作为位置编码。我们的理论分析支持了这种方法的有效性:配备SSE的Transformer可以被解释为一个低通滤波器,使具有正反馈的用户-项目对的嵌入更近,而使具有负反馈的用户-项目对的嵌入更远。
(2)信号感知路径编码(SPE)。为了进一步捕捉用户和项目之间的协作关系,我们关注符号图中的路径模式,将这些路径沿着的距离和边的符号编码成可学习的参数,以捕捉这些路径所连接的节点之间的亲和力。此设计基于我们的直觉,即不同的路径类型反映不同的相似性级别。

方法

基于图的信号感知推荐

在这里插入图片描述

Transformer

在这里插入图片描述

协同过滤相关

Transformer架构与协同过滤的基本原则紧密结合。Transformer首先基于用户和项目的投影特征来估计用户和项目之间的相似性,然后根据该相似性来聚集来自其他实体的信息,其中来自相似实体的贡献更大。该比对结果为该Transformer在符号感知图推荐中的应用提供了启发。

SIG Transformer

嵌入层

在这里插入图片描述

符号感知Transformer

在这里插入图片描述

预测层

在这里插入图片描述

符号感知频谱编码

图谱理论[12,49]表明谱特征的有效性(例如,Laplacian特征向量)来捕捉图形结构。频谱特征也被用来增强信号图上的GNN或Transformer模型[36,47,55]。受这些成功的启发,我们建议利用频谱特征来增强我们的符号感知Transformer模型。我们开始结合正图和负图的拉普拉斯算子如下:
在这里插入图片描述

符号感知路径编码

在这里插入图片描述

进一步利用符号图中的路径信息,这些信息显式地反映了用户和项目之间的协作关系。我们的基本直觉是,不同的路径类型表明它们所连接的节点之间的亲和力水平不同。如上图所示,我们首先根据路径中的长度和边的符号枚举所有路径类型,并为每个路径类型分配一个唯一的枚举ID。为了限制潜在的巨大空间的路径类型,我们限制我们的考虑路径不超过一个阈值的长度,因为过长的路径往往提供有限的协作信息。
在这里插入图片描述

框架汇总(GPT)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述


http://www.ppmy.cn/news/1539289.html

相关文章

【Go进阶】协程的创建以及通信

Goroutine 在 Go 语言中,协程(goroutine)是一种轻量级的执行线程。以下是关于协程的详细介绍: 一、定义与特点 轻量级:协程是一种非常轻量级的执行单元,相比传统的操作系统线程,协程的创建和…

实战篇:(三)项目实战Vue 3 + WebGL 创建一个简单的 3D 渲染应用

Vue 3 WebGL 创建一个简单的 3D 渲染应用 我们将使用 Vue 3 和 WebGL 创建一个简单的 3D 渲染应用。项目将展示如何在 Vue 组件中集成 WebGL,并渲染一个旋转的立方体。 1. 项目准备 首先,确保你已经安装了 Node.js 和 Vue CLI。如果还没有安装&#x…

flutter鸿蒙版本数据处理常用总集

写在前面 本地访问json 1. 确保文件路径正确 示例目录 确保文件 one.json 实际上位于项目的 assets/json/ 目录中。项目结构应该类似于: your_flutter_project/ │ ├── assets/ │ └── json/ │ └── one.json │ ├── lib/ │ └── mai…

vue3 element table 插槽外的数据更新,插槽内的数据未更新。

在使用element table组件时候,有时候需要对table内部的header插槽进行单独的列的数据操作,比如在列头增加一个筛选功能,对指定范围的值进行一个筛选,需要对input的值进行v-model的绑定,对绑定的值进行清空时候&#xf…

了解Android中的Activity生命周期

Android中的Activity生命周期详解 Android中的Activity是应用程序的基本组成单元,它为用户提供了一个可以交互的界面。Activity的生命周期是指从Activity被创建到销毁的整个过程,其中包含了多个状态转换和相应的系统回调方法。理解Activity的生命周期对…

系统架构设计师教程 第16章 16.1 嵌入式系统概述 笔记

16.1 嵌入式系统概述 嵌入式系统 (Embedded System) 是为了特定应用专门构建的计算机系统,其架构是随着嵌入式系统的逐步应用而发展形成。 16.1.1 嵌入式系统发展历程 五个阶段: 一:单片微型计算机 (SCM) 阶段,即单片机时代。…

使用 iperf3 工具测试TCP/UDP吞吐量

测试目标 - 测试网络的 TCP 和 UDP 吞吐量性能,包括不同并发连接数和目标带宽条件下的表现。 测试环境 - **测试工具**: iperf3 - **固定 IP 地址**: - 服务器 IP: 192.168.1.10 - 客户端 IP: 192.168.1.20 - **端口号**: 5201 测试准备 1. **安装 iperf3**&a…

【图论】Dijkstra

Dijkstra 前置知识 堆图论基础Bellman-Ford 思路 Dijkstra 算法是一种求正权图单源最短路的算法。 注意到BF最大的缺陷在于其对于一个点的松弛方式太暴力了。 注意到有正权这个条件。 那么我们发现,只要选取当前距离最小的点,该点不可能被松弛。 于是…