一种基于会话推荐的全局上下文增强图神经网络方法

文档序号:26844439发布日期:2021-10-09 00:01阅读:162来源:国知局
一种基于会话推荐的全局上下文增强图神经网络方法

1.本发明属于数据处理的技术领域,尤其涉及一种基于会话推荐的全局上下文增强图神经网络方法。


背景技术:

2.推荐系统通过向用户推荐有用的内容,成功地解决了信息过载的问题,因此在各种在线平台上扮演着重要的角色。传统的推荐方法(例如,协同过滤)通常依赖于用户简介和长期历史交互的可用性,在许多最近的现实场景中可能表现不佳,例如,在移动流媒体如youtube和ticktock中,这些信息是不可用的(例如,未登录用户)或有限可用(例如,短期历史交互)。基于会话的推荐是一种基于给定的匿名行为序列,按时间顺序预测下一个感兴趣的内容的推荐方法。早期关于基于会话的推荐的研究主要分为两类,即基于相似性的和基于链的。前者大量回复当前会话中项目的共现信息,而忽略了顺序行为模式。后者推断出用户对所有项目的所有可能的选择序列,这对于实际应用来说可能会遇到棘手的计算问题,因为项目的数量很大。最近,针对任务提出了许多基于深度学习的方法,这些方法利用成对的项目过渡信息来建模给定会话的用户偏好。这些方法取得了令人鼓舞的成果,但仍然面临以下问题。首先,他们中的一些人通过使用循环神经网络,按时间顺序提取会话的成对项目转换信息来推断匿名用户的偏好。然而,一个会话可能包含多个用户选择甚至噪声,因此它们可能不足以生成所有正确的依赖关系,从而无法对嵌入中项目转换模式的复杂固有顺序进行建模。其次,其他基于图神经网络和自注意力机制,如sr

gnn。他们通过计算基于每个项目和最后一个项目之间的会话成对项目转换的相对重要性来学习整个会话的表示,并且性能在很大程度上依赖于最后一个项目与当前会话的用户偏好的相关性。


技术实现要素:

3.针对现有技术中存在的不足,本发明所要解决的技术问题在于提供一种基于会话推荐的全局上下文增强图神经网络方法,利用图注意力网络的思想,根据每个连接的重要性生成注意力权重。
4.为了实现以上技术方案,提出了一种基于个性化差分隐私的集成推荐方法,包括以下步骤:
5.s1、通过采用会话感知注意机制,基于全局图结构递归地合并每个节点的邻居的嵌入,从而在所有会话中学习全局级别的项目嵌入;
6.s2、在会话图上使用gnn模型来学习当前会话中的会话级项目嵌入;
7.s3、通过聚合会话级和全局级的学习项目表示来建模当前会话的用户偏好;
8.s4、输出用于推荐的候选项目的预测概率。
9.优选的,所述步骤s1的具体步骤如下:
10.s11、利用图注意力网络的思想,根据每个连接的重要性生成注意力权重;
11.s12、通过采用softmax函数对邻居的系数进行归一化。
12.进一步的,所述步骤s2的具体步骤如下:
13.s21、对于不同的关系,训练四个权重向量;
14.s22、通过计算与系数对应的特征的线性组合来获得每个节点的输出特征。
15.进一步的,所述步骤s3的具体步骤如下:
16.s31、对于每个项目,通过结合全局上下文和会话上下文来获得其表示;
17.s32、将会话序列输入图神经网络后,可以获得会话中涉及的项目的表示;
18.s33、通过线性组合项目表示来获得会话表示。
19.由上,本发明从会话图和全局图学习两个层次的项目嵌入,分别是:会话图,即通过建模当前会话中的成对项目转换来学习会话级项目嵌入;全局图,即通过在所有会话中建模成对的项转换来学习全局级别的项嵌入。本发明以一种软注意机制聚集了两个层次的学习项目表征。在三个基准数据集上的实验表明,gce

