图神经网络在物品推荐算法中的研究与应用.docx
《图神经网络在物品推荐算法中的研究与应用.docx》由会员分享,可在线阅读,更多相关《图神经网络在物品推荐算法中的研究与应用.docx(64页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 摘要随着深度学习和机器学习的发展,在推荐领域中也涌现出很多利用相关技术进行推荐的方法,这些方法往往利用用户以及商品信息实现端到端的推荐系统,提升了推荐的性能和效率。在这个过程中,更多新颖的方法被提出以解决推荐的基本难题,从而拓宽推荐系统的性能边界。其中最重要的一点就是通过引入新的数据或者新的数据处理的方法,来提升原有推荐模型的性能。同时,在自然语言处理中,知识图谱这一种数据存储形式越来越受到研究人员们的重视,许多的研究和工作都证明了在知识图谱上进行表达可以获得许多隐含的信息和内容,从而应用于下游的相关工作。本文关注图谱以及类似的图数据在推荐领域中的应用,研究图神经网络的方法来实现端到端的推荐
2、系统,并提升推荐性能。具体来说,本文基于前人的研究成果,提出了一种图神经网络模型,结合tucker分解进行知识表示,实现基础的物品推荐算法。Tucker分解是一种针对图谱,添加了关系信息的矩阵分解方法,比普通的矩阵分解能更加有效地提取图谱数据的表达。同时,图神经网络,比一般的方法更适合处理图数据这种非欧式数据,从而能更加有效地整合图上信息,最终实现了对于推荐能力的提升。 为了更加方便有效地评估模型的有效性,本文基于相关的研究成果KGAT所使用的公开数据集进行实验和评估,并采用同一套评价指标来说明本文研究的重要性和优越性。实验结果表明,本文所提出的模型在同样的评估标准上超越了其他几个基线模型的表
3、现。关键词:推荐算法,图数据,图神经网络,tucker分解iAbstractWith the development of deep learning and machine learning, there are many methods of recommendation using deep learning technology in the field of recommendation algorithm. These methods use user and item information to realize the end-to-end recommendation sys
4、tem, which greatly promotes the development of recommendation algorithm. In this process, more novel methods are proposed to solve the basic problem of recommendation, so as to broaden the performance boundary of recommendation system. The most important point is to improve the performance of the or
5、iginal recommendation model by introducing new data or new data processing methods. At the same time, in natural language processing, knowledge graph, a data storage form, has been paid more and more attention by researchers. Many researches and works have proved that the expression of knowledge gra
6、ph can obtain a lot of implicit information and content, which can be applied to the downstream related work.This paper focuses on the application of graph and similar graph data in the field of recommendation, studies the method of graph neural network to realize the end-to-end recommendation syste
7、m and improve the recommendation performance. Specifically, based on the previous research results, this paper proposes a graph neural network model, combined with Tucker decomposition for knowledge representation, to achieve the basic algorithm of item recommendation. Tucker decomposition is a matr
8、ix decomposition method which adds relation information to the graph. It can extract the expression of graph data more effectively than the common matrix decomposition. At the same time, the graph neural network is more suitable than the general method to deal with the non Euclidean data such as gra
9、ph data, so it can integrate the information on the graph more effectively, and finally achieve the improvement of recommendation ability.In order to evaluate the validity of the model more conveniently and effectively, this paper conducts experiments and evaluations based on the relevant research r
10、esults - the open data set used by KGAT, and uses the same set of evaluation criteria to illustrate the importance and superiority of this study. Experimental results show that the model used in this paper outperforms other baseline models in the same evaluation criteria.Keywords:Recommendation algo
11、rithm, Graph data, Graph neural network,Tucker decomposition iii目录摘要iAbstractii图目录III表目录IV第1章 绪论11.1 课题背景11.2 国内外相关研究21.2.1 一般推荐任务概述21.2.2 图上推荐方法概述31.2.3 图神经网络在推荐上的应用41.3 GNN进行推荐的挑战51.4 针对挑战所进行的工作51.5 论文的结构安排6第2章 图推荐相关的背景知识72.1 理论的知识背景72.1.1 图神经网络72.1.2 图谱的表示学习142.1.3 推荐算法介绍182.2 开源框架的介绍202.2.1 DGL
12、开源图神经网络框架202.3 本章小结21第3章 基于Tucker分解增强的GAT物品推荐模型223.1 任务的详细定义223.1.1 数据的抽象结构223.1.2 推荐的具体方式243.2 模型方法的说明243.2.1 模型整体介绍与思考253.2.2 知识表示进行预处理273.2.3 模型结构的具体设计283.3 本章小结34第4章 实验设计与结果分析354.1 基准方法概述354.1.1 其他图神经网络方法354.1.2 经典方法364.2 评价指标374.3 整体代码设计384.4 实验流程404.4.1 数据源的分析介绍404.4.2 数据预处理与构图414.4.3 模型构建参数选择
13、424.5 结果分析444.6 本章小结47第5章 总结与展望485.1 全文总结485.2 未来展望48参考文献50作者简历54致谢55III图目录图 2.1 GraphSAGE 的基本流程11图 2.2 图上注意力机制12图 2.3 RGCN的基本工作原理14图 2.4 三种Trans方法的投影16图 2.5 Tucker分解的核心计算公式示意图17图 2.6 PinSage 核心伪代码流程19图 2.7 DGL框架消息传递基本示意图20图 3.1 CF侧数据与KG侧数据的示意图23图 3.2 三种构图方式结构和所包含信息上的区别24图 3.3 模型方法整体概述25图 3.4 一阶的共同行
14、为26图 3.5 二阶的共同行为26图 3.6 采样的策略34图 4.1 代码整体框架38图 4.2 两种模型初始化与不初始化训练的情况对比图45图 4.3 注意力熵值的比较47表目录表4.1 数据源边数与节点数统计表40表4.2 具体数据表40表4.3 TkGAT与其他GNN方法实验结果对比44表4.4 模型在不同超参下的实验对比结果44表4.5 模型与其他基准模型的实验对比结果45表4.6 采样做为正则手段的实验对比结果46VI第1章 绪论1.1 课题背景随着电商与网络娱乐产业的快速发展,为用户进行个性化推荐商品或者广告已经是互联网公司最重要的能力之一。在如今的互联网公司,各种推荐算法和工
15、程框架层出不穷,而为了拓宽推荐能力的边界,有越来越多新颖的模型与方法被用于推荐任务。随着近年来图神经网络的发展,对于图这样的非欧式数据的探索也越来越多,自然地也有许多研究人员将图神经网络应用到推荐相关的任务上。同时,利用图神经网络(Graph Nerual NetWork)1不光从方法上有别于一般的推荐算法,其可用的数据范围也扩展到了所有的图结构数据,而使用side information来增强推荐的能力,尤其是利用知识图谱的信息更是工业界和学术界都在探索的一个方向。基于此,本文将立足于开源数据集和公司的业务数据,研究如何在知识图谱等图结构数据上,更好地利用图神经网络实现推荐任务。具体来说,如
16、今的推荐算法,通过这几年的不断发展,已经利用深度学习的技术获得了长足的进步。越来越多的工作也说明了深度学习技术在推荐算法中的可行性和重要性。例如由YouTube在2016年提出的这一架构2,可以算是深度学习在推荐中工业落地的一个最佳范例,后来在国内的电商推荐环境中,也基本采用了这种形式。后续更多的推荐模型被提出,这些模型或从经典的FM3算法脱胎而来;或是引入了注意力机制,例如根据当前用户历史行为对用户的兴趣进行捕捉的DIN4、MIND5等算法;以及利用CNN机制进行推荐的DeepCoCNN6模型。但上述模型的改进更多的是研究模型本身对于推荐性能的提升,并不关注数据本身的特性。因此,更多的研究开
17、始关注于使用更加新颖、更加先进的深度学习技术来提升现有推荐算法的边界,这其中比较重要的一个工作就是利用图谱数据进行推荐任务。例如,基于图的推荐工作,首先是将用户和物品的交互行为表示为图结构或者网络结构,然后利用图上的表示学习来表达节点或者边的语义信息。更进一步,使用图谱进行推荐比较经典的做法是基于路径的推荐方法78。在这里,本文选择采用的方法是图神经网络。基于深度学习的方法,在图上进行卷积从而对图数据进行处理,以发掘其规律和特征,这类模型被统称为图神网络(GNN)。GNN的一个发展方向,是借鉴CNN的思路,如何在图上进行卷积从而实现图上的卷积神经网络是GNN重点需要解决的问题。而GNN的一个很
18、重要的作用和知识表示类似,是图上节点和边的稠密低纬表示。本文所要做的工作就是在充分研究了已有GNN相关成果的基础上,提出一种合适的模型,在公开数据集上完成相关的推荐任务,并取得推荐性能的提升。1.2 国内外相关研究1.2.1 一般推荐任务概述从历史的发展来看,推荐系统的研究起源于国外,可以追溯到1994 年明尼苏达大学 GroupLens 研究组推出的 GroupLens 系统9,该系统首次使用了协同过滤的算法为user推荐item,并且为后面的推荐系统建立了一个形式化的模型框架。而当今工业界,往往会将推荐系统分成matching和ranking两个阶段来实现,即对应了粗排和精排。这一架构源于
19、论文2,由YouTube于2016提出。在国内的电商推荐环境中,也基本采用了这种形式。自1994年开始协同过滤算法应用在推荐系统以来的二十多年间,协同过滤依然是推荐的核心思路之一。所谓协同过滤就是基于群体的信息,对个体信息进行过滤。协同过滤推荐算法基本可以分为基于用户、基于物品以及基于模型三类。基于用户的协同过滤最早就是由文章9提出,它的核心思路是相似用户之间对于物品的喜好可能相同。基于物品的协同过滤则是由亚马逊于2001年提出10,它的核心思路则是喜欢A物品的人也会喜欢与A相似的物品B。基于模型的协同过滤可以大致分为基于矩阵分解的方法与基于分类模型的方法。SVD奇异值分解是数学上的一种比较经
20、典的矩阵分解方法,可以将一个矩阵表示成三个矩阵相乘。而SVD+则是不光利用用户的评分矩阵,也引入了用户的行为矩阵,从而使得信息更加完善和稠密11。除了直接拟合矩阵值的矩阵分解之外,还有一种基于排序的矩阵分解形式。它的核心思路在于用户对于一个正例商品与一个负例商品,应该使得对于正例的评分高于负例。BPR12就是这样的一个方法,通过构造正负样本对的损失函数,使得user和item最终的隐式表达的乘积互相远离,实际上后来很多的推荐模型,都会使用类似的损失函数。基于分类模型的方法中比较经典的算法是分解机(FM)算法,该算法在工业界往往应用于ranking阶段。FM算法13通过引入特征的二阶项,从而缓解
21、特征稀疏的问题,同时将二阶项的权重分解成两个向量的乘积,因此即便在稀疏特征下也能训练该权重。FM在之后又有FFM14、DeepFM15等变种,是推荐在精排阶段非常重要的算法之一。而随着深度学习的发展,也有越来越多利用深度学习技术实现的经典的推荐算法,例如NCF16、PNN17、DSSM18、Wide&Deep19等算法模型。其中DeepFM15是将Wide&Deep中的Wide部分替换成了FM,然后利用FM实现特征的自动交叉。而Deep部分则建模特征间的高阶关联,从而优化了原来的FM算法。后续还有优化的xDeepFM20、NFM21等算法。同时,引入注意力机制,实现根据当前用户历史行为对用户的
22、兴趣进行捕捉,也是DIN、MIND等算法的核心思路。 这些算法在推荐的召回阶段发挥了不小的作用。此外,还有利用CNN实现的推荐模型,例如DeepCoCNN。1.2.2 图上推荐方法概述基于图的推荐工作,是与本研究内容密切相关的一部分工作。将用户和物品的交互行为表示为图结构或者网络结构,然后利用图上的表示学习来表达节点或者边的语义信息是图上推荐的一般做法。在这里可以将其分成两类:单纯的表示学习与引入KG的推荐模型。单纯的表示学习其基本思路是参照NLP技术中word2vec的方法,通过SkipGram算法来学习节点之间共现的隐式表达。具体来说,可以从一个节点出发,通过随机游走的方式,找到一批认为与
23、这个点相似的点,通过这种共现学习节点的Embedding表示。这种稠密的低维度表示可以在matching阶段表示商品与商品之间的相似度,也可以在ranking阶段作为特征输入到更复杂的模型中用于精排。DeepWalk22被认为是第一个利用NLP中Embedding的技术来学习节点表示的方法;而LINE23则是在方法22的基础上引入了不同与邻接相似的二阶相似,拓宽了节点相似的范围,使得节点的表达更加抽象。Node2Vec24则是在方法22的基础上通过引入了更加灵活的随机游走方式,同时也能对高阶的相似进行建模。上文的模型都只考虑了同构图的情况,而对于异构图Metapath2Vec25则提出了利用元
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 神经网络 物品 推荐 算法 中的 研究 应用
限制150内