CN114493755B - 一种融合时序信息的自注意力序列推荐方法 - Google Patents

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

Info

Publication number
CN114493755B
CN114493755B CN202111625259.1A CN202111625259A CN114493755B CN 114493755 B CN114493755 B CN 114493755B CN 202111625259 A CN202111625259 A CN 202111625259A CN 114493755 B CN114493755 B CN 114493755B
Authority
CN
China
Prior art keywords
sequence
commodity
attention
information
sequence information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202111625259.1A
Other languages
English (en)
Other versions
CN114493755A (zh
Inventor
杨波
张懿虎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology of China
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN202111625259.1A priority Critical patent/CN114493755B/zh
Publication of CN114493755A publication Critical patent/CN114493755A/zh
Application granted granted Critical
Publication of CN114493755B publication Critical patent/CN114493755B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/045Combinations of networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/047Probabilistic or stochastic networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Biophysics (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Mathematical Physics (AREA)
  • Biomedical Technology (AREA)
  • Business, Economics & Management (AREA)
  • Databases & Information Systems (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Probability & Statistics with Applications (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种融合时序信息的自注意力序列推荐方法,该方法采用编码器‑解码器结构实现,使用编码器处理交互时间戳序列,使用解码器处理交互商品序列,从而融合每次交互行为的具体时序信息以捕获更为细粒度的用户行为模式;同时针对时序信息具有连续性的特点,使用了一种基于窗函数的编码方法,可以更好地将时间戳转换成嵌入编码;再结合自注意力机制,剔除时序信息和物品信息中的冗余部分,利用其中的关键信息,对用户近期交互行为做出更精确的预测,克服现有方法没有考虑具体时序信息的缺陷,提高了推荐效果。

Description

一种融合时序信息的自注意力序列推荐方法
技术领域
本发明涉及序列推荐领域,具体涉及一种融合时序信息的自注意力序列推荐方法。
背景技术
现有的序列推荐方法主要通过常见的序列建模算法(例如马尔科夫链,循环神经网络,自注意力机制模型)对用户历史交互行为序列建模,捕获有效用户行为模式,从而预测用户未来可能交互的物品,但现有的序列建模算法仍存在不足之处:现有序列推荐方法使用根据交互时间戳排序后的交互物品序列作为模型的输入,仅仅考虑了用户历史交互物品之间的基本的先后顺序,没有考虑用户每次交互的具体时间带来的影响,复杂的用户行为模式难以得到深入有效的建模。
发明内容
针对现有方法无法利用时序信息对用户历史交互行为进行建模的缺点,本发明提出了一种融合“时序信息”的基于自注意力机制的序列推荐方法,可用于常见的序列推荐场景(短视频推荐,电商平台,电影音乐推荐等)。本发明采用了一种独特的编码器-解码器结构方法,使用编码器处理交互时间戳序列,使用解码器处理交互商品序列,从而融合每次交互行为的具体时序信息以捕获更为细粒度的用户行为模式。同时针对时序信息具有连续性的特点,使用了一种基于窗函数的编码方法,可以更好地将时间戳转换成嵌入编码。再结合自注意力机制,剔除时序信息和物品信息中的冗余部分,利用其中的关键信息,对用户近期交互行为做出更精确的预测,克服现有方法没有考虑具体时序信息的缺陷,提高了推荐效果。
本发明提供了一种融合时序信息的自注意力序列推荐方法,具体包括以下步骤:
步骤S1)数据预处理:获取数据集,并将数据集中的用户历史交互记录转换成长度为L的历史交互序列
Figure GDA0003797191630000011
其中ti是第i次交互的具体时间戳,si是第i次交互的商品编号,(ti,si)表示第i次交互的时间商品二元组;
步骤S2)构建融合时序信息的自注意力序列推荐模型,并根据获取的数据集得到训练集,采用所述训练集对融合时序信息的自注意力序列推荐模型进行训练,得到训练好的融合时序信息的自注意力序列推荐模型;
步骤S3)获取长度为L的用户历史交互序列,输入通过步骤S2)得到的训练好的融合时序信息的自注意力序列推荐模型中,然后根据预测层给出用户对每个商品的偏好分数,将这些偏好分数从高到低排序,偏好分数越高,其对应的商品被推荐的可能性越大,从而得到推荐给用户的交互商品序列集合。
其中,所述融合时序信息的自注意力序列推荐模型的主要结构分为时间戳编码模块、商品编码模块、编码器、解码器、预测层五个部分;所述时间戳编码模块将用户历史交互时间戳转换成时序信息嵌入编码;所述商品编码模块将用户历史交互商品编号转换成商品嵌入编码;依次通过所述编码器中的残差注意力模块和前馈层,深入挖掘来自所述时间戳编码模块的时序信息嵌入编码之间的潜在关系,得到商品序列的时序信息;所述解码器首先使用第一残差注意力模块处理来自商品编码模块的商品嵌入编码,捕获商品序列中各个商品的相互关系,得到商品序列信息,接着使用第二残差注意力模块和前馈层,融合来自于所述编码器的商品序列的时序信息和第一残差注意力模块得到的商品序列信息,得到融合信息;最后将得到的融合信息送入所述预测层,预测层综合商品序列信息和商品序列的时序信息对用户近期可能的交互商品做出预测。
本发明通过基于窗函数的编码模块对时间信息进行编码,同时还引入了编码器-解码器的结构,利用编码器处理时序信息,利用解码器处理商品信息并融合时序信息辅助推荐,从而捕获到更细粒度的用户行为模式。基于窗函数的编码方式更好地编码时间信息,基于编码器-解码器的结构更好地引入了时间信息辅助推荐。本发明的方法可以应用在诸多存在序列依赖的推荐场景中,例如短视频推荐,电商推荐,电影音乐推荐等。由于引入了具体时间戳的影响,可以更深入地把握用户近期兴趣,为用户提供更精确的推荐,从而提升用户体验,提高平台流量。
附图说明
图1为本发明采用构建的推荐模型进行融合时序信息的自注意力序列推荐方法的示意图。
具体实施方式
下面结合附图和具体实施例详细描述本发明的技术方案。
本发明提出的一种融合时序信息的自注意力序列推荐方法,具体包括:
步骤S1)数据预处理:获取数据集,在现实情况下,所述数据集中的每个用户的历史交互序列记录长度是不尽相同的,本发明将用户的历史交互记录转换成长度为L的历史交互序列
Figure GDA0003797191630000021
ti是第i次交互的具体时间戳,si是第i次交互的商品编号,(ti,si)表示第i次交互的时间商品二元组。具体转换方式如下:对于长度超过L的序列,我们选取它最近L次时间商品二元组,对于长度小于L的序列,我们在它最左边填充若干个填充时间戳和填充商品编号(实际方法中都使用0),直到它的长度达到L,最后输入的用户历史交互记录都转换为长度为L的序列即
Figure GDA0003797191630000031
步骤S2)构建融合时序信息的自注意力序列推荐模型,并根据获取的训练集对该模型进行训练,得到训练好的融合时序信息的自注意力序列推荐模型。本发明构建的所述融合时序信息的自注意力序列推荐模型主要结构类似于经典的Transformer模型,由图1所示,主要可分为时间戳编码模块、商品编码模块、编码器、解码器、预测层等五个部分。其中,时间戳编码模块将用户历史交互时间戳转换成时序信息嵌入编码;商品编码模块将用户历史交互商品编号转换成商品嵌入编码;依次通过编码器中的残差注意力模块和前馈层,深入挖掘来自时间戳编码模块的时序信息嵌入编码之间的潜在关系,得到商品序列的时序信息;解码器首先使用第一残差注意力模块处理来自商品编码模块的商品嵌入编码,捕获商品序列中各个商品的相互关系(即商品序列信息),接着使用第二残差注意力模块和前馈层,融合来自于编码器的商品序列中的时序信息和第一残差注意力模块得到的商品序列信息,得到融合信息,最后将得到的融合信息送入预测层,预测层综合商品序列信息和商品序列的时序信息对用户近期可能的交互商品做出预测。
下面按照时间戳编码模块、商品编码模块、编码器、解码器和预测层的顺序依次介绍各部分的详细内容,最后介绍所述融合时序信息的自注意力序列推荐模型的训练过程。
一、时间戳编码模块:该模块的输入是提前经过预处理,长度为L的用户历史交互时间戳序列T=[t1,t2,…,tL],这里设计了一种基于窗函数的编码方法,利用窗函数计算编码权重取值,可以保证相似的时间被转换成相似的嵌入编码。具体过程如下:
1.对于时间来说,它们之间的相对大小比它们的绝对大小更有意义,因此将时间戳序列[t1,t2,…,tL]转换成相对时间间隔序列:
Tr=[0,t2-t1,…,tL-t1]
2.根据最大时间间隔
Figure GDA0003797191630000032
将相对时间间隔序列归一化得到归一化的相对时间间隔序列,RU是所有用户的相对时间间隔集合,
Figure GDA0003797191630000033
是将最大时间间隔缩放到一个合理范围的超参数,经过归一化的相对时间间隔序列Ts通过下面的公式计算得到,
Figure GDA0003797191630000034
是第i次交互时间戳转换成的归一化相对时间间隔:
Figure GDA0003797191630000035
Figure GDA0003797191630000036
这里的
Figure GDA0003797191630000037
k是分桶数目,也就是将相对时间间隔归一化到[0,k]。
3.这里定义了一个可学习的时间戳编码矩阵
Figure GDA0003797191630000041
这里的d是每个编码向量的维度大小(ej表示第j个编码向量,j=1,2,…,k)
4.根据窗函数计算编码权重w∈RL×k
Figure GDA0003797191630000042
代表归一化的相对时间间隔
Figure GDA0003797191630000043
对第j个编码向量的权重取值:
Figure GDA0003797191630000044
Figure GDA0003797191630000045
Figure GDA0003797191630000046
其中,w′表示窗函数的窗口大小,为一个常数。
5.根据第3步定义的时间戳编码矩阵MT和第4步计算的权重计算每个归一化相对时间间隔的嵌入编码,得到相对时间间隔的嵌入编码矩阵ET
Figure GDA0003797191630000047
二、商品编码模块:该模块的输入是用户历史交互商品编号序列[s1,s2,…,sL]。首先定义了一个可学习的商品编码矩阵M∈RN×d,N是商品总数量,d为每个商品编码向量的维度大小,和时间戳编码矩阵中的编码向量的维度大小相同。然后根据商品编号si从M中检索到物品i的编码
Figure GDA0003797191630000048
得到物品编码矩阵EI∈RL×d,具体检索操作为:
Figure GDA0003797191630000049
Figure GDA00037971916300000410
为M中第si个编码向量。为了引入商品的先后顺序,这里加入位置编码P∈RL×d来记录商品在历史交互序列中的位置信息,这样就可以得到加入位置编码的商品嵌入编码:
Figure GDA00037971916300000411
这里的Pi代表用户历史交互商品编号序列中第i个位置的位置编码。
三、编码器和解码器:
(1)残差注意力模块:由图1所示,时序信息嵌入编码和商品嵌入编码分别送入编码器和解码器进行进一步处理,在编码器和解码器中都使用了残差注意力模块,因此下面首先介绍残差注意力模块,残差注意力模块的输入是Q,K,V三个矩阵,具体过程如下:
1.放缩点乘注意力SDPA定义如下:
Figure GDA0003797191630000051
这里的d是维度大小,和前面的d均相同,softmax(*)表示归一化指数函数,softmax
Figure GDA0003797191630000052
2.考虑序列因果性:序列推荐本质上是一个序列预测任务,预测第t+1个商品的时候只能参考前t次交互行为,因此需要修改注意力的形式,禁止Qi′和Kj′(j′>i′)之间的联系以避免信息泄露,其中,Qi′表示矩阵Q的第i′行,Kj′表示矩阵K的第j′行。
3.多头机制:多头机制可以从不同位置,不同特征子空间中共同获取信息,从而提高表征能力。多头机制MH具体如下所示:
Figure GDA0003797191630000053
Figure GDA0003797191630000054
这里的WO
Figure GDA0003797191630000055
是可学习参数,i″=1,2,...,nh,nh是头的数目,Concat(*)表示拼接操作。
4.残差机制:为了解决当网络层数增加时产生的网络退化问题,同时在使用编码器来引入时序信息的同时保存原有的商品序列信息,本发明使用了一个残差连接,同时为了解决神经网络中的内部协变量偏移问题,这里使用了常用的层归一化(LayerNorm)操作,该过程由如下所示:
M″=LayerNorm(M′+Q)=LayerNorm(MH(Q,K,V)+Q)
为了表述方便,上述整个残差注意力模块操作简写为:
O=RAB(Q,K,V)
Q,K,V为残差注意力模块的输入,O为残差注意力模块的输出。
(2)编码器:编码器接收从时间信息编码模块得到的时序信息嵌入编码ET∈RL×d,首先将时序信息嵌入编码送入残差注意力模块,捕获时间戳的相互关系,得到:
E′T=RAB(ET,ET,ET)
本发明使用两层带有ReLU激活函数的全连接层以增强模型表征能力,同时使用层归一化(Layer Normalization)以稳定模型和加速训练,Dropout作为正则化手段以提升模型泛化能力,最后得到E″T,即商品序列的时序信息:
FFN(E′T)=ReLU(E′T W1+b1)W2+b2
F″T=E′T+Dropout(FFN(LayerNorm(E′T)))
其中,W1、b1分别表示第一层全连接层的权重和偏置;W2、b2分别表示第二层全连接层的权重和偏置。FFN(*)表示两层带有ReLU激活函数的全连接层。
最后,整个编码器模块的操作简写为:
OE=EB(ET),OE∈RL×d
其中,OE表示编码器的最终输出,EB(*)表示编码器函数,ET表示所述编码器的输入。
(3)解码器:解码器首先使用第一残差注意力模块处理商品序列,即接收从商品编码模块得到的商品嵌入编码
Figure GDA0003797191630000061
从中捕获商品的相互关系,得到商品序列信息
Figure GDA0003797191630000062
此时输入的Q,K,V都等于物品嵌入编码
Figure GDA00037971916300000611
Figure GDA0003797191630000063
然后使用第二残差注意力模块接收来自编码器的商品序列的时序信息E″T(即OE)和第一残差注意力模块得到的商品序列信息
Figure GDA0003797191630000064
Figure GDA0003797191630000065
K=OE,V=OE
Figure GDA0003797191630000066
这里的OE为编码器的输出,其实也就是E″T,这里简写成OE
和编码器一样,这里也使用全连接层和残差连接来增强性能,得到:
E′PT=EPT+Dropout(FFN(LayerNorm(EPT)))
最后,整个解码器模块的操作简写为:
Figure GDA0003797191630000067
其中,OD表示解码器的最终输出,DB(*)表示解码器函数,
Figure GDA0003797191630000068
OE分别表示所述解码器的两个不同的输入。
(4)模块堆叠:在深度学习领域中,重复使用一些类似的单元从而增加网络深度,从而提升模型拟合能力,已成为一种广泛的操作,正如图1中所示,本发明将上述编码器和解码器的结构分别重复堆叠G次和P次,以获得更好的拟合能力,堆叠后的编码器中的第q个块和堆叠后的解码器中的第p个块分别如下所示:
Figure GDA0003797191630000069
Figure GDA00037971916300000610
其中
Figure GDA0003797191630000071
q∈[0,G],,p∈[0,P]。
四、预测层:
最后所述融合时序信息的自注意力序列推荐模型通过一个点乘操作来计算用户对每个商品的偏好分数r:
Figure GDA0003797191630000072
其中
Figure GDA0003797191630000073
代表
Figure GDA0003797191630000074
的第t行,M∈RN×d代表前面的商品编码矩阵,ri,t是在已有t个历史交互商品编号(例如s1,s2,…,st)时,用户对商品i的偏好分数,因此在所述融合时序信息的自注意力序列推荐模型训练过程中,模型输入一个历史交互序列:((t1,s1),(t2,s2),…,(tL,sL)),然后它的期望输出是输入商品序列的一个“偏移”版本:(s2,s3,…,sL+1)。在所述训练好的融合时序信息的自注意力序列推荐模型测试或实际使用阶段,使用
Figure GDA0003797191630000075
的最后一行来预测下一个商品。注意,这里我们使用在商品编码模块中定义的商品编码矩阵M而不是新建一个,这是因为使用共享的商品编码矩阵可以显著地提高模型表现。
五、训练过程
在序列推荐任务中,需要根据用户的历史交互信息推荐一个排序过的商品列表,但是由于用户历史交互行为是隐式反馈(Implicit Response),所以无法直接优化之前得到的偏好分数ri,t,因此,我们使用了负采样技术来生成样本,在已知当前时间和历史交互序列的情况下,定义o=(o1,o2,…,oL)为其期望输出,并为每一个oi采样一个负样本o′i,o′i从用户未交互过的商品中随机选取,从而得到训练集D={(I,o,o′)},其中i=1,2,..,L,o′为负样本集合。
使用二值交叉熵损失(Binary Cross Entropy Loss)作为所述融合时序信息的自注意力序列推荐模型的损失函数L,使用Adam作为优化器。
Figure GDA0003797191630000076
σ(x)=1/(1+e-x)
其中,
Figure GDA0003797191630000077
定义在预测层,是用户已有i个交互商品时,对商品oi的偏好分数,Su表示当前用户,S表示训练集中的所有用户集合,每个用户都会有一条交互记录,每条用户交互记录都可以用来训练。
通过梯度下降,逐步降低损失函数值,当模型的参数达到收敛时停止训练,即可得到所述训练好的融合时序信息的自注意力序列推荐模型。
步骤S3)获取长度为L的用户历史交互序列,输入进通过步骤S2)训练好的融合时序信息的自注意力序列推荐模型中,然后根据预测层给出的用户对每个商品的偏好分数从高到低排序,推荐用户最有可能交互的商品集合,其中,偏好分数越高,其对应的商品被推荐的可能性越大。
实施例
本发明在两个来自显示场景的公开数据集评估了本发明的方法,这些数据集有着不同的稀疏度,大小,时间跨度。
Steam:一个在推荐系统领域被广泛使用的基准数据集,这个数据集来源于“Steam”游戏平台。
Userbehavior:由阿里巴巴提供,其中包含了用户在电商平台上和商品的历史交互记录。这个数据集不仅仅包含了必要的信息(商品编号,用户编号,交互时间),同时也包含了其他的丰富信息例如交互类型,有点击,收藏,购买等。
表1数据集特征(预处理后)
数据集 用户数目 商品数目 平均用户交互数目 交互总数目 最大时间跨度
Steam 334730 13047 10.59 4.2M 7年
Userbehavior 100000 677456 76.43 7.8M 7天
本发明使用了三种在业界被广泛使用的评价指标:
1.准确率(Hit Ratio,HR),HR主要是衡量推荐的准确性。
2.归一化折损累计增益(Normalized Discounted Cumulative Gain,NDCG),NDCG是一个和位置相关的评价指标,对排名越高的位置,会赋予越大的权重。
3.平均倒数排名(Mean Reciprocal Rank,MRR),MRR是根据正确推荐商品在推荐列表中的位置来衡量模型的推荐效果。
对比的其他现有方法:
PopRec:最简单的baseline,根据物品流行度推荐商品。
Caser:基于CNN结构的模型,使用卷积操作提取特征,可以捕获高阶的马尔科夫链。
GRU4Rec:一使用RNN来建模用户历史交互行为的模型,提出一种“会话并行”的方式加速。
GRU4Rec+:GRU4Rec的改进版本,使用了一种新的损失函数来缓解梯度消失问题,并结合一种新的基于流行度的负采样策略使得推荐效果在原有版本上有较大提升。
SASRec:将Transformer中的Encoder结构应用在序列推荐问题中。
FDSA:在物品层次和特征层次分别使用注意力机制。
实验结果:
表2本发明与现有技术的对比效果
Figure GDA0003797191630000091
本发明提出的方法TAT4SRec在Steam和Userbehavior两个数据集上的各个指标上都获得了最好的结果,如表2所示,黑体为当前指标下最好结果,下划线为次佳结果。
和现有方法不同的是,本发明提出的TAT4SRec方法通过基于窗函数的编码模块对时间信息进行编码,同时还引入了编码器-解码器的结构,利用编码器处理时序信息,利用解码器处理物品信息并融合时序信息辅助推荐,从而捕获到更细粒度的用户行为模式。基于窗函数的编码方式可以会更好地编码时间信息,基于编码器-解码器的结构可以更好地引入时间信息辅助推荐。本文的方法可以应用在诸多存在序列依赖的推荐场景中,例如短视频推荐,电商推荐,电影音乐推荐等。由于引入了具体时间戳的影响,可以更深入地把握用户近期兴趣,可以威为用户提供更精确的推荐,从而提升用户体验,提高平台流量。
以上所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

