一种融合时序信息的自注意力序列推荐方法技术

技术编号:33531198 阅读:29 留言:0更新日期:2022-05-19 02:02
本发明专利技术公开了一种融合时序信息的自注意力序列推荐方法,该方法采用编码器

【技术实现步骤摘要】
一种融合时序信息的自注意力序列推荐方法


[0001]本专利技术涉及序列推荐领域,具体涉及一种融合时序信息的自注意力序列推荐方法。

技术介绍

[0002]现有的序列推荐方法主要通过常见的序列建模算法(例如马尔科夫链,循环神经网络,自注意力机制模型)对用户历史交互行为序列建模,捕获有效用户行为模式,从而预测用户未来可能交互的物品,但现有的序列建模算法仍存在不足之处:现有序列推荐方法使用根据交互时间戳排序后的交互物品序列作为模型的输入,仅仅考虑了用户历史交互物品之间的基本的先后顺序,没有考虑用户每次交互的具体时间带来的影响,复杂的用户行为模式难以得到深入有效的建模。

技术实现思路

[0003]针对现有方法无法利用时序信息对用户历史交互行为进行建模的缺点,本专利技术提出了一种融合“时序信息”的基于自注意力机制的序列推荐方法,可用于常见的序列推荐场景(短视频推荐,电商平台,电影音乐推荐等)。本专利技术采用了一种独特的编码器

解码器结构方法,使用编码器处理交互时间戳序列,使用解码器处理交互商品序列,从而融合每次交互行为的具体时序信息以捕获更为细粒度的用户行为模式。同时针对时序信息具有连续性的特点,使用了一种基于窗函数的编码方法,可以更好地将时间戳转换成嵌入编码。再结合自注意力机制,剔除时序信息和物品信息中的冗余部分,利用其中的关键信息,对用户近期交互行为做出更精确的预测,克服现有方法没有考虑具体时序信息的缺陷,提高了推荐效果。
[0004]本专利技术提供了一种融合时序信息的自注意力序列推荐方法,具体包括以下步骤:
[0005]步骤S1)数据预处理:获取数据集,并将数据集中的用户历史交互记录转换成长度为L的历史交互序列其中t
i
是第i次交互的具体时间戳,s
i
是每次第i次交互的商品编号,(t
i
,s
i
)表示第i次交互的时间商品二元组;
[0006]步骤S2)构建融合时序信息的自注意力序列推荐模型,并根据获取的数据集得到训练集,采用所述训练集对融合时序信息的自注意力序列推荐模型进行训练,得到训练好的融合时序信息的自注意力序列推荐模型;
[0007]步骤S3)获取长度为L的用户历史交互序列,输入通过步骤S2)得到的训练好的融合时序信息的自注意力序列推荐模型中,然后根据预测层给出用户对每个商品的偏好分数,将这些偏好分数从高到低排序,偏好分数越高,其对应的商品被推荐的可能性越大,从而得到推荐给用户的交互商品序列集合。
[0008]其中,所述融合时序信息的自注意力序列推荐模型的主要结构分为时间戳编码模块、商品编码模块、编码器、解码器、预测层五个部分;所述时间戳编码模块将用户历史交互时间戳转换时序信息嵌入编码;所述商品编码模块将用户历史交互商品编号转换成商品嵌
入编码;依次通过所述编码器中的残差注意力模块和前馈层,深入挖掘来自所述时间戳编码模块的时序信息嵌入编码之间的潜在关系,得到商品序列的时序信息;所述解码器首先使用第一残差注意力模块处理来自商品编码模块的商品嵌入编码,捕获商品序列中各个商品的相互关系,得到商品序列信息,接着使用第二残差注意力模块和前馈层,融合来自于所述编码器的商品序列的时序信息和第一残差注意力模块得到的商品序列信息,得到融合信息;最后将得到的融合信息送入所述预测层,预测层综合商品序列信息和商品序列的时序信息对用户近期可能的交互商品做出预测。
[0009]本专利技术通过基于窗函数的编码模块对时间信息进行编码,同时还引入了编码器

解码器的结构,利用编码器处理时序信息,利用解码器处理商品信息并融合时序信息辅助推荐,从而捕获到更细粒度的用户行为模式。基于窗函数的编码方式更好地编码时间信息,基于编码器

