热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

推荐系统_「顶会综述」基于图模型的推荐系统

篇首语:本文由编程笔记#小编为大家整理,主要介绍了「顶会综述」基于图模型的推荐系统相关的知识,希望对你有一定的参考价值。

篇首语:本文由编程笔记#小编为大家整理,主要介绍了「顶会综述」基于图模型的推荐系统相关的知识,希望对你有一定的参考价值。




知乎专栏:https://zhuanlan.zhihu.com/p/137223381


前言

近几年有很多工作将图模型应用于推荐系统,并为推荐系统带来了更好的实体表示和更强的解释能力。本文将介绍2020年放在arXiv上的两篇图推荐综述,不会涉及太多细节,旨在为大家展示将图与推荐系统结合的基本范式和常规思路。


A Survey on Knowledge Graph-Based Recommender Systems

第一篇是《A Survey on Knowledge Graph-Based Recommender Systems》,介绍了如何将知识图谱作为辅助信息,提升推荐效果。



arXiv链接:https://arxiv.org/abs/2003.00911


Abstract & Introduction:

推荐系统有两大基本范式:基于协同过滤(交互)的推荐和基于内容(特征)的推荐,而混合推荐旨在结合二者,并引入了多种辅助信息(用户社交网络、商品评论、知识图谱等)。


知识图谱作为辅助信息有两大优势:一是关系丰富,可以整合user、item、feature等多级异构关系于一体,尤其对于交互数据稀疏的场景,为提升推荐准确性带来了很多可能;二是关系明确,由于知识图谱里的关系已经显式构建好了,通过关系序列可以为推荐结果提供可解释性。


本文调研了知识图谱(KG)+推荐(RS)的工作,并探讨了下列三个方面:





  • 知识图+推荐,有哪些方法(如何利用知识图进行准确和可解释的推荐)?



  • 知识图+推荐,有哪些数据集?



  • 知识图+推荐,有哪些未来研究方向?


注:为了方便起见,结合知识图谱的推荐系统简称为KGRS。


Concepts & Notations:

知识图谱(事实图谱)是表示大规模信息的实用方法,遵循资源描述框架(RDF)标准,用节点代表实体,用边代表实体间的关系,由边形成的三元组(即,头部实体-关系-尾部实体)代表一条事实,实体的K-1阶邻居为头实体的三元组称为该实体的波纹集(ripple set)。由于节点和边类型多样,知识图谱是异质图,并可以用元路径/元图抽象出由多跳邻居构成的事实序列/子图的一般范式。知识图谱中的节点和边常在低维向量空间得到嵌入表示(KGE),以便运算和存储。根据覆盖的知识范围不同,知识图谱可以分成跨领域的(如YAGO、Satori等)和特定领域的(如Bio2RDF等),列表如下:


「顶会综述」基于图模型的推荐系统


推荐系统旨在为user匹配一个(或一系列)未观测的item,基本步骤如下:





  • Step 1:生成user和item的表示。



  • Step 2:根据user和item表示,计算得分函数(如,内积、DNN等),表示user对item的偏好。



  • Step 3:基于得分对item排序,将排名靠前的item推荐给用户。推荐系统依赖用户的显式/隐式反馈,并可以通过知识图谱获得user的K阶相关实体(0阶表示有交互历史的item),K-1阶相关实体为头实体的三元组称为该user的ripple set。


Methods:

KGRS的方法分成三类:





  • 基于embedding的方法,



  • 基于path的方法,



  • 联合方法。


基于embedding的方法:基本思想是借助KGE算法,直接利用KG的信息丰富item/user的表示。KGE算法主要包括翻译距离模型(如,TransE、TransH、TransR、TransD)和语义匹配模型(如,DistMult)等。


根据KG中是否包含user,基于embedding的方法可以分为两类:





  • 使用item graph(即KG仅由item和相关feature构成)生成item embedding,然后结合item的文本/视觉特征、user-item交互矩阵等信息,构成完整的item表示,然后再单独计算user表示和得分函数,代表方法有CKE、DKN、KSR等;



  • 使用user-item graph(即KG由user-item交互历史,以及item和相关feature构成),既可以使用第一类的方法,也可以用KGE方法将user和item嵌入到同一向量空间,并通过计算user和item的距离直接得到得分函数的值,代表方法有CFKG、SHINE、DKFM等。