Claims (4)

1.一种融合时序信息的自注意力序列推荐方法,其特征在于,该方法包括以下步骤:
步骤S1)数据预处理:获取数据集,并将数据集中的用户历史交互记录转换成长度为L的历史交互序列
Figure FDA0003797191620000011
其中ti是第i次交互的具体时间戳,si是第i次交互的商品编号,(ti,si)表示第i次交互的时间商品二元组,i=1,2,..,L;
步骤S2)构建融合时序信息的自注意力序列推荐模型,并根据获取的数据集得到训练集,采用所述训练集对融合时序信息的自注意力序列推荐模型进行训练,得到训练好的融合时序信息的自注意力序列推荐模型;
步骤S3)获取长度为L的用户历史交互序列,输入通过步骤S2)得到的训练好的融合时序信息的自注意力序列推荐模型中,然后根据融合时序信息的自注意力序列推荐模型中的预测层给出用户对每个商品的偏好分数,将这些偏好分数从高到低排序,偏好分数越高,其对应的商品被推荐的可能性越大,从而得到推荐给用户的交互商品序列集合;
其中,所述融合时序信息的自注意力序列推荐模型的主要结构分为时间戳编码模块、商品编码模块、编码器、解码器、预测层五个部分;所述时间戳编码模块将用户历史交互时间戳转换成时序信息嵌入编码;所述商品编码模块将用户历史交互商品编号转换成商品嵌入编码;依次通过所述编码器中的残差注意力模块和前馈层,深入挖掘来自所述时间戳编码模块的时序信息嵌入编码之间的潜在关系,得到商品序列的时序信息;所述解码器首先使用第一残差注意力模块处理来自商品编码模块的商品嵌入编码,捕获商品序列中各个商品的相互关系,得到商品序列信息,接着使用第二残差注意力模块和前馈层,融合来自于所述编码器的商品序列的时序信息和第一残差注意力模块得到的商品序列信息,得到融合信息;最后将得到的融合信息送入所述预测层,预测层综合商品序列信息和商品序列的时序信息对用户近期可能的交互商品做出预测。
2.根据权利要求1所述的融合时序信息的自注意力序列推荐方法,其特征在于,所述步骤S1)中将数据集中的用户历史交互记录转换成长度为L的历史交互序列
Figure FDA0003797191620000012
的具体方法为:
对于所述数据集中长度超过L的序列,选取其最近L次时间商品二元组;对于长度小于L的序列,在其最左边填充若干个填充时间戳和填充商品编号,直到它的长度达到L,其中,所述填充时间戳和填充商品编号均采用0表示。
3.根据权利要求2所述的融合时序信息的自注意力序列推荐方法,其特征在于,所述融合时序信息的自注意力序列推荐模型中各部分的具体结构如下:
一、时间戳编码模块:该模块的输入是提前经过预处理,长度为L的用户历史交互时间戳序列T=[t1,L2,…,tL],采用一种基于窗函数的编码方法,利用窗函数计算编码权重取值,具体过程如下:
1)对于时间来说,它们之间的相对大小比它们的绝对大小更有意义,因此将用户历史交互时间戳序列[t1,t2,…,tL]转换成相对时间间隔序列:
Tr=[0,t2-t1,…,tL-t1]
2)根据最大时间间隔
Figure FDA0003797191620000021
将相对时间间隔序列归一化得到归一化的相对时间间隔序列,RU是所有用户的相对时间间隔集合,
Figure FDA0003797191620000022
是将最大时间间隔缩放到一个合理范围的超参数,经过归一化的相对时间间隔序列Ts通过下面的公式计算得到,其中
Figure FDA0003797191620000023
是第i次交互时间戳转换成的归一化相对时间间隔:
Figure FDA0003797191620000024
Figure FDA0003797191620000025
这里的
Figure FDA0003797191620000026
k是分桶数目,也就是将相对时间间隔归一化到[0,k];
3)定义一个可学习的时间戳编码矩阵
Figure FDA0003797191620000027
这里的d是每个编码向量的维度大小,ej表示第j个编码向量,j=1,2,…,k;
4)根据窗函数计算编码权重矩阵w∈RL×k,矩阵w中的元素
Figure FDA0003797191620000028
代表归一化相对时间间隔
Figure FDA0003797191620000029
对第j个编码向量的权重取值:
Figure FDA00037971916200000210
Figure FDA00037971916200000211
Figure FDA00037971916200000212
其中,w′表示窗函数的窗口大小,为一个常数;
5)根据定义的时间戳编码矩阵MT和计算得到的权重矩阵w,计算每个归一化相对时间间隔的嵌入编码,从而得到相对时间间隔的嵌入编码矩阵ET
Figure FDA0003797191620000031
二、商品编码模块:该模块的输入是用户历史交互商品编号序列[s1,s2,…,sL],首先定义一个可学习的商品编码矩阵M∈RN×d,N是商品总数量,d为每个商品编码向量的维度大小,和时间戳编码矩阵中的编码向量的维度大小相同;然后根据商品编号si从M中检索到物品i的编码
Figure FDA0003797191620000032
得到物品编码矩阵EI∈RL×d,具体检索操作为:
Figure FDA0003797191620000033
Figure FDA0003797191620000034
为M中第si个编码向量,为了引入商品的先后顺序,这里加入位置编码P∈RL×d来记录商品在历史交互序列中的位置信息,得到加入位置编码的商品嵌入编码:
Figure FDA0003797191620000035
这里的Pi代表用户历史交互商品编号序列中第i个位置的位置编码;
三、编码器和解码器:
1)残差注意力模块:所述时序信息嵌入编码和所述商品嵌入编码分别送入编码器和解码器进行进一步处理,在编码器和解码器中都使用了残差注意力模块,因此下面首先介绍残差注意力模块,残差注意力模块的输入是Q,K,V三个矩阵,具体过程如下:
a.放缩点乘注意力SDPA定义如下:
Figure FDA0003797191620000036
这里的d是维度大小,和前面的d均相同,softmax(*)表示归一化指数函数;
b.考虑序列因果性:序列推荐本质上是一个序列预测任务,预测第t+1个商品的时候只能参考前t次交互行为,因此需要修改注意力的形式,禁止Qi′和Kj′之间的联系以避免信息泄露,其中,Qi′表示矩阵Q的第i′行,Kj′表示矩阵K的第j′行,j′>i′;
c.多头机制:多头机制能够从不同位置、不同特征子空间中共同获取信息,从而提高表征能力,多头机制MH具体表示如下:
Figure FDA0003797191620000037
Figure FDA0003797191620000038
这里的Wo,
Figure FDA0003797191620000039
是可学习的参数,i″=1,2,…,nh,nh是头的数目,Concat(*)表示拼接操作;
d.残差机制:为了解决当网络层数增加时产生的网络退化问题,同时在使用编码器来引入时序信息的同时保存原有的商品序列信息,使用了一个残差连接,同时为了解决神经网络中的内部协变量偏移问题,使用了层归一化操作LayerNorm,该过程由如下所示:
M″=LayerNorm(M′+Q)=LayerNorm(MH(Q,K,V)+Q)
为了表述方便,上述整个残差注意力模块操作简写为:
O=RAB(Q,K,V)
其中,Q,K,V为残差注意力模块的输入,O为残差注意力模块的输出;
2)编码器:编码器接收从时间信息编码模块得到的时序信息嵌入编码ET∈RL×d,首先将时序信息嵌入编码送入残差注意力模块,捕获时间戳的相互关系,得到:
E′T=RAB(ET,ET,ET)
接着使用两层带有ReLU激活函数的全连接层以增强模型表征能力,同时使用层归一化以稳定模型和加速训练,Dropout作为正则化手段以提升模型泛化能力,最后得到E″T,即商品序列的时序信息:
FFN(E′T)=ReLU(E′TW1+b1)W2+b2
E″T=E′T+Dropout(FFN(LayerNorm(E′T)))
其中,W1、b1分别表示第一层全连接层的权重和偏置;W2、b2分别表示第二层全连接层的权重和偏置;FFN(*)表示两层带有ReLU激活函数的全连接层的操作;
最后,整个编码器模块的操作简写为:
OE=EB(ET),OE∈RL×d
其中,OE表示编码器的最终输出,即E″T;EB(*)表示编码器函数,ET表示所述编码器的输入;
3)解码器:解码器首先使用第一残差注意力模块接收从商品编码模块得到的商品嵌入编码
Figure FDA0003797191620000041
从中捕获商品的相互关系,得到商品序列信息
Figure FDA0003797191620000042
此时输入的Q,K,V都等于物品嵌入编码
Figure FDA0003797191620000043
Figure FDA0003797191620000044
然后使用第二残差注意力模块接收来自编码器的商品序列的时序信息OE和第一残差注意力模块得到的商品序列信息
Figure FDA0003797191620000045
Figure FDA0003797191620000046
K=OE,V=OE,得到EPT
Figure FDA0003797191620000047
和编码器一样,这里也使用全连接层和残差连接来增强性能,得到:
E′PT=EPT+Dropout(FFN(LayerNorm(EPT)))
最后,整个解码器模块的操作简写为:
Figure FDA0003797191620000051
其中,OD表示解码器的最终输出,DB(*)表示解码器函数,
Figure FDA0003797191620000052
OE分别表示所述解码器的两个不同的输入;
4)模块堆叠:将上述编码器和解码器的结构分别重复堆叠G次和P次,以获得更好的拟合能力,堆叠后的编码器中的第q个块和堆叠后的解码器中的第p个块分别如下所示:
Figure FDA0003797191620000053
Figure FDA0003797191620000054
其中
Figure FDA0003797191620000055
q∈[0,G],p∈[0,p];
四、预测层:
最后所述融合时序信息的自注意力序列推荐模型通过一个点乘操作来计算用户对每个商品的偏好分数r:
Figure FDA0003797191620000056
其中
Figure FDA0003797191620000057
代表
Figure FDA0003797191620000058
的第t行,M∈RN×d代表前面的商品编码矩阵,ri,t是在已有t个历史交互商品编号时,用户对商品i的偏好分数,因此在所述融合时序信息的自注意力序列推荐模型训练过程中,模型输入一个历史交互序列:((t1,s1),(t2,s2),…,(tL,sL)),然后它的期望输出是输入商品序列的一个“偏移”版本:(s2,s3,…,sL+1);在所述训练好的融合时序信息的自注意力序列推荐模型测试或实际使用阶段,使用
Figure FDA0003797191620000059
的最后一行来预测下一个商品。
4.根据权利要求3所述的融合时序信息的自注意力序列推荐方法,其特征在于,所述步骤S2)中根据获取的数据集得到训练集,并采用所述训练集对融合时序信息的自注意力序列推荐模型进行训练,得到训练好的融合时序信息的自注意力序列推荐模型的具体方法为:
在序列推荐任务中,需要根据用户的历史交互信息推荐一个排序过的商品列表,但是由于用户历史交互行为是隐式反馈,所以无法直接优化之前得到的偏好分数ri,t,因此,使用负采样技术来生成样本,在已知当前时间和历史交互序列的情况下,定义o=(o1,o2,…,oL)为其期望输出,并为每一个oi采样一个负样本o′i,o′i从用户未交互过的商品中随机选取,从而得到训练集D={(I,o,o′)},o′为负样本集合;
使用二值交叉熵损失作为所述融合时序信息的自注意力序列推荐模型的损失函数L,使用Adam作为优化器:
Figure FDA0003797191620000061
σ(x)=1/(1+e-x)
其中,
Figure FDA0003797191620000062
定义在预测层,是用户已有i个交互商品时,对商品oi的偏好分数,Su表示当前用户,S表示所述训练集中的所有用户集合;
通过梯度下降,逐步降低损失函数值,当模型的参数达到收敛时停止训练,得到训练好的融合时序信息的自注意力序列推荐模型。
CN202111625259.1A 2021-12-28 2021-12-28 一种融合时序信息的自注意力序列推荐方法 Active CN114493755B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111625259.1A CN114493755B (zh) 2021-12-28 2021-12-28 一种融合时序信息的自注意力序列推荐方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111625259.1A CN114493755B (zh) 2021-12-28 2021-12-28 一种融合时序信息的自注意力序列推荐方法

