基于邻居增强的图神经网络会话推荐方法、系统及设备

文档序号:31707797发布日期:2022-10-01 12:39阅读:205来源:国知局
基于邻居增强的图神经网络会话推荐方法、系统及设备

1.本发明涉及一种基于邻居增强的图神经网络会话推荐方法及系统,属于用户偏好商品推荐领域。


背景技术:

2.近几年,随着移动设备的普及,互联网产生的信息和数据量呈现出了一种爆发式增长,rss(recommendation systems,推荐系统)在数字消费、服务和决策方面为用户缓解了这种信息过载的压力,成为人工智能最普遍的应用之一。rss不仅可以为用户筛选出更多有效信息,还能帮助供应商提高平台使用体验,保留更多的用户。
3.当前的大多数rss都是假设用户的档案和过去的交互记录是不断被记录的,然而当下,关于个性化推荐和个人隐私之间的冲突不断升级,许多服务中用户的身份和信息可能是未知的,只有正在进行会话的用户的历史记录可用,因此,在这种情况下,传统依赖充分的用户交互的推荐系统在结果精确度方面存在很多问题。
4.sbrss(session based recommendation systems,基于会话的推荐系统)利用用户消费过程中生成的会话学习用户的偏好,每个会话由一个连续时间内发生的用户与项目间的交互构成,这使得sbrss能够捕捉到用户准确的短期偏好。现有的基于会话推荐的推荐系统大多使用rnn(recurrent neural network,递归神经网络)来对项目序列的信息进行建模,例如gru4rec利用gru(gated recurrent unit,门控循环单元),利用点击和点击项目的特征对会话进行建模,nram首次将注意力机制整合到深度学习网络中,注意力机制计算两个rnn子模块的输出之间的注意力权重,以便nram自适应的选择更重要的项目,从而更有效的表示用户的喜好。在stamp中,用户的最后一次点击被认为尤为重要,并把最后一个点击项目的项目表示当作用户的短期兴趣。但是以上方案只能模拟连续项目之间的单向转换,而忽略了同一会话中其他上下文项目之间的单向转换。
5.为了解决这个问题,sr-gnn在图结构中对目标会话进行建模,并利用gnn(graph neural network,图神经网络)对图上项目节点之间的复杂转换进行建模。虽然基于rnn和gnn的模型在会话推荐上取得了不错的效果,但是它们仍然存在一些问题。sr-gnn只关注了目标会话内部的项目转换,然而忽略了不同会话之间的丰富的跨会话信息。


技术实现要素:

6.本发明所要解决的技术问题是基于背景技术的缺陷,提供一种基于邻居增强的图神经网络会话推荐系统方法,一方面利用与目标会话相似的邻居会话来考虑不同会话之间的共现关系,以及不同会话之间项目的交互关系。另一方面,利用fastformer捕获会话内长距离依赖,用以建模用户的长期偏好。
7.本发明为解决以上技术问题而采用以下技术方案:
8.本发明涉及一种基于邻居增强的图神经网络会话推荐系统,其步骤如下:
9.第一步、通过k临近算法需寻找出与目标推荐会话最相近的k个邻居会话,并且限
制他们的最后一项点击项目必须相同,以形成邻居会话集合ns;
10.第二步、将目标会话和k个最相近的邻居会话建模到一张图结构中,以此来考虑不同会话间,项目的复杂交互关系,并将此图命名为邻居增强图。此外,原始的目标会话建模为一张原始目标会话图;
11.第三步、利用门控图神经网络,学习得到的邻居增强图和原始目标会话图中的节点表示,并将最后一项点击的节点表示当作为用户的局部偏好;
12.第四步、引入fastformer不考虑距离地捕获整个输入和输出序列本身的转换,并将结果作为用户的全局偏好;
13.第五步、将用户的全局偏好和局部偏好相融合,作为用户的最终表示,对用户的下一个点击的项目进行预测,并将二元交叉熵函数作为损失函数。
14.上述第一步采用会话之间相同项目的个数计算出的余弦相似度表示两个会话之间的相似程度,其公式为:
[0015][0016]
其中,ls表示两个会话之间相同项目的数量,la和lb表示两个会话的长度。然后,对前k个相似会话进行采样以形成邻居集ns。
[0017]
上述第二步中,将到的邻居会话集合ns,和目标会话建模到同一张图中,定义为g
ns
=(v
ns
,e
ns
),原始目标会话图定义为g
t
=(vs,es)。其中v
ns
表示邻居增强会话图中所有节点的合集,e
ns
表示邻居增强会话图中所有边的合集,vs表示原始目标会话图中所有节点的合集,es代表原始目标会话图中所有边的集合。
[0018]
上述第三步中所述的图神经网络模型的流程为:
[0019]
通过图的邻接矩阵a计算节点之间在t时间的信息传播
[0020][0021][0022][0023]
其中,是邻居增强会话s
ns
在t-1时刻的节点向量列表,a
in
,a
out
分别表示g
ns
的入度和出度矩阵,w
in
,分别是控制权重的可学习入度和出度参数矩阵,b
in
,b
out
分别是入度和出度偏置,||表示拼接操作。
[0024]
表示更新门,控制遗忘信息,其公式为:
[0025][0026]
其中是可学习的参数矩阵,σ(
·
)表示sigmoid函数。
[0027]
表示重置门,决定更新信息,其公式为:
[0028]
[0029]
其中是可学习的参数矩阵,σ(
·
)表示sigmoid函数。
[0030]
表示更新的信息,其公式为:
[0031][0032]
其中tanh(
·
)是双曲正切函数,是可学习的参数矩阵,

