一种基于多层聚合增强对比学习的会话推荐方法技术

技术编号:39415483 阅读:11 留言:0更新日期:2023-11-19 16:06
本发明专利技术公开了一种基于图注意力网络对比学习的会话推荐方法,采用一种新的图增强方法,该方法仅利用微小的均匀噪声来生成不同的对比视图

【技术实现步骤摘要】
一种基于多层聚合增强对比学习的会话推荐方法


[0001]本专利技术专利涉及一种会话推荐方法,在推荐领域具有重要的应用前景


技术介绍

[0002]推荐系统作为在网络搜索

电子商务

商业等多个领域具有广泛应用价值的工具,通过帮助用户获取个性化信息,为决策提供重要依据

尤其在数字经济信息过载的现代社会,推荐系统的地位愈发举足轻重

面对海量且快速扩展的内容

产品和服务
(
统称项目
)
的抉择,推荐系统为用户提供了便捷高效的解决方案

推荐服务的各研究领域都取得了重大进展,主要体现在基于内容的推荐服务

基于协同过滤的推荐服务以及两者的混合推荐服务

这些进步不仅彰显了推荐系统的价值,而且进一步提高了预测用户兴趣和需求的准确性

然而,基于会话的推荐
(SBR)
面临的核心挑战在于如何仅通过用户和项目
ID
信息捕捉用户兴趣
。SBR
的目标是从用户的短期匿名行为序列中预测他们感兴趣的项目,而无需访问他们的长期偏好数据

这一挑战的解决需要深入理解和分析用户的短期行为模式,进一步推断其兴趣和需求,从而更精准地为用户提供个性化的推荐服务

传统的基于会话的推荐方法主要考虑用户顺序交互的项目序列

最近,图神经网络<br/>(GNN)
模型被提出用于推荐任务来捕获项目之间的转换关系,并取得了很好的效果


技术实现思路

[0003]图注意力网络
(Graph Attention Network
,简称
GAT)
是一种用于处理图数据的神经网络模型

它基于注意力机制来学习节点之间的关系

与传统的图卷积网络相比,
GAT
将节点之间的传播性能提升到一个新的水平
。GAT
的核心思想是用注意力系数来计算节点之间的相互作用

每个节点使用注意力机制来加权相邻节点的表示

通过这种方式,
GAT
能够为每个节点学习到不同的邻居节点的重要性,从而更好地捕捉图数据的结构信息

[0004]图对比学习通过建模用户和物品之间的关系来改进推荐系统的性能

它将用户和物品作为图的节点,用户

物品交互作为图的边,并利用图结构信息来学习节点表示

具体来说,图对比学习使用图卷积网络
(GCN)
或图注意力网络
(GAT)
等模型来对用户和物品的表示进行学习,并通过最大化正样本对之间的相似度

最小化负样本对之间的相似度来训练模型

[0005]推荐系统的目标是根据用户的历史行为和其他信息来预测用户可能感兴趣的物品

传统的推荐系统通过建模用户和物品之间的关系进行推荐,但是它们忽视了物品之间的相互关系,无法充分利用图结构信息

因此,针对上述问题,本专利技术提出一种基于图注意力网络对比学习的会话推荐模型

[0006]本专利技术主要包括个部分:
(1)
构造会话图
。(2)
数据预处理
。(3)
构建会话表示模块
。(4)
构建对比学习模块
。(5)
构建预测模块

[0007](1)
构造会话图

将每个会话序列转换为会话图,给会话图中每个项目添加一个自循环来学习自身的信息,之后通过将会话图输入多层图注意力网络
GAT
来学习当前会话中
的项目嵌入,这样可以获得项目之间的依赖关系

同时引入星节点来学习非相邻项目之间的关系

[0008](2)
数据预处理

由于在会话中存在一些会话长度较少或者频率较低的数据,这些数据包含的信息过少,因此可以选择性地过滤掉这些公共数据集中的信息

[0009](3)
构建会话表示模块

采用图注意力网络来学习星图中的卫星节点的相关信息,主要通过传播相邻节点和星节点的信息来更新星图中的卫星节点

利用图注意力网络来区分不同卫星节点对于星节点的重要程度

同时,通过对卫星节点的表示添加噪声的方式来达到数据增强的目的

[0010]众所周知,图神经网络中最常见的问题是过拟合问题,在多层图注意力网络
SGAT
的最后一层加入了高速网络来计算最终的隐藏状态

最后通过聚合会话序列中所有卫星节点的嵌入来生成代表全局偏好的会话嵌入

[0011](4)
构建对比模块

在对比模块的数据增强部分采用了基于微小噪声的数据增强方式来生成多种视图,从而进行对比学习

对比模块与会话表示生成模块的流程基本一致,只有两个不同,一个就是高速网络的输入不同,另一个则是在对比模块中为会话中的项目加入位置编码从而把序列信息融入到表示中

[0012](5)
构建预测模块

在预测部分,使用多任务学习进行学习和预测

主要任务是推荐下一个项目,辅助任务是在对比学习中从不同视图中提取项目的一般特征

为缓解推荐中普遍存在的流行性偏差问题,对会话嵌入和项目嵌入分别进行层归一化,将归一化后的会话嵌入和项目嵌入进行乘积运算得到项目的分数,最后对所有的得分使用
Softmax
函数来得到最终的输出概率

[0013]本专利技术基于图注意力网络对比学习的会话推荐模型详细实施步骤如下:
[0014]步骤1:构造会话图