解码器的结构更好地引入了时间信息辅助推荐。本专利技术的方法可以应用在诸多存在序列依赖的推荐场景中,例如短视频推荐,电商推荐,电影音乐推荐等。由于引入了具体时间戳的影响,可以更深入地把握用户近期兴趣,为用户提供更精确的推荐,从而提升用户体验,提高平台流量。
附图说明
[0010]图1为本专利技术采用构建的推荐模型进行融合时序信息的自注意力序列推荐方法的示意图。
具体实施方式
[0011]下面结合附图和具体实施例详细描述本专利技术的技术方案。
[0012]本专利技术提出的一种融合时序信息的自注意力序列推荐方法,具体包括:
[0013]步骤S1)数据预处理:获取数据集,在现实情况下,所述数据集中的每个用户的历史交互序列记录长度是不尽相同的,本专利技术将用户的历史交互记录转换成长度为L的历史交互序列t
i
是第i次交互的具体时间戳,s
i
是每次第i次交互的商品编号,(t
i
,s
i
)表示第i次交互的时间商品二元组。具体转换方式如下:对于长度超过L的序列,我们选取它最近L次时间商品二元组,对于长度小于L的序列,我们在它最左边填充若干个填充时间戳和填充商品编号(实际方法中都使用0),直到它的长度达到L,最后输入的用户历史交互记录都转换为长度为L的序列即
[0014]步骤S2)构建融合时序信息的自注意力序列推荐模型,并根据获取的训练集对该模型进行训练,得到训练好的融合时序信息的自注意力序列推荐模型。本专利技术构建的所述融合时序信息的自注意力序列推荐模型主要结构类似于经典的Transformer模型,由图1所示,主要可分为时间戳编码模块、商品编码模块、编码器、解码器、预测层等五个部分。其中,时间戳编码模块将用户历史交互时间戳转换时序信息嵌入编码;商品编码模块将用户历史交互商品编号转换成商品嵌入编码;依次通过编码器中的残差注意力模块和前馈层,深入挖掘来自时间戳编码模块的时序信息嵌入编码之间的潜在关系,得到商品序列的时序信息;解码器首先使用第一残差注意力模块处理来自商品编码模块的商品嵌入编码,捕获商品序列中各个商品的相互关系(即商品序列信息),接着使用第二残差注意力模块和前馈
层,融合来自于编码器的商品序列中的时序信息和第一残差注意力模块得到的商品序列信息,得到融合信息,最后将得到的融合信息送入预测层,预测层综合商品序列信息和商品序列的时序信息对用户近期可能的交互商品做出预测。
[0015]下面按照时间戳编码模块、商品编码模块、编码器、解码器和预测层的顺序依次介绍各部分的详细内容,最后介绍所述融合时序信息的自注意力序列推荐模型的训练过程。
[0016]一、时间戳编码模块:该模块的输入是提前经过预处理,长度为L的用户历史交互时间戳序列T=[t1,t2,

,t
L
],这里设计了一种基于窗函数的编码方法,利用窗函数计算编码权重取值,可以保证相似的时间被转换成相似的嵌入编码。具体过程如下:
[0017]1.对于时间来说,它们之间的相对大小比它们的绝对大小更有意义,因此将时间戳序列[t1,t2,

,t
L
]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种融合时序信息的自注意力序列推荐方法,其特征在于,该方法包括以下步骤:步骤S1)数据预处理:获取数据集,并将数据集中的用户历史交互记录转换成长度为L的历史交互序列其中t
i
是第i次交互的具体时间戳,s
i
是每次第i次交互的商品编号,(t
i
,s
i
)表示第i次交互的时间商品二元组,i=1,2,..,L;步骤S2)构建融合时序信息的自注意力序列推荐模型,并根据获取的数据集得到训练集,采用所述训练集对融合时序信息的自注意力序列推荐模型进行训练,得到训练好的融合时序信息的自注意力序列推荐模型;步骤S3)获取长度为L的用户历史交互序列,输入通过步骤S2)得到的训练好的融合时序信息的自注意力序列推荐模型中,然后根据融合时序信息的自注意力序列推荐模型中的预测层给出用户对每个商品的偏好分数,将这些偏好分数从高到低排序,偏好分数越高,其对应的商品被推荐的可能性越大,从而得到推荐给用户的交互商品序列集合;其中,所述融合时序信息的自注意力序列推荐模型的主要结构分为时间戳编码模块、商品编码模块、编码器、解码器、预测层五个部分;所述时间戳编码模块将用户历史交互时间戳转换时序信息嵌入编码;所述商品编码模块将用户历史交互商品编号转换成商品嵌入编码;依次通过所述编码器中的残差注意力模块和前馈层,深入挖掘来自所述时间戳编码模块的时序信息嵌入编码之间的潜在关系,得到商品序列的时序信息;所述解码器首先使用第一残差注意力模块处理来自商品编码模块的商品嵌入编码,捕获商品序列中各个商品的相互关系,得到商品序列信息,接着使用第二残差注意力模块和前馈层,融合来自于所述编码器的商品序列的时序信息和第一残差注意力模块得到的商品序列信息,得到融合信息;最后将得到的融合信息送入所述预测层,预测层综合商品序列信息和商品序列的时序信息对用户近期可能的交互商品做出预测。2.根据权利要求1所述的融合时序信息的自注意力序列推荐方法,其特征在于,所述步骤S1)中将数据集中的用户历史交互记录转换成长度为L的历史交互序列的具体方法为:对于所述数据集中长度超过L的序列,选取其最近L次时间商品二元组;对于长度小于L的序列,在其最左边填充若干个填充时间戳和填充商品编号,直到它的长度达到L,其中,所述填充时间戳和填充商品编号均采用0表示。3.根据权利要求2所述的融合时序信息的自注意力序列推荐方法,其特征在于,所述融合时序信息的自注意力序列推荐模型中各部分的具体结构如下:一、时间戳编码模块:该模块的输入是提前经过预处理,长度为L的用户历史交互时间戳序列T=[t1,t2,...,t
L
],采用一种基于窗函数的编码方法,利用窗函数计算编码权重取值,具体过程如下:1)对于时间来说,它们之间的相对大小比它们的绝对大小更有意义,因此将用户历史交互时间戳序列[t1,t2,...,t
L
]转换成相对时间间隔序列:T
r
=[0,t2‑
t1,...,t
L

t1]2)根据最大时间间隔将相对时间间隔序列归一化得到归一化的相对时间间隔序列,R
U
是所有用户的相对时间间隔集合,是将最大时间间隔缩放到一个合理范围
的超参数,经过归一化的相对时间间隔序列T
s
通过下面的公式计算得到,其中是第i次交互时间戳转换成的归一化相对时间间隔:这里的k是分桶数目,也就是将相对时间间隔归一化到[0,k];3)定义一个可学习的时间戳编码矩阵这里的d是每个编码向量的维度大小,e
j
表示第j个编码向量,j=1,2,...,k;4)根据窗函数计算编码权重矩阵w∈R
L
×
k
,矩阵w中的元素代表归一化相对时间间隔对第j个编码向量的权重取值:对第j个编码向量的权重取值:对第j个编码向量的权重取值:其中,w

