一种基于特征增强的图对比学习会话推荐方法

未命名 09-24 阅读:42 评论:0


1.本发明涉及人工智能技术领域,特别涉及一种基于特征增强的图对比学习会话推荐方法。


背景技术:

2.通过向用户有针对性地推荐有用的内容,推荐系统成功地解决了信息过载的问题,因此在各种在线平台上发挥着至关重要的作用。然而,由于依赖用户档案以及用户的长期历史交互信息,因此当这些信息存在不可用或者信息有限时,传统推荐系统在最近的现实场景中可能表现不佳。为克服传统推荐系统的不足,近年来,基于会话的推荐引起了人们广泛关注。基于会话的推荐通过给定的按时间排序的匿名行为序列来预测下一个可能交互的项目。
3.早期的基于会话的推荐系统主要分为基于相似度的推荐和基于链的推荐两类。两者互有优劣:前者偏重于当前会话中项目的共现信息,而忽略了顺序行为模式;后者主要推断用户在所有项目上选择的所有可能的序列,这对于现实世界中项目数量巨大的场景来说可能会遇到棘手的计算问题。
4.除此以外,一些基于深度学习的推荐方法也在近期出现,这些推荐方法通过成对的项目转换信息(如sr-gnn、gce-gnn等)来对给定会话的用户偏好建模。目前这些方法都取得了令人鼓舞的成果,但是仍然面临以下问题:
5.(1)一些方法通过使用循环神经网络和记忆力网络的方法按时间顺序提取会话中成对项目的转换信息来判断匿名用户的偏好。但是一个会话中可能包含多个用户的选择,过多的选择会造成数据准确度下降甚至会导致噪声的出现,因而这些方法无法对嵌入过程中项目转换的内在复杂顺序进行建模,从而无法生成所有项目之间的正确依赖关系。
6.(2)基于神经网络的方法加入注意力机制。这种推荐系统通过基于会话中每一项和最后一项之间的成对项目转换,计算相对重要性来学习整个会话的表示,然而这种推荐方法的性能在很大程度上都依赖于最后一项与当前会话用户偏好的相关性。


技术实现要素:

7.为了解决现存技术所存在的会话中可能包含多个用户的选择和噪声的问题以及会话的推荐性能在很大程度上都依赖于最后一项与当前会话用户偏好的相关性的问题,本发明提供了一种基于特征增强的图对比学习会话推荐方法,总体流程如图1所示,包括如下步骤:
8.s1、构建用户会话序列的会话图;
9.s2、为会话图的每个项目节点生成会话级特征向量表示;
10.s3、构建全局图,将项目节点的会话级特征向量输入全局级项目表示学习模块以获得项目节点的全局级特征向量表示;
11.s4、将项目节点的会话级特征向量表示和全局级特征向量表示输入池化层进行池
化操作,获得项目节点的池化向量表示;
12.s5、将项目节点的池化向量表示输入会话向量表示学习模块,获得待预测会话的综合向量表示;
13.s6、将项目节点的池化表示向量和待预测会话的综合向量表示输入softmax函数得到所有项目被点击的概率,依此进行推荐。
14.进一步地,在s2中生成会话级特征向量表示的步骤包括:
15.s21、获取每个节点与邻接点的注意力系数,计算方式为:
[0016][0017]
其中和分别为节点vi和邻居节点vj的向量表示,θ
ij
表示节点vj对节点vi的权重,f为激活函数,是权重向量,r
ij
代表vj和vi之间的关系,节点vi表示会话中的交互项目;
[0018]
s22、将节点的注意力系数与节点的特征进行线性组合来获得每个节点的会话级特征向量表示;
[0019]
优选的,在s22中,仅计算节点与其一阶邻居的注意力系数。
[0020]
优选的,节点之间的不同关系,权重向量包括:和
[0021]
进一步地,所述s3中,全局级项目表示学习模块包括均值化层、特征传播单元,所述s3包括:
[0022]
s31、将节点的会话级特征向量表示输入到均值化层,用于对每个节点vi的特征向量与其邻居的特征向量进行均值化,公式为:
[0023][0024]
其中表示节点vi在特征传播单元的第k层节点的特征向量,表示均值化后得到的特征向量,τ
ij
代表全局图中节点vi与节点vj之间的边的权重,di、dj表示节点vi和节点vi在对角矩阵中对应的元素;
[0025]
s32、使用矩阵运算的方式对s31中均值化公式进行简化,首先用t表示加入自环的标准化邻接矩阵:
[0026][0027]
其中i是单位阵,是一个与全局图对应的对称的邻接矩阵,是的度矩阵,对角矩阵d=diag(d1,

,dn),其对角线上的值为邻接矩阵a中的行元素的和,表示为di=∑jτ
ij

[0028]
s33、更新过程表示如下:
[0029]
[0030][0031]
其中β是用来控制传播矩阵信息和单位阵信息比例的超参数,k∈k代表第k层卷积,γ为控制传播矩阵和项目自身表示之间比例的超参数,是特征传播单元的权重矩阵;表示特征传播单元的第k层的输入,输出表示为
[0032]
进一步地,全局级项目表示学习模块还包括dropout层,用于对全局级特征向量表示使用dropout函数来避免其出现过拟合的问题。
[0033]
进一步地,所述s5中,会话向量学习表示层包括注意力层、线性层和激活层,s5包括:
[0034]
s51、将项目节点的池化向量表示输入顺次连接的线性层和激活层得到位置信息zi:
[0035][0036]
其中是线性层的可学习的参数矩阵,是线性层的可学习的参数,||表示连接操作,tanh是激活函数;为项目节点的池化向量表示,p=[p1,p2,

,p
l
]为位置嵌入矩阵,其中是项目节点vi的位置向量,l是当前会话序列的长度;
[0037]
s52、计算待预测会话s中的所有项目特征向量表示的平均值,获得待预测会话的会话信息s


[0038][0039]
s53、通过注意力层计算会话信息s

的权重:
[0040]
ωi=q
t
σ(w3zi+w4s

+b2),
[0041]
其中,是注意力层可学习的参数矩阵和参数,σ(
·
)代表sigmod函数;
[0042]
s54、计算待预测会话s的综合会话向量表示,公式为:
[0043][0044]
进一步地,s6包括:
[0045]
通过softmax函数得到输出
[0046][0047]
其中,表示项目vi在待预测会话的下一时刻被点击的概率,t表示转置符,表示项目节点的池化向量表示。
[0048]
进一步地,训练时,还包括:
[0049]
s7、计算目标损失函数,使用基于时间的反向传播方法训练参数,损失函数为:
[0050][0051]
其中,m表示项目数量。
[0052]
进一步地,所述目标损失函数为:
[0053][0054][0055]
其中,λ为控制对比学习损失比例的超参数;b表示在训练过程中的抽样批次大小,和表示第i个和第j个会话的综合会话向量表示,表示特征增强的会话向量表示,τ是一个可调节的超参数;的计算公式为:
[0056]hs’=hsq+e,
[0057]
其中,表示变换矩阵,e是一个随机矩阵。
[0058]
进一步地,q为单位阵,e为符合标准(0,1)正态分布的随机阵。
[0059]
本发明的有益效果如下:
[0060]
(1)通过会话图和全局图两个层面获得更多具有全局级特征的交互信息,并且在全局图的特征传播阶段,本发名所述方法简化了特征均值化的过程,从而缓解了过平滑的问题,提升了推荐的准确性;
[0061]
(2)在获得会话向量表示后,引入对比学习的损失函数,使用均值噪声特征增强方法,使节点的向量表示在二维空间的分布更加均匀,并且产生的偏差较小,从而保留更多的节点信息,提升推荐的准确率。
附图说明
[0062]
为了供清楚地说明本公开实施例或现有技术中的技术方案,下面对实施例或现有技术描述中所需要使用到附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些图获得其他的附图。
[0063]
图1为本发明一个实施例的推荐方法的流程示意图;
[0064]
图2为本发明一个实施例的会画图的构建方法流程示意图;
[0065]
图3为本发明一个实施例的全局图的构建方法流程示意图;
[0066]
图4为本发明一个实施例的最终的会话向量表示流程示意图;
[0067]
图5为本发明一个实施例的全局级项目表示学习模块的结构示意图。
具体实施方式
[0068]
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0069]
现有的方法在转换模式时常常会忽略其他会话中有用的项目,并且在构建全局图时,通过图卷积的方式聚合邻居信息,在获得项目表示时会遇到过平滑问题。为了解决这些问题,本发明提出了一种基于特征增强的图对比学习会话推荐方法,包括如下步骤:
[0070]
s1、构建用户会话序列的会话图;
[0071]
s2、为会话图的每个项目节点生成会话级特征向量表示;
[0072]
s3、构建全局图,将项目节点的会话级特征向量输入全局级项目表示学习模块以获得项目节点的全局级特征向量表示;
[0073]
s4、将项目节点的会话级特征向量表示和全局级特征向量表示输入池化层进行池化操作,获得项目节点的池化向量表示;
[0074]
s5、将项目节点的池化向量表示输入会话向量表示学习模块,获得待预测会话的综合向量表示;
[0075]
s6、将项目节点的池化表示向量和待预测会话的综合向量表示输入softmax函数得到所有项目被点击的概率,依此进行推荐。
[0076]
用户会话序列中会话表示每个匿名会话,其中表示项目vi在会话s中产生交互,l表示会话s中项目的数量。项目集v={v1,v2,

,vm}表示会话序列中所有的项目按时间顺序排列的一系列交互(例如用户点击项目)。对于当前会话s,基于会话的推荐问题的目的就是从v中推荐最有可能被当前会话s的用户点击的top-k项目(1≤k≤|v|)。
[0077]
把项目集v中的每个项目编码到一个统一的嵌入空间,即对项目集v中的每个项目进行编码,以获得项目的特征向量(d表示项目的向量表示的维度),即项目vi的初始化向量表示,可以使用基于独热编码(one-hot)等嵌入方法进行转换。
[0078]
在s1中,把每个会话中项目(用户在不同时间段内所产生的交互序列)转换为一个会话图会话图的构建方法如图2所示,会话图的定义如下,对于给定的会话令为其对应的会话图,其中是会话s中所有项目的集合,将会话s中相邻的两个项目与之间建立一条有方向的边,即如果在同一个会话中出现在相邻位置的两个项目,则被认为是有向连接的(如用户在某特定会话中对项目的交互顺序为1
→2→
3,那么在会话图中则被认为节点1到节点2有一条有向边,节点2到节点3有一条有向边)。表示会话图的边集,其中表示会话s中两个相邻的项目之间的边,将项目的初始化向量表示输入注意力机制,可以捕捉项目之间的关系,且不同的会话之间是可以联系的,由于一个项目在一个会话中出现,也有可能在其他会话中出现。因此,会话图被提出来捕捉所有项目之间的关系,并被用来学习项目的特征。
[0079]
在一个实施例中,会话图包括四种不同类型的边,分别是r
in
,r
out
,r
in-out
和r
self
,这些边的类型取决于项目i和项目j之间的关系。具体而言,对于边r
in
指仅从到有边,r
out
指仅从到有边,r
in-out
指从到和从到都存在边,而r
self
指项目与其自身连接的边。通过这些边的连接,通过会话图可以捕捉到会话序列中项目之间的时序关系和相邻关系,从而更好地学习会话级项目的表示。
[0080]
在步骤s2中,通过注意力机制获得会话级向量表示。注意力机制是一种用于计算图中节点之间权重的技术,本发明使用了注意力机制来学习不同节点之间的权重,并将这些权重用于计算节点的表示向量。具体包括:
[0081]
s21、计算会话图中每个项目节点间的注意力系数,计算公式为:
[0082][0083]
其中和分别为节点vi和其邻居节点vj的特征向量表示,θ
ij
表示节点vj对节点vi的权重,f为激活函数,优选的,使用leakyrelu作为激活函数,是权重向量,r
ij
代表vj和vi之间的关系,对于节点之间的不同关系,对应四种权重向量,即和

表示元素乘积。
[0084]
s22、将节点i的邻居对节点i的注意力系数与节点i的向量表示进行线性组合,从而获得每个节点的会话级特征向量表示。
[0085][0086]
在一个实施例中,由于所有的节点并不都是都两两相连,为了注入整张图的信息,只考虑了节点的一阶邻居其中是节点vi的一阶邻居。为了使不同节点之间的系数具有可比性,通过softmax函数对注意力系数进行归一化,以更好地表达这些节点之间的关系而得到更准确的向量表示:
[0087]
α
ij
=softmax(θ
ij
),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)其中θ
ij
为邻居节点间的初始注意力系数。注意到每个节点的邻居是不同的,所以节点对彼此的贡献是不相等的,因此在公式(2)中归一化后的注意力系数α
ij
是非对称的。此时,将节点i的一阶邻居对节点i的注意力系数与节点i的向量表示进行线性组合来获得每个节点的具有其邻居注意力信息的会话级特征向量表示。
[0088][0089]
其中α
ij
为归一化后的注意力系数,为节点vi的向量表示。
[0090]
通过上述步骤得到每一个会话中每个节点的会话级特征向量表示。
[0091]
在步骤s3中,为会话序列构建全局图其节点集合由会话序列的节点组成,全局图的边集由s1中生成的会话图中的项目节点对应的边加权得到,其中权值的
计算方式通过注意力机制实现。全局图的构建是为了捕捉所有项目之间的关系,并学习所有项目的全局级特征。这种构建方式可以使用和重复利用所有会话中的信息,从而更好地进行推荐。其中表示会话序列所有项目的节点集,表示边集,每一项对应于所有会话中的两项,其中表示节点vi的ε-邻域,ε-邻域通过固定半径ε的方式得到。对于一个节点vi,它的ε-邻域是指和vi距离小于等于ε的所有节点的集合,ε由人工设置,优选的,ε为1,即节点vi的一阶邻居。
[0092]
将所有项目节点vi的会话级特征向量输入到全局级项目表示学习模块,即:
[0093][0094]
其中是会话图中所有节点的会话级特征向量的叠加,即x=[x1,

,xn]
t
,其中xi是节点vi会话级向量表示,即n表示会话序列中节点的数量。
[0095]
全局级项目表示学习模块包括:均值化层和特征传播单元,特征传播单元就是现有的图卷积神经网络中特征传播部分,功能是获取节点高阶邻居特征,由于此为现有技术,结构和内部原理不再赘述。
[0096]
特征传播单元的第k-1层gcn的节点特征向量表示为输出节点即第k层gcn的节点特征向量表示为
[0097]
在特征传播单元,每个项目节点的特征向量都会被更新和改进,所有节点的新特征向量表示(即输出的节点的特征向量表示)是通过节点特征向量与上一层节点的邻接矩阵进行特征传播得到。通过训练,可以调整全局图在特征传播单元中节点间的权重和偏差参数,学习获得全局级项目的特征向量,从而进行图卷积操作中的非线性变换的移除。最终得到的节点表示不包含非线性变换的影响,能够提高会话推荐的准确性。
[0098]
常规的基于gcn的方法会出现过平滑的问题,即模型的性能会随着网络层数k的增加而下降,因此,在一个实施例中,为了限制过平滑并叠加高阶邻居特征,执行如下方法:
[0099]
s31、在均值化层对每个节点vi的特征向量与其邻居的特征向量进行均值化,其公式为:
[0100][0101]
其中表示节点vi在第k层节点的特征向量,表示均值化后得到的特征向量,u
ij
代表全局图中节点vi与节点vj之间的边的权重,di、dj表示节点vi和节点vi在对角矩阵中对应的元素,其中对角矩阵是邻接矩阵的度矩阵,它是一个n
×
n的矩阵,其中的第i个对角线元素di,表示第i个节点vi的度数(即相邻节点的个数)。di和dj的作用是对均值化后的特征向量进行归一化,防止较大的节点对较小的节点产生过大的影响。
[0102]
s32、对每个节点的最近邻域按比例赋予更大的权重,进而更新特征向量,最终的特征向量的更新过程表示如下:
[0103][0104]
其中k∈k代表特征传播单元的第k层邻居,γ为控制传播矩阵和项目自身表示之间比例的超参数,是权重矩阵,为传播矩阵。这些参数都是特征传播单元的参数,为现有技术。
[0105]
在特征传播过程中,每个节点的最近邻域按比例赋予边的权重,以限制过平滑问题,即使用注意力机制计算每个节点的权重,并使用这些权重来更新节点的特征表示。
[0106]
在一个实施例中,由于公式(5)的计算量过大,为了简化公式(5),使用矩阵运算来简化特征向量均值化过程:
[0107][0108]
其中i是单位阵,是一个对称的邻接矩阵,与全局图对应,是的度矩阵,对角矩阵d=diag(d1,

,dn),其对角线上的值为邻接矩阵a中的行元素的和,表示为di=∑jτ
ij

[0109]
然后计算传播矩阵用于限制其他节点可能带来的噪声干扰,并提高矩阵中的自注意力信息,公式如下:
[0110][0111]
其中,β是用来控制传播矩阵信息和单位阵信息比例的超参数,逐层控制重复出现节点在信息吸收中所占比例。
[0112]
在一个实施例中,全局级项目表示学习模块还包括dropout层,用于对全局级特征向量表示使用dropout函数,以避免过拟合的问题:
[0113][0114]
在步骤s4中,池化层用于求和池化,以获得项目节点的池化向量表示:
[0115][0116]
在步骤s5中,会话向量学习模块包括注意力层、线性层和激活层,激活层作用是通过tanh激活函数引入非线性特性,提升模型的表达力。
[0117]
步骤s5具体包括:
[0118]
s51、对于每一个会话,计算会话中项目的位置矩阵p=[p1,p2,

,p
l
],表示项目在会话中的位置向量,它的值是随机初始化的,l是会话中项目的数量,该位置向量是一种将位置信息嵌入到向量空间的方法,可以更好地理解和利用位置信息;然后将项目节点的池化向量表示输入顺次连接的线性层和激活层得到位置信息zi:
[0119][0120]
其中是线性层的可学习的参数矩阵,是线性层的可学习的参数,||表示连接操作,tanh是激活函数;为项目节点的池化向量表示,p=[p1,
p2,

,p
l
]为位置嵌入矩阵,其中是项目节点vi的位置向量,l是当前会话序列的长度。在本步骤,可以将位置信息和项目vi的池化向量表示结合起来,并得到更加丰富和准确的特征表示。
[0121]
s52、通过计算待预测会话s中的所有项目池化向量表示的平均值,获得待预测会话的信息s


