1.本发明涉及一种基于session的推荐方法,使用深度学习中的图神经网络技术,属于推荐系统的领域。
背景技术:
2.在信息爆炸的时代,信息过载问题导致用户越来越难以挖掘有用的信息,而推荐系统则可以帮助用户获取更多感兴趣的信息。传统的推荐系统模型倾向于使用用户的历史交互行为去学习用户的长期静态偏好,一个潜在的假设就是:对于用户当前的兴趣偏好来说,用户所有的历史行为都是平等的。这种假设并不符合实际,因为用户的下一行为主要依赖于用户的短期偏好,而用户的短期偏好行为在用户的历史交互行为中只占有很小的比例。基于session的推荐作为推荐系统中一个新兴的方向,弥补了这一差距。
3.session为包含着一组物品的序列,伴随着图神经网络的兴起,一些模型将单个session序列转换为图结构,利用图神经网络进行图卷积,获得包含有效信息的特征,为用户做出推荐,图神经网络和session的结合可以学习到更高阶的特征,并且弱化顺序对推荐的影响。虽然相较与传统的推荐模型取得了较大的进步,但是目前研究者们大都着眼于单一图卷积的改进,模型都为单一图卷积的堆叠,图卷积各自的优势无法有效的结合,各自的缺点无法填补,这限制了模型提取特征的能力。其次,现存的模型都是使用注意力机制捕捉session图的长程依赖关系,或者将图的结构信息与图卷积结合捕捉短程依赖关系,没有充分利用图的结构信息。
4.多通道的模型优势在于可以从不同的角度对数据进行建模,而多通道模型的通道特征融合一直是研究的难点与重点。alexnet将两个gpu提取的特征进行交叉输入来提高特征的融合度,lessr模型通过交叉卷积将两通道合并为一个通道来融合长程依赖关系和短程依赖关系。交叉卷积虽然对于通道的特征融合起到一定的效果,但是无法保证特征向量之间的差异性,例如在推荐系统中,相似物品之间的特征向量过于相似,以至于模型经常将两者搞混从而产生不准确的推荐,使用交叉的方式进行通道的融合无法保证物品之间的差异性。随着自监督学习的兴起,自监督学习开始应用于推荐系统,其中最大化互信息的技术为通道融合提供了新的思路。
技术实现要素:
5.本发明针对现有的会话推荐的不足,提出了一种新的多角度特征融合的会话推荐方法。本发明通过两个通道,一个graph inception层组成,一个由weighted-attention层组成。graph inception通道融合gat图卷积和weightedsage图卷积,克服了单一卷积提取特征能力受限的问题,并加入了特征交叉信息。weighted-attention通道在注意力的基础上加入图的边权重,更进一步的突出重要特征,并加入图的结构信息。最后结合自监督学习的方法,将两个通道的特征进行融合,生成用户的兴趣向量为用户作出推荐。
6.本发明采用的技术方案为:
7.一种多角度特征融合的会话推荐方法,其特征在于该方法包括以下步骤:
8.s1、读取会话数据,将会话数据建模为带权有向图。
9.s2、通过对于会话图的特征提取,两个通道分别获得物品的特征向量。
10.s3、对于两个通道的物品特征向量表示,通过自监督学习最大化两者之间的互信息,实现特征的融合。
11.s4、根据更新后的物品特征向量生成用户的偏好进行推荐。
12.进一步地,步骤s1的具体方法为:
13.对于给定的session序列s=[v1,v2,...,vn],本发明根据s建立带权有向图g=(v,e),在session图中,本发明将物品vi∈v看作g中的节点。将用户点击完物品v
i-1
后又点击物品vi的行为看作边(v
i-1
,vi)∈e。如果(v
i-1
,vi)重复出现,那么这条边对应的权重加一。数据集中物品集合其中vi为由单个数字表示的标量,为将物品集合放入模型且不收数据稀疏性的影响,使用embedding将标量的vi映射为那么物品集合合在模型afgnn中,ne大小设置为32。为方便模型在卷积层的描述,我们使用表示物品节点i在第0层的特征向量。
[0014]
进一步地,步骤s2的具体方法为:
[0015]
首先是graph inception通道的特征提取,分别由gat和weightedsage两者来进行,最后有product层进行融合。
[0016][0017][0018][0019]
表示graph inception layer中节点i与节点j在l层的特征向量,h
f(0)
=h
(0)
,和为可学习参数,n(i)表示与节点i相连接的点的集合。
[0020]
本发明在sage卷积的基础上加入session图的边权重信息,得到weightedsage,
[0021][0022][0023]
表示在graph inception layer中节点j在第l层的特征向量,h
f(0)
=h
(0)
。。m
ji
表示节点j与节点i之间边的权重。σ表示sigmoid函数。
[0024]
点积的交叉方式可以更有针对性的获取特征之间的交叉信息。
[0025][0026]
表示节点i在gat与weightedsage中第l层的特征向量。和表示节点i在l层的graph inception layer中的特征向量,特征向量结合了gat与weightedsage的特征信息,并添加了特征交叉信息。
[0027]
自注意力机制在基于session的推荐中已经广泛使用,可以使得节点特征向量长度在不变的情况下,可以获取到更多有用的信息。在session图的结构中,边的权重也起到了与注意力机制相似的作用,两个节点伴随出现的频率也说明了两者相关度的强弱。本发明认为既然注意力与边的权重起到了相似的作用,那么可以将两者结合,更好的提取重要特征。为获得深层特征,weighted-attention layer层数设置为4。
[0028][0029][0030][0031]
分别表示在第l层weighted-attention中节点i,j的特征向量,h
a(0)
=h
(0)
。k
(l)
,q
(l)
,为可学习参数,节点i,j特征向量经过q
(l)
,k
(l)
映射到相同的空间中,通过元素乘积并与偏置相加得到两者的相关度,在相关度的基础上,本发明添加了session图边权重的信息,标量m
ij
表示边的权重。边权重与相关度进行元素乘积的操作,使目标节点加入了图的结构信息,丰富了目标节点特征信息,在目标节点特征向量长度不变的情况下,包含了更多与目标节点相关的信息。然后经过sum函数,将向量压缩为标量softmax之后得到注意力分数n(i)表示与节点i相连接的点的集合,最终相邻节点与注意力分数相乘后得到目标节点在l+1层的特征向量
[0032]
进一步地,s3的具体方法为:
[0033]
本发明通过添加辅助损失的方式,最大化两通道中节点特征向量的互信息,使得节点在含有长程依赖关系的基础上,学习另一通道节点的短程依赖关系,同时,本发明提出了一种的新的负样本采样方法,在两通道相同物品节点互相学习的基础上,促使目标物品学习重要的区别特征。我们定义辅助损失如下:
[0034][0035]
表示物品i在weighted-attention通道最后一层的特征向量,表示物品i在graph inception通道最后一层的特征向量,其中,物品i属于当前的sessions物品j属于物品集合v但不包含当前session的物品,并定义在学习了互信息与区别特征后的作为物品i的最终特征向量。损失函数的分子为两通道中相同物品的关联性,当优化辅助损失时,分子需要增大来减少辅助损失,这就使得两个通道的节点特征向量相互学习,增大两者的互信息。在分母处,当优化辅助损失时,分母需要越小越好,我们提出一种新的负样本采样方式,因为同一session中,物品之间的关联性往往较大,同时放在分母处会导致优化时主要增大相似物品之间的距离,起到相反的作用,所以本发明从其余session中随机采样,得到大量的非相似物品与极少的相似物品,这可以进一步增加目标节点与非相似节点的差异性,同时,由于包含了少量的相似物品,可以防止主损失函数优化的相似物品特征向量过于相似。
[0036]
进一步地,s4的具体方法为:
[0037]
物品的推荐被看作是一个图分类问题,使用最终的物品特征向量来表示用户的兴趣偏好。
[0038][0039][0040]
σ表示sigmoid函数。θh表示用户的全局偏好,表示用户的局部偏好,ηh表示session中提取出的用户兴趣向量。最后使用交叉熵损失函数计算损失,使用adam优化算法进行优化。
[0041]
本发明通过两通道捕捉短程和长程依赖关系,并通过自监督学习进行特征融合。实验表明,本发明提出的方法可以在电子商务基准数据集上获得良好的预测效果。
技术特征:
1.一种基于session的推荐方法,其特征在于该方法包括以下步骤:s1、读取数据集中的会话数据,将会话序列建模为有向带权图,s2、基于有向带权图结构,利用graph inception通道和weighted-attention通道分别提取短程依赖关系和长程依赖关系,s3、基于自监督学习的最大化互信息的技术,s4、根据更新后的物品特征向量生成用户的偏好进行推荐,如权利要求1所述的一种基于session的推荐方法,其特征在于:所述步骤s1的具体实现步骤是:读取数据集中的会话数据,进行数据预处理,将会话数据分为训练集和测试集,并构建为有向带权图。2.如权利要求1所述的一种基于session的推荐方法,其特征在于:所述步骤s2的具体实现步骤是:在有向带权图的基础上,利用graph inception通道的gat卷积和weightedsage卷积进行特征提取,得到短程的依赖关系,在另一通道weighted-attention中利用带有边权重自注意力机制进行长程依赖关系的提取。3.如权利要求1所述的一种基于session的推荐方法,其特征在于:所述步骤s3的具体实现步骤是:为了融合短程依赖关系和长程依赖关系,利用infonce进行两者的最大互信息化,作为辅助损失放入总损失中。4.如权利要求1所述的一种基于session的推荐方法,其特征在于:所述步骤s4的具体实现步骤是:在获得了物品的特征表示之后,计算最后一个物品与其余物品的注意力,并生成图表示向量,图表示向量与最后一个物品的特征表示进行连接进过一层全连接,得到用户的兴趣偏好向量,根据用户的兴趣偏好向量,计算下一物品的概率进行推荐;本发明利用两通道对数据进行两个角度的建模,并通过自监督学习融合两通道的特征,获得物品的特征表示,并生成用户兴趣向量用来计算下一物品的概率,提高了会话推荐的准确度。
技术总结
本发明提出了一种基于session的推荐方法,主要包括以下步骤:(1)将会话数据建模为图结构;(2)使用graph inception通道提取数据的短程依赖关系,使用Weighted-attention通道提取数据的长程依赖关系;(3)使用自监督学习融合这两个通道的特征;(4)利用物品特征表示得到用户的兴趣偏好向量,使用用户偏好向量为用户推荐商品;与现有的技术相比,本发明从多角度提取特征,并结合自监督技术进行融合特征,同时捕获短程依赖关系和长程依赖关系,在基于会话的推荐任务中取得了良好的效果。会话的推荐任务中取得了良好的效果。
技术研发人员:戴久乾 张志军 袁卫华
受保护的技术使用者:山东建筑大学
技术研发日:2021.12.06
技术公布日:2022/3/8