表示元素乘法运算符。
[0033]
本发明将节点的在t时刻的隐藏表示向量定义为其计算公式为:
[0034][0035]
上述第四步中所述的fastformer网络模型,具体包括以下步骤:
[0036]
(1)对于会话内所有项目的潜在表示s=[h1,h2,...,h
|s|
],首先将其线性转换为三个矩阵,即查询矩阵q=[q1,q2,...,q
|s|
]、键矩阵k=[k1,k2,...,k
|s|
]、值矩阵v=[v1,v2,...,v
|s|
],q、k、接下来,使用加性注意机制将q汇总到全局查询向量q中:
[0037][0038][0039]
其中,是可学习的参数向量,d表示向量qi维度,αi是s中第i个向量的权重,i,j∈[1,|s|]。
[0040]
(2)使用全局查询向量和每个键向量之间的元素乘积来建模它们之间的交互,并将它们组合成全局上下文感知键矩阵pi=q*ki。此外,加性注意机制还用于总结全局上下文感知关键矩阵:
[0041][0042][0043]
其中是可学习的参数向量,βi是全局上下文感知键向量pi的权重。
[0044]
(3)使用基于元素的乘积来建模p和k之间的交互,即ui=k*vi。基于残差的思想,将原始查询矩阵q加到线性变换后的u中,得到最终的模型输出,本发明将其视为用户的全局偏好:
[0045]
sg=q+wru
[0046]
上述的对下一个点击的项目进行预测,具体包括以下步骤:
[0047]
本发明使用拼接函数将用户的全局偏好和局部偏好结合起来,作为用户的最终表示:
[0048]sfinal
=sc||sg;
[0049]
其中,||表示拼接操作,sc由第三步中得到的会话内最后一次点击的项目嵌入表示,在获得会话的最终会话嵌入表示后,本发明使用它来计算每个候选项目vi的推荐分数
[0050]
公式可以定义为:
[0051][0052]
最后,本发明使用softmax函数计算每个候选项目vi被点击的概率
[0053][0054]
其中,表示v=[v1,v2,...,vi]将成为下一个单击项目的概率。本发明将预测的交叉熵和地面真值定义为损失函数,其公式如下:
[0055][0056]
其中,yi表示基本真值项的一个热编码向量。
[0057]
其次,本发明还提出一种基于邻居增强的图神经网络会话推荐系统,包括:
[0058]
邻居会话集合生成单元,其被配置以执行以下动作:通过k临近算法寻找出与目标推荐会话最相近的k个邻居会话,且这k个邻居会话的最后一项点击项目均相同,以形成邻居会话集合ns;
[0059]
建模单元,其被配置以执行以下动作:将目标会话和k个最相近的邻居会话建模到一张邻居增强会话图中,同时将原始的目标会话建模为一张原始目标会话图;
[0060]
神经网络学习单元,其被配置以执行以下动作:利用门控图神经网络,通过学习得到邻居增强会话图和原始目标会话图中的节点表示,并将最后一项点击的节点表示当作为用户的局部偏好;以及
[0061]
引入fastformer网络模型,不考虑距离地捕获整个输入和输出序列本身的转换,并将结果作为用户的全局偏好;
[0062]
结果输出单元,其被配置以执行以下动作:将用户的全局偏好和局部偏好相融合,作为用户的最终表示,对用户的下一个点击的项目进行预测,并将二元交叉熵函数作为损失函数。
[0063]
再者,本发明还提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明的基于邻居增强的图神经网络会话推荐方法的步骤。
[0064]
最后,本发明提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述本发明的基于邻居增强的图神经网络会话推荐方法的步骤。
[0065]
本发明采用以上技术方案,与现有技术相比具有以下技术效果:
[0066]
本发明所采用的方案,通过构建邻居增强图,提高了模型学习跨会话信息的能力,并且引入fastformer,以较低的计算复杂度实现不考虑距离捕获整个输入和输出序列本身的转换,在基于会话的推荐系统方面,无论是推荐的效率,还是准确率,相较其他经典的基于会话的推荐系统,都具有明显的优势。
附图说明
[0067]
图1是本发明的流程图。
[0068]
图2是构建邻居增强会话图的示例。
具体实施方式
[0069]
为了使本技术领域的人员更好地理解本发明方案,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。
[0070]
如图1所示,本方法的框架流程如下:
[0071]
(1)对于目标会话,本发明使用knn查找距离目标会话最近的相邻会话ns。此时,ns和目标会话可以按照图二所示的方式建模为一个图g
ns
,本发明将其视为目标会话的邻居增强会话,该会话独立于ns和目标会话。
[0072]
(2)将原始目标会话图g
t
和g
ns
反馈到门控神经网络层,以捕获项目之间的复杂交互,从而获得项目嵌入。
[0073]
(3)本发明输入项目嵌入到fastfomer层,fastformer可以在输入和输出之间绘制全局依赖关系,因此本发明可以得到全局会话嵌入。
[0074]
(4)对全局会话嵌入sc和当前会话嵌入sg进行线性变换,得到最终会话表示s
final

