一种基于动态图神经网络的序列推荐算法

文档序号:35336358发布日期:2023-09-06 22:58阅读:92来源:国知局
一种基于动态图神经网络的序列推荐算法

本发明属于计算机序列推荐,具体涉及一种基于动态图神经网络的序列推荐算法。


背景技术:

1、随着互联网的快速发展和数据的爆炸式增长,个性化推荐系统在各个领域中得到广泛的应用。序列推荐是推荐系统中的重要任务之一,它可以基于用户历史行为序列来预测用户未来的行为,并向用户提供相应的商品或服务建议。相对于传统的推荐算法,序列推荐算法不仅考虑用户当前的兴趣和偏好,还利用用户历史行为序列的时间和顺序信息,从而提高推荐结果的准确性和推荐的多样性。

2、推荐系统经历浅层模型阶段、神经网络模型阶段和基于图神经网络的模型阶段的发展。基于浅层模型的协同过滤方法,如矩阵分解和分解机,在面对用户行为和数据输入的复杂性时存在一些挑战。为解决这些问题,基于神经网络的模型被提出,如神经网络协同过滤和深度分解机。然而,这些方法仍然存在一定的局限性,因为它们的预测和训练模式忽略数据中的高阶结构信息。例如,深度学习协同过滤的优化目标是预测用户与物品的交互,训练样本包括观察到的正面用户与物品的交互和未观察到的负面用户与物品的交互。这意味着对于特定用户的参数更新仅涉及用户交互过的物品,忽略更高层次的信息。

3、近年来,图神经网络在推荐系统中的应用引起广泛的关注。图神经网络是一种基于图的神经网络模型,能够对节点和边进行端到端的学习,具有良好的可扩展性和泛化能力。在推荐系统中,图神经网络可以用于学习用户和物品之间的复杂关系,从而提高推荐的准确性。图神经网络的快速发展为解决上述的问题提供一个有效的方案。图神经网络(gnn)采用嵌入传播算法来迭代地聚合节点的邻居嵌入信息,从而使得每个节点能够获取高阶邻居的信息。相较于传统方法仅获取一阶邻居信息的方式,实现对于高阶邻居信息的获取。由于处理结构化数据和探索结构化信息方面的优势,基于gnn的方法已成为推荐系统中最先进的新方法。然而,现有的gnn方法在序列推荐任务中存在一些问题。首先,大多数方法将用户行为序列视为静态图,忽略序列的时序性。其次,这些方法通常使用基于随机游走的采样方法来构建图,存在采样偏差的问题。

4、基于上述问题,本发明提出基于动态图神经网络的序列推荐模型,该模型将所有的用户序列转换成动态图,并在边上标注时间信息,从而使购买相同物品的用户序列通过用户和物品的连接而相互关联;接着模型改进子图采样策略,动态地提取包含用户序列和相关序列的子图。最后,为从子图中编码用户的偏好,模型使用一个图推荐网络,分别捕捉用户的长短期偏好与物品的长短期特征,从而更好地利用每个用户和每个物品节点的高阶邻居信息。


技术实现思路

1、本发明的目的在于克服现有技术的不足,提供一种基于动态图神经网络的序列推荐算法,可以解决现有的基于传统推荐方法和神经网络方法中忽略数据中的高阶结构信息从而无法充分利用邻居信息进行推荐的问题。

2、本发明解决其技术问题是通过以下技术方案实现的:

3、一种基于动态图神经网络的序列推荐算法,其特征在于:所述算法的步骤为:

4、s1、动态图构建

5、当用户在某个时间对某个物品交互时,用户和物品之间建立一条边,这条边可以用三元组(用户u,物品i,时间t)来表示,由于大量的用户序列与相同的物品进行交互,因此,数据集的所有三元组形成一个动态图:

6、

7、由于动态图记录用户和物品之间的交互时间,将时间t的动态图定义为gt∈g,它是由所有用户在时间t和t之前交互序列组成的动态图;

8、对于用户序列su=(i1,i2,…,ik)和时间戳序列tu=(t1,t2,…,tk),预测序列su的下一个物品就相当于预测图中与节点u相关的物品;

9、s2、子图采样策略

10、随着用户序列su的扩展,它的邻居序列的数量也在增长,同样,由所有用户组成的图神经网络的规模也在逐渐扩大,它会增加计算成本并在目标序列su中引入过多的噪声;为有效的训练和推荐,提出一种子图采样策略:

11、首先,以用户节点u为锚节点,在图中选择其最近的n个一阶邻居,即u与之交互过的历史物品,并将其记为nu,其中n为用户序列的最大长度;

12、然后,对于每个物品i∈nu,采用它们中的每一个作为锚节点来采样与它们交互的用户集,记为ni,为避免重复采样,已被用作锚节点的用户和物品节点将被记录下来,依次类推,可以得到节点u的多跳邻居,从而形成u的m阶子图su中的其中m为超参数,用于控制子图的大小;