Publications (2)

Publication Number Publication Date
CN114493755A CN114493755A (zh) 2022-05-13
CN114493755B true CN114493755B (zh) 2022-10-14

Family

ID=81495537

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111625259.1A Active CN114493755B (zh) 2021-12-28 2021-12-28 一种融合时序信息的自注意力序列推荐方法

Country Status (1)

Country Link
CN (1) CN114493755B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116578769B (zh) * 2023-03-03 2024-03-01 齐鲁工业大学(山东省科学院) 一种基于行为模式转换的多任务学习推荐方法
CN116128158B (zh) * 2023-04-04 2023-06-23 西南石油大学 混合采样注意力机制的油井效率预测方法
CN116089735B (zh) * 2023-04-13 2023-07-04 苏州大学 用于序列推荐的元优化Seq2Seq和对比学习方法及系统
CN116662676A (zh) * 2023-06-09 2023-08-29 北京华品博睿网络技术有限公司 一种基于多行为建模的在线招聘双向互惠推荐系统及方法
CN116544931B (zh) * 2023-06-27 2023-12-01 北京理工大学 基于集成片段变换和时间卷积网络的电力负荷分布预测方法

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008409A (zh) * 2019-04-12 2019-07-12 苏州市职业大学 基于自注意力机制的序列推荐方法、装置及设备
CN112199609A (zh) * 2020-11-17 2021-01-08 东北大学 自注意力下时空语义间隔感知的poi推荐系统及方法
CN113158445A (zh) * 2021-04-06 2021-07-23 中国人民解放军战略支援部队航天工程大学 一种卷积记忆残差自注意力机制的航空发动机剩余使用寿命预测算法
CN113241075A (zh) * 2021-05-06 2021-08-10 西北工业大学 一种基于残差高斯自注意力的Transformer端到端语音识别方法
WO2021169367A1 (zh) * 2020-02-27 2021-09-02 深圳大学 一种基于多层注意力的推荐方法
CN113505444A (zh) * 2021-09-09 2021-10-15 中国电子科技集团公司第二十八研究所 基于自注意力的多维度轨迹预测方法、装置
CN113656709A (zh) * 2021-08-24 2021-11-16 东北大学 一种融合知识图谱和时序特征的可解释兴趣点推荐方法
CN113822742A (zh) * 2021-09-18 2021-12-21 电子科技大学 一种基于自注意力机制的推荐方法

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111582443B (zh) * 2020-04-22 2021-02-02 成都信息工程大学 一种基于Mask机制和层次注意力机制的推荐方法
US20210390609A1 (en) * 2020-06-12 2021-12-16 Nextsmarty Holdings Pte. Ltd System and method for e-commerce recommendations

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110008409A (zh) * 2019-04-12 2019-07-12 苏州市职业大学 基于自注意力机制的序列推荐方法、装置及设备
WO2021169367A1 (zh) * 2020-02-27 2021-09-02 深圳大学 一种基于多层注意力的推荐方法
CN112199609A (zh) * 2020-11-17 2021-01-08 东北大学 自注意力下时空语义间隔感知的poi推荐系统及方法
CN113158445A (zh) * 2021-04-06 2021-07-23 中国人民解放军战略支援部队航天工程大学 一种卷积记忆残差自注意力机制的航空发动机剩余使用寿命预测算法
CN113241075A (zh) * 2021-05-06 2021-08-10 西北工业大学 一种基于残差高斯自注意力的Transformer端到端语音识别方法
CN113656709A (zh) * 2021-08-24 2021-11-16 东北大学 一种融合知识图谱和时序特征的可解释兴趣点推荐方法
CN113505444A (zh) * 2021-09-09 2021-10-15 中国电子科技集团公司第二十八研究所 基于自注意力的多维度轨迹预测方法、装置
CN113822742A (zh) * 2021-09-18 2021-12-21 电子科技大学 一种基于自注意力机制的推荐方法

