一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

基于图神经网络和强化学习的交互电影推荐系统及方法与流程

2022-04-16 14:09:36 来源:中国专利 TAG:


1.本发明属于交互推荐技术领域,具体涉及一种基于图神经网络和强化学习的交互电影推荐系统及方法。


背景技术:

2.随着大数据时代的来临,用户和平台都面临信息过载的问题。因此平台希望通过个性化推荐系统为用户筛选有效信息,提升用户使用体验的同时促进平台收益。个性化推荐系统已经被广泛应用于电商平台、视频网站、社交媒体等信息工业的各个领域中。
3.传统的个性化推荐系统可以分为基于用户的个性化推荐,基于内容的个性化推荐以及基于协同过滤的个性化推荐。传统个性化推荐系统无法对用户的动态兴趣进行建模,在冷启动场景下没有足够的数据用以准确预测。因此研究开始关注交互推荐系统(interactive recommender systems,irs),在交互过程中对模型进行优化,在用户兴趣的动态建模和用户冷启动推荐具有优势。
4.目前交互推荐系统的研究主要集中在两个技术方向,分别为上下文老虎机(contextual bandit)和强化学习。
5.上下文老虎机方法已被广泛应用于新闻推荐、协同过滤、在线广告推送以及电商推荐等领域。但是上下文老虎机方法存在一定的局限性:(1)该方法模型只对线性模型有良好的拟合预测效果;(2)由于赌博机方法试图约束实际所得反馈和理想所得反馈之间的上限,是对最差情况的约束,方法过于悲观。强化学习方法是在马尔科夫决策过程中对方法的优化,而推荐过程是一个典型的马尔科夫决策过程。因此强化学习方法适用于推荐系统。目前基于强化学习的推荐方法在实际应用中还存在以下几个问题:(1)推荐准确度不高;(2)动作空间过大;(3)离线仿真环境搭建困难;(4)强化学习框架在线应用和优化流程设计复杂。


技术实现要素:

6.发明目的:本发明针对基于强化学习的推荐方法推荐准确度不高的问题,设计一种新型电影相似度无向图,并结合图神经网络,实现了一种基于图神经网络和强化学习的交互电影推荐系统及方法。
7.上述的目的通过以下技术方案实现:
8.本发明解决技术问题所采用的技术方案是:一种基于图神经网络和强化学习的交互推荐系统,该系统包括构图模块、电影向量生成模块、用户向量生成模块和推荐模块;
9.构图模块:用于根据数据库中用户与电影交互历史数据,构建电影相似度无向图,并获取电影相似度无向图的邻接矩阵a;
10.电影向量生成模块:用于将电影相似度无向图的邻接矩阵a和随机初始化的电影向量表示矩阵e作为输入,经过所构建的图神经网络模型,获得更新后的电影向量表示矩阵e


11.用户向量生成模块:将更新后的电影向量表示矩阵以及用户在仿真交互环境中的当前历史观影记录作为输入,经过所构建的自注意力网络模型的计算,输出用户特征向量表示;
12.推荐模块:将当前用户特征向量作为输入,经过多层感知机网络模型拟合策略,输出最终对该用户当前状态下的电影推荐。
13.进一步的,所述电影向量生成模块包括:向量初始化模块和图神经网络模块;
14.向量初始化模块:用于对电影向量进行随机初始化。令电影向量维度为d,则所初始化的电影向量矩阵为n为电影的总数量;
15.图神经网络模块:用于根据电影相似度无向图,挖掘离线数据中的协同信息,对初始化电影向量矩阵进行信息融合,并生成更新后的电影向量矩阵e


