一种基于图卷积网络的序列推荐方法、系统、设备及介质

文档序号:35864540发布日期:2023-10-26 21:49阅读:35来源:国知局
一种基于图卷积网络的序列推荐方法、系统、设备及介质

本发明属于人工智能,涉及一种序列推荐方法,尤其涉及一种基于图卷积网络的序列推荐方法、系统、设备及介质。


背景技术:

1、互联网的快速发展,在便利人们生活的同时,也带来了信息过载问题,用户难以从海量数据中发现对自己真正有用的信息。推荐系统是一种缓解信息过载问题的工具,它旨在基于用户的历史交互记录向用户提供个性化推荐服务,在日常生活中发挥着越来越重要的作用。

2、基于协同过滤的推荐算法是推荐系统中应用最广泛的方法,它们通常利用全局用户交互数据为用户推荐前n个项目,如矩阵分解模型,能够有效模拟用户潜在的静态偏好,取得不错的推荐效果。然而在现实中,用户的兴趣通常会随着时间发生改变,传统的协同过滤推荐算法很难及时捕捉到这种变化。

3、现在比较先进的序列化推荐方法是将用户交互数据按照时间戳排序,试图捕获序列中的依赖关系,模拟用户的动态偏好,以得到更准确的推荐结果。伴随着近年来深度学习的迅速发展,尤其是在推荐系统领域,表现出极大的优势,得到了广泛的应用。图神经网络是深度学习的一个分支,其目的是对传统深度学习方法不能很好地处理的非欧式空间数据,通过将非欧式空间数据表示为图数据来进行处理,捕获样本之间复杂的相互依赖关系。

4、申请号为202211350762.5的发明专利申请就公开了一种考虑课程先导关系和课程分类的序列推荐方法,包括:1、根据用户与课程的交互数据,构造知识图谱,捕捉课程间的先导关系;2、根据用户学习的历史课程序列,利用门控图神经网络和注意力机制建模用户课程层面的兴趣;3、根据用户学习的历史课程序列、课程分类信息,利用gru建模用户分类层面的长期兴趣转移;4、结合用户的两方面兴趣以及课程间的先导关系,预测用户对课程的偏好,选取合适的损失函数来优化模型。5、利用推荐模型预测用户对课程的偏好,为用户推荐下一个课程。本发明结合了知识图谱与图神经网络,既能捕捉课程之间的先导关系,又能从课程层面和分类层面捕捉用户的兴趣变化,从而实现更准确的推荐效果;并通过注意力机制融合得到用户在课程层面的兴趣,计算序列中不同课程对于当前兴趣的影响;通过倒置的位置表征来加强模型对于课程所处位置的敏感性认知,从而提高了推荐的准确性。

5、申请号为202310435302.0的发明专利申请就公开了一种基于融合用户意图的交互兴趣图的图卷积网络推荐方法,其包括:根据时序信息和位置信息,对图卷积网络推荐模型中用户-项目交互图中的项目序列重新构建,以生成簇型兴趣图,所述簇型兴趣图包括用户簇兴趣图和项目簇兴趣图;基于用户簇兴趣图和项目簇兴趣图对同簇属性和异簇属性分别实施交互建模,产生分别附有同质化和异质化的协作信号,将用户自身的表示与附有同质化和异质化的协作信号进行融合,生成高密度兴趣图;基于高密度兴趣图,利用双层神经网络构建分类模块,对每个用户节点均进行无监督分类,处于类边缘的节点自动分裂,形成多个中间子图,再以中间子图的共同意图来分析中间子图间的独立性,实施2次分裂,最终生成多个子图;将多个子图的用户唯一节点与同一项目的多个子图节点执行高阶图卷积操作,最终实现基于图卷积网络的推荐。该方法结合融入用户意图的兴趣图,进行簇间交互和二次子图分裂操作,使模型能在传播中更有选择性地对高阶节点汲取正反馈,以此来达到增强模型高阶传播学习的能力,让用户的潜在兴趣信息更大程度分布在兴趣图的相关位置上,从而提升推荐准确率。

6、随着序列推荐技术的发展,序列推荐技术应用广泛,广泛的应用场景也就意味着对序列推荐技术的要求也更加严格。如上述专利申请一样,现有的序列推荐的图卷积网络模型尚不能有效地访问高阶依赖性信息,从而导致模型不能识别序列推荐中用户不同时间段内的短期偏好间关系的问题,致使最终模型的推荐准确率偏低。


技术实现思路

1、为解决现有技术中存在的因模型尚不能有效地访问高阶依赖性信息从而导致模型不能识别序列推荐中用户不同时间段内的短期偏好间关系、推荐准确率低的问题,本发明提供了一种基于图卷积网络的序列推荐方法、系统、设备及介质。

