首页 > 其他分享 >ExpGCN:深度解析可解释推荐系统中的图卷积网络

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

时间:2025-01-18 21:01:10浏览次数:3  
标签:解释 项目 卷积 ExpGCN 模型 用户 任务 解析

一、引言

在当今信息爆炸的时代,推荐系统已成为电子商务和社交网络中不可或缺的工具,旨在为用户筛选出符合其兴趣的信息。传统的协同过滤(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有效地缓解了负迁移问题,并提高了模型在两个任务上的性能。

五、结论

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

https://example.com/model_architecture.png

图1:ExpGCN模型架构图,展示了用户-项目-解释交互立方体到任务导向节点表示的转变过程。

标签:解释,项目,卷积,ExpGCN,模型,用户,任务,解析
From: https://blog.csdn.net/HE2096798708/article/details/145232556

相关文章

  • Python装饰器机制解析及其在实际开发中的应用
    Python装饰器机制解析及其在实际开发中的应用Python装饰器是功能强大且灵活的工具,它能够修改或扩展函数和方法的行为,而无需改变它们的代码。在这篇文章中,我们将从基础概念开始,逐步深入探讨Python装饰器的高级应用,并通过丰富的代码实例帮助您掌握这一重要技术。1.什么......
  • 深入解析d3dx9_39.dll丢失及有效修复方法?为何会出现d3dx9_31.dll丢失?该如何应对?
    在计算机使用过程中,不少用户都遭遇过d3dx9_39.dll丢失的困扰。d3dx9_39.dll丢失究竟是怎么一回事呢?d3dx9_39.dll是DirectX9.0cRedistributable的重要组成部分。许多游戏和图形相关软件在运行时依赖它来实现各种图形渲染、动画展示等功能。当d3dx9_39.dll丢失时,这些依赖它的程......
  • Flask Web开发实战:入门、进阶与原理解析PDF免费下载
    适读人群:本书适合了解Python基本语法,想要自己动手做网站的编程人员;熟悉Python。想要从事PythonWeb开发的后端工程师、运维工程师和爬虫工程师;香葱Django等其他PythonWeb框架转向Flask的Python工程师阅读。PythonWeb框架Flask开发团队成员撰写,内容全面,从基础知识到进阶实战,再到......
  • 从数据到模型,足球预测方法解析
    在足球赛事范畴内,比赛结局始终蕴含着诸多不确定性,而这恰恰构成了足球独特的魅力要素。对于广大球迷而言,尝试预测足球比赛的最终结果,向来是一项极具吸引力与挑战性的活动。近年来,伴随数据科学以及机器学习技术的迅猛发展,足球预测领域发生了深刻变革。这些先进技术为深入探究比赛背......
  • 图像的卷积处理
     实验名称:图像的卷积处理实验描述:包含图像的平滑卷积和边缘卷积,通过实验观察和理解三种平滑卷积的差异性、理解边缘卷积提取图像边缘特征的作用。实验步骤一、平滑卷积1.加载图像并可视化2.生成带有雪花噪声的图像3.用均值卷积去噪声4.用中值卷积去噪5.用高斯......
  • 卷积运算
      对应位置数字相乘,求和。  卷积核(或滤波器)的小窗口在输入数据上滑动,计算窗口覆盖区域的元素乘积之和,从而生成输出数据。二维卷积运算    1x7+2x6+3x5+4x4=50   1x6+2x2+3x4+4x2=30        彩色图像卷积运算; ......
  • 由单个神经元到神经网络,简单全连接神经网络工作解析(李哥 lesson1)
    一.由单个神经元到神经网络:    在上个文章我们知道了单个神经元的具体架构,这次我们将从单个神经元出发,探寻简单全连接神经网络的工作过程。    单个神经元其实就是一个函数,现在我们假设单个神经元的结构都为线性结构(即=wx+b)如图:    多个神经元相互......
  • Java虚拟机(JVM)深入解析
    Java虚拟机(JVM)是Java程序运行的核心环境,它负责将Java字节码转换为机器码并执行。本文将深入解析JVM的运行时数据区、类加载机制以及执行引擎,帮助读者更好地理解JVM的工作原理。一、运行时数据区(RuntimeDataArea)运行时数据区是JVM在执行Java程序时分配的内存区域,主要包括以......
  • 2.2 命令行解析工具cobra的使用
    本节重点介绍:kubectl的职责和kubectl的代码原理cobra库的使用简介kubectl的职责主要的工作是处理用户提交的东西(包括,命令行参数,yaml文件等)然后其会把用户提交的这些东西组织成一个数据结构体然后把其发送给APIServerkubectl的代码原理从命令行和yaml文件中获取......
  • Spring 开发必备:深入解析 Spring Bean 的六大作用域
    SpringBean一共有六种作用域,我们可以将它们比作是不同场景下的“服务助手”。1.单例作用域(Singleton):•就像餐厅里只有一个“领班助手”,无论顾客多少次呼唤,来的都是同一位助手。•在Spring容器中,单例作用域的Bean也只会有一个实例,无论在哪里获取,都是同一个对象。•适......