Non-Patent Citations (7)

* Cited by examiner, † Cited by third party
Title
Deep collaborative filtering based on user"s long and short intention for Recommendation;Jie Chen 等;《2021 6th International Symposium on Computer and Information Processing Technology (ISCIPT)》;20211223;294-300 *
DSMN: A Personalized Information Retrieval Algorithm Based on Improved DSSM;Weifeng Sun 等;《2021 International Joint Conference on Neural Networks (IJCNN)》;20210920;1-7 *
一种基于社交行为融合的自注意力序列推荐模型;彭甫镕 等;《小型微型计算机系统》;20210824;第42卷(第09期);1852-1858 *
一种改进的R-λ模型码率控制算法;郭红伟 等;《计算机科学》;20190315;第46卷(第03期);142-147 *
基于隐马尔可夫模型的个性化推荐算法研究;陈俊伟;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180315(第03期);I138-2107 *
自注意力下时空-语义相融合的POI序列推荐;刘树越 等;《http://kns.cnki.net/kcms/detail/21.1106.TP.20211105.1922.004.html》;20211108;1-9 *
面向电子商务平台用户意图预测的时间感知分层自注意力网络;王森章 等;《信息安全学报》;20210915;第6卷(第05期);169-180 *

Also Published As

Publication number Publication date
CN114493755A (zh) 2022-05-13

