基于数据血缘特征和行为语义特征的自注意力推荐方法、装置及设备与流程

文档序号:32491236发布日期:2022-12-10 02:52阅读:26来源:国知局
基于数据血缘特征和行为语义特征的自注意力推荐方法、装置及设备与流程

1.本发明涉及序列推荐领域,尤其涉及一种基于数据血缘特征和行为语义特征的自注意力推荐方法及装置。


背景技术:

2.随着基于社交网络服务的快速发展,海量的数据已被用于挖掘用户的行为模式从而实现个性化产品推荐。推荐任务旨在通过用户的历史行为和产品的基本信息为其推荐可能感兴趣的产品,既能提高用户体验,也能为社交网络运营商和商业实体带来潜在的收入。
3.公开号为cn114529364a的中国专利文献公开了一种基于注意力机制的商品序列推荐方法,包括:获取用户的商品历史数据集并进行数据预处理;利用多头注意力机制来捕捉用户最近历史行为中物品与物品的之间的关系依赖,得到用户短期兴趣偏好向量;将用户与项目在隐式空间的的相似度系数加入注意力机制的权重中,为长期兴趣分配不同的权重,得到长期偏好的最终表示。最后加权融合长短期偏好得到用户最终的兴趣偏好。然后将其与候选集中每一个物品进行交互,在预测层得到该相关性分数值,然后将所得到的分数值按照由高到低排序得到推荐序列,相关性的分数越高就代表用户下一项交互的可能性越大。
4.公开号为cn114218475a的中国专利文献公开了一种通过迭代堆叠有效训练深度序列推荐模型的方法及装置,包括:先使用部分数据在浅层序列推荐模型训练,然后通过迭代堆叠的方式,将前面浅层模型的网络结构块的参数作为新的顶层结构块的初始化,构造两倍深度的序列推荐模型,并加入新数据对新的模型进行微调,达到加速模型训练、节约训练时间成本的效果。通过这种迭代堆叠的方法,可根据需求逐渐从浅层序列推荐模型拓展为理想深度的序列推荐模型。
5.现有技术中,无法有效捕获用户与产品的交互中表现出的长短期依赖,且仅通过简单的拼接和堆叠的方式来处理产品信息,而尚未深入挖掘产品信息特征,导致利用现有技术的方法的推荐效果并不理想。
6.因此,如何利用用户与产品的长短期依赖,如何深入挖掘产品信息特征,以及如何提高推荐模型的物品推荐的准确度,是本领域技术人员目前需要解决的技术问题。


技术实现要素:

7.本发明提供了一种基于数据血缘特征和行为语义特征的自注意力推荐方法,能够提高自注意力推荐的准确度;本发明还提供了一种基于数据血缘特征和行为语义特征的自注意力推荐装置,亦具有上述有益效果。
8.本发明的技术方案如下:
9.一种基于数据血缘特征和行为语义特征的自注意力推荐方法,包括:
10.利用用户的历史交互序列信息以及涉及产品的数据血缘关系信息基于神经网络
训练出产品推荐模型,所述的产品推荐模型包括数据血缘特征提取模块、行为语义建模模块和自注意力解码器;
11.获取目标用户的历史交互序列信息以及涉及产品的数据血缘关系信息并输入训练好的产品推荐模型,输出对应的目标推荐产品。
12.所述的产品推荐模型包括:
13.数据血缘特征提取模块,根据用户的历史交互序列中所涉及产品的血缘链路图,通过多层图卷积层得到产品的数据血缘特征;
14.行为语义建模模块,根据用户的历史交互序列提取用户的行为语义特征;
15.自注意力解码器,将数据血缘特征和行为语义特征转换成目标推荐产品的概率分布。
16.通过数据血缘特征提取模块提取数据血缘特征的过程包括:
17.根据产品的数据血缘链路图初始化产品链路节点的特征矩阵;
18.通过堆叠多层图卷积层,将特征矩阵的信息逐层高阶传递,得到产品的数据血缘特征。
19.进一步的,通过以下步骤提取产品的数据血缘特征:
20.(a1)定义数据血缘链路图为其中,为图中的数据血缘节点,为节点之间的关系;令数据血缘链路图的度矩阵、邻接矩阵分别为令为包含共个节点的特征向量的矩阵,其中每一行是节点vi的特征向量;
21.(a2)通过首层图卷积层得到产品链路节点的初始化特征矩阵,计算公式为:
[0022][0023]
式中,为首层图卷积层输出的初始化特征矩阵;ρ为激活函数;w0为权重矩阵;为归一化对称自相关矩阵;
[0024]
(a3)通过多层图卷积层依次将初始化特征矩阵的信息逐层高阶传递,得到产品的数据血缘特征,计算公式为:
[0025][0026]
其中,和wj分别为第j层特征矩阵和权重矩阵;
[0027]
(a4)至此,得到用户的历史交互序列中涉及产品的数据血缘特征
[0028][0029]
其中,gcn为j层图卷积网络,x为个节点的特征向量的矩阵,[
·
]为切片操作。
[0030]
通过行为语义建模模块提取用户的行为语义特征的过程包括:
[0031]
针对用户的历史交互序列中涉及的产品集合生成固定长度的产品嵌入矩阵;
[0032]
为用户的历史交互序列中的每项产品生成独热编码,并对独热编码与产品嵌入矩阵做矩阵乘法,获得用户交互序列嵌入矩阵;
[0033]
将用户交互序列嵌入矩阵与对应的时间编码融合,获得用户的行为语义特征。
[0034]
进一步的,通过以下步骤提取用户的行为语义特征:
[0035]
(b1)定义用户历史交互序列用户历史交互序列中产品的集合为产品嵌入矩阵,对于历史交互序列中的每个产品lk的嵌入向量为e
l
lk,其中是产品lk对应的独热向量;
[0036]
(b2)利用位置编码对交互的时间进行编码,由下式计算时间特征嵌入e
t

