温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,汇文网负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
网站客服:3074922707
基于
神经网络
推荐
系统
模型
林幸
第 40 卷第 3 期计算机应用与软件Vol.40 No 32023 年 3 月Computer Applications and SoftwareMar 2023基于图神经网络的推荐系统模型林幸邵新慧(东北大学理学院辽宁 沈阳 110819)收稿日期:2020 08 12。林幸,硕士生,主研领域:推荐系统,数据挖掘。邵新慧,教授。摘要传统的推荐模型主要是基于用户或者基于项目层面进行建模分析,而未考虑过用户与项目之间存在的协作信号。针对上述问题,提出结合图神经网络的推荐模型,将用户与物品数据构造为图结构,将图结构输入神经网络中挖掘用户与物品之间的协作信号,使得用户和物品得到更具体的特征表示。实验结果表明,这一改进在一定程度上提高了模型的准确度,使得模型推荐效果得到提升。关键词嵌入传播图神经网络推荐注意力机制中图分类号TP391文献标志码ADOI:10 3969/j issn 1000-386x 2023 03 051ECOMMENDATION SYSTEM BASED ON GAPH NEUAL NETWOKLin XingShao Xinhui(College of Science,Northeastern University,Shenyang 110819,Liaoning,China)AbstractThe traditional recommendation model is primarily based on the user or project level for modeling andanalysis,but has never taken the collaboration signal between the user and the project into consideration Aimed at theabove problem,a recommendation model based on graph neural network is proposed The user and item data wereconstructed into a graph structure,which was input into the neural network to exploit the collaboration signal between theuser and the item,so that the user and the item could get more specific feature representations The experimental resultsindicate that the accuracy of the model is improved to a certain extent,and the model recommendation effect isimprovedKeywordsEmbedding propagationGraph neural networkecommendationAttention mechanism0引言随着科学技术的不断进步,用户获得和浏览信息的方式产生了翻天覆地的变化,信息量呈爆炸式增长,带来了信息过载问题,这种问题使人们对有效信息的筛选变得十分困难。为解决以上难题,推荐技术的应用逐步进入了人们的生活,通过利用用户与项目的历史交互数据,对用户未观测到项目的感兴趣度进行预测,并对预测结果进行排序,并推荐给相关用户。1994 年基于商品的协同过滤算法首次由 esnick等1 提出,其原理简单,效果显著,是目前为止在推荐系统领域应用最广的技术。传统的协同过滤算法主要分为基于用户的协同过滤 UserCF、基于物品的协同过滤 ItemCF2 和基于模型的协同过滤和依托于机器学习模型的协同过滤,通过对模型进行离线训练和优化,在线进行推荐。尽管协同过滤算法在应用领域已经取得了巨大的成功,但是对于解决数据冷启动和数据稀疏性问题仍然面临着巨大的挑战。深度学习利用海量的数据,挖掘并学习用户和物品之间的深层交互信息,能够提高推荐的准确率。因此,目前研究基于深度学习的协同过滤方法成为了一个热门的问题。在 2016 年召开的 ACM 学术会议中,成功举行了第一届基于深度学习的推荐系统专题研究讨论会,提出深度学习的重要研究方向。近年来,深度学习与推荐相结合的学术论文在各个领域的顶级学术会议中也逐渐增多3 5。由于传统的推荐系统无法挖掘用户与电影之间更深层次之间的关系,同时也无法解决数据326计算机应用与软件2023 年稀疏性的问题,图神经网络将用户与物品之间的交互信息作为二部图传入到神经网络中可以更好地解决数据稀疏性的问题,且通过用户与物品之间的连通关系能够让用户与物品的特征表示更加的具体。因此,本文提出一种结合注意力机制的图神经网络模型来解决推荐算法中存在的问题。通过用户与物品的历史交互行为数据,对用户与物品之间建立二部图,挖掘它们之间的高阶连通性,并且在模型中引入注意力机制,对不同层之间的特征表示赋予不同的重要程度,使得用户的特征表示包含了对不同层物品的偏好程度,而物品的特征表示也包含了对不同层用户行为的偏好,丰富了特征表示,从而改善了模型的性能。1相关工作在 20 世纪 90 年代首次在视觉图像领域提出了注意力机制的概念,但是真正让其变得热门是在 2014 年Mnih 等6 提出了一个新的注意力视觉模型,它能够将视网膜集中在相关的区域上,并且忽略不重要的信息从而进行图像分类。Bahdanau 等7 将注意力机制应用到机器翻译中,是第一次将注意力机制应用在自然语言处理领域中。注意力机制因其具有捕获特征之间不同重要性的能力而被广泛应用在各个领域。同时2017 年出现大量注意力机制与推荐系统相结合的论文,Wang 等8 将注意力机制应用到新闻推荐中,将新闻的文本内容作为输入,考虑新闻数据具有的时序特点,应用注意力机制考虑了不同时间对新闻有不同的影响程度,最终的输出为是否会对该新闻进行推荐。Seo 等9 提出基于局部和全局的双层注意力机制的CNN 模型,利用商品的评论和评分数据进行建模,最终得到推荐结果。Chen 等10 认为用户的正向反馈数据并不一定是对该项目的喜爱,例如朋友圈点赞数据,可能仅仅是因为大家都点赞所以用户也进行同样的操作。根据上述的现象提出利用对不同层级的反馈分配不同的权重,根据用户的喜好进行建模。Zhou 等11 在阿里的商业广告 CT 预测中引入注意力机制来更精准地捕获用户的兴趣点。近年来图神经网络迅速发展,已经成为了深度学习中最热门的技术之一。Kipf 等12 在2017 年的 ICL会议中首次提出 GCN 的概念,GCN 是 CNN 的变体,用于处理基于图的数据。基于图表示的学习模型,通过堆叠多层卷积聚合运算和非线性激活运算得到最终特征表示。近两年有很多的学者在基于协同过滤的推荐系统中,通过将用户与物品之间的历史交互行为视为二部图,利用 GCN 捕获了用户与物品之间更高层次的协作信号。这些基于 GCN 的推荐系统与传统的推荐系统相比,性能更加优越。ianne 等13 提出了一个图自动编码器,其中包含了一个卷积层,通过在双向用户项上传递消息来构建用户和项目的嵌入。Ying 等14 提出结合图卷积与随机游走的方法,生成了同时包含项目与用户节点特征的信息,进一步改善了模型的鲁棒性和收敛性。Wang 等15 设计了一个新的嵌入传播层可以根据用户与项目之间的高阶连通性,捕获它们之间的高阶协作信号。但在通过卷积进行信息聚合运算后,没有考虑到不同层输出的表示特征之间的相关性。因此,本文引入注意力机制为不同层之间的信息赋予不同的重要性,在进行卷积信息聚合后对不同层之间的特征进行注意力层的操作才可以使节点的最终特征表示更加完善。2模型设计2 1特征初始化本文的模型框架如图 1 所示,分为特征初始化,嵌入传播层和预测层。图 1模型整体框架图在大多数的推荐中直接将初始特征输入到预测层,得到预测评分。而本文将 ID 信息作为初始特征,通过嵌入传播层,可以更好地捕获协同过滤信号。初始特征表示如下:E0=ea1,ea2,eaM,ei1,ei2,eiN(1)式中:M 表示用户的数量;N 表示项目的数量。2 2嵌入传播层我们将设计一种嵌入传播层,用以捕获在图结构中的协同过滤信号,首先介绍单层嵌入传播层,对于用第 3 期林幸,等:基于图神经网络的推荐系统模型327户-项目之间的信息传递表示为:mai=1NaNi(W1ei+W2eaei)(2)式中:mai表示电影 i 传递到用户 a 的信息;W1、W2为可训练的权重矩阵;ei表示用户 a 有过观影记录的电影 i 的特征表示。1/NaNi为拉普拉斯范数,其中 Na代表用户 a 的一阶邻居节点集合,Ni代表项目 i的一阶邻居。从表示学习的角度,它也可以看作是用户 a 有过观影记录的电影 i 对用户 a 的贡献程度。表示元素乘积,表示从相似的邻居节点传递更多的信息。用户对用户本身之间的信息传递表示为:maa=1NaNa(W1ea)(3)通过汇总所有邻居节点的特征表示完成最终的表示学习,信息聚合的公式如下:ea=LeakyeLUiNamai+ma()a(4)式中:ea为用户 a 汇总邻居节点的信息之后的特征表示,LeakyeLU 为激活函数,在信息传递过程中通过拉普拉斯范数,使得不同的节点对同一用户具有不同的重要程度,也使得信息传递过程中增强了模型的表示能力,使得模型性能得到提升。用矩阵的形式表示各层之间的信息传递,公式如下:El=LeakyeLU(L1El 1Wl1+L2(El 1El 1)Wl2)(5)L1=(D+I)12(A+I)(D+I)12(6)L2=D12AD12(7)式中:El表示第 l 层的特征表示;El 1表示上一层的特征表示;L 表示拉普拉斯矩阵;I 为单位矩阵;A 是邻接矩阵;D 是度矩阵。本文设计一个注意力层,在模型中每一个嵌入传播层都会输出一个新的节点的表示特征,我们利用注意力机制对不同层之间的特征进行加权,然后再与原始特征进行串联操作。由实验结果可以看出进行加权后的模型效果更好,可以学习到更好的表示特征。具体公式如下:va=akeka(8)式中:ak=softmax(hak)=exp(hak)iNaexp(hak)(9)式中:hak=f(e0a,eka)=e0Taeka(10)式中:hak表示打分函数,是由用户初始特征 e0a和用户经过嵌入传播层得到的不同层的特征 eka之间的内积得到的;ak表示不同层得到的表示特征对于用户 a 具有不同的权重,用注意力机制来得到 ak的值;va代表不同层之间得到的用户特征表示的汇总。2 3评分预测对于推荐模型,最终用户对电影的预测偏好由用户-项目之间的交互特征表示。具体公式如下:rai=e0ava,e0ivi(11)式中:,代表两个向量的内积;va代表不同层之间得到的用户 a 特征表示的汇总;vi代表不同层之间得到的物品 i 特征表示的汇总;rai代表用户 a 对电影 i 最终的预测偏好。即最终的预测值相当于将每层的输出特征进行了加权的操作,再将初始特征与每层汇总之后的特征表示进行串联操作,由于它不需要学习其他参数所以串联操作是十分简单的。模型结合了不同层之间的节点特征的同时也保留了初始特征使得最终的特征表示更加的丰富,所以它是十分合理的。2 4模型学习由于数据是隐式数据,对于同时出现的两个项目,需要知道用户会更倾向于哪个项目,也就是学习用户对不同项目的偏好。对不同的项目一定存在不同的优先级,对于用户有历史交互行为的项目应该比没有历史交互行为的项目得到的预测值要高。BP 是目前在推荐系统领域广泛使用的基于成对数据的损失函数16。通过损失函数最小化的方法更新模型的参数。其表达式如下:Loss=(a,i,j)D ln(rai raj)+22(12)式中:为激活函数;则是防止模型过拟合的控制 L2正则项的参数;表示所有用于模型训练的参