基于注意力机制的相似向量推荐方法、系统、设备及介质与流程

文档序号:35381518发布日期:2023-09-09 07:27阅读:42来源:国知局
基于注意力机制的相似向量推荐方法、系统、设备及介质与流程

本发明涉及相似推荐,特别是涉及一种基于注意力机制的相似向量推荐方法、系统、设备及介质。


背景技术:

1、现有技术中,gcn(graph convolutionalnetwork,一种图卷积网络)用于图节点向量表示方法,基于gcn模型进行图节点向量表示建模,需要使用整个图作为输入,计算邻接矩阵,一旦在图上有新增的节点或边,需要重新计算整个图的邻接矩阵,在新增节点和边比较频繁的动态图上,需要不停的计算和训练模型,因而会耗费更多资源,性能表现不好。

2、graphsage(graph sampleandaggregate)模型是一个大规模图节点向量表示学习的框架,是推导式节点向量模型,相较于gcn,具有更高的性能表现,由于其是推导式模型,可应用于动态图,对于新的节点向量生成有较好的表现。graphsage模型一般应用于无向无权图节点向量聚合,graphsage模型训练有两步:第一步通过随机采样取得相邻节点,第二步通过向量聚合函数,进行邻居节点向量聚合。在这两步的向量聚合中,graphsage模型表现出以下缺点:

3、1、graphsage模型对相邻节点进行随机采样,产生聚合节眯,没有考虑相邻节点边的权重。

4、2、graphsage模型相邻节点采是随机的,因此节点向量的生成因随机而稳定。

5、3、graphsage模型的提出一般应用于无向无权图,在应用有向加权图时,需要将有向加权图修正为无向无权图才能使用。

6、另一个广泛应用的推导式图模型gat(graphattentionnetworks),其是基于attention机制的图节点向量生成模型,考虑了与相邻节点的权重,gat只关注了一阶相邻节点关系,即只使用了和节点直接有边相连接的节点关系。gat模型的优势是使用了attention计算相邻节点向量,attention机制可以给不同相邻节点分配不同的注意力权重,但gat在相邻节点聚合时,未做相邻节点的选择,使用了全部相邻节点,大规模节点向量表示性能表现不好。

7、由此可见,上述现有的向量建模推荐方法在使用上,显然仍存在有不便与缺陷,而亟待加以进一步改进。如何能创设一种新的向量建模推荐方法,成为当前业界急需改进的目标。


技术实现思路

1、有鉴于此,本公开实施例提供一种基于注意力机制的相似向量推荐方法,至少部分解决现有技术中存在的问题。

2、第一方面,本公开实施例提供了一种基于注意力机制的相似向量推荐方法,所述方法包括以下步骤:

3、将用户点击目标序列作为节点,基于边权重对节点进行排序,取前预设数量的相邻节点;基于所述前预设数量的相邻节点和与所述前预设数量的相邻节点在同一session序列中的点击关系作为边构建目标关系图;其中,当基于边权重进行排序的节点小于预设数量时,使用空节点进行填充;

4、基于当前节点特征、当前节点的相邻节点特征和当前节点的相邻节点的相邻节点特征生成节点向量、当前节点的相邻节点向量和当前节点的相邻节点的相邻节点向量;

5、基于所述节点向量与所述当前节点的相邻节点向量通过注意力机制生成所述目标关系图的一阶关系向量;

6、基于所述当前节点的相邻节点向量和所述当前节点的相邻节点的相邻节点向量通过注意力机制生成所述目标关系图的二阶关系向量;

7、将所述目标关系图的一阶关系向量与所述目标关系图的二阶关系向量连接生成基于注意力机制的聚合向量。

8、根据本公开实施例的一种具体实现方式,所述基于所述节点向量与所述当前节点的相邻节点向量通过注意力机制生成所述目标关系图的一阶关系向量,包括:

9、将所述节点向量与所述当前节点的相邻节点向量进行拼接,并将拼接结果输入到全连接层layer,得到全连接层输出;通过softmax函数计算所述全连接层输出,得到所述当前节点的系数与所述当前节点的相邻节点的系数;

10、将所述当前节点的相邻节点的系数与所述当前节点的相邻节点向量相乘,得到有注意力机制的相邻节点向量;

11、将所述有注意力机制的相邻节点向量与所述节点向量进行再拼接,输入到全连接层layer得到所述一阶关系向量。

12、根据本公开实施例的一种具体实现方式,通过以下公式计算所述有注意力机制的相邻节点向量:

13、attention(node,neighbor)=softmax(leakyrelu(linear([node,neighbor])))*nei ghbor

14、其中,attention(node,neighbor)为有注意力机制的相邻节点向量;

15、leakyrelu为激活函数;linear为线性函数;node为当前节点向量;neighbor为相邻节点向量。

16、根据本公开实施例的一种具体实现方式,基于所述当前节点的相邻节点向量和所述当前节点的相邻节点的相邻节点向量通过注意力机制生成所述目标关系图的二阶关系向量,包括:

17、将所述当前节点的相邻节点向量和所述当前节点的相邻节点的相邻节点向量进行拼接,并将拼接结果输入到全连接层layer,得到全连接层输出;通过softmax函数计算所述全连接层输出,得到所述当前节点的相邻节点向量的系数和所述当前节点的相邻节点的相邻节点向量的系数;