对于每一个会话序列
S
,可以将其建模成一个会话图
G

(V,E)
,其中
V
表示会话中的节点,
v
s
表示星节点,
E
代表会话中边的集合,边表示为会话中两个相邻时间点点击的项目

首先,将边划分成输入边和输出边,并且分配一个经过归一化后的权重,它的计算方法是该边的出现次数除以该边的起始节点的出度

将会话序列的项作为卫星节点,同时添加一个星节点
v
s
来捕捉非邻接节点的长距离依赖关系

卫星节点之间是单向连接的,星节点与卫星节点之间是双向连接;
[0015]步骤2:数据预处理...

【技术保护点】

【技术特征摘要】
1.
一种基于图注意力网络对比学习的会话推荐方法,用于包含数据稀疏性和数据增强会话推荐领域,其特征在于:步骤1:构造会话图

对于每一个会话序列
S
,可以将其建模成一个会话图
G

(V,E)
,其中
V
表示会话中的节点,
v
s
表示星节点,
E
代表会话中边的集合,边表示为会话中两个相邻时间点点击的项目

首先,将边划分成输入边和输出边,并且分配一个经过归一化后的权重,它的计算方法是该边的出现次数除以该边的起始节点的出度

将会话序列的项作为卫星节点,同时添加一个星节点
v
s
来捕捉非邻接节点的长距离依赖关系

卫星节点之间是单向连接的,星节点与卫星节点之间是双向连接;步骤2:数据预处理

对于每一个会话序列将其处理为预测标签与项目序列,即同时,移除数据集中长度等于1的会话以及出现次数小于5的项目;步骤3:构建会话表示模块

详细的模块构建分为三个步骤,其具体构建过程在步骤
3.1、3.2
和步骤
3.3
进行说明:步骤
3.1
:初始化初始化

将每个会话
S
和项目
v
i
嵌入到相同的空间中,直接将会话中唯一项的嵌入作为卫星节点的表示,其中
v
i
∈R
是卫星节点
i
在星图中的
d
维嵌入

星节点的初始嵌入则是通过对卫星节点初始嵌入进行平均聚合得来;步骤
3.2
:项目嵌入学习

由于节点的不同邻居具有不同的重要性,需要为不同节点分配不同的重要性权重,权重因子可以通过对元素乘法进行非线性变换来获得

主要通过传播相邻节点和星节点的信息来更新图中的卫星节点

模型在这一部分对项目嵌入进行数据增强来生成不同的视图进行对比学习

同时为了缓解图神经网络中的过拟合问题,在多层图注意力网络的最后一层添加了高速网络来计算最终的隐藏状态

节点的更新

噪声添加以及高速网络的详细内容在步骤
3.2.1、3.2.2
和步骤
3.3.3
进行详细说明:步骤
3.2.1
:节点的更新

首先,由于不同节点的重要性不同,通过将两个节点的项目表示逐元素乘积的结果进行非线性变换来得到节点的重要性权重:其中,
e
ij
表示节点
v
j
的特征对
v
i
的重要性,激活函数是
LeakyReLU
函数,
r
ij
表示
v
i

v
j
之间的关系,
a∈R
d
是权重向量

接下来定义四个权重向量来表示不同的关系:
l
in
,l
out
,l
in

out

l
self
,它们在图结构中分别表示节点间四种类型的边

只计算节点
v
i
一跳邻居的
e
ij
,并使用
softmax
函数对注意力权重进行归一化处理:其中,表示节点
v
i
的一跳邻居

由于上式中的注意力系数
α
ij
并不对称,因此它们的邻居也不同,相互之间的重要性也不同

接下来,将节点的特征与相应的特征系数进行线性
组合,得到每个节点的输出特性:接下来,将考虑从星形节点获得的数据

在星图神经网络中,星节点可以汇总所有项目的全部数据,并将其传送给其他卫星节点

利用注意力机制来计算卫星节点
v
i
和星节点
v
s
的相似度,记为相似度,记为其中,为可训练参数,和分别为
v
i

v
s
对应的项目表示,为缩放因子

最后,通过门控机制选择性地获取相邻节点和星节点的信息:步骤
3.2.2
:节点的噪声添加

通过给卫星节点的表示添加噪声来实现数据增强

形式上,对于卫星节点
v
i
及其在第
l
层的表示可以实现以下表示级增强:可以实现以下表示级增强:其中,
Δ

i
是添加的噪声矢量,
||
Δ
||2=
ε

ε
是一个较小的小常数

从几何学上讲,通过将缩放噪声矢量添加到
e
i
中,可以通过旋转生成一个增强表示,其中每次旋转对应于
e
i
的一个偏差

由于旋转角度足够小,添加噪声后的增强表示保留了原始表示的大部分信息,同时引入了某些变化

选择从均匀分布中产生噪声,这样可以使增强效果更加均匀

对于星节点,通过自我关注机制为不同的卫星节点分配不同的重要程度

建议使用卫星节点和星形节点的相似度来表示每个卫星节点的重要性:其中,为可训练参数

之后,计算相似性系数及其对应的卫星节点嵌入的线性组合,以更新星形节点的嵌入表示:步骤
3.2.3
:高速网络

众所周知,
GNN
最常见的问题之一就是过拟合

为了解决这个问题,在
SGAT
的最后一层使用了一种
dropout
技术
(...

【专利技术属性】
技术研发人员:王静宇高世伟党小超董晓辉李延红苏文静
申请(专利权)人:西北师范大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1