最近的一些工作(如KTGAN、BEM)将KGE算法与GAN、贝叶斯框架结合,旨在提升user和item的表示效果;或使用多任务学习策略来联合训练推荐模块以及与知识图相关的任务,以提高推荐质量,如KTUP、MKR、RCF等。然而,基于embedding的方法忽略了图中的信息连通模式,通常无法为推荐结果提供解释。


基于path的方法:基本思想是考虑到user和/或item的连通相似性(语义相似性/结构对等性),进而提升推荐效果。连通相似性的定义依赖metapath/metagraph等结构(规则,或称为广义的path)。根据对path的不同利用方式,基于path的方法可以分为两类:





  • 基于path计算连通相似度,并作为正则项优化user和/或item的表示。path既可以预先指定(如Hete-MF、Hete-CF、HeteRec、HeteRec-p、FMG、SemRec等),也可以借助外部知识库学习得到(如,RuleRec)。



  • 将所有/部分可能的path嵌入到低维空间,与user、item的表示共同训练,并发现对推荐影响最显著的path(连接模式)。代表性方法有MCRec、RKGE、KPRN、PGPR等。


基于path的方法有天生的可解释性,但早期的方法没有结合embedding的思想,对user/item的表示较为简单,准确性仍有提升空间。


联合方法:基本思想是利用嵌入传播(常使用GNN)完善user/item在KG中有多跳邻居的表示,传播过程可以看作是在KG中发现user的偏好模式,这类似于在基于path的方法中发现连接模式。


根据KG中是否包含user,联合方法可以分成两类:





  • 使用item graph:基于user波纹集传播user偏好,模拟用户兴趣在知识图谱上的传播过程,提升user表示能力(代表方法有RippleNet、AKUPM等);或基于K阶邻居(实体波纹集)传播item属性,丰富item表示(代表方法有KGCN等)。



  • 使用user-item graph:考虑user和item的高阶交互,并同时增强user和item的表示。代表方法有KGAT、KNI、IntentGC等。


联合方法结合了基于embedding和基于path的方法,兼具准确性和可解释性,逐渐成为KGRS的主流方法。


「顶会综述」基于图模型的推荐系统




Datasets:

如下图所示,推荐场景可以大致分为七类。对数据集来说,结合知识图谱的方法可以分为两类:一类是构建item图,并引入Satori等外部知识库丰富item的属性;另一类是直接利用数据集里的交互历史和item属性,构建user-item图。


「顶会综述」基于图模型的推荐系统


Future Works:

动态推荐。在商品/新闻/社交平台等推荐中都有需要,主要包括两个方面:item的动态更新,user兴趣的动态建模。多任务学习。将知识图谱中的任务与推荐任务结合,如关系补全(链接预测)、实体分类(节点分类)等,旨在对知识图谱的信息进一步挖掘。跨域推荐。不同领域的交互数据可以互为补充,或利用信息丰富的源域数据辅助对信息缺乏的目标域的推荐。知识增强的语言表示。将外部知识库与富文本推荐任务(如,新闻推荐)进一步融合,提升item的表示效果。知识图嵌入方法。为不同推荐场景找到合适的特定KGE方法。考虑用户侧信息。现有工作大多基于user-item交互图或item图,加强user端建模(如,用户属性和社交网络等)可能提升推荐效果。


Graph Learning Approaches to Recommender Systems: A Review

第二篇是《Graph Learning Approaches to Recommender Systems: A Review》,与第一篇中关注如何将知识图作为辅助信息提升推荐效果不同,这篇文章关注如何将推荐系统应用于各种图,简要介绍了不同类型的图学习算法。


「顶会综述」基于图模型的推荐系统


arXiv链接:https://arxiv.org/abs/2004.11718


Abstract & Introduction:

推荐系统中的涉及到的对象(user、item、feature等)大多数显式或隐式连接,构成天然的图并互相影响。基于图的推荐系统(GLRS)考虑到对象间的复杂关系,不仅可以丰富对象表示,还可以借助图推理提升推荐系统的可解释性。


Data Characteristics & Challenges:

如何考虑不同的图结构的信息,为推荐系统带来了不同的挑战:





  • 树状图(item层次图):item间具有层次关系。同层不同类的相邻item可能具有互补性(配套使用),同类item可能具有替代性(应避免重复推荐)。如何学习item间的层次关系存在挑战。



  • 不可分割图:指user社交图和item共现图(如,同一购物篮),前者反映user间的社交影响,后者反映item间的某种潜在关系(替代/互补/用户的购物模式等)。如何学习user-user间、item-item间的相互影响存在挑战。



  • 二分图(user-item图):是推荐系统的核心(基本组件)。交互类型可能单一或多种,推荐可以看作user-item图上的链接预测。如何考虑图上不同类型的user-item交互之间的影响及其综合影响,存在挑战。



  • 属性图:这里强调user/item在属性图/特征图(如kNN图,而非社交/共现图)上的相似性。如何在推荐系统中建模属性图,以及item-attribute构成的异质图,存在挑战。



  • 复杂异构图:二分图和不可分割图同时出现,形成异构图。如何结合二分图与不可分割图上的信息,使来自两个图的异构信息能够适当地相互通信存在挑战。



  • 多源异构图:多个不同来源的图,信息可能互相补充,有助于解决数据稀疏性和冷启动问题,但也可能存在噪声和矛盾之处。如何结合多源异构图存在挑战。




    「顶会综述」基于图模型的推荐系统



Graph Learning Approaches to RS

不同的图学习方法,可以解决上面的挑战:





  • 随机游走:可以捕获图上各类实体的高阶关系、交互传播、隐式偏好等建模,缺点是效率低,且缺乏由于优化推荐目标的模型参数。



  • 图表示学习:学习user/item的低维表示。根据算法原理不同,可分为三类:基于矩阵分解的模型(优点:快、简单、适用于数据稀疏场景)、基于skip-gram的模型(优点:简单、高效)和基于GNN的模型(优点:容易和其他下游推荐模型集成,端到端训练,方便优化)。



  • 图神经网络:这里列举了三类,分别是图注意力网络、门控图神经网络和图卷积网络。(除了视为图表示学习方法,GNN在建模复杂关系、提升可解释性等方面也有帮助。)



  • 知识图谱:通常作为外部知识库出现,这里主要关注KG的构建,而不是如何从已构建的KG中提取信息(第一篇重点讨论的)。KG构建可以分为三类:基于本体的KGRS(树状图,表示归属关系),基于辅助信息的KGRS(属性图,表示特征级隐式连接)和基于常识的KGRS(如,领域知识外的一般语义,解决多源异构问题)。




    「顶会综述」基于图模型的推荐系统



Open Research Directions

本文提出了三个研究方向:对动态图做推荐。基于因果推理的图学习。大规模实时推荐。小结:图推荐既需要关注如何挖掘和扩展数据中的图模式(从核心的user-item图,到外部的知识库等),又需要关注图学习和推理算法的设计(效率、准确度、可解释性等)。两篇综述的出发点不同,都具有一定的启发意义。希望大家有所收获~



专知便捷查看






  • 后台回复“KGRS” 就可以获取知识图谱如何用于推荐系统?A Survey on Knowledge Graph-Based Recommender Systems》论文专知下载链接






「顶会综述」基于图模型的推荐系统






专知,专业可信的人工智能知识分发,让认知协作更快更好!欢迎注册登录专知www.zhuanzhi.ai,获取5000+AI主题干货知识资料!




欢迎微信扫一扫加入专知人工智能知识星球群,获取最新AI专业干货知识教程资料和与专家交流咨询!















点击“
阅读原文
”,了解使用
专知
,查看获取5000+AI主题知识资源