Similar Documents

Publication Publication Date Title
CN114493755B (zh) 一种融合时序信息的自注意力序列推荐方法
CN110196946B (zh) 一种基于深度学习的个性化推荐方法
CN111127165B (zh) 基于自注意力自编码器的序列推荐方法
CN111209386B (zh) 一种基于深度学习的个性化文本推荐方法
CN109740655B (zh) 基于矩阵分解及神经协同过滤的物品评分预测方法
CN112258262B (zh) 一种基于卷积自注意力网络的会话推荐方法
CN112381581A (zh) 一种基于改进Transformer的广告点击率预估方法
CN112926303A (zh) 一种基于BERT-BiGRU的恶意URL检测方法
CN109871749B (zh) 一种基于深度哈希的行人重识别方法和装置、计算机系统
CN111400494B (zh) 一种基于GCN-Attention的情感分析方法
CN112364976A (zh) 基于会话推荐系统的用户偏好预测方法
CN113139850A (zh) 一种缓解数据稀疏性和商品冷启动的商品推荐模型
CN110781401A (zh) 一种基于协同自回归流实现的Top-n项目推荐方法
CN111753209A (zh) 一种基于改进时序卷积网络的序列推荐列表生成方法
CN112800344A (zh) 一种基于深度神经网络的电影推荐方法
CN116227562A (zh) 基于图神经网络与Transformer的时序点过程预测方法及系统
CN117196763A (zh) 基于时序感知自注意力和对比学习的商品序列推荐方法
CN110688585B (zh) 一种基于神经网络和协同过滤的个性化电影推荐方法
CN116628623A (zh) 基于smt质量大数据的高维特征重构与融合方法
CN114936723B (zh) 一种基于数据增强的社交网络用户属性预测方法及系统
CN109918564A (zh) 一种面向完全冷启动的上下文自动编码推荐方法及系统
CN112801076B (zh) 基于自注意力机制的电子商务视频高光检测方法及系统
CN114547276A (zh) 基于三通道图神经网络的会话推荐方法
CN115393098A (zh) 理财产品信息推荐方法及装置
CN114116692A (zh) 一种基于mask和双向模型的缺失POI轨迹补全方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant