Advertisement

Time Interval Aware Self-Attention for Sequential Recommendation

阅读量:

Time Interval Aware Self-Attention for Sequential Recommendation

WSDM ’20

ABSTRACT

顺序推荐系统寻求利用用户交互的顺序,以便根据用户最近所做的事情来预测他们的下一步行动。传统上,马尔可夫链(MCs)和最近的循环神经网络(RNNs)和自我注意(SA)由于它们捕捉序列模式的动态的能力而得到广泛发展。然而,大多数这些模型所做的一个简化假设是将互动历史视为有序的序列,而不考虑每个互动之间的时间间隔(即,它们模拟了时间顺序,但没有实际的时间戳)。在本文中,我们试图在一个顺序建模框架内明确地对交互的时间戳进行建模,以探索不同时间间隔对下一个项目预测的影响。我们提出了TiSASRec(时间间隔感知自我注意的序列推荐),它既建模了项目的绝对位置,也建模了它们之间的时间间隔。广泛的实证研究显示了TiSASRec在不同设置下的特点,并比较了自我注意与不同位置编码的表现。此外,实验结果表明,该方法在稀疏和稠密数据集以及不同评价指标上均优于各种先进的序列模型。

1 INTRODUCTION

在电子商务、朋友建议、新闻推荐等应用程序中,对顺序交互进行建模是必不可少的。有两条重要的工作线试图挖掘用户的交互历史:时间推荐和顺序推荐。时间推荐[17,29,31,35]侧重于对绝对时间戳进行建模,以捕获用户和商品的时间动态。例如,在不同的时间段,一个项目的受欢迎程度可能会改变,或者用户的平均评分可能会随着时间的推移而增加或减少。这些模型在研究数据集的时间变化时很有用。他们考虑的不是顺序模式,而是依赖于时间的时间模式。
以前的大多数顺序推荐者都是根据交互时间戳对项目进行排序,并将重点放在顺序模式挖掘上,以预测可能与之交互的下一个项目。一个典型的解决方案是基于马尔科夫链的方法[7, 8, 21],其中一个L阶马尔科夫链根据之前的L个行动提出建议。基于马尔科夫链的方法已经成功地被采用来捕捉短期的项目转换以进行推荐[14]。 它们通过强有力的简化假设在高稀疏度环境中表现良好,但在更复杂的情况下可能无法捕捉到错综复杂的动态变化。循环神经网络(RNNs)[11, 12]也被应用于这种环境。虽然RNN模型在用户的偏好上有很长的 “记忆”,但它们需要大量的数据(尤其是密集的数据),然后才能超越更简单的基线。为了解决马尔科夫链模型和基于rnn的模型的缺点,[14]受到机器翻译的Transformer[26]的启发,提出将自注意机制应用于顺序推荐问题。基于自注意的模型明显优于最新的基于MC/CNN/ rnn的顺序推荐方法。
通常,以前的顺序推荐方法丢弃时间戳,只保留项目的顺序,也就是说,这些方法(隐式地)假定序列中所有相邻的项目具有相同的时间间隔。影响下一个项目的因素仅仅是前一个项目的位置和身份。但是,直观地看,时间戳越近的项目对下一个项目的影响越大。 例如,两个用户有相同的交互序列,但其中一个用户在一天内产生了这些交互,而另一个用户在一个月内完成了这些交互,因此,这两个用户的交互应该对下一个项目产生不同的影响,即使他们的序列位置相同。然而,以前的顺序推荐技术将这两种情况视为相同,因为它们只考虑顺序位置。
在这里插入图片描述

在本文中,我们认为用户交互序列应该被建模为一个具有不同时间间隔的序列。图2表明交互序列有不同的时间间隔,其中一些时间间隔可能很大。以往的工作省略了这些时间间隔及其对预测项目的影响。为了解决上述局限性,在相对位置表征的自我关注的启发下[22],我们提出了一个时间感知的自我关注机制。这个模型不仅考虑了像SASRec[14]这样的项目的绝对位置,而且考虑了任意两项之间的相对时间间隔。从我们的实验中,我们观察到我们的模型在稠密和稀疏数据集上都优于最先进的算法。最后,我们的贡献总结如下:
我们建议将用户的交互历史视为一个具有不同时间间隔的序列,并将不同的时间间隔建模为任意两个交互之间的关系。
我们结合了绝对位置和相对时间间隔编码的在自我注意方面的优点,设计了一种新的时间间隔感知自注意机制来学习不同项目的权重、绝对位置和时间间隔来预测未来项目。
我们进行了全面的实验,研究绝对位置和相对时间间隔以及不同组件对TiSASRec性能的影响,并表明它在两个排名指标方面优于最先进的基线。

2.1 Sequential Recommendation

顺序推荐系统在用户交互序列中挖掘模式。一些捕获项目-项目转换矩阵来预测下一个项目。例如,FPMC[21]通过矩阵分解和转换矩阵对用户的长期偏好和动态转换进行建模。转换矩阵是一阶马尔可夫链(MC),它只考虑当前项与前一项之间的关系。Fossil[8]使用基于相似性的方法和高阶马尔可夫链,该方法假设下一个项目与之前的几个项目相关,[7]证明基于高阶MC的模型在稀疏数据集上有很强的性能。基于CNN(卷积神经网络)的方法[24, 25]也被提出来,将之前的几个项目视为一个 “图像”,并通过CNN在union-level上挖掘项目之间的转换。MARank[34]通过结合残差网络和多阶注意,统一了individual-level和union-level的前一项转换。SHAN[33]通过两层关注机制对用户的前几项和长期历史进行建模,获得用户的短期和长期偏好。
基于rnn(循环神经网络)的模型,如[3,12,13,18]使用rnn来建模整个用户序列。这些方法在密集数据集上表现良好,但在稀疏数据集上表现较差。

2.2 Attention Mechanisms

注意机制已被证明在各种任务中是有效的,如图像说明[32]和机器翻译[2]。本质上,注意力机制背后的想法是,输出依赖于输入中相关的特定部分。这种机制可以计算输入的权重,使模型更易于解释。最近,注意机制已经被纳入推荐系统[5,28,30]。一种纯粹基于注意力的序列到序列的方法,Transformer[26],在机器翻译任务上取得了最先进的性能。Transformer使用了缩放的点积注意力,定义为:
在这里插入图片描述
其中Q、K、V分别表示查询、键和值。在self-attention中,三种输入通常使用同一个对象。
Transformer的自关注模块也被应用到推荐系统[14]中,在顺序推荐方面取得了较好的效果。由于自注意模型不包括任何循环或卷积模块,它不知道前面项目的位置。一种解决方案是在输入中添加位置编码,可以是确定性函数或可学习的位置嵌入[23,26]。另一种解决方案使用相对位置表示[4,22]。它们将两个输入元素之间的相对位置建模为成对关系。受相对位置self-attention的启发,我们将绝对位置和相对位置相结合,设计出具有时间意识的自注意模型,该模型模拟了项目的位置和时间间隔。

3 PROPOSED METHOD

在这一节中,我们首先提出我们的下一个物品推荐问题,然后描述我们获得时间间隔的方法和TiSASRec的组成部分,其中包括个性化的时间间隔处理、嵌入层、时间感知的自我注意块和预测层。我们嵌入项目、它们的绝对位置和相对时间间隔。注意力权重是通过这些嵌入来计算的。如图1所示,我们的模型在不同的时间间隔下会有不同的预测项目,即使之前的几个项目是相同的。为了学习参数,我们采用二元交叉熵损失作为我们的目标函数。TiSASRec的目标是捕获序列模式,并探索时间间隔对序列推荐的影响,这是一个未探索的领域。
在这里插入图片描述

3.1 Problem Formulation

