一种融合多方面时域信息的序列推荐方法、设备和介质

文档序号:31070649发布日期:2022-08-09 21:01阅读:69来源:国知局
一种融合多方面时域信息的序列推荐方法、设备和介质

1.本发明属于序列推荐技术领域,特别是涉及一种融合多方面时域信息的序列推荐方法、设备和介质。


背景技术:

2.推荐系统作为一种有效处理信息过载问题的工具已经被广泛应用于许多真实场景,其目的是用于提升用户的使用性和帮助企业留住用户,促进商业发展。在推荐系统的众多领域当中,序列推荐在捕获用户动态偏好方面表现出强大的能力,成为研究的热点,因此,序列推荐被广泛应用于各种场景,例如:电子商务,新闻推荐和广告推荐等等。
3.序列推荐旨在对用户行为序列,例如购买物品的序列进行建模,学习到用户表征,用于预测用户下一次可能购买的物品。随着深度学习技术的发展,已有多种深度模型用于建模用户行为的序列性,例如循环神经网络、卷积神经网络、自注意力机制、以及图神经网络。然而,越来越多的研究者发现时间信息对于序列信息建模有着至关重要的作用,也因此成为最近的研究热点。
4.其中一条研究路线是wang等人利用绝对时间信息建模用户的个性化场合(生日,纪念日)和全局性场合(父亲节,母亲节)。另外一条研究线路是wang等人发现时间间隔信息可以揭示某一些物品之间的关系,因此提出利用相对物品时间间隔来建模物品与物品之间的相关性。最后wu等人认为用户过去行为对当前行为的影响是变化的,因此提出多种时间核函数来建模这种变化。对此,对在序列推荐中使用时间信息的工作进行了相关的调查,发现了有三种时间信息,但是这些工作都只是利用了其中一种时间信息,并没有充分的考虑所有的时间信息,并且针对时间信息的使用还存在严重的问题:(1)绝对时间信息应该是由物品驱动的,而不是建模用户的信息,比如,拖鞋通常在夏天被购买,羽绒服在冬天被购买。(2)在用户刚购买一件物品后,不应该再去给用户推荐类似的物品,应该考虑推荐的多样化。(3)时间信息的利用是有限制性的,并不能很好的建模时间信息。


技术实现要素:

5.本发明目的是针对序列推荐问题,克服现有技术的不足,充分利用所有的时间信息,挖掘时间信息对序列推荐的影响,提出了一种融合多方面时域信息的序列推荐方法、设备和介质。
6.本发明是通过以下技术方案实现的,本发明提出一种融合多方面时域信息的序列推荐方法,所述方法具体包括以下步骤:
7.步骤1:获得序列数据,对数据集预处理将其分为训练集,验证集和测试集;
8.步骤2:构建融合多方面时域信息的序列推荐模型;
9.步骤3:对步骤2所述融合多方面时域信息的序列推荐模型进行训练;
10.步骤4:将当前序列数据输入到步骤3训练后的融合多方面时域信息的序列推荐模型,计算候选物品相对于学习到的用户下一时刻感兴趣的物品表示的推荐得分,根据得分
选择出用户感兴趣的物品。
11.进一步地,所述步骤1包括以下步骤:
12.步骤1.1:从序列数据集中,提取用户的交互记录以及用户id信息、物品id信息和时间id信息;
13.步骤1.2:过滤数据集中过短的用户交互记录以及过于冷门的物品;
14.步骤1.3:应用数据增强技术,对于数据中每一条序列,将其划分为多个子序列;
15.步骤1.4:按留一法规则,将数据中最后一个物品用于测试,倒数第二个物品用于验证,剩下数据用于训练。
16.进一步地,所述步骤2包括以下步骤:
17.步骤2.1:获得物品初始嵌入表示和时间嵌入表示;
18.步骤2.2:将步骤2.1得到的物品和时间嵌入表示分别输入到绝对时间模块,相对物品时间间隔模块和相对推荐时间间隔模块,获得不同方面的用户下一时刻可能感兴趣的物品表示;
19.步骤2.3:根据步骤2.2得到的不同方面的用户下一时刻可能感兴趣的物品表示,对其进行有效的融合,获得最终用户下一时刻可能感兴趣的物品表示。
20.进一步地,所述步骤3包括以下步骤:
21.步骤3.1:将训练集中的数据输入到步骤2所述的融合多方面时域信息的序列推荐模型,得到用户下一时刻可能感兴趣的物品表示;
22.步骤3.2:将步骤3.1所述的用户下一时刻可能感兴趣的物品表示输入到预测模块,得到候选物品的推荐得分;
23.步骤3.3:最小化交叉熵损失函数训练模型。
24.本发明提出一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述一种融合多方面时域信息的序列推荐方法的步骤。
25.本发明提出一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时实现所述一种融合多方面时域信息的序列推荐方法的步骤。
26.与现有技术相比,本发明充分挖掘时域信息在序列推荐的影响,提升序列推荐的性能。本发明首次定义出三类时间信息,包括绝对时间,相对物品时间间隔和相对推荐时间间隔。分析并确定了三种时域信息对推荐性能的作用。并提出三个模块,绝对时间模块,相对物品时间间隔模块和相对推荐时间间隔模块。每个模块利用一种时间信息建模用户的表征。具体来讲,本发明提出通过使用数据驱动的方式建模物品的绝对时间信息。本发明提出使用多粒度时间信息,丰富时间信息的表征,并且多粒度时间信息可以轻松适用于其他任意模型。本发明设计了一个巧妙的级联方式来考虑相对物品时间间隔和相对推荐时间间隔之间的关系。与其他模型相比,本发明设计的方法更高效且适用于各种数据集,并且任意模块的信息可以轻松移植到其他模型框架下,提升对应模型的性能。
附图说明
27.图1为融合多方面时域信息的序列推荐方法的流程图;
28.图2为融合多方面时域信息的序列推荐方法模型框架图;
29.图3为数据驱动物品绝对时间信息建模图;当前物品为vi,被所有用户交互过的时间戳集合是[t1,t2,t2,t2,t3,t3,t4]。
具体实施方式
[0030]
下面将结合本发明实施例中的附图对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0031]
如图1至图3所示,本发明提供了融合多方面时域信息的序列推荐方法,具体包括以下步骤:
[0032]
步骤1:获得序列数据,对数据集预处理将其分为训练集,验证集和测试集;
[0033]
所述步骤1具体包含以下步骤:
[0034]
步骤1.1:从序列数据集中,提取用户的交互记录以及用户id信息、物品id信息和时间id信息;
[0035]
步骤1.2:过滤数据集中过短的用户交互记录以及过于冷门的物品,例如用户交互序列小于5、物品被交互次数小于5;
[0036]
步骤1.3:应用数据增强技术,对于数据中每一条序列,将其划分为多个子序列,子序列最后一个物品为标签数据,例如某条序列数据为[v1,v2,v3,v4]则划分子序列为([v1],[v2]),([v1,v2],[v3]),([v1,v2,v3],[v4]);
[0037]
步骤1.4:按留一法规则,将数据最后一个物品用于测试,倒数第二个物品用于验证,剩下数据用于训练,进而划分成训练集,验证集和测试集。
[0038]
步骤2:构建融合多方面时域信息的序列推荐模型;
[0039]
所述步骤2具体包含以下步骤:
[0040]
步骤2.1:获得物品初始嵌入表示和时间嵌入表示;
[0041]
所述步骤2.1中,首先使用独热编码获得每个项目vi的id编码xi,再通过可训练的参数矩阵wh将该编码变换为稠密的物品初始嵌入表示,并考虑其在序列中相应的位置信息pi,同样使用可训练的参数w
p
将位置编码变换为稠密的嵌入,最终物品初始嵌入表示:
[0042]hi
=xiwh+piw
p
,
[0043]
其中hi∈rd,其中d为嵌入向量的维度;
[0044]
同样,对于每一个时间信息ti建模,这里考虑多粒度时间信息,将时间信息分别按照周、月、日粒度进行独热编码通过可训练的参数矩阵ww,wm,wd将三种独热编码组合变成稠密的时间嵌入表示:
[0045][0046]
其中ti∈rd,其中d为嵌入向量的维度;
[0047]
步骤2.2:将步骤2.1得到的物品和时间嵌入表示分别输入到绝对时间模块,相对物品时间间隔模块和相对推荐时间间隔模块,获得不同方面的用户下一时刻可能感兴趣的物品表示。
[0048]
所述步骤2.2中绝对时间模块,输入为步骤2.1得到的物品初始嵌入表示和时间嵌
入表示。第一步学习交互物品的绝对时间模式,让ti表示物品vi被所有用户交过的时间戳组成的集合。物品vi对应的绝对时间模式就是ti中时间嵌入信息聚合得到的结果:
[0049][0050]
其中是时间信息tj∈ti的归一化权重,的归一化权重,表示所有用户在tj时刻交互物品vi的交互次数,ni表示物品vi被所有用户交互的总次数。在得到交互物品对应的绝对时间模式后,将其与待推荐时间相匹配,使用注意力机制对交互物品信息聚合得到下一时刻用户可能感兴趣的物品表示
[0051][0052][0053]
其中,att是点积注意力机制,q表示待推荐时间经过步骤2.1处理得到的待推荐时间嵌入,(k,v)表示交互物品嵌入和物品对应的绝对时间模式组成的对:间嵌入,(k,v)表示交互物品嵌入和物品对应的绝对时间模式组成的对:l表示用户交互序列的长度。
[0054]
所述步骤2.2中相对物品时间间隔模块,输入为步骤2.1得到的物品初始嵌入表示和时间嵌入表示。该模块目的在于使用时间间隔信息来增强学习物品的表示,并且建立物品之间的时域关系。为此设计了一个新颖的时间间隔感知聚合机制迭代的学习物品的嵌入。第h层物品i的嵌入表示:
[0055][0056]
其中,是可训练的参数矩阵,是物品j相对于物品i的注意力分数,为了移除不相关物品的噪声,应用top-k选择机制选择出与物品i最相关的p个物品。为了充分考虑时间间隔的影响,仔细设计了一个时间间隔感知的权重余弦相似度函数去计算注意力分数,具体过程如下:
[0057][0058]
其中是可训练的参数矩阵,