[0075]
(5)预测层将根据最终结果计算每个候选项的推荐得分并选择前k项进行推荐。
[0076]
接下来将分阶段,具体介绍本发明的方法:
[0077]
对于目标会话s
t
,本发明首先使用k临近算法knn找到k个最近邻居集ns,并限制ns和s
t
与上次单击的项目相同。
[0078]
具体而言,本发明使用两个会话之间相同项目的数量来计算余弦相似度:
[0079][0080]
其中,ls表示两个会话之间相同项目的数量,la和lb表示两个会话的长度。然后,对前k个相似会话进行采样以形成邻居集ns。每个目标会话s
t
可以建模为有向图g
t
=(vs,es)。每个节点表示序列中单击的项目vs,每个边(v
s1
,v
s2
)表示用户在单击项目v
s1
后单击v
s2
。本发明将s
t
中所有项目的集合表示为vs,将所有交互的集合表示为es。
[0081]
同样,本发明将ns和s
t
建模到一张图。具体操作如图2所示。本发明将新图表示为g
ns
=(v
ns
,e
ns
)。本发明将g
ns
视为独立于s
t
和ns的会话图。在该会话中,本发明使用相似的邻居会话来增强不同会话之间的共现关系。由于g
ns
表示独立会话,因此g
ns
和g
t
的后续处理是相同的。
[0082]
在图构建的过程中,本发明解释了如何基于目标会话构建会话图g
t
和邻居增强会话图g
ns
,接下来本发明将描述如何使用门控图神经网络获取节点的潜在特征向量。对于g
ns
,可通过图的邻接矩阵a计算节点之间在t时间的信息传播
[0083][0084]
[0085][0086]
其中,是邻居增强会话s
ns
在t-1时刻的节点向量列表,a
in
,a
out
分别表示g
ns
的入度和出度矩阵,w
in
,分别是控制权重的可学习入度和出度参数矩阵,b
in
,b
out
分别是入度和出度偏置,||表示拼接操作。
[0087]
由于每个节点的交互不是唯一的,因此本发明对每侧的权重进行了归一化。本发明以会话[v1,v2,v3,v2,v4,v3,]构建邻接矩阵a为例,由于v3和v2在该会话中多次出现,所以需要对传入和传出边加权,以进行归一化。对于v3来说,由于点击项目v2和v4后,都点击了v3,那么v3的传入边的权重应该修改为0.5。
[0088]
然后,本发明将把相邻的潜在向量提取到ggnn(gated graph neural network,门控图神经网络)中,以获得节点的在t时刻的隐藏表示向量门控图神经网络类似于gru,由两个门确定的每轮训练需要丢弃或保留的信息:
[0089][0090]
式中,表示更新门,控制遗忘信息,是可学习的参数矩阵。σ(
·
)表示sigmoid函数。
[0091][0092]
式中,表示重置门,决定更新信息,即是可学习的参数矩阵。σ(
·
)表示sigmoid函数。
[0093][0094]
式中,表示更新的信息,其中tanh(
·
)是双曲正切函数,是可学习的参数矩阵,