16.进一步的,所述用户向量生成模块包括特征提取模块和特征合成模块;
17.特征提取模块:用于将用户当前状态的历史观看电影转化成图神经网络更新后的电影向量表示,并按照用户历史打分进行分类,在每一类中分别使用搭建的自注意力网络运算输出各类的特征向量;
18.特征合成模块:将每一类生成的特征向量作为输入,输出用户特征向量。
19.进一步的,所述推荐模块分为策略拟合模块和推荐生成模块;
20.策略拟合模块用于输入用户特征向量表达,拟合推荐策略,并输出每一部待推荐电影的状态动作值;
21.推荐生成模块根据计算所得的状态动作值进行排序,并为目标用户生成一部电影推荐。
22.用上述基于图神经网络和强化学习的交互电影推荐系统进行电影推荐的方法,该方法包括如下步骤:
23.步骤s1:用于根据数据库中用户与电影交互历史数据,构建电影相似度无向图;
24.步骤s2:用于将电影相似度无向图的邻接矩阵a和随机初始化的电影向量表示矩阵e作为输入,经过所构建的图神经网络模型,获得更新后的电影向量表示矩阵e


25.步骤s3:将更新后的电影向量表示矩阵以及用户在仿真交互环境中的当前历史观影记录作为输入,经过所构建的自注意力网络模型的计算,输出用户特征向量表示;
26.步骤s4:将当前用户特征向量作为输入,经过多层感知机网络模型拟合策略,输出每一部待推荐电影的状态动作值;
27.步骤s5:将待推荐电影按其状态动作值由大到小进行排序,生成最终的电影推荐。
28.进一步的,所述s1中的电影相似度无向图由邻接矩阵a表示。
29.进一步的,所述电影相似度无向图由数据集中训练集的离线交互数据构成。
30.进一步的,数据集按用户分为训练集和测试集。其中85%的用户及其交互数据为训练集,15%的用户及其交互数据为测试集。
31.进一步的,当2部电影同时出现在n个用户的观影记录中,且n≥10,则这两部电影之间存在一条边。
32.进一步的,当图中节点m1,m2之间存在一条边,邻接矩阵中位置(m1,m2)的值为1。
33.进一步的,所述s2中的图神经网络模型的构建步骤具体为:
34.步骤s2.1每一层图神经网络层都由gat图神经网络结构构成,每一层图神经网络
层分为5个head并行运算:
35.e
1i
=gat(a,e),1≤i≤5
36.步骤s2.2将5个head输出的向量拼接得到第一层图神经网络的输出:
37.e1=concat(e1,...,e5)
38.步骤s2.3将第一层图神经网络的输出作为第二层图神经网络的输入。
39.步骤s2.4经过与第一层相同的运算之后,将第二层图神经网络的输出作为更新后的电影向量表示矩阵e


40.进一步的,所述s3中的用户特征向量计算具体步骤为:
41.步骤s3.1按照索引,用更新后的电影向量表示矩阵e