代表哈达玛内积。r
ji
=t
i-tj∈rd表示时间间隔,最后可以建立物品i与其相关p个物品的时域信息:
[0059][0060]
经过h层后,使用最后一层考虑了时域信息和融合了相关物品信息的来表示最终物品i的表征,表示物品i的时间间隔信息。为了便于表示,使用表示ri表示
[0061]
所述步骤2.2中相对推荐时间间隔模块用来学习待推荐时间和历史交互时间的关系,同时也要和相对物品时间间隔建立联系。首先,衡量相对推荐时间间隔r
il+1
=t
l+1-ti∈
rd对于下一个物品的影响:
[0062][0063]ci
=r
il+1
w4[0064]
其中w4∈rd×d表示可训练的参数矩阵。紧接着,匹配相对推荐时间间隔和物品时间间隔,用于学习下一次用户可能交互的物品:
[0065][0066]gi
=r
il+1t
wrri[0067]
其中wr∈rd×d表示可训练的参数矩阵,最后通过一种级联的方式来对上述得到的两方面的权重信息进行融合来学习下一时刻用户可能感兴趣的物品表示
[0068][0069]
步骤2.3:根据步骤2.2得到的不同方面的用户下一时刻可能感兴趣的物品表示,对其进行有效的融合,获得最终用户下一时刻可能感兴趣的物品表示。
[0070]
所述步骤2.3中,使用加和操作对不同方面信息的融合,这样做的好处在于减少模型的参数提升模型训练的稳定性:
[0071][0072]
步骤3:对步骤2所述融合多方面时域信息的序列推荐模型进行训练,具体包含如下步骤:
[0073]
步骤3.1:将训练集中的数据输入到步骤2所述的融合多方面时域信息的序列推荐模型。得到用户下一时刻可能感兴趣的物品表示。
[0074]
步骤3.2:将步骤3.1所述的用户下一时刻可能感兴趣的物品表示输入到预测模块,得到候选物品的推荐得分。
[0075]
所述步骤3.2中计算推荐得分的过程为,对于每一个候选项目计算其与用户下一时刻可能感兴趣的物品表示的分数:
[0076][0077][0078]
步骤3.3:最小化交叉熵损失函数训练模型;
[0079]
所述步骤3.3中交叉熵损失函数为:
[0080][0081]
其中y为真实值的独热编码向量,λ为l2正则化系数,θ={wh,w
p
,ww,wm,wd};
[0082]
步骤4:将当前序列数据输入到步骤3训练后的融合多方面时域信息的序列推荐模
型,计算候选物品相对于学习到的用户下一时刻感兴趣的物品表示的推荐得分,根据得分选择出用户感兴趣的物品。
[0083]
所述步骤4中,将所述项目推荐得分进行排序,将得分最高的前k个项目推荐给用户。
[0084]
本发明提出一种电子设备,包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现所述一种融合多方面时域信息的序列推荐方法的步骤。
[0085]
本发明提出一种计算机可读存储介质,用于存储计算机指令,所述计算机指令被处理器执行时实现所述一种融合多方面时域信息的序列推荐方法的步骤。
[0086]
本发明基于对目前在序列推荐中使用时域信息的工作进行研究,发现在序列推荐中存在三种时域信息,并首次将其定义为:绝对时间、相对物品时间间隔和相对推荐时间间隔。本发明致力于充分考虑三种时域信息来提高序列推荐的性能,构建融合多方面时域信息的序列推荐模型,模型包含三个部分,每一部分利用一种多粒度时域信息生成下一个用户可能感兴趣的物品表示。具体来讲,绝对时间模块通过数据驱动的方式学习物品全局的绝对时域模式,紧接着该模式被用于和待推荐时间相匹配,学习用户下一时刻感兴趣的物品表示。相对物品时间间隔被提出使用多粒度时间间隔聚合层来增强学习物品的表示,并且建立物品之间的时域关系。为了充分考虑相对物品时间间隔和相对推荐时间间隔之间的关系,相对推荐时间间隔不仅考虑推荐时间间隔的影响,也会将其与相对物品时间间隔进行匹配。两方面的因素通过一种级联的方式有效地链接在一起。三个模块经过有效的融合生成最终用户下一时刻感兴趣的物品表示,从而大大提高序列推荐性能。
[0087]
以上对本发明所提出的一种融合多方面时域信息的序列推荐方法、设备和介质进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1