ExpGCN:深度解析可解释推荐系统中的图卷积网络

news2025/1/19 16:45:02

一、引言

在当今信息爆炸的时代,推荐系统已成为电子商务和社交网络中不可或缺的工具,旨在为用户筛选出符合其兴趣的信息。传统的协同过滤(CF)技术通过挖掘用户与项目之间的交互记录来生成推荐,但这种方法简化了模型,难以充分利用网络数据中的丰富信息。近年来,推荐系统的发展趋势逐渐向可解释性倾斜,即通过评论等文本数据来增强模型的可解释性,生成用户能够理解的解释。本文将详细介绍一种新型的可解释推荐系统模型——ExpGCN(Review-aware Graph Convolution Network for explainable recommendation),该模型在处理用户-项目-解释三元组交互数据方面表现出色,显著提升了推荐性能。

二、相关工作

(一)可解释推荐

早期的研究尝试通过语言处理模型,如基于主题的模型,来处理文本数据以增强推荐系统的可解释性。后续的研究则更精细地从评论文本中提取有意义的词汇或短语作为显式因素,这些因素可以通过矩阵分解、图学习和认知推理等方式作用于推荐。与上述方法不同,解释排名(Li et al., 2021a)将解释生成视为一个基于排名的问题,类似于项目推荐。提取的方面、特征或解释可以与用户和项目以三元组的形式关联,类似于个性化标签推荐的方法。然而,这些联合学习模型虽然能够通过联合学习策略增强推荐性能,但未能解决不同任务目标之间的潜在冲突,导致性能退化

(二)基于GNN的推荐

图神经网络(GNN)在表示学习方面的强大性能使其成为推荐问题中的热门研究目标,尤其是在探索不同实体之间的关系方面。在CF中,用户-项目交互对是关键组成部分,可以自然地表示为二部图。为了捕获用户和项目之间的协作信号,Wang等人(2019)设计了一种基于GNN的模型NGCF,该模型通过图卷积出色地捕获了相关性,但由于其复杂的结构,在大规模推荐问题中的应用有限。为了提高有效性和效率,He等人(2020)提出了LightGCN,去除了NGCF中对推荐任务无贡献的组件。尽管GNN在推荐中的强大性能,但其无法简单地扩展以考虑辅助信息。一些工作基于项目与不同实体之间的关系构建知识图谱,并提出了知识图谱推荐模型,这些模型从异构项目-实体知识图谱中学习项目特征,并将其与用户-项目交互结合用于推荐,并且可以基于实体信息生成解释。

三、ExpGCN模型

(一)模型架构

ExpGCN模型的核心在于将用户-项目-解释三元组交互数据划分为三个子图,分别表示用户-项目、用户-解释和项目-解释之间的关系。这种划分方式简化了信息聚合过程,避免了在异构图中平衡不同类型邻居节点的复杂性。模型的输入是用户-项目-解释交互立方体输出是用户对项目的偏好分数和用户对解释的偏好分数,分别用于项目推荐任务和解释排名任务。

(二)方法介绍

  1. 子图构建:基于用户-项目-解释交互立方体,构建三个子图:用户-解释偏好子图(GUA)、项目-解释偏好子图(GIA)和用户-项目交互子图(GUI)。每个子图的边权重分别表示用户对解释的提及次数、项目对解释的提及次数和用户对项目的交互次数

  2. 表示学习:在每个子图上执行图卷积操作,采用线性图卷积(LGC)和平均层聚合策略。通过迭代传播,计算每个节点的表示。为了缓解过平滑问题,将每层的节点表示组合为最终的节点表示。

  3. 解释偏好建模:通过共享嵌入层,将解释节点嵌入矩阵作为GUA和GIA图的初始层,分别聚合用户邻居和项目邻居,生成最终的表示嵌入。用户对解释的偏好分数通过内积计算得出。

  4. 项目偏好建模:在项目推荐任务中,将为解释排名任务学习的用户和项目表示添加到原始的0层节点嵌入中,作为用户-项目交互子图GUI的输入。通过在GUI上执行相同的图卷积操作,获得用户和项目的最终表示,并计算项目偏好分数。

(三)创新点

ExpGCN模型的创新之处在于: 

  • 图划分策略:通过将异构交互图划分为子图,简化了信息聚合过程,减少了计算复杂性,并缓解了任务学习目标之间的冲突。

  • 任务导向的节点表示:为项目推荐和解释排名任务分别生成任务导向的节点表示,减少了不同任务学习目标之间的潜在冲突,提高了模型的性能。

  • 参数共享策略:在多任务学习中,通过不同的子图实现任务导向的消息传递,生成用户和项目在两个任务中的不同但相关的表示,解决了现有方法中参数共享导致的性能退化问题。

四、实验

(一)数据集

实验使用了四个公共数据集:Amazon Movies & TV、TripAdvisor、Yelp和HotelRec。这些数据集在主题、规模和密度上各不相同,为不同推荐模型的全面评估提供了基础。

(二)评估指标