2、为解决以上技术问题,本发明采用的技术方案如下:

3、一种基于图卷积网络的序列推荐方法,包括以下步骤:

4、步骤s1,数据预处理

5、获取用户的待推荐历史数据及用户特征,并根据待推荐历史数据中各项目的属性构造项目特征;

6、步骤s2,图构造

7、对用户序列进行划分,得到源序列和目标序列,再进行构图,得到源图、目标图;

8、步骤s3,协作学习

9、构建多网络协作学习模块,并将源图、目标图输入多网络协作学习模块,多网络协作学习模块的每个网络模块的编码器输出源编码特征、目标编码特征,每个网络模块的解码器对源编码特征、目标编码特征进行解码得到源解码特征、目标解码特征,对多个网络模块的源编码特征、目标编码特征、源解码特征、目标解码特征进行集成,得到源集成编码特征、目标集成编码特征、源集成解码特征、目标集成解码特征;

10、多网络协作学习模块利用源编码特征、目标编码特征、源解码特征、目标解码特征、源集成编码特征、目标集成编码特征、源集成解码特征、目标集成解码特征进行协作学习,得到成熟的多网络协作学习模块;

11、步骤s4,特征融合

12、将源集成编码特征、目标集成编码特征、源集成解码特征、目标集成解码特征进行融合,并将融合后的特征作为最终的节点特征;

13、步骤s5,序列推荐

14、利用最终的节点特征,通过贝叶斯个性化排序损失对最终的节点特征和用户特征进行优化,得到优化后的用户特征;利用优化后的用户特征计算用户对项目的评分,并选择评分最高的项目最为推荐结果。

15、进一步地,步骤s2中,包括:

16、将序列划分为两个子序列:源序列和目标序列,再对子序列进行构图;

17、进行图构造,根据计算各项目特征间的余弦相似度,得到相似度矩阵m;将相似度矩阵m中的元素按降序进行排列,并根据排序取一定数量的元素构造图邻接矩阵a,得到用户交互序列对应的源图、目标图。

18、进一步地,图构造的具体步骤为:

19、s2-1,将用户的交互序列s={v1,v2,...,vm}划分为两个子序列:源序列目标序列

20、步骤s2-2,对两个子序列进行构图,计算各项目特征间的余弦相似度,得到相似度矩阵m,

21、

22、其中,i、j分别表示子序列中的节点i和节点j,vi、vj分别表示节点i的特征和节点j的特征;

23、步骤s2-3,将相似度矩阵m中的元素按降序进行排列,并取前k%的元素来构造图邻接矩阵a,

24、

25、其中,k表示计算得到的值,计算公式为;

26、q=p log2 p

27、

28、其中,p表示图中节点的数量,q表示图中边的数量;

29、步骤s2-4,通过步骤s2-3,得到两种图:源图gsource和目标图gtarget。

30、进一步地,步骤s3中,多网络协作学习模块包括多个结构相同但初始化不同的网络模块,每个网络模块均包括编码器、解码器,编码器包括两层gcn网络,解码器包括全连接层。

31、进一步地,步骤s3中,协作学习的具体方法为:

32、步骤s3-1,将源图、目标图输入各网络模块,并记图中节点的初始特征为h,编码器中的gcn通过聚合邻居节点的特征对节点的初始特征进行更新,最终编码器输出源编码特征、目标编码特征;聚合邻居节点时所采用的聚合函数为:

33、

34、其中,i表示第i个节点,j表示第j个节点,n表示第n个网络模块,l表示第l层图卷积,σ表示relu激活函数,均表示训练参数,n(i)表示节点i的一阶邻居,表示节点j在第l层的特征,表示节点i与其邻居节点j的平方根的乘积;

35、步骤s3-2,解码器对源编码特征、目标编码特征进行解码,得到源解码特征、目标解码特征,解码特征的计算表示为:

36、dr=σ(wrer+kr)

37、其中,er表示编码特征,wr和br均表示训练参数,σ表示relu激活函数;

38、步骤s3-3,利用平均方法对多个网络模块的源编码特征、目标编码特征、源解码特征、目标解码特征进行集成,得到集成编码特征、集成解码特征,集成编码特征包括源集成编码特征、目标集成编码特征,集成解码特征包括源集成解码特征、目标集成解码特征;

39、集成编码特征的计算表示为:

40、

41、集成解码特征的计算表示为:

42、其中,x表示第x个网络模块,n表示网络模块的数量,en表示第n个网络模块的图编码特征,dn表示第n个网络模块的解码特征;

43、步骤s3-4,在进行协作学习时,编码特征协作学习损失函数为:

44、

45、解码特征协作学习损失函数为:

46、