表示窗函数的窗口大小,为一个常数;5)根据定义的时间戳编码矩阵M
T
和计算得到的权重矩阵w,计算每个归一化相对时间间隔的嵌入编码,从而得到相对时间间隔的嵌入编码矩阵E
T
:二、商品编码模块:该模块的输入是用户历史交互商品编号序列[s1,s2,...,s
L
],首先定义一个可学习的商品编码矩阵M∈R
N
×
d
,N是商品总数量,d为每个商品编码向量的维度大小,和时间戳编码矩阵中的编码向量的维度大小相同;然后根据商品编号s
i
从M中检索到物品i的编码得到物品编码矩阵E
I
∈R
L
×
d
,具体检索操作为:,具体检索操作为:为M中第s
i
个编码向量,为了引入商品的先后顺序,这里加入位置编码P∈R
L
×
d
来记录商品在历史交互序列中的位置信息,得到加入位置编码的商品嵌入编码:
这里的P
i
代表用户历史交互商品编号序列中第i个位置的位置编码;三、编码器和解码器:1)残差注意力模块:所述时序信息嵌入编码和所述商品嵌入编码分别送入编码器和解码器进行进一步处理,在编码器和解码器中都使用了残差注意力模块,因此下面首先介绍残差注意力模块,残差注意力模块的输入是Q,K,V三个矩阵,具体过程如下:a.放缩点乘注意力SDPA如下定义:这里的d是维度大小,和前面的d均相同,softmax(*)表示归一化指数函数;b.考虑序列因果性:序列推荐本质上是一个序列预测任务,预测第t+1个商品的时候只能参考前t次交互行为,因此需要修改注意力的形式,禁止Q
i

和K
j

之间的联系以避免信息泄露,其中,Q
i

表示矩阵Q的第i

行,K
j

表示矩阵K的第j

行,j

>i

;c.多头机制:多头...

【专利技术属性】
技术研发人员:杨波张懿虎
申请(专利权)人:电子科技大学
类型:发明
国别省市:

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

1