中的向量表示用户历史观影记录;
42.步骤s3.2按照用户打分,对观影记录中的电影进行分类,每一类的电影所组成的向量矩阵为
43.步骤s3.3将每一类电影向量矩阵作为自注意力(selfattention,sa)网络的输入,经过自注意力网络的计算得到:
[0044][0045]
进一步的,是自注意力网络查询语句权重,是自注意力网络匹配标志权重,是待匹配语句权重。3个权重由网络训练得。
[0046]
进一步的,
[0047][0048]
进一步的,h是维度参数,通常等于矩阵的维度。用于防止所求过大。
[0049]
步骤s3.4将自注意力网络的输出作为前向网络(feed forward network)的输入,进一步挖掘特征信息并增加模型非线性程度:
[0050][0051]
进一步的,表示自注意力网络的输出,w
(1)
,b
(1)
分别表示第一层神经网络的权重和偏置,w
(2)
,b
(2)
分别表示第二层神经网络的权重和偏置,relu(rectified linear unit)函数为线性整流函数。
[0052]
进一步的,自注意力网络和前向网络组成一个自注意力模块。各分类的自注意力模块共同组成特征提取模块。
[0053]
步骤s3.5特征提取模块输出各分类下的电影特征向量,特征合成模块通过将各分类下的电影特征向量进行合并,生成用户特征向量。
[0054]
有益效果:
[0055]
与现有模块相比,本发明的有益效果是:
[0056]
1.本发明提供的一种基于图神经网络和强化学习的交互推荐方法,提出了电影相似度无向图的设计方式,并且在强化学习的框架基础上提出图神经网络的引入,显著增加
了方法的推荐准确度;
[0057]
2.本发明提供的基于强化学习的推荐模型在推荐过程中促进探索和利用的平衡,在冷启动场景下不明显伤害用户体验的同时尽快完善用户画像,在一段时间内达到用户推荐准确度最高。
[0058]
结合附图阅读本发明实施方式的详细描述后,本发明的其他特点和优点将变得更加清楚。
附图说明
[0059]
图1是本发明给出的推荐方法结构示意图;
[0060]
图2是本发明给出的推荐方法流程图;
[0061]
图3是本发明给出的电影特征表示矩阵计算示意图;
[0062]
图4是本发明给出的用户特征表示向量计算示意图;
[0063]
图中:1-构图模块、2-电影向量生成模块、3-用户向量生成模块、4-推荐模块;其中:21-向量初始化模块、22-图神经网络模块、31-特征提取模块、32-特征合成模块、41-策略拟合模块、42-推荐生成模块。
具体实施方式
[0064]
下面结合附图和示例对本发明作进一步说明。
[0065]
如图1-4所示,一种基于图神经网络和强化学习的交互推荐方法,包括构图模块1、电影向量生成模块、用户向量生成模块和推荐模块。所述构图模块和电影向量生成模块相连,电影向量生成模块和用户向量生成模块相连,用户向量生成模块和推荐模块相连;
[0066]
构图模块1:用于根据数据库中用户与电影交互历史数据,构建电影相似度无向图,并获取电影相似度无向图的邻接矩阵a;
[0067]
电影向量生成模块2:用于将电影相似度无向图的邻接矩阵a和随机初始化的电影向量表示矩阵e作为输入,经过所构建的图神经网络模型,获得更新后的电影向量表示矩阵e


[0068]
用户向量生成模块3:将更新后的电影向量表示矩阵以及用户在仿真交互环境中的当前历史观影记录作为输入,经过所构建的自注意力网络模型的计算,输出用户特征向量表示;
[0069]
推荐模块4:将当前用户特征向量作为输入,经过多层感知机网络模型拟合策略,输出最终对该用户当前状态下的电影推荐。
[0070]
进一步的,所述电影向量生成模块包括:向量初始化模块21和图神经网络模块22。所述向量初始化模块21和所述图神经网络模块22相连;
[0071]
向量初始化模块21:用于对电影向量进行随机初始化。令电影向量维度为d,则所初始化的电影向量矩阵为n为电影的总数量;
[0072]
图神经网络模块22:用于根据电影相似度无向图,挖掘离线数据中的协同信息,对初始化电影向量矩阵进行信息融合,并生成更新后的电影向量矩阵e


[0073]
进一步的,所述用户向量生成模块3包括特征提取模块31和特征合成模块32。所述特征提取模块31和特征合成模块32相连;
[0074]
特征提取模块31:用于将用户当前状态的历史观看电影转化成图神经网络更新后的电影向量表示,并按照用户历史打分进行分类,在每一类中分别使用搭建的自注意力网络运算输出各类的特征向量;
[0075]
特征合成模块32:将每一类生成的特征向量作为输入,输出用户特征向量。
[0076]
进一步的,所述推荐模块4分为策略拟合模块41和推荐生成模块42。所述策略拟合模块41与所述推荐生成模块42相连;
[0077]
策略拟合模块41用于输入用户特征向量表达,拟合推荐策略,并输出每一部待推荐电影的状态动作值;
[0078]
推荐生成模块42根据计算所得的状态动作值进行排序,并为目标用户生成一部电影推荐。
[0079]
进一步的,一种基于图神经网络和强化学习的交互电影推荐方法,包括如下步骤:
[0080]
步骤s1、构建电影相似度无向图:用于根据数据库中用户与电影交互历史数据,构建电影相似度无向图,电影相似度无向图由邻接矩阵a表示。电影相似度无向图由数据集中训练集的离线交互数据构成。数据集按用户分为训练集和测试集。其中85%的用户及其交互数据为训练集,15%的用户及其交互数据为测试集。当2部电影同时出现在n个用户的观影记录中,且n≥10,则这两部电影之间存在一条边。当图中节点(i,j)之间存在一条边,邻接矩阵中位置(i,j)的值为1;
[0081]
步骤s2、构建图神经网络模型,获得电影向量表示矩阵:用于将电影相似度无向图的邻接矩阵a和随机初始化的电影向量表示矩阵e作为输入,经过所构建的图神经网络模型,获得更新后的电影向量表示矩阵e