对于项目推荐和解释排名任务,采用Recall@k和NDCG@k两个流行指标来评估top-k推荐任务。同时,使用几何平均数(GM)来衡量两个任务的联合性能。

(三)基线模型

与7种基于评论的推荐模型进行比较,包括PITF-J、AMCF、BPER-J、A2-GCN、A2-GCNLight和TGCN等。

(四)性能比较

ExpGCN在每个单一任务和联合任务中均优于所有基线模型,显著提升了所有评估指标的性能。这归因于ExpGCN在不同类型的邻居节点上进行信息聚合的能力,以及通过任务导向的节点表示减少不同学习目标之间的潜在冲突。

(五)详细研究

  1. 负采样比率的影响:在Amazon Movies & TV数据集上,随着负采样比率从1增加到10,所有模型的性能都有显著提升。当负采样比率大于10时,性能增长放缓并趋于稳定。ExpGCN在所有负采样比率下均优于其他基线模型,且在较低的采样比率下就能获得比其他基线模型更好的性能。

  2. 层组合的影响:对于项目推荐任务,随着每个子图的层数增加,Recall@20的结果逐渐增长,其中用户-项目子图的影响更为显著。对于解释排名任务,随着层数的增加,ExpGCN的性能先增长后下降,这可能是由于过平滑问题。尽管用户-项目子图不直接参与解释排名任务的节点表示形成,但改变用户-项目子图卷积层的层数也会影响解释排名的性能,表明两个任务之间的相关性是通过共享的底层嵌入层传递的。

(六)消融分析

通过对比ExpGCN的不同变体,验证了每个组件的贡献。完整的ExpGCN在两个任务上均取得了最佳性能,其次是w/o AG变体。w/o PS和w/o TO变体在其中一个任务上表现良好,但在另一个任务上表现不佳,这表明底层共享策略和任务导向的节点表示学习策略对性能提升有显著贡献。这表明ExpGCN有效地缓解了负迁移问题,并提高了模型在两个任务上的性能。AD

五、结论

本文提出的ExpGCN模型旨在提供与用户偏好相匹配的推荐解释。通过设计图划分方法简化消息传递,并在不同子图上聚合节点表示,ExpGCN能够用于项目推荐和解释排名两个不同的任务。获得的任务导向节点表示在共享信息的同时减少了不同任务学习目标之间的冲突。广泛的实验表明,ExpGCN在每个单一任务上均优于现有的最先进基线模型。消融研究和效率分析验证了图划分策略和任务导向表示在ExpGCN中的有效性,这些策略在效率和性能方面带来了显著的提升。图划分策略在可解释推荐方面表现出色,并且可以推广到任何异构图,这可能是我们未来工作的潜在方向。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2278986.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蓝桥杯3526 子树的大小 | 数学规律

题目传送门 这个题目是一个数学题,比较好的方法是从上往下寻找子树的最左和最右的结点,每层统计子结点数,到树的底部时打印结果。 如何求最左、最右的子结点呢? 对于第i个结点,其前面有i-1个结点,每个结点各有m个孩子,再加上1号结…

大语言模型的语境中“越狱”和思维链

大语言模型的语境中“越狱”和思维链 越狱(Jailbreaking) 含义:在大语言模型的语境中,“越狱”是指用户试图绕过语言模型的安全限制和使用规则,让模型生成违反伦理道德、包含有害内容(如暴力、歧视、恶意软件代码等)的输出。这些安全限制是由模型开发者设置的,目的是确…

解决leetcode第3418题机器人可以获得的最大金币数

3418.机器人可以获得的最大金币数 难度:中等 问题描述: 给你一个mxn的网格。一个机器人从网格的左上角(0,0)出发,目标是到达网格的右下角(m-1,n-1)。在任意时刻,机器人只能向右或向下移动。 网格中的每个单元格包含一个值coin…

python实现pdf转word和excel

一、引言   在办公中,我们经常遇收到pdf文件格式,因为pdf格式文件不易修改,当我们需要编辑这些pdf文件时,经常需要开通会员或收费功能才能使用编辑功能。今天,我要和大家分享的,是如何使用python编程实现…

【实践】操作系统智能助手OS Copilot新功能测评

一、引言 数字化加速发展,尤其人工智能的发展速度越来越快。操作系统智能助手成为提升用户体验与操作效率的关键因素。OS Copilot借助语言模型,人工智能等,对操作系统的自然语言交互操作 推出很多功能,值得开发,尤其运…

人物一致性训练测评数据集

1.Pulid 训练:由1.5M张从互联网收集的高质量人类图像组成,图像标题由blip2自动生成。 测试:从互联网上收集了一个多样化的肖像测试集,该数据集涵盖了多种肤色、年龄和性别,共计120张图像,我们称之为DivID-120,作为补充资源,还使用了最近开源的测试集Unsplash-50,包含…

【深度学习实战】kaggle 自动驾驶的假场景分类