UI分别表示用户集和项目集。在时间感知的序列推荐设置中,对于每个用户u∈U,我们给出用户的行为序列,记为S^{u}= (S_{1}^{u},S_{2}^{u}, . . .,S_{|S^{u}|}^{u}),其中S_{t}^{u}∈I,时间序列T^{u}= (T_{1}^{u},T_{2}^{u},…T_{|T^{u}|}^{u})对应行为序列。在训练过程中,在时间步长t时,模型根据前t个项目以及项目ij之间的时间间隔r_{ij}^{u}预测下一个项目。 我们的模型的输入是(S_{1}^{u},S_{2}^{u}, . . .,S_{|S^{u}|-1}^{u})和序列中任何两个项目之间的时间间隔R^{u},其中R^{u}∈N^{(|S^{u}|-1)×(|S^{u}|-1)}。每次我们想要的输出都是下一个项目:(S_{2}^{u},S_{3}^{u}, . . .,S_{|S^{u}|}^{u})

3.2 Personalized Time Intervals

我们转换训练序列(S_{1}^{u},S_{2}^{u}, . . .,S_{|S^{u}|-1}^{u})化为定长序列s = (s_{1},s_{2}, . . .,s_{n}),其中n表示我们考虑的最大长度。如果序列长度大于n,我们只考虑最近的n个行为。如果序列长度小于n,则向左添加填充项,直到长度为n。对于时间序列T^{u}= (T_{1}^{u},T_{2}^{u},…T_{|T^{u}|-1}^{u}),我们也考虑定长时间序列t = (t_{1},t_{2}, . . .,t_{n})。如果时间序列长度小于n,我们用第一个时间戳T_{s_{1}}^{u}填充它,其中s_{1}不是一个填充项。否则,我们只考虑前n个时间戳。
我们将交互序列中的时间间隔建模为两个项目之间的关系。有些用户有更频繁的交互,而另一些则没有,我们只关心一个用户序列中时间间隔的相对长度。因此,对于所有的时间间隔,我们除以用户序列中最短的时间间隔(除0之外),就可以得到个性化的时间间隔。具体来说,给定用户u的固定长度的时间序列t = (t_{1},t_{2}, . . .,t_{n}),两个项目ij的时间间隔为|t_{i}-t_{j}|,用户u的时间间隔集(0除外)为R^{u}。我们将用户的最小时间间隔表示为r_{min}^{u}= min(R^{u})。缩放的时间间隔r_{ij}^{u}=\left \lfloor \frac{t_{i}-t_{j}}{r_{min}^{u}} \right \rfloor,其中r_{ij}^{u}∈N。因此,用户u的关系矩阵R^{u}∈N^{n×n}为:
在这里插入图片描述
我们考虑的两个项目之间的最大相对时间间隔被剪切为k。我们假设精确的相对时间间隔在超过某个阈值时是没有用的。对最大间隔的剪裁也避免了稀疏的关系编码,并使模型能够泛化到训练期间未见的时间间隔。因此,剪辑后的矩阵是M_{clipped}^{u}= clip(M^{u}),其中矩阵的剪辑操作适用于每个元素r_{ij}^{u}= min(k,r_{ij}^{u})

3.3 Embedding Layer

我们为项目创建一个嵌入矩阵M^{I}=R^{|I|×d},其中d为潜在维数。一个恒定的零向量0被用来作为填充项的嵌入。嵌入查找操作检索前n项的嵌入,并将它们叠加在一起,得到矩阵E^{I}∈R^{n×d}:
在这里插入图片描述
继[22]之后,我们使用两个不同的可学习位置嵌入矩阵M_{K}^{P}∈R^{n×d},M_{V}^{P}∈R^{n×d}分别用于自我注意机制中的键和值。这种方法更适合用于自注意机制,而不需要额外的线性转换[22]。检索后,我们得到嵌入E_{K}^{P}∈R^{n×d}E_{K}^{P}∈R^{n×d}:
在这里插入图片描述
与位置嵌入相似,相对时间间隔嵌入矩阵为M_{K}^{R}∈R^{k×d},M_{V}^{R}∈R^{k×d},用于自我注意中的键和值。检索裁剪关系矩阵M_{clipped}^{u}后,得到嵌入矩阵E_{K}^{R}∈R^{n×n×d},E_{V}^{R}∈R^{n×n×d}:
在这里插入图片描述
两个相对时间间隔嵌入是对称矩阵,主对角线上的元素都是零。