表示元素乘法运算符。
[0095]
本发明将节点的在t时刻的隐藏表示向量定义为其计算公式为:
[0096][0097]
如上所述,本发明将s
t
和s
ns
视为两个单独的会话,并使用相同的处理方法,因此对于原始目标会话图g
t
,使用与g
ns
相同的训练模式。最后,图神经网络可以输出目标会话内的所有项目的潜在表示s=[h1,h2,...,h
|s|
]。
[0098]
对于目标会话s
t
,在将g
t
和g
ns
输入门控图神经网络后,本发明可以得到会话内所有项目的潜在表示s=[h1,h2,...,h
|s|
]。本发明将最后一个项目的节点表示视为用户的短期偏好和当前目标会话的嵌入,即sc=h
|s|
。然而,在预测用户的下一个操作时,本发明还应该考虑用户的全局偏好。fastformer是transformer的一种变体,计算复杂度较低。本发明使用它来不考虑距离地捕获整个输入和输出序列本身的转换。具体来说,对于s,首先将其线性转换为三个矩阵,即查询矩阵q=[q1,q2,...,q
|s|
]、键矩阵k=[k1,k2,...,k
|s|
]、值矩阵v=[v1,v2,...,v
|s|
],q、k、接下来,使用加性注意机制将q汇总到全局查询向量q中:
[0099][0100][0101]
其中,是可学习的参数向量,d表示向量qi维度,αi是s中第i个向量的权重,i,j∈[1,|s|]。
[0102]
然后,使用全局查询向量和每个键向量之间的元素乘积来建模它们之间的交互,并将它们组合成全局上下文感知键矩阵pi=q*ki。此外,加性注意机制还用于总结全局上下文感知关键矩阵:
[0103][0104][0105]
其中是可学习的参数向量,βi是全局上下文感知键向量pi的权重。
[0106]
最后,如上所述,使用基于元素的乘积来建模p和k之间的交互,即ui=k*vi。基于残差的思想,将原始查询矩阵q加到线性变换后的u中,得到最终的模型输出,本发明将其视为用户的全局偏好:
[0107]
sg=q+wru。
[0108]
此外,在多个注意力头的情况下,每个注意力头的操作相同,但参数不同。最后,将每个头部的输出连接到隐藏维度上。
[0109]
为了准确描述用户的偏好,本发明将用户的长期偏好与短期偏好相结合。具体来说,对于会话s=[v1,v2,...,v
|s|
],通过fastformer层提取会话序列的全局上下文信息,本发明得到会话的全局特征表示sg,它作为会话的全局特征嵌入。
[0110]
如上所述,本发明将最后一项的特征向量表示作为会话的局部嵌入,即sc。
[0111]
本发明使用拼接函数将两者结合起来:
[0112]sfinal
=sc||sg[0113]
在获得会话的最终嵌入表示后,本发明使用它来计算每个候选项目vi的推荐分数公式可以定义为:
[0114][0115]
最后,本发明使用softmax函数计算每个候选项目vi被点击的概率
[0116][0117]
其中,表示项目v=[v1,v2,...,vi]将成为下一个单击项目的概率。本发明将预测的交叉熵和地面真值定义为损失函数,其公式如下:
[0118][0119]
其中,yi表示基本真值项的一个热编码向量。
[0120]
本发明使用时间反向传播算法来训练本发明提出的方法。将不同的模型在两个数据集diginetica和yoochoose1/64上的表现如表1所示:
[0121]
表1不同基于会话的推荐系统在两个数据集上的性能
[0122][0123]
表1的实验结果显示了本发明对比所有基线模型展现出了最高的p@20和mmr@20指标。也就是说,本发明利用邻居会话中的共现信息增强会话节点表示的想法有效且可行。对于表一中的实验结果本发明给出以下分析:
[0124]
对于传统方法而言,pop和s-pop的结果表现较差,其中pop由于利用训练集中最受欢迎的项目进行推荐,所以忽略了之前未出现过的项目,然而s-pop的性能优于pop,并且在前期工作中展现出相对较好的性能,这表明了会话中的上下文信息的重要性。其中,item-knn在传统方法中展现了优秀的性能,尽管item-knn忽略了会话的顺序信息,但他的性能甚至超过了某些基于马尔科夫链的方法,这意味着邻域信息对于推荐效果有着重要的积极影响。
[0125]
对于两个基于马尔可夫链的方法fpmc和bpr-mf,二者都表现出相对较差的结果。这可能是由于马尔科夫链假设当前的交互仅仅取决于最近的一个或几个交互,只能捕获点式依赖关系,而忽视了协同依赖关系。
[0126]
近些年,许多基于深度学习的方法被提出,从实验结果来看大多数方法的性能都有了显著的提升,这得益于深度学习网络挖掘用户和项目之间复杂交互的能力。基于rnn的gru4rec和narm,利用gru来捕获项目转换表达出的用户的长期偏好,对每个会话进行个性化推荐,然而却忽略了用户的短期偏好。stamp将最后一次点击的项目表示定义为用户的短
期偏好,进一步优化了模型对于用户偏好的描述。sr-gnn的利用图神经网络对会话进行建模,所展现的性能要优于gru4rec、namr和stamp,这是由于sr-gnn将会话建模成图结构,使得gnn能够捕捉更加复杂的项目之间的双向交互。
[0127]
然而,本发明在利用图神经网络的基础上,进一步考虑了邻居会话与当前会话的共现关系,将与目标会话相似的邻居会话建模到同一张图中,并且利用fastformer捕获会话中的上下文信息,更加全面的表达用户的全局偏好。实验结果显示,本发明的推荐性能要优于srgnn等先进的方法,这证明了本发明方案的有效性。
[0128]
其次,本发明还提出一种基于邻居增强的图神经网络会话推荐系统,包括:
[0129]
邻居会话集合生成单元,其被配置以执行以下动作:通过k临近算法寻找出与目标推荐会话最相近的k个邻居会话,且这k个邻居会话的最后一项点击项目均相同,以形成邻居会话集合ns;
[0130]
建模单元,其被配置以执行以下动作:将目标会话和k个最相近的邻居会话建模到一张邻居增强会话图中,同时将原始的目标会话建模为一张原始目标会话图;
[0131]
神经网络学习单元,其被配置以执行以下动作:利用门控图神经网络,通过学习得到邻居增强会话图和原始目标会话图中的节点表示,并将最后一项点击的节点表示当作为用户的局部偏好;以及
[0132]
引入fastformer网络模型,不考虑距离地捕获整个输入和输出序列本身的转换,并将结果作为用户的全局偏好;
[0133]
结果输出单元,其被配置以执行以下动作:将用户的全局偏好和局部偏好相融合,作为用户的最终表示,对用户的下一个点击的项目进行预测,并将二元交叉熵函数作为损失函数。
[0134]
需要说明的是,本技术实施例系统的描述,与上述方法实施例的描述是类似的,具有同方法实施例相似的有益效果,因此不做赘述。
[0135]
作为本发明的另一个实施例,本发明还提出一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现本发明的基于邻居增强的图神经网络会话推荐方法的步骤。
[0136]
最后,本发明提出一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现前述本发明的基于邻居增强的图神经网络会话推荐方法的步骤。
[0137]
本文中以上描述的系统和技术的各种实施方式可以在数字电子电路系统、集成电路系统、场可编程门阵列(fpga)、专用集成电路(asic)、专用标准产品(assp)、芯片上系统的系统(soc)、负载可编程逻辑设备(cpld)、计算机硬件、固件、软件、和/或它们的组合中实现。这些各种实施方式可以包括:实施在一个或者多个计算机程序中,该一个或者多个计算机程序可在包括至少一个可编程处理器的可编程系统上执行和/或解释,该可编程处理器可以是专用或者通用可编程处理器,可以从存储系统、至少一个输入装置、和至少一个输出装置接收数据和指令,并且将数据和指令传输至该存储系统、该至少一个输入装置、和该至少一个输出装置。
[0138]
用于实施本技术的方法的程序代码可以采用一个或多个编程语言的任何组合来编写。这些程序代码可以提供给通用计算机、专用计算机或其他可编程数据处理装置的处理器或控制器,使得程序代码当由处理器或控制器执行时使流程图和/或框图中所规定的
功能/操作被实施。程序代码可以完全在机器上执行、部分地在机器上执行,作为独立软件包部分地在机器上执行且部分地在远程机器上执行或完全在远程机器或服务器上执行。
[0139]
在本技术的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(ram)、只读存储器(rom)、可擦除可编程只读存储器(eprom或快闪存储器)、光纤、便捷式紧凑盘只读存储器(cd-rom)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
[0140]
本领域的技术人员容易理解,以上所述仅为本发明的一个实施例而已,并不用以限制本发明,但是在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1