gnn的性能始终优于现有的方法。采用会话感知注意机制来递归地合并全局图上每个节点的邻居嵌入,还设计了一个会话级项目表示学习层,它在会话图上使用gnn来学习当前会话中的会话级项目嵌入。此外,gce

gnn使用软注意力机制在两个级别中聚合学习到的项目表示。
20.上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下结合优选实施例,并配合附图,详细说明如下。
附图说明
21.为了更清楚地说明本发明实施例的技术方案,下面将对实施例的附图作简单地介绍。
22.图1为本发明的基于会话推荐的全局上下文增强图神经网络方法的流程图。
具体实施方式
23.下面结合附图详细说明本发明的具体实施方式,其作为本说明书的一部分,通过实施例来说明本发明的原理,本发明的其他方面、特征及其优点通过该详细说明将会变得一目了然。在所参照的附图中,不同的图中相同或相似的部件使用相同的附图标号来表示。
24.如图1所示,本发明的基于会话推荐的全局上下文增强图神经网络方法,包括:全局级项目表示学习层,通过采用会话感知注意机制,基于全局图结构递归地合并每个节点的邻居的嵌入,从而在所有会话中学习全局级别的项目嵌入;会话级项目表示学习层,在会话图上使用gnn模型来学习当前会话中的会话级项目嵌入;会话表示学习层,通过聚合会话级和全局级的学习项目表示来建模当前会话的用户偏好;预测层,输出用于推荐的候选项目的预测概率。
25.1)全局级项目表示学习层
26.接下来介绍如何在全局图上传播特征以编码来自其他会话的项目转换信息以帮助推荐。
27.层是基于图卷积网络的架构构建的,利用图注意力网络的思想,根据每个连接的重要性生成注意力权重。在这里,首先描述一个单层,它由两个组件组成:信息传播和信息聚合,然后展示如何将其推广到多个层。一个项目可能涉及多个会话,从中可以获得有用的
项目转移信息,以有效地帮助当前的预测。
28.为了获得itemv的一阶邻居特征,一个直接的解决方案是使用均值池化方法。然而,并不是v的ε

neighbor集合中的所有项目都与当前会话的用户偏好相关,因此考虑利用会话感知注意力来区分(n
ε
(v))中项目的重要性。因此,n
ε
(v)中的每个item根据下式线性组合会话感知注意力分数。
[0029][0030]
直观上,一个item越接近当前session的偏好,这个item对推荐的重要性就越大。
[0031][0032]
这里选择leaky作为激活函数,

表示按元素乘积,||表示连接操作,w
ij
∈r1是全局图中边(v
i
,v
j
)的权重,w1∈r
d+1
×
d+1
和q1∈r
d+1
是可训练的参数,s可以看作是当前会话的特征,这是通过计算当前会话的项目表示的平均值获得的;
[0033][0034]
与均值池不同,本发明使信息的传播依赖于s和v
j
之间的亲和力,这意味着匹配当前会话偏好的邻居将更有利。
[0035]
然后通过采用softmax函数对与v
i
连接的所有邻居的系数进行归一化:
[0036][0037]
因此,最终的注意力分数能够建议应该给予哪些邻居节点更多的注意力。信息聚合:最后一步是聚合项目表示h
v
及其邻域表示实现聚合函数agg如下:
[0038][0039]
选择relu作为激活函数,w2∈r
d
×
2d
是变换权重。
[0040]
通过单个聚合器层,项目的表示依赖于其自身及其直接邻居。可以通过将聚合器从一层扩展到多层来探索高阶连接信息,这允许将与当前会话相关的更多信息合并到当前表示中。将第k步骤中的项目表示公式化为:
[0041][0042]
是从先前的信息传播步骤生成的item v的表示,在初始传播迭代中设置为h
v
。通过这种方式,一个项目的k阶表示是它的初始表示和它的邻居直到k跳的混合。这使得可以将更有效的消息合并到当前会话的表示中。
[0043]
2)会话级项目表示学习层
[0044]
会话图包含当前会话中的成对项目转换。接下来介绍如何学习会话级项目嵌入。
[0045]
由于会话图中项目的邻居对其自身具有不同的重要性,利用注意力机制来学习不
同节点之间的权重。注意力系数可以通过逐元素乘积和非线性变换来计算:
[0046][0047]
其中e
ij
表示节点v
j
的特征对节点v
i
的重要性,选择leakyrelu作为激活函数,r
ij
是v
i
和v
j
的关系,a
*
∈r
d
是权重向量。
[0048]
对于不同的关系,训练四个权重向量,即a
in
,a
out
,a
in