[0037][0038]
其中,i∈{1,2,

,dm}表示时间嵌入的维度,tk表示交互活动发生的时间戳;
[0039]
(b3)则用户历史交互序列的历史交互嵌入矩阵由下式计算:
[0040][0041]
其中,表示产品lk的独热向量的集合,表示转置操作;
[0042]
历史交互嵌入矩阵即为行为语义特征。
[0043]
通过自注意力解码器将数据血缘关系特征和行为语义特征转换成目标推荐产品的概率分布包括:
[0044]
所述的自注意力解码器包括多头注意力模块、前馈神经网络和多层感知器;
[0045]
通过分配自注意力分数对历史交互序列中产品之间的依赖关系进行建模;
[0046]
通过多头注意力模块提取多重映射空间下的高维特征;
[0047]
通过前馈神经网络和多层感知器将所述高维特征转换成概率分布。
[0048]
通过自注意力解码器获得标推荐产品的概率分布包括以下步骤:
[0049]
(c1)将数据血缘特征和行为语义特征进行广播相加,得到融合血缘特征和行为语义特征的表示矩阵
[0050][0051]
(c2)通过以下公式计算注意力输出
[0052][0053]
q=ywq,k=ywk,v=ywv[0054]
其中,q、k和v分别是从表示矩阵y变化过来的查询矩阵、键矩阵和值矩阵,wq、和是线性变化的权重矩阵;
[0055]
(c3)通过堆叠多头自注意力层以学习每个产品在不同轨迹中的深度表示,多头注意力层输出o由下式给出:
[0056]
o=[s1,s2,

,sz]wo[0057]
其中,z是多头注意力层中的头的数量;为聚合矩阵;是第i个头的输出;
[0058]
(c4)将多头注意力层输出o作为位置前馈神经网络的输入,以获得位置前馈神经网络的输出其计算过程如下:
[0059][0060]
其中,和都是前馈神经网络中可学习的参数,dh是和b1的维度;
[0061]
(c5)对f进行和池化以及批正则化之后,得到用户的产品偏好表示
[0062]
(c6)通过堆叠多层感知器将用户的产品偏好表示转化成目标推荐产品的概率分布其计算过程如下:
[0063]h(j+1)
=mlpj(h
(j)
)
[0064]
其中,mlpj为第j个多层感知器,初始的隐藏表示h
(0)
为用户的产品偏好表示h。
[0065]
本发明还提供了一种基于数据血缘特征和行为语义特征的自注意力推荐装置,包括:
[0066]
模型训练模块,利用用户的历史交互序列信息以及涉及产品的数据血缘关系信息基于神经网络训练出产品推荐模型,所述的产品推荐模型包括数据血缘特征提取模块、行为语义建模模块和自注意力解码器;
[0067]
目标产品推荐模块,获取目标用户的历史交互序列信息以及涉及产品的数据血缘关系信息并输入训练好的产品推荐模型,输出对应的目标推荐产品。
[0068]
本发明还提供了一种基于数据血缘特征和行为语义特征的自注意力推荐设备,包括:
[0069]
存储器,用于存储计算机程序;
[0070]
处理器,用于执行所述的计算机程序时实现如权利要求1-8任一项所述基于数据血缘特征和行为语义特征的自注意力推荐方法的步骤。
[0071]
与现有技术相比,本发明的有益效果为:
[0072]
相较于现有技术无法有效捕获用户与产品的交互中表现出的长短期依赖,且仅通过简单的拼接和堆叠的方式来处理产品信息,而尚未深入挖掘产品信息特征,本发明基于数据血缘特征和行为语义特征的自注意力推荐方法引入数据血缘链路图来表征产品的属性字段之间潜在的关系,采用图卷积网络从中提取血缘特征;利用可训练的产品嵌入向量来表征产品的特征,并结合该特征与时间特征来表征用户的行为特征;通过自注意力层抽取用户与产品的交互中表现出的长短期依赖;使用多层感知器预测候选产品的推荐概率分布。也就是说,本发明的推荐方法训练出的产品推荐模型,能够进一步利用数据血缘特征和用户行为语义特征,因此能够更加准确地进行物品推荐。
[0073]
本发明提供的推荐装置和推荐设备亦具有上述有益效果。
附图说明
[0074]
图1为本发明基于数据血缘特征和行为语义的自注意力推荐模型架构图;
[0075]
图2为本发明基于数据血缘特征和行为语义的自注意力推荐方法的流程示意图;
[0076]
图3为数据血缘示例,其中,每个节点分别表示数据库节点和业务代码节点等。
具体实施方式
[0077]
下面结合附图和实施例对本发明作进一步详细描述,需要指出的是,以下所述实施例旨在便于对本发明的理解,而对其不起任何限定作用。
[0078]
本发明实施例的核心是提供一种基于数据血缘特征和行为语义的自注意力推荐方法,能够提高基于数据血缘特征和行为语义的产品推荐的准确度,包括:利用用户的交互历史和产品的信息基于神经网络训练出产品推荐模型。
[0079]
需要说明的是,图1为本发明实施例提供的一种基于数据血缘特征和行为语义特征的自注意力推荐模型的框架结构图,可见,推荐模型包括:数据血缘特征提取模块、行为语义建模模块和自注意力解码器。
[0080]
图2为本发明实施例提供的一种基于数据血缘特征和行为语义特征的自注意力推荐方法的流程图。如图2所示,一种基于数据血缘特征和行为语义特征的自注意力推荐方法包括:
[0081]
s1、定义相关名词:用户集合、产品集合、交互行为、交互序列、数据血缘图;
[0082]
s2、通过数据血缘特征提取模块对血缘特征进行提取:根据挖掘所得的血缘链路图生成产品的属性特征网络,通过堆叠多层图卷积层以实现网络中血缘节点的信息高阶传递,得到基于数据血缘关系的产品信息特征;
[0083]
s3、利用行为语义建模模块对用户的行为特征进行提取:针对所述产品集合生成固定长度的产品嵌入矩阵;为用户交互序列中的每一个产品生成独热编码,并对独热编码与产品嵌入矩阵做矩阵乘法,获得用户交互序列嵌入;将用户交互序列嵌入与对应的时间编码融合,输出用户的行为语义表示;
[0084]
s4、利用自注意力解码器将血缘特征和行为特征转换成推荐产品的概率分布:该解码器利用通过分配自注意力分数直接对历史交互产品之间的依赖关系进行建模,通过多头注意力模块提取多重映射空间下的高维特征,通过前馈神经网络和多层感知器将所述高维特征转换成概率分布;
[0085]
s5、利用用户交互记录和产品信息生成训练集和测试集,在训练集利用交叉熵损失函数对模型进行训练,在测试集上进行产品推荐;
[0086]
s1的具体实现步骤如下:
[0087]
s11.定义用户集合为表示用户的数量;产品集合为代表产品的数量;
[0088]
s12.定义用户与产品之间的交互为其中,表示用户u在t时刻与产品l进行了交互,如购买、打分和点击等行为;
[0089]
s13.定义交互序列其中,表示用户u与相关产品的
历史交互序列,表示交互的数量;
[0090]
s14.定义产品嵌入为其中,e
/
表示产品嵌入矩阵,代表集合实数集,dm为嵌入向量的维度;定义ei为产品li的嵌入向量;定义li为产品li的独热向量;
[0091]
最优的,嵌入向量的维度dm取512。
[0092]
s15.定义数据血缘特征图为其中,为图中的数据血缘节点,为节点之间的关系,如图3所示。同时,令数据血缘特征图的度矩阵、邻接矩阵分别为令为包含共个节点的特征向量的矩阵,其中,每一行是节点vi的特征向量。
[0093]
s2所述的数据血缘特征提取模块,具体实现步骤如下:
[0094]
s21.采用图卷积网络对数据血缘特征进行提取,其首层图卷积网络输出的特征矩阵为计算过程为:
[0095][0096]
其中,归一化对称自相关矩阵,w0是一个权重矩阵,ρ为激活函数,m
(1)
为首个图卷积层输出的特征矩阵。
[0097]
s22.为整合较大邻域范围内的有关信息,堆叠j个图卷积网络层,其特征逐层传递的公式如下:
[0098][0099]
其中,和wj分别为第j层特征矩阵和权重矩阵。
[0100]
s23.至此,交互序列中的产品的数据血缘特征即可获得,其计算公式为:
[0101][0102]
其中,为中的产品的数据血缘特征矩阵,gcn为j层图卷积网络,x为个节点的特征向量的矩阵,[
·
]为切片操作。
[0103]
s3所述的行为语义建模模块,具体实现步骤如下:
[0104]
s31.对于产品集合为产品嵌入矩阵,因此对于历史交互序列中的每个产品lk,我们将其嵌入向量表示为e
l
lk,其中是产品lk对应的独热向量。
[0105]
s32.利用位置编码对交互的时间进行编码,时间特征嵌入e
t
由如下公式计算:
[0106][0107]
其中,i∈{1,2,

,dm}表示时间嵌入的维度,tk表示交互活动发生的时间戳。
[0108]
s33.的历史交互嵌入矩阵由下式给出:
[0109][0110]
其中,表示交互过的产品的独热向量的集合,表示转置操作。
[0111]
s4所述的自注意力解码器,具体实现步骤如下:
[0112]
s41.将数据血缘特征表示和行为语义表示进行广播相加,得到融合血缘特征和行为语义特征y:
[0113][0114]
其中,为融合血缘特征和行为语义的表示矩阵。
[0115]
s42.通过自我注意机制来学习长短期依赖,以增强表示矩阵中的产品嵌入的特征。具体地说,通过以下公式计算注意力输出
[0116][0117]
q=ywq,k=ywk,v=ywv[0118]
其中,q、k和v分别是从矩阵y变化过来的查询矩阵、键矩阵和值矩阵,wq、和是线性变化的权重矩阵。
[0119]
最优的,权重矩阵的维度dk和dv均取512。
[0120]
s43.通过堆叠多头自注意力层以学习每个产品在不同轨迹中的深度表示,以达到学习多上下文感知轨迹数据的目的。该多头注意力输出o由下式给出:
[0121]
o=[s1,s2,

,sz]wo[0122]
其中,z是多头注意力层中的头的数量,最优取值为8;是一个聚合矩阵,是第i个头的输出。
[0123]
s44.所述多头注意力层输出o作为位置前馈神经网络的输入,以获得隐藏表示f,其计算过程如下:
[0124][0125]
其中,和都是神经网络中可学习的参数,dh是和b1的维度,最优取值为512,f为位置前馈神经网络的输出。
[0126]
s45.在n层多头自注意力层后,获得包含数据血缘特征和用户行为语义的表示对f进行和池化以及批正则化之后,即可得到用户的产品偏好表示
[0127]
s46.通过堆叠多层感知器将所述用户的产品偏好表示转化成产品推荐的概率分布其计算过程如下:
[0128]h(j+1)
=mlpj(h
(j)
)
[0129]
其中,mlpj为第j个多层感知器,初始的隐藏表示h
(0)
为用户的产品偏好表示h。
[0130]
s5的具体实现步骤如下:
[0131]
s51.利用用户的产品交互记录生成用户的交互序列。
[0132]
s52.将交互序列中的前70%产品作为训练集的输入,70%~80%的产品作为训练集的标签。
[0133]
同理,将交互序列中的前80%产品作为测试集的输入,剩下的20%作为测试集的标签。
[0134]
s53.该模型采用交叉熵函数作为目标损失函数,其目的在于最小化下述损失:
[0135][0136]
其中,是multi-hot真实标签向量,即,如果真实场景中用户与产品有交互,则该产品在向量中的所代表的下标所对应的数值为1,否则为0。
[0137]
s54.利用所述测试集对所述模型进行推荐测试。
[0138]
本发明的另一核心是提供一种基于数据血缘特征和行为语义的自注意力推荐装置,包括:
[0139]
通过输入用户的历史访问序列和产品的数据血缘链路图,输出所推荐的产品。
[0140]
本发明实施例提供的基于数据血缘特征和行为语义的自注意力推荐装置,具有上述基于数据血缘特征和行为语义的自注意力推荐方法的有益效果。
[0141]
以上对本发明所提供的基于数据血缘特征和行为语义的自注意力推荐推荐方法及装置进行了详细介绍。本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
[0142]
实例1烟草销售推荐业务的示例
[0143]
本实施例中的数据集为浙江中烟工业有限公司所采集的真实的卷烟销售数据,其包含11,424个商业实体(简称用户)、389中烟草产品和875,616条相关销售记录。
[0144]
本实施例的目标在于,根据用户按时间先后顺序前80%的采购行为为其推荐卷烟,并通过剩下的20%作为准确率验证。
[0145]
具体的,在本实施例中,针对所有用户,通过其卷烟采购记录生成用户的卷烟采购序列。同时,每用户卷烟采购序列中的按时间先后排序的前70%的卷烟作为训练集的输入,70%~80%的产品作为训练集的标签。同理,卷烟采购序列中的前80%卷烟作为测试集的输入,剩下的20%作为测试集的标签。
[0146]
进一步地,本实施例的具体步骤如下:定义相关名词:
[0147]
a)定义用户集合为定义卷烟种类集合为定义卷烟种类集合为代表卷烟种类的数量;
[0148]
b)定义用户的卷烟采购行为为其中,表示用户u在t时刻采购的卷烟l;
[0149]
c)定义用户的采购序列其中,表示用户u的采购序列;
[0150]
d)定义产品嵌入为其中,e
/
表示卷烟的嵌入矩阵,代表集合实数集,dm为嵌入向量的维度;定义ei为卷烟li的嵌入向量;定义li为产品li的独热向量。
[0151]
e)定义数据血缘特征图为其中,为图中的数据血缘节点,为节点之间的关系。同时,令数据血缘特征图的度矩阵、邻接矩阵分别为令为包含共个节点的特征向量的矩阵,其每一行是节点vi的特征向量。
[0152]
2)通过数据血缘特征提取模块对数据血缘特征进行提取,其具体实现步骤如下:
[0153]
a)采用图卷积网络对数据血缘特征进行提取,其首层图卷积网络中的输出的特征矩阵计算过程为:
[0154][0155]
其中,归一化对称自相关矩阵,w0是一个权重矩阵,ρ为激活函数。
[0156]
b)为整合较大邻域范围内的有关信息,堆叠j个图卷积网络层,其特征逐层传递的公式如下:
[0157][0158]
其中,和wj分别为为第j层特征矩阵和权重矩阵。
[0159]
c)至此,采购序列中所涉及卷烟的数据血缘特征即可获得,其计算公式为:
[0160][0161]
其中,为中的产品的数据血缘特征矩阵,gcn为j层图卷积网络,x为个节点的特征向量的矩阵,[
·
]为切片操作。
[0162]
3)利用行为语义建模模块对用户的采购行为特征进行提取,其具体实现步骤如下:
[0163]
a)对于卷烟集合为卷烟嵌入矩阵,因此对于历史交互序列中的每个卷烟lk,我们将其嵌入向量表示为e
l
lk,其中是产品lk对应的独热向量。
[0164]
b)利用位置编码对交互的时间进行编码,时间特征嵌入e
t
由如下公式计算:
[0165][0166]
其中,i∈{1,2,

,dm}表示时间嵌入的维度,tk表示对应用户采购活动的时间戳。
[0167]
c)的历史卷烟采购嵌入矩阵由下式给出:
[0168][0169]
其中,表示用户历史采购的卷烟的独热向量的集合,表示转置操
作。
[0170]
4)利用自注意力解码器将血缘特征和行为特征转换成推荐卷烟的概率分布,其具体实现步骤如下:
[0171]
a)为融合血缘特征和行为语义特征,将血缘特征表示和行为语义表示进行广播相加,得到:
[0172][0173]
其中,为融合血缘特征和行为语义的表示矩阵。
[0174]
b)通过自注意机制来学习长短期依赖,以增强表示矩阵中的卷烟嵌入的特征。具体地说,首先通过以下公式计算注意力输出
[0175][0176]
q=ywq,k=ywk,v=ywv[0177]
其中,q、k和v分别是从矩阵y变化过来的查询矩阵、键矩阵和值矩阵,wq、和是线性变化的权重矩阵。
[0178]
c)通过堆叠多头自注意力层以学习每个卷烟在不同轨迹中的深度表示,以达到学习多上下文感知轨迹数据的目的。该多头注意力输出o由下式给出:
[0179]
o=[s
(
,s2,

,sz]wo[0180]
其中,z是多头注意力层中的头的数量,是一个聚合矩阵,是第i个头的输出。
[0181]
d)所述多头注意力层输出o来获得隐藏表示f,其计算过程如下:
[0182][0183]
其中,和都是神经网络中可学习的参数,dh是和b1的维度,f为位置前馈神经网络的输出。
[0184]
e)在n层多头自注意力层后,可以获得包含数据血缘特征和用户行为语义的表示在对f进行和池化以及批正则化之后,即可得到用户的产品偏好表示
[0185]
f)通过堆叠多层感知器将隐藏表示转化成产品推荐的概率分布f)通过堆叠多层感知器将隐藏表示转化成产品推荐的概率分布其计算过程如下:
[0186]h(j+1)
=mlpj(h
(j)
)
[0187]
其中,mlpj为第j个多层感知器,初始的隐藏表示h
(0)
为用户的产品偏好表示h。
[0188]
5)利用用户交互记录和卷烟信息生成训练集和测试集,在训练集利用交叉熵损失函数对模型进行训练,在测试集上进行产品推荐,具体过程包括:
[0189]
a)将交互序列中的前70%产品作为训练集的输入,70%~80%的产品作为训练集
的标签。同理,将交互序列中的前80%产品作为测试集的输入,剩下的20%作为测试集的标签。
[0190]
b)该模型采用交叉熵函数作为目标损失函数,其目的在于最小化下述损失。
[0191][0192]
其中,是multi-hot真实标签向量,即,如果真实场景中用户与产品有交互,则该产品在向量中的所代表的下标所对应的数值为1,否则为0。
[0193]
c)利用所述测试集对所述模型进行推荐测试。
[0194]
以上所述的实施例对本发明的技术方案和有益效果进行了详细说明,应理解的是以上所述仅为本发明的具体实施例,并不用于限制本发明,凡在本发明的原则范围内所做的任何修改、补充和等同替换等,均应包含在本发明的保护范围之内。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1