[0122][0123]
s53、通过注意力层计算会话信息s

的权重:
[0124]
ωi=q
t
σ(w3zi+w4s

+b2),
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)
[0125]
其中,都是注意力层中的可学习的参数矩阵和参数,σ(
·
)代表sigmod函数。
[0126]
s54、将项目的池化向量表示通过线性组合,从而得到待预测会话的综合向量表示,
[0127][0128]
它由待预测会话的所有项目构成。
[0129]
在步骤s6中,基于待预测会话的综合向量表示,生成推荐,步骤如下:
[0130]
通过softmax函数得到输出
[0131][0132]
其中表示项目历史项目vi在待预测会话s的下一时刻被点击的概率,概率越高,那么vi就越可能被推荐,t表示向量的转置,为项目节点vi的池化向量表示。
[0133]
在训练时,还包括s7:采用多任务学习来优化推荐的性能,即采用推荐任务损失和对比学习任务损失的加权和形式对上述方法中的参数进行优化:
[0134][0135]
其中,λ表示为控制对比学习损失比例的超参数。
[0136]
对于推荐任务,在一个实施例中,使用交叉熵损失函数进行优化,即:
[0137][0138]
其中,是项目vi被推荐的概率,m表示所有候选被推荐项目的总数量,yi表示对进行归一化后的结果。
[0139]
对于对比学习任务,在一个实施例中,使用infonce损失函数作为辅助任务的优化:
[0140][0141]
其中,b表示在训练过程中的抽样批次大小,和表示第i个和第j个会话的综合会话向量表示,表示特征增强的会话向量表示,τ是一个可调节的超参数。其中的计算公式为:
[0142][0143]
其中,表示变换矩阵,e是一个随机矩阵。在一个实施例中,q为单位阵,e为符合标准(0,1)正态分布的随机阵。
[0144]
使用基于时间的反向传播算法对步骤s1-s6进行迭代训练,以更新训练方法中各参数矩阵和参数(如w1、w2、w3、w4、b1、b2、q等),训练方法为现有技术,不再赘述。
[0145]
实验分析:
[0146]
1.实验数据集
[0147]
为了评估本方法的有效性,使用了公开数据集cikm cup diginetica、ijcai-15tmall和nowplaying数据集。其中,diginetica数据集包含成功交易的用户购买流程数据,tmall数据集记录匿名用户在tmall网购平台上的购物日志,nowplaying数据集记录了用户的音乐收听行为。
[0148]
为了提高训练效果,本方法采用了与sr-gnn等工作类似的预处理方法,在三个数据集中过滤了长度为1的会话和出现次数少于5次的项目。与stamp的工作类似,本研究将最后一周的会话设置为测试数据,剩余的历史数据用于训练。对于每个会话s=[v1,v2,

,vn,],本方法通过拆分输入序列来生成对应序列和相应的标签来对上述三个数据集进行训练和测试。
[0149]
最终,对经过预处理后的数据集进行了统计,结果如表1所示。
[0150]
表1实验数据集统计表
[0151][0152]
2.评价标准
[0153]
在实验中,采用了两个度量标准来评估方法的性能,这两个度量标准是基于会话序列的推荐中经常使用的。
[0154]
(1)p@20(precision)是预测精度的度量标准之一,它表示方法推荐结果中前20项中正确推荐的比例。
[0155]
(2)mrr@20(mean reciprocal rank)是方法推荐结果中正确推荐项目的倒数排名均值。当真实结果在方法的推荐排位中超过20时,对应的倒数排名为0。mrr度量标准考虑了推荐顺序,较高的mrr值代表真实结果位于推荐列表的顶部,这证明了推荐系统的有效性。
[0156]
3.实验设置
[0157]
在本发明中,所有模型的超参数均保持一致,其中包括特征向量的维度以及小批量处理(mini-batch)的大小,均固定为100。为了进行公平比较,对于csrm,内存大小被设置为100,与批次大小一致。
[0158]
在这种方法中,为了初始化所有的超参数,使用了一个平均值为0、标准差为0.1的高斯分布函数。本发明使用了adam优化器用于优化参数,初始学习率设置为0.001,且每三次迭代后学习率将衰减0.1。此外,l2设置为10-5
,并且在dropout中设置为{0.1,0.2,

,0.9},并将训练集的10%的随机子集作为验证集。另外,相邻项的数目和相邻项之间的最大距离ε分别被设定为12和3。
[0159]
4.实验结果分析
[0160]
对比各种基准方法,可见基于图神经网络(gnn)的方法在diginetica和nowplaying数据集上表现更好。通过将每个会话序列建模为一个子图,并使用gnn对条目进行编码,sr-gnn和fgnn验证了gnn在基于会话的推荐中的有效性。这表明,与序列建模(rnn)或注意力建模相比,图建模更适用于基于会话的推荐。在三个数据集上,gce-gnn的性能优于sr-gnn和fgnn,表明全局上下文和局部上下文对基于会话的推荐有更好的增强作用。本发明提出的方法在三个数据集上优于所有基准方法,相对于目前最佳的gce-gnn,本发明在diginetica上的表现最多高出0.6%,在tmall上最多高出5.2%,在nowplaying上最多高出2.8%。本发明缓解了过度平滑问题,通过构建全局图来更好地聚合高阶邻居信息以获得更优异的性能。据本发明的研究,gfe-sr在diginetica数据集中相比于其他两个数据集表现的提升较小,这可能是因为diginetica数据集中的会话平均长度较短,而gfe-sr使用了反转的位置嵌入表示,更适合于处理较长的会话序列。
[0161]
表2实验结果对比
[0162][0163]
最后需要说明的是,以上是本发明的优选实施方式,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。此外,需要指出的是,本技术领域的技术人员一旦掌握了本发明的基本创造性概念,可以在不脱离本发明原理的前提下进行改进和润饰,这些改进和润饰也应视为本发明的保护范围。因此,附加的权利要求应当解释为包括优选实施例以及所有变更和修改,只要它们落入本发明实施的范围之内。