本次分享我在kaggle中参与竞赛的历程,这个版本是我的第一版,使用的是vgg。欢迎大家进行建议和交流。 概述 判断自动驾驶场景是真是假,训练神经网络或使用任何算法来分类驾驶场景的图像是真实的还是虚假的。 图像采用 RGB 格式并以 JPEG 格式…

网络编程 | UDP套接字通信及编程实现经验教程

1、UDP基础 传输层主要应用的协议模型有两种,一种是TCP协议,另外一种则是UDP协议。在上一篇博客文章中,已经对TCP协议及如何编程实现进行了详细的梳理讲解,在本文中,主要讲解与TCP一样广泛使用了另一种协议&#xff1a…

【Linux】线程全解:概念、操作、互斥与同步机制、线程池实现

🎬 个人主页:谁在夜里看海. 📖 个人专栏:《C系列》《Linux系列》《算法系列》 ⛰️ 道阻且长,行则将至 目录 📚一、线程概念 📖 回顾进程 📖 引入线程 📖 总结 &a…

掌握未来:从零开始学习生成式AI大模型!

随着人工智能技术的飞速发展,生成式AI大模型已成为当今科技领域的热点。从文本生成、图像创作到音乐创作,生成式AI大模型在各个领域展现出惊人的潜力。本文将带领大家从零开始,逐步学习生成式AI大模型,掌握未来的关键技术。 一、生…

多肽合成 -- 液相合成(liquid-phase peptide synthesis (LPPS))

液相合成的定义 液相合成(Solution Synthesis)是指在液体介质中进行的化学合成反应,是化学合成中一种基本且重要的方法。它涉及到将反应物溶解在溶剂中,在一定的温度、压力和其他反应条件下进行化学反应,从而生成所需的…

第23篇 基于ARM A9处理器用汇编语言实现中断<五>

Q:怎样修改HPS Timer 0定时器产生的中断周期? A:在上一期实验的基础上,可以修改按键中断服务程序,实现红色LED上的计数值递增的速率,主程序和其余代码文件不用修改。 实现以下功能:按下KEY0…

ChatGPT大模型极简应用开发-CH1-初识 GPT-4 和 ChatGPT

文章目录 1.1 LLM 概述1.1.1 语言模型和NLP基础1.1.2 Transformer及在LLM中的作用1.1.3 解密 GPT 模型的标记化和预测步骤 1.2 GPT 模型简史:从 GPT-1 到 GPT-41.2.1 GPT11.2.2 GPT21.2.3 GPT-31.2.4 从 GPT-3 到 InstructGPT1.2.5 GPT-3.5、Codex 和 ChatGPT1.2.6 …

2025春秋杯冬季赛 day1 crypto

文章目录 通往哈希的旅程小哈斯RSA1ez_rsa 通往哈希的旅程 根据提示推断是哈希函数,ai一下,推测大概率是一个sha1,让ai写一个爆破脚本即可 import hashlib# 给定目标 SHA-1 哈希值 target_hash "ca12fd8250972ec363a16593356abb1f3cf…

广播网络实验

1 实验内容 1、构建星性拓扑下的广播网络,实现hub各端口的数据广播,验证网络的连通性并测试网络效率 2、构建环形拓扑网络,验证该拓扑下结点广播会产生数据包环路 2 实验流程与结果分析 2.1 实验环境 ubuntu、mininet、xterm、wireshark、iperf 2.2 实验方案与结果分析…

RustDesk ID更新脚本

RustDesk ID更新脚本 此PowerShell脚本自动更新RustDesk ID和密码,并将信息安全地存储在Bitwarden中。 特点 使用以下选项更新RustDesk ID: 使用系统主机名生成一个随机的9位数输入自定义值 为RustDesk生成新的随机密码将RustDesk ID和密码安全地存储…

JavaEE之常见的锁策略

前面我们学习过线程不安全问题,我们通过给代码加锁来解决线程不安全问题,在生活中我们也知道有很多种类型的锁,同时在代码的世界当中,也对应着很多类型的锁,今天我们对锁一探究竟! 1. 常见的锁策略 注意: …

数字图像处理:实验二

任务一: 将不同像素(32、64和256)的原图像放大为像素大 小为1024*1024的图像(图像自选) 要求:1)输出一幅图,该图包含六幅子图,第一排是原图,第 二排是对应放大…

WEB渗透技术研究与安全防御

目录 作品简介I IntroductionII 1 网络面临的主要威胁1 1.1 技术安全1 2 分析Web渗透技术2 2.1 Web渗透技术的概念2 2.2 Web漏洞产生的原因2 2.3 注入测试3 2.3.1 注入测试的攻击流程3 2.3.2 进行一次完整的Sql注入测试4 2.3.3 Cookie注入攻击11 3 安全防御方案设计…

使用 Thermal Desktop 进行航天器热分析

介绍 将航天器保持在运行温度下的轨道上是一个具有挑战性的问题。航天器需要处理太空非常寒冷的背景温度,同时还要管理来自内部组件、地球反照率和太阳辐射的高热负荷。航天器在轨道上可以进行的各种轨道机动使解决这个问题变得更加复杂。 Thermal Desktop 是一款…