3.4 Time Interval-Aware Self-Attention

受相对位置自我注意机制的启发[4,22],我们提出了一个自我注意的扩展,以考虑序列中两个项目之间的不同时间间隔。但是,仅仅考虑时间间隔是不够的,因为用户交互序列可能有许多具有相同时间戳的实例。在这种情况下,模型将成为没有任何位置或关系信息的自我关注。因此,我们还考虑了序列中项目的位置。
Time Interval-Aware Self-attention Layer: 对于每个由n个项目组成的输入序列E^{I}=(m_{s_{1}},m_{s_{2}}, . . .,m_{s_{n}}),其中m_{s_{i}}∈R^d,计算一个新的序列Z= (z_{1},z_{2}, . . .,z_{n}),其中z_{i}∈R^d。每个输出元素z_{i}计算为线性变换的输入元素和关系/位置嵌入的加权和:
在这里插入图片描述
其中W^{V}∈R^{d×d}为值的输入投影。
每个权重系数α_{ij}使用softmax函数计算:
在这里插入图片描述
e_{ij}是用一个考虑到输入、关系和位置的兼容函数来计算的。
在这里插入图片描述
其中W^{Q}∈R^{d×d},W^{K}∈R^{d×d}分别为查询和键的输入投影。尺度因子\sqrt{d}用于避免内积值过大,尤其是维度较大时。
**Causality:**由于序列的性质,模型应该在预测(t+1)^{st}个项目时只考虑前t个项目。然而,时间感知的自注意层的第t个输出包含了所有的输入信息。因此,与[14]一样,我们通过禁止Q_{i}K_{j}(j>i)之间的所有链接来修改注意力,其中Q_{i}=m_{si}W^{Q},K_{j}=m_{sj}W^{K}+r_{ij}^{k}+p_{j}^{k}.
Point-Wise Feed-Forward Network: 虽然我们的时间间隔感知注意层能够包含所有之前的项目、绝对位置和具有自适应权值的相对时间信息,但它是通过线性组合来实现的。在每个时间感知的注意层之后,我们应用两个线性变换,其间带有ReLU激活,使模型具有非线性:
在这里插入图片描述
其中W^{1},W^{1}∈R^{d×d}和b^{1},b^{1}∈R^{d}。虽然线性转换在不同的项目之间是相同的,但它们在不同的层之间使用不同的参数。
如[14]中所述,将自注意层和前馈层叠加后,会出现更多的问题,包括过拟合、不稳定的训练过程(如消失梯度)以及需要更多的训练时间。和[26]、[14]一样,我们也采用层归一化、残差连接、dropout正则化技术来解决这些问题:
在这里插入图片描述
层归一化是用来归一化各特征的输入(即零均值和单位方差)。根据[1],可以稳定和加速神经网络的训练。假设x是一个包含样本所有特征的向量,层归一化定义为:
在这里插入图片描述
其中⊙是元素级乘积,µ和σ是x的均值和方差,α和β是学习的比例因子和偏差项。

3.5 Prediction layer

在叠加了自我注意块后,我们得到了项目、位置和时间间隔的组合表示。为了预测下一个项目,我们采用潜因子模型计算用户对项目i的偏好得分如下:
在这里插入图片描述
其中M_{i}^{I}∈R^{d}是项目i的嵌入,Z_{t},是给定前t个项目(即s_{1},s_{2}, . . .,s_{t})和它们在(t+1)个项目之间的时间间隔(即r_{1(t+1)}^{u},r_{2(t+1)}^{u},...,r_{t(t+1)}^{u})的表示。

3.6 Model Inference