技术特征:
1.一种基于特征增强的图对比学习会话推荐方法,其特征在于,所述方法包括:s1、构建用户会话序列的会话图;s2、为会话图的每个项目节点生成会话级特征向量表示;s3、构建全局图,将项目节点的会话级特征向量输入全局级项目表示学习模块以获得项目节点的全局级特征向量表示;s4、将项目节点的会话级特征向量表示和全局级特征向量表示输入池化层进行池化操作,获得项目节点的池化向量表示;s5、将项目节点的池化向量表示输入会话向量表示学习模块,获得待预测会话的综合向量表示;s6、将项目节点的池化表示向量和待预测会话的综合向量表示输入softmax函数得到所有项目被点击的概率,依此进行推荐。2.根据权利要求1所述的推荐方法,其特征在于,在s2中生成会话级特征向量表示的步骤包括:s21、获取每个节点与邻接点的注意力系数,计算方式为:其中和分别为节点v
i
和邻居节点v
j
的向量表示,θ
ij
表示节点v
j
对节点v
i
的权重,f为激活函数,是权重向量,r
ij
代表v
j
和v
i
之间的关系,节点v
i
表示会话中的交互项目;s22、将节点的注意力系数与节点的特征进行线性组合来获得每个节点的会话级特征向量表示;优选的,节点之间的不同关系,权重向量包括:和3.根据权利要求2所述的推荐方法,其特征在于,优选的,在s22中,仅计算节点与其一阶邻居的注意力系数。4.根据权利要求1所述的推荐方法,其特征在于,所述s3中,全局级项目表示学习模块包括均值化层、特征传播单元,所述s3包括:s31、将节点的会话级特征向量表示输入到均值化层,用于对每个节点v
i
的特征向量与其邻居的特征向量进行均值化,公式为:其中表示节点v
i
在特征传播单元的第k层节点的特征向量,表示均值化后得到的特征向量,τ
ij
代表全局图中节点v
i
与节点v
j
之间的边的权重,d
i
、d
j
表示节点v
i
和节点v
i
在对角矩阵中对应的元素;s32、使用矩阵运算的方式对s31中均值化公式进行简化,首先用t表示加入自环的标准化邻接矩阵:
其中i是单位阵,是一个与全局图对应的对称的邻接矩阵,是的度矩阵,对角矩阵d=diag(d1,

,d
n
),其对角线上的值为邻接矩阵a中的行元素的和,表示为d
i
=∑
j
τ
ij
;s33、更新过程表示如下:s33、更新过程表示如下:其中β是用来控制传播矩阵信息和单位阵信息比例的超参数,k∈k代表第k层卷积,γ为控制传播矩阵和项目自身表示之间比例的超参数,是特征传播单元的权重矩阵;表示特征传播单元的第k层的输入,输出表示为5.根据权利要求4所述的推荐方法,其特征在于,全局级项目表示学习模块还包括dropout层,用于对全局级特征向量表示使用dropout函数来避免其出现过拟合的问题。6.根据权利要求1所述的推荐方法,其特征在于,所述s5中,会话向量学习表示层包括注意力层、线性层和激活层,s5包括:s51、将项目节点的池化向量表示输入顺次连接的线性层和激活层得到位置信息z
i
:其中是线性层的可学习的参数矩阵,是线性层的可学习的参数,||表示连接操作,tanh是激活函数;为项目节点的池化向量表示,p=[p1,p2,

,p
l
]为位置嵌入矩阵,其中是项目节点v
i
的位置向量,l是当前会话序列的长度;s52、计算待预测会话s中的所有项目特征向量表示的平均值,获得待预测会话的会话信息s