18、将所述当前节点的相邻节点的相邻节点向量的系数与所述当前节点的相邻节点的相邻节点向量,得到有注意力机制的相邻节点的相邻节点向量;

19、将所述有注意力机制的相邻节点的相邻节点向量与所述节点向量进行再拼接,输入到全连接层layer得到所述二阶关系向量。

20、根据本公开实施例的一种具体实现方式,所述将所述目标关系图的一阶关系向量与所述目标关系图的二阶关系向量连接生成聚合向量,包括:

21、所述有注意力机制的相邻节点向量通过按维度求均值与所述节点向量拼接,经过全连接layer得到所述基于注意力机制的聚合向量。

22、根据本公开实施例的一种具体实现方式,所述方法还包括计算损失函数,包括以下步骤:

23、将所述当前节点的相邻节点的边加权采样作为正样本;将所述当前节点的非相邻节点集合的随机负采样作为负样本;所述正样本与所述负样本的比例为1:10,正样本标记为1,负样本标记为0;通过以下公式计算所述损失函数:

24、

25、其中,loss为损失函数;n为输入的一批次训练的样本数量;i为第i条样本;yi为标记值1;ei为当前节点向量;ep为ei节点的正样本节点向量;en为ei节点的负样本节点向量;p(ei*ep)是当前节点向量与正样本节点向量的点积;p(ei*en)是当节点向量与负样本节点向量的点积。

26、第二方面,本公开实施例提供了一种基于注意力机制的相似向量推荐系统,所述系统包括:

27、关系图构建模块,被配置用于将用户点击目标序列作为节点,基于边权重对节点进行排序,取前预设数量的相邻节点;基于所述前预设数量的相邻节点和与所述前预设数量的相邻节点在同一session序列中的点击关系作为边构建目标关系图;其中,当基于边权重进行排序的节点小于预设数量时,使用空节点进行填充;

28、数据处理模块,被配置用于基于当前节点特征、当前节点的相邻节点特征和当前节点的相邻节点的相邻节点特征生成节点向量、当前节点的相邻节点向量和当前节点的相邻节点的相邻节点向量;

29、基于所述节点向量与所述当前节点的相邻节点向量通过注意力机制生成所述目标关系图的一阶关系向量;

30、基于所述当前节点的相邻节点向量和所述当前节点的相邻节点的相邻节点向量通过注意力机制生成所述目标关系图的二阶关系向量;

31、聚合模块,被配置用于将所述目标关系图的一阶关系向量与所述目标关系图的二阶关系向量连接生成基于注意力机制的聚合向量。

32、根据本公开实施例的一种具体实现方式,所述系统还包括:

33、损失函数计算模块,被配置用于将所述当前节点的相邻节点的边加权采样作为正样本;将所述当前节点的非相邻节点集合的随机负采样作为负样本;所述正样本与所述负样本的比例为1:10,正样本标记为1,负样本标记为0;通过以下公式计算所述损失函数:

34、

35、其中,loss为损失函数;n为输入的一批次训练的样本数量;i为第i条样本;yi为标记值1;ei为当前节点向量;ep为ei节点的正样本节点向量;en为ei节点的负样本节点向量;p(ei*ep)是当前节点向量与正样本节点向量的点积;p(ei*en)是当节点向量与负样本节点向量的点积。

36、第三方面,本公开实施例还提供了一种电子设备,该电子设备包括:

37、至少一个处理器;以及,

38、与所述至少一个处理器通信连接的存储器;其中,

39、所述存储器存储有能够被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述至少一个处理器前述第一方面或第一方面的任一实现方式中的任一项所述的基于注意力机制的相似向量推荐方法。

40、第四方面,本公开实施例还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令当由至少一个处理器执行时使所述至少一个处理器执行前述第一方面或第一方面的任一实现方式中的基于注意力机制的相似向量推荐方法。

41、第五方面,本公开实施例还提供了一种计算机程序产品,所述计算机程序产品包括存储在非暂态计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使该计算机执行前述第一方面或第一方面的任一实现方式中的基于注意力机制的相似向量推荐方法。

42、本公开实施例中的基于注意力机制的相似向量推荐方法,通过基于目标行为数据,构建了大规模的目标有向加权图,对有向加权图进行建模,生成图节点向量,本技术研究基于注意力机制的聚合模型(graphattention andaggregate,gaa),gaa模型相较于现有模型有如下的改进:

43、图节点的相邻节点的选择,按相邻节点边的权重排序,选取较高的n个相邻节点,相邻节点不足n个的,定义使用空白节点进行填充,相邻节点选择的稳定性,增加了生成的节点向量稳定性(n为根据需要预设的数量值)。节点聚合函数使用attention的机制,在节点向量聚合上attention具有非对称性特点,即a节点对b节点相似不一定等于b节点对a节点的相似。attention在有向加权图上聚合节点向量,可以给不同的相邻节点分配不同的注意力权重。gaa在建模图节点向量的表示,通过逐层级拼接聚合相邻节点向量,可以聚合图的二阶或更高阶图节点关系。

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