47、其中,x、y分别表示第x个网络模块、第y个网络模块,n表示网络模块的数量,ex、ey分别表示第x个网络模块的编码特征、第y个网络模块的编码特征,e表示集成编码特征,dx、dx分别表示第x个网络模块的解码特征、第y个网络模块的解码特征,d表示集成解码特征,mse表示均方误差;

48、步骤s3-5,重构损失函数,损失函数为:

49、lrecon=mse(d,h)

50、其中,d表示集成解码特征,h表示图初始特征,mse表示均方误差。

51、进一步地,步骤s4中,在进行特征融合时,具体方法为:

52、步骤s4-1,构建融合网络,融合网络包括一个图卷积层和一个全连接层;将包括源集成编码特征、目标集成编码特征的集成编码特征es、以及包括源集成解码特征、目标集成解码特征的集成解码特征et输入融合网络的图卷积层,得到对应的特征fs、特征ft,并根据特征fs生成中间特征fi:

53、fi=aattfsw

54、其中,w∈rd×d表示可训练的权重矩阵,表示迁移矩阵;

55、迁移矩阵adtt中第i行第j列的元素aij表示为:

56、

57、其中,vi表示目标图gtarget上节点i的特征,vj表示源图gsource上节点j的特征,cos(vi,vj)是vi与vj间的余弦相似度;

58、步骤s4-2,根据中间特征fi,对特征fs、特征ft进行融合,融合表示为:

59、ft′=ft+σ(fc(ft,fi,fs))

60、其中,ft′表示融合后的特征,fc表示全连接层,σ表示relu激活函数,(ft,fi,fs)表示特征ft,fi,fs的串联。

61、进一步地,步骤s5中,进行序列推荐时,具体方法为:

62、步骤s5-1,利用融合后的特征f′t和用户特征u={u1,u2,...,ur}计算用户对正项和负项的评分:

63、

64、其中,rc表示用户对正项c的评分,rd表示用户对负项d的评分,uc为用户特征,表示正项c的特征,表示负项d的特征,⊙为点积操作;

65、步骤s5-2,利用贝叶斯个性化排序损失函数对最终的节点特征和用户特征进行优化,贝叶斯个性化排序损失为:

66、

67、其中,g表示第g个用户,g表示用户数量,u表示第u个正项,u表示正项的数量,r表示第r个负项,b表示负项的数量,rg表示用户对正项的评分,ru表示用户对负项的评分;

68、步骤s5-3,利用优化后的用户特征计算用户对项目的评分,并选择评分最高的项目最为推荐结果。

69、一种基于图卷积网络的序列推荐系统,包括:

70、数据预处理模块,用于获取用户的待推荐历史数据及用户特征,并根据待推荐历史数据中各项目的属性构造项目特征;

71、图构造模块,用于对用户序列进行划分,得到源序列和目标序列,再进行构图,得到源图、目标图;

72、协作学习模块,用于构建多网络协作学习模块,并将源图、目标图输入多网络协作学习模块,多网络协作学习模块的每个网络模块的编码器输出源编码特征、目标编码特征,每个网络模块的解码器对源编码特征、目标编码特征进行解码得到源解码特征、目标解码特征,对多个网络模块的源编码特征、目标编码特征、源解码特征、目标解码特征进行集成,得到源集成编码特征、目标集成编码特征、源集成解码特征、目标集成解码特征;

73、多网络协作学习模块利用源编码特征、目标编码特征、源解码特征、目标解码特征、源集成编码特征、目标集成编码特征、源集成解码特征、目标集成解码特征进行协作学习,得到成熟的多网络协作学习模块;

74、特征融合模块,用于将源集成编码特征、目标集成编码特征、源集成解码特征、目标集成解码特征进行融合,并将融合后的特征作为最终的节点特征;

75、序列推荐模块,用于利用最终的节点特征,通过贝叶斯个性化排序损失对最终的节点特征和用户特征进行优化,得到优化后的用户特征;利用优化后的用户特征计算用户对项目的评分,并选择评分最高的项目最为推荐结果。

76、一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行上述方法的步骤。

77、一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行上述方法的步骤。

78、与现有技术相比,本发明的有益效果是:

79、1、本发明中,改进了基于图卷积网络的序列推荐方法,从特征融合的角度将用户早期短期偏好的信息融合到了近期短期偏好中,使其能够识别用户在不同时间段内的短期偏好间关系,弥补了浅层网络设置的不足;此外,结合知识蒸馏的优势在项目特征学习中加入了协作学习,进一步增强了网络提取项目特征的能力,使各个网络都能从其他网络处获得更多样化的信息,从而提高网络表征能力并降低序列中噪声对于特征学习的影响,改善并提高模型在推荐任务中的推荐准确性。通过这种方法,能够有效的提取项目特征,得到更准确的用户偏好,提高推荐准确率,对于序列推荐具有重要意义。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1