13、采样后,每个子图包含序列su及其关联序列的节点,这些序列中的用户和物品节点通过在中堆叠用户到物品和物品到用户的关系相互链接;

14、s3、图推荐网络

15、图推荐网络组件由信息传播和节点更新组件组成,信息传播机制旨在分别学习中用户到物品和物品到用户的消息传播信息,困难在于如何分别从用户和物品的角度对邻居的顺序信息进行编码;静态图神经网络,如图卷积神经网络和图注意力网络无法为每个用户和物品捕获适当的邻居的顺序信息,一些序列模型,如循环神经网络和变换神经网络,广泛用于对用户长期和短期兴趣进行建模,但它们不能直接处理图结构数据;为此,结合图神经网络和递归神经网络来设计信息传播机制:

16、用户节点u的邻居节点集合是u购买过的物品,为更新每一层的用户节点表示,需要从每个用户节点的邻居中提取两类信息,分别是长期信息和短期信息;用户的长期信息反映其内在特征和一般偏好,可以从用户的所有历史物品中推断出来,用户的短期信息反映最近的兴趣;

17、信息传播机制,包括长期和短期信息的编码;

18、长期信息:为从其邻居中捕获每个节点的长期信息,使用图神经网络和递归神经网络的方法,其中,图神经网络直接聚合所有邻居节点的嵌入以捕获节点与邻居之间的关系;递归神经网络,如门控循环单元(gate recurrent unit,gru),可以有效地建模序列依赖性:

19、(1)图卷积神经网络,一种直接聚合所有邻居节点嵌入的直观方法

20、

21、

22、

23、其中:,和是第l-1层中物品和用户的编码矩阵参数,维度均为d×d;

24、和分别表示节点u和i的邻居节点数目;

25、(2)递归神经网络,如门控循环单元,是对序列依赖性建模的有效网络,模型利用门控循环单元来计算用户/物品节点与其邻居的长期偏好/特征,其计算方式为:

26、

27、

28、模型将和输入到门控循环单元中;

29、短期信息:在推荐系统中,用户的短期信息反映其最新的兴趣,许多工作将最后一个交互物品嵌入作为用户的短期嵌入,但忽略对历史信息的依赖,因此,考虑使用注意机制来建模最后一次交互与历史交互之间的明确有效性;

30、(1)注意力机制,考虑最后一个物品/用户与每个历史物品/用户之间的注意力机制:

31、

32、

33、注意力系数和可以通过以下公式计算:

34、

35、

36、参数w3和w4属于d维矩阵,用于控制最后一次交互的权重;

37、节点更新:模型汇集长期嵌入、短期嵌入和上一层嵌入来更新的节点表示,

38、(1)用户节点更新:对于用户节点,从第l-1层到第l层的表示更新规则可以表示为:

39、

40、其中,用于控制的信息更新;

41、(2)物品节点更新:对物品节点,从第l-1层到第l层的表示更新规则可以表示为:

42、

43、其中:是一个物品更新矩阵,控制的信息保留;

44、s4、预测用户u下一次交互的物品序列su当于预测子图的用户节点u的链接

45、设计链接预测功能来确定用户接下来可能与之交互的物品,在对应用图推荐网络后,得到用户节点u的多重嵌入其中包含用户嵌入在每一层的信息,不同层的用户嵌入突出不同的用户偏好,将连接用户的多个嵌入以获得节点u的最终嵌入表示:

46、

47、对于给定的候选物品i∈i,链接函数被定义为:

48、

49、为学习模型参数,优化交叉熵损失函数,用户u对候选物品的评分的归一化向量为:

50、

51、目标函数如下:

52、

53、其中:yu表示su的下一次交互的实际物品的独热编码向量;

54、θ表示所有模型参数;

55、||θ||2是l2范数;

56、λ是控制正则化强度的超参数。

57、本发明的优点和有益效果为:

58、1、本发明基于动态图神经网络的序列推荐算法,可以解决现有的基于传统推荐方法和神经网络方法中忽略数据中的高阶结构信息从而无法充分利用邻居信息进行推荐的问题。

59、2、本发明基于动态图神经网络的序列推荐算法,改进子图采样策略,动态地提取包含用户序列和相关序列的子图,有效缓解使用传统方法进行训练,面临较高计算和存储成本的问题与现有图神经网络方法在序列推荐任务中存在采样偏差的问题。

60、3、本发明基于动态图神经网络的序列推荐算法,使用动态图建模用户行为序列,并采用基于子图采样的方法提高计算效率。同时,模型利用注意力机制学习不同节点之间的权重,以更好地捕捉节点之间的复杂关系,从而更好地利用邻居信息进行预测。

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