[0082]
如图3所示,s2中的图神经网络模型的构建步骤具体为:
[0083]
每一层图神经网络层都由gat图神经网络结构构成,每一层图神经网络层分为5个head并行运算:
[0084]e1i
=gat(a,e),1≤i≤5
[0085]
将5个head输出的向量拼接得到第一层图神经网络的输出:
[0086]
e1=concat(e1,...,e5)
[0087]
然后将第一层图神经网络的输出作为第二层图神经网络的输入。
[0088]
最后经过与第一层相同的运算之后,将第二层图神经网络的输出作为更新后的电影向量表示矩阵e


[0089]
步骤s3、对用户历史观影打分记录进行分组,并使用注意力机制融合信息,获得用户向量表示:将更新后的电影向量表示矩阵以及用户在仿真交互环境中的当前历史观影记录作为输入,经过所构建的自注意力网络模型的计算,输出用户特征向量表示;
[0090]
如图4所示,用户特征向量计算具体步骤为:
[0091]
步骤s3.1按照索引,用更新后的电影向量表示矩阵e

中的向量表示用户历史观影记录;
[0092]
步骤s3.2按照用户打分,对观影记录中的电影进行分类,每一类的电影所组成的向量矩阵为
[0093]
步骤s3.3将每一类电影向量矩阵作为自注意力(selfattention,sa)网络的输入,经过自注意力网络的计算得到:
[0094][0095]
进一步的,是自注意力网络查询语句权重,是自注意力网络匹配标志权重,是待匹配语句权重。这三个权重由网络训练得。
[0096]
进一步的,
[0097][0098]
进一步的,h是维度参数,通常等于矩阵的维度。用于防止所求过大。
[0099]
步骤s3.4将自注意力网络的输出作为前向网络(feed forward network)的输入,进一步挖掘特征信息并增加模型非线性程度:
[0100][0101]
进一步的,表示自注意力网络的输出,w
(1)
,b
(1)
分别表示第一层神经网络的权重和偏置,w
(2)
,b
(2)
分别表示第二层神经网络的权重和偏置,relu(rectified linear unit)函数为线性整流函数。
[0102]
进一步的,自注意力网络和前向网络组成一个自注意力模块。各分类的自注意力模块共同组成特征提取模块。
[0103]
步骤s3.5特征提取模块输出各分类下的电影特征向量,特征合成模块通过将各分类下的电影特征向量进行合并,生成用户特征向量。
[0104]
步骤s4、构建多层感知机模型,拟合推荐策略:将当前用户特征向量作为输入,经过多层感知机网络模型拟合策略,输出每一部待推荐电影的状态动作值。
[0105]
步骤s5:生成推荐电影:将待推荐电影按其状态动作值由大到小进行排序,生成最终的电影推荐。
[0106]
本发明在离线数据集的虚拟仿真环境中进行试验,针对训练集中已知的用户和电影交互数据,设计并构建电影相似度无向图,引入图神经网络,挖掘由协同数据蕴含的电影间相似度信息,以此获得电影向量的更精确表达。在电影向量表达获取之后采用对用户观看历史进行分类,并分别采用自注意力机制进一步挖掘用户历史行为信息,从而获得用户特征向量表达。此外,本发明在强化学习框架下进行训练,平衡利用和探索问题,既不明显伤害用户使用体验,又快速获得用户兴趣的探索,完善用户画像,实现用户一段时间内体验的最优化。
[0107]
上述实施例仅是本发明的优选实施方式,应当指出:对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和等同替换,这些对本发明权利要求进行改进和等同替换后的技术方案,均落入本发明的保护范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献