回顾一下,我们将物品序列(S_{1}^{u},S_{2}^{u}, . . .,S_{|S^{u}|-1}^{u})和时间序列T^{u}= (T_{1}^{u},T_{2}^{u},…T_{|T^{u}|-1}^{u})分别转换为固定长度序列s = (s_{1},s_{2}, . . .,s_{n})t = (t_{1},t_{2}, . . .,t_{n})。我们定义o = (o_{1},o_{2}, . . .,o_{n})为给定时间和项目序列的预期输出。o的元素o_{i}是:
在这里插入图片描述
其中< pad >表示填充项。由于用户交互是隐式数据,我们不能直接优化偏好得分R_{i,t}。我们的模型的目标是提供一个经过排序的项目列表。因此,我们采用负抽样来优化物品的排序。对于每个期望的正项输出o_{i},我们抽取一个负的项o_{i}^{′}\notin S^{u} ,生成一组成对的偏好顺序D = {(S^{u},T^{u},o,o ')}。我们用sigmoid函数σ(x) = 1/(1 + e^{-x})将模型输出分数转换为(0,1)的范围,并采用二元交叉熵作为损失函数:
在这里插入图片描述
式中Θ = {M^{I},M_{K}^{P},M_{V}^{P},M_{K}^{R},M_{V}^{R}}为嵌入矩阵集,||·||_{F}为Frobenius范数,λ为正则化参数。请注意,我们掩盖了填充项的丢失。
采用Adam优化器[15]对模型进行了优化。由于每个训练样本D = {(S^{u},T^{u},o,o ')}可以独立构造,我们采用小批量SGD来提高训练效率。

4 EXPERIMENTS

在本节中,我们将介绍我们的实验设置并给出我们的实验结果。我们的实验旨在回答以下研究问题:
RQ1 :对于顺序推荐任务,我们提出的方法能否优于最先进的基线?
RQ2 :哪个绝对位置或相对时间间隔对顺序推荐更重要?
**RQ3:**参数如何影响模型性能,如维数,序列的最大长度和我们考虑的最大时间间隔?
**RQ4:**个性化的时间间隔在这个模型中有用吗?

4.1 Datasets

我们在来自三个真实世界平台的六个数据集上评估了我们的方法。这些数据集有不同的域、大小和稀疏度,并且都是公开可用的:
• MovieLens: 一个用于评估协同过滤算法的广泛使用的基准数据集。我们使用包含100万用户评级的版本(MovieLens-1M)。
**• Amazon:**在[9,19]中介绍的一系列数据集,包括从Amazon.com抓取的大量产品评论语料。我们考虑四个类别,‘CD和黑胶’,‘电影和电视’,‘美容’和’视频游戏’。这个数据集是高度稀疏的。
• Steam: 该数据来源于Steam,一个大型在线视频游戏分销平台。它是在[14]中引入的,包括用户的游戏时间、媒体分数和开发者等信息。
在这里插入图片描述
在这里插入图片描述

所有这些数据集都包含时间戳或交互的具体日期。我们按照[7,14,21]的程序进行预处理。对于所有的数据集,我们将评论或评级的存在视为隐性反馈(即用户与项目进行了互动),并按时间戳对项目进行排序。对于所有用户,我们在他们自己的序列中减去最小的时间戳,让时间戳从0开始。我们过滤掉冷启动用户和动作少于5个的项目。在[14]之后,我们使用最近的项进行测试,第二个最近的项用于验证,其余的项用于训练。数据集的统计数据显示在表2中。MovieLens-1m是最密集的数据集,它的平均行动时间最长,用户和项目最少。亚马逊美容和游戏的每个用户行动最少。

4.2 Evaluation Metrics

我们采用两个常用的Top-N指标Hit Rate@10和NDCG@10来评估推荐性能[10]。Hit@10统计了ground-truth条目在前10个条目中的比例。NDCG@10考虑位置,并将更高的权重分配给更高的位置。在[16]之后,对于每个用户u,我们随机抽取100个负面项目,并将这些项目与ground-truth项目进行排序。我们根据这101个项目的排名计算Hit@10和NDCG@10。
在这里插入图片描述

4.3 Compared Methods

我们将TiSASRec与以下方法进行比较。这些方法包括不考虑顺序模式的经典通用推荐(如POP、BPR)、基于一阶马尔可夫链的方法(如FPMC、TransRec)和基于神经网络(NN)的方法(如GRU4Rec+、Caser、MARank)。

• POP. 所有项目都是根据它们在所有用户的训练集中的受欢迎程度来排名的,受欢迎程度是通过计算动作的次数来计算的。
• BPR[20]. 贝叶斯个性化排名是一般性项目推荐的经典方法。推荐使用矩阵分解。
• FPMC[21]. 该方法结合了矩阵分解和一阶马尔可夫链,分别捕获长期偏好和动态过渡。
• TransRec[7]. 这种方法将每个用户建模为一个从项目到项目的转换向量。它是捕获转换的一阶方法。
• GRU4Rec+[11]. 为基于会话的推荐建模用户操作序列。与GRU4Rec相比,GRU4Rec+采用了不同的损耗函数和采样策略,在GRU4Rec上有了明显的改进。
**• Caser [24].**在时间和潜在空间中嵌入一系列最近的项目到一个“图像”中。这种方法可以捕获高阶马尔科夫链,考虑到最近的L个项目。
• MARank [34]. 最近提出的最先进的模型。这种方法考虑了最近的项目,并应用多顺序关注来捕捉个人和联盟层面的项目依赖性。
SASRec[14]可以被视为一种只考虑绝对位置的方法,将在第4.6节与我们的模型进行讨论和比较。其他顺序推荐方法(例如PRME [6], HRM [27], Fossil [8], GRU4Rec[12])已经被上述基线优于,所以我们忽略了与它们的比较。
为了公平比较,我们使用带有Adam优化器的Tensorflow实现了BPR、FPMC、TransRec。对于GRU4Rec+、Caser、MARank,我们使用作者提供的代码。我们在{10,20,30,40,50}中搜索潜在维度,在{0.0001,0.001,0.01,0.1,1}中搜索正则化超参数,在{0.1,10^{-2}, ...,10^{-4}}中搜索学习率。对于所有其他参数,我们根据相关论文使用默认设置。我们使用验证集调整超参数,如果验证性能在20个epoch内没有改善,则终止训练。

4.4 Implementation Details

我们在验证集上使用tensorflow和微调超参数实现TiSASRec。我们使用了两个时间间隔感知的自我注意层,并在嵌入层和预测层中学习了位置嵌入和间隔嵌入以及共享项目嵌入。所有数据集的学习速率为0.001,批处理规模为128,退出率为0.2。其余参数设置如表3所示。所有实验都是在GTX-1080 Ti GPU上进行的。

4.5 Recommendation Performance

表4显示了所有方法在6个数据集(RQ1)上的推荐性能。在基准方法中,与其他基准相比,MARank[34]具有最先进的性能。MARank可以捕获个人级、联合级的用户交互,并很好地处理稀疏数据集。对于密集数据集,基于神经网络的方法(如GRU4Rec+, Caser)的性能明显优于基于马尔科夫链的方法,因为这些方法有更强的能力捕获长期序列模式,这对密集数据集很重要。由于基于马尔可夫链的方法(FPMC, TransRec)侧重于项目的动态过渡,因此它们在稀疏数据集上表现更好。
在所有密集和稀疏数据集上,TiSASRec在两个指标方面都比最好的基线方法有改进。一方面,我们的模型利用了注意力机制,可以根据不同的项目、绝对位置和时间间隔来调整权重,而以前的模型只考虑前两者。另一方面,TiSASRec利用了注意力机制,正如在[14]中所讨论的,它可以在不同的数据集上适应性地关注不同范围内的项目。我们将在第4.6节讨论相对时间间隔的影响。

4.6 Relative Time Intervals

鉴于我们的动机是比较只有绝对位置或相对时间间隔的模型的表现,我们修改了等式15和16,让TiSASRec只考虑相对时间间隔而不考虑绝对位置。我们将等式15修改为:
在这里插入图片描述
将式16修改为:
在这里插入图片描述
我们将两个方程中的绝对位置项去掉,得到一个新的模型。我们把这个模型表示为TiSASRec-R。我们认为SASRec[14]是一种只考虑绝对位置的自我注意方法(RQ2)。我们通过将SASRec、TiSASRec-R和TiSASRec应用于上面讨论的六个数据集进行比较。为了进行公平比较,我们对SASRec使用相同的最大序列长度,如表3所示。结果如表5所示。
在这里插入图片描述
TiSASRec-R在Movie-Lens、CD&Vinyl和Beauty数据集上比SASRec有更好的表现,但在其他三个数据集上则没有。总的来说,只使用相对的时间间隔将具有类似的性能。限制TiSASRec-R性能的主要原因是在一个用户序列中有许多相同的时间戳(有些只有一个时间戳)。在这种情况下,TiSASRec-R将退化为没有任何位置信息的自我注意力。为了缓解这个问题,我们将相对时间间隔和绝对位置结合起来。这样,TiSASRec结合了更丰富的项目关系来计算注意力权重。

4.7 Influence of Hyper-parameters

在这里插入图片描述
Influence of Latent Dimensionality d. 图4显示了在保持其他最佳超参数不变的情况下,维度d从10到50的NDCG。在大多数情况下,较大的d会导致更好的模型性能。d的值对TransRec的影响有限。对于 "Amazon Beauty ",Caser、MARank、TransRec数据集在数据量较大时性能较差。
在这里插入图片描述
Influence of maximum sequence length n. 图5显示了在保持其他最优超参数不变的情况下,最大长度从10到50的NDCG。当考虑较长的序列时,性能得到改善,并最终开始收敛。SASRec比TiSASRec更早收敛。
在这里插入图片描述
Influence of maximum time intervals k considered. 图6显示了TiSASRec和TiSASRec-R的NDCG。我们为 "MovieLens "数据集选择了时间间隔{1,64,256,1024,2048},为 "Amazon CDs & Vinyl "选择了{1,16,64,256,512}。我们可以看到,在不同的最大间隔下,TiSASRec的性能更加稳定。TiSASRec-R在k选择得当的情况下达到了最佳性能,而在k越大的情况下性能越差。k越大,需要训练的参数越多。

4.8 Personalized time intervals

在本节中,我们将探索时间戳的不同处理方法。我们将讨论三种方法:
(1)直接使用时间戳作为特征。我们将减去数据集中的最小时间戳,让所有时间戳从0开始。
(2)采用无标度时间间隔。对于每个用户,我们减去序列中的最小时间戳,让用户的时间戳从0开始。
(3)个性化时间间隔。对于用户的每个时间间隔,这些间隔被第3.4节所述的最小间隔划分。
表6列出了不同时间戳处理方法的结果。请注意,在前两种方法中,我们不剪辑时间戳。我们用粗体突出显示最高的NDCG。方法(3)(即个性化时间间隔)在前三个数据集中表现最好。
4.9 Visualization
在这里插入图片描述
我们使用TiSASRec来预测用户可能会与之交互的下一个物品。然后我们将所有的时间间隔设为相同,以得到另一个预测。如图7所示,时间间隔对预测结果的影响。在这里插入图片描述

图8显示了前256个时间间隔的平均注意力权重的四张热图。请注意,当我们计算平均权重时,分母是有效权重的数量,这样可以避免短序列中填充项的影响。从这4张热图中,我们可以得出以下结论:
(1)小的时间间隔通常比大的时间间隔具有更大的权重,这意味着越近的项对下一项预测的影响越大。
(2) 密集的数据集(如MovieLens)比稀疏的数据集(如CDs&Vinyl)需要更大的项目范围,因为MovieLens的热图左边有一个较大的绿色区域,右边有一个黄色区域。
(3) Amazon Beauty数据集的热图没有明显的绿色或黄色区域,可能是因为这个数据集没有明显的顺序模式。这解释了为什么一些顺序方法在此数据集上执行得很差。

5 CONCLUSION

在本研究中,我们提出了一种时间间隔感知的序列推荐自注意模型(TiSASRec)。TiSASRec对项目之间的相对时间间隔和绝对位置进行建模,以预测未来的相互作用。在稀疏和稠密数据集上的大量实验表明,我们的模型优于最新的基线。我们还将探讨这个模型的各种特征。我们证明了相对时间间隔对下一个项目预测任务的影响。

全部评论 (0)

还没有任何评论哟~