out
和a
self
。由于图中并非每两个节点都连接,因此仅计算节点e
ij
,以将图结构注入模型,其中是v
i
的一阶邻居。为了使不同节点之间的系数具有可比性,通过softmax函数对注意力权重进行归一化:
[0049][0050]
在式(8)中,注意力系数a
ij
是不对称的,因为它们的邻居不同,这意味着它们对彼此的贡献是不平等的。接下来,通过计算与系数对应的特征的线性组合来获得每个节点的输出特征:
[0051][0052]
会话图中的项目表示由项目本身及其在当前会话中的邻居的特征聚合而成。通过注意力机制,减少了噪声对会话级项目表示学习的影响。
[0053]
3)会话表示学习层
[0054]
对于每个项目,通过结合全局上下文和会话上下文来获得其表示,其最终表示通过求和池计算:
[0055][0056]
这里在全局级表示上使用dropout来避免过度拟合。
[0057]
基于学习到的项目表示,现在介绍如何获得会话表示。与之前的工作主要关注最后一项不同,在本发明中,提出了一种更全面的策略来学习会话的每个部分对预测的贡献。
[0058]
在本发明的方法中,会话表示是基于会话中涉及的所有项目构建的。注意不同item对下一次预测的贡献是不相等的。直观上,会话后期点击的项目更能代表用户当前的偏好,这表明它们对推荐的重要性更大。此外,重要的是找到用户的主要目的并过滤当前会话中的噪声。因此,结合了反向位置信息和会话信息来做出更好的预测。
[0059]
在将会话序列输入图神经网络后,可以获得会话中涉及的项目的表示,即还使用可学习的位置嵌入矩阵p=[p1,p2,

,p
l
],其中p
i
∈r
d
是特定位置i的位置向量,l是当前会话序列的长度。位置信息通过级联和非线性变换整合:
[0060][0061]
其中参数w3∈r
d
×
2d
和b3∈r
d
是可训练的参数。这里选择反向位置嵌入是因为会话
序列的长度不固定。与前向位置信息相比,当前项与预测项的距离包含更多有效信息,例如,在会话{v2→
v3→
}中,v3在序列中排在第二位,对预测的影响很大,但是在会话{v2→
v3→
v5→
v6→
v8→
}中,v3的重要性会相对较小。因此,反向位置信息可以更准确地暗示每个项目的重要性。
[0062]
会话信息是通过计算会话的项目表示的平均值获得的;
[0063][0064]
接下来,通过软注意力机制学习相应的权重:
[0065][0066]
其中w4,w5∈r
d
×
d
和q2,b4∈r
d
是可学习的参数。
[0067]
最后,可以通过线性组合项目表示来获得会话表示:
[0068][0069]
会话表示s由当前会话中涉及的所有项目构成,其中每个item的贡献不仅取决于会话图中的信息,还取决于序列中的时间顺序。
[0070]
4)预测层
[0071]
基于获得的会话表示s,每个候选项目的最终推荐概率基于它们的初始嵌入以及当前会话表示,首先使用点积,然后应用softmax函数来获得输出
[0072][0073]
其中表示项目v
i
在当前会话中作为下一次点击出现的概率。
[0074]
损失函数定义为预测结果的交叉熵:
[0075][0076]
其中y表示地面实况项的one

hot编码向量。
[0077]
以上所述是本发明的优选实施方式而已,当然不能以此来限定本发明之权利范围,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和变动,这些改进和变动也视为本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1