:s53、通过注意力层计算会话信息s

的权重:ω
i
=q
t
σ(w3z
i
+w4s

+b2),其中,是注意力层可学习的参数矩阵和参数,σ(
·
)代表sigmod函数;s54、计算待预测会话s的综合会话向量表示,公式为:
7.根据权利要求1所述的推荐方法,其特征在于,s6包括:通过softmax函数得到输出通过softmax函数得到输出其中,表示项目v
i
在待预测会话的下一时刻被点击的概率,t表示转置符,表示项目节点的池化向量表示。8.根据权利要求1所述的推荐方法,其特征在于,训练时,还包括:s7、计算目标损失函数,使用基于时间的反向传播方法训练参数,损失函数为:其中,m表示项目数量。9.根据权利要求8所述的推荐方法,其特征在于,所述目标损失函数为:9.根据权利要求8所述的推荐方法,其特征在于,所述目标损失函数为:其中,λ为控制对比学习损失比例的超参数;b表示在训练过程中的抽样批次大小,和表示第i个和第j个会话的综合会话向量表示,表示特征增强的会话向量表示,τ是一个可调节的超参数;的计算公式为:h
s’=h
s
q+e,其中,表示变换矩阵,e是一个随机矩阵。10.根据权利要求9所述的推荐方法,其特征在于,q为单位阵,e为符合标准(0,1)正态分布的随机阵。

技术总结
本发明公开了一种基于特征增强的图对比学习会话推荐方法,通过有效地利用会话级特征向量表示和全局级特征向量表示两个层次的成对项目转换信息来提高对当前会话的推荐性能。在全局级项目表示学习模块中通过融合更深层的邻居特征的方式获得全局级特征,缓解了过平滑问题。通过注意力机制聚合两种项目表示对当前会话的用户偏好进行建模,通过特征增强的方法保留输入空间特征,最终输出候选项目的预测概率。经过验证,本发明使得会话推荐的预测结果更加准确。果更加准确。果更加准确。


技术研发人员:王庆梅 靳博文 曾凡运 廉贺淳 时鹏 章立军
受保护的技术使用者:北京科技大学
技术研发日:2023.07.07
技术公布日:2023/9/22
版权声明

本文仅代表作者观点,不代表航家之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

航空之家 https://www.aerohome.com.cn/

航空商城 https://mall.aerohome.com.cn/

航空资讯 https://news.aerohome.com.cn/

分享:

扫一扫在手机阅读、分享本文

评论

相关推荐