推荐阅读
  • 生成式对抗网络模型综述摘要生成式对抗网络模型(GAN)是基于深度学习的一种强大的生成模型,可以应用于计算机视觉、自然语言处理、半监督学习等重要领域。生成式对抗网络 ... [详细]
  • 在Android开发中,使用Picasso库可以实现对网络图片的等比例缩放。本文介绍了使用Picasso库进行图片缩放的方法,并提供了具体的代码实现。通过获取图片的宽高,计算目标宽度和高度,并创建新图实现等比例缩放。 ... [详细]
  • 不同优化算法的比较分析及实验验证
    本文介绍了神经网络优化中常用的优化方法,包括学习率调整和梯度估计修正,并通过实验验证了不同优化算法的效果。实验结果表明,Adam算法在综合考虑学习率调整和梯度估计修正方面表现较好。该研究对于优化神经网络的训练过程具有指导意义。 ... [详细]
  • Go语言实现堆排序的详细教程
    本文主要介绍了Go语言实现堆排序的详细教程,包括大根堆的定义和完全二叉树的概念。通过图解和算法描述,详细介绍了堆排序的实现过程。堆排序是一种效率很高的排序算法,时间复杂度为O(nlgn)。阅读本文大约需要15分钟。 ... [详细]
  • 浏览器中的异常检测算法及其在深度学习中的应用
    本文介绍了在浏览器中进行异常检测的算法,包括统计学方法和机器学习方法,并探讨了异常检测在深度学习中的应用。异常检测在金融领域的信用卡欺诈、企业安全领域的非法入侵、IT运维中的设备维护时间点预测等方面具有广泛的应用。通过使用TensorFlow.js进行异常检测,可以实现对单变量和多变量异常的检测。统计学方法通过估计数据的分布概率来计算数据点的异常概率,而机器学习方法则通过训练数据来建立异常检测模型。 ... [详细]
  • 深度学习中的Vision Transformer (ViT)详解
    本文详细介绍了深度学习中的Vision Transformer (ViT)方法。首先介绍了相关工作和ViT的基本原理,包括图像块嵌入、可学习的嵌入、位置嵌入和Transformer编码器等。接着讨论了ViT的张量维度变化、归纳偏置与混合架构、微调及更高分辨率等方面。最后给出了实验结果和相关代码的链接。本文的研究表明,对于CV任务,直接应用纯Transformer架构于图像块序列是可行的,无需依赖于卷积网络。 ... [详细]
  • Learning to Paint with Model-based Deep Reinforcement Learning
    本文介绍了一种基于模型的深度强化学习方法,通过结合神经渲染器,教机器像人类画家一样进行绘画。该方法能够生成笔画的坐标点、半径、透明度、颜色值等,以生成类似于给定目标图像的绘画。文章还讨论了该方法面临的挑战,包括绘制纹理丰富的图像等。通过对比实验的结果,作者证明了基于模型的深度强化学习方法相对于基于模型的DDPG和模型无关的DDPG方法的优势。该研究对于深度强化学习在绘画领域的应用具有重要意义。 ... [详细]
  • 背景应用安全领域,各类攻击长久以来都危害着互联网上的应用,在web应用安全风险中,各类注入、跨站等攻击仍然占据着较前的位置。WAF(Web应用防火墙)正是为防御和阻断这类攻击而存在 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 微软头条实习生分享深度学习自学指南
    本文介绍了一位微软头条实习生自学深度学习的经验分享,包括学习资源推荐、重要基础知识的学习要点等。作者强调了学好Python和数学基础的重要性,并提供了一些建议。 ... [详细]
  • 云原生边缘计算之KubeEdge简介及功能特点
    本文介绍了云原生边缘计算中的KubeEdge系统,该系统是一个开源系统,用于将容器化应用程序编排功能扩展到Edge的主机。它基于Kubernetes构建,并为网络应用程序提供基础架构支持。同时,KubeEdge具有离线模式、基于Kubernetes的节点、群集、应用程序和设备管理、资源优化等特点。此外,KubeEdge还支持跨平台工作,在私有、公共和混合云中都可以运行。同时,KubeEdge还提供数据管理和数据分析管道引擎的支持。最后,本文还介绍了KubeEdge系统生成证书的方法。 ... [详细]
  • C# 7.0 新特性:基于Tuple的“多”返回值方法
    本文介绍了C# 7.0中基于Tuple的“多”返回值方法的使用。通过对C# 6.0及更早版本的做法进行回顾,提出了问题:如何使一个方法可返回多个返回值。然后详细介绍了C# 7.0中使用Tuple的写法,并给出了示例代码。最后,总结了该新特性的优点。 ... [详细]
  • 也就是|小窗_卷积的特征提取与参数计算
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了卷积的特征提取与参数计算相关的知识,希望对你有一定的参考价值。Dense和Conv2D根本区别在于,Den ... [详细]
  • 本文介绍了一些Java开发项目管理工具及其配置教程,包括团队协同工具worktil,版本管理工具GitLab,自动化构建工具Jenkins,项目管理工具Maven和Maven私服Nexus,以及Mybatis的安装和代码自动生成工具。提供了相关链接供读者参考。 ... [详细]
  • 本文介绍了在Python张量流中使用make_merged_spec()方法合并设备规格对象的方法和语法,以及参数和返回值的说明,并提供了一个示例代码。 ... [详细]
author-avatar
有你世界就很美_484
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有