论文地址:https://dl.acm.org/doi/abs/10.1145/3331184.3331322
Sequence and Time Aware Neighborhood for Session-based Recommendations 序列和时间感知邻域的会话推荐
摘要
基于会话的推荐的序列感知方法的最新进展,例如基于递归神经网络的方法,强调了在推荐时利用会话的序列信息的重要性。此外,基于会话的最近邻方法(SKNN)已经被证明是基于会话的建议的强有力的基础。然而,SKNN并不考虑从会话中随时可以获得的顺序和时间信息。在这项工作中,我们提出了序列和时间感知邻域(STAN),普通的SKNN是它的特例。STAN在提出建议时考虑以下因素:一)某一项目在本次会话上的位置;二)上会话对本次会话的影响;三)可推荐项目在相邻届会话上的位置。以上因素对特定应用的重要性可以通过可控制的衰减因素进行调整。尽管它简单、直观、易于实现,但对三个真实数据集的经验评估表明,STAN明显优于SKNN,甚至可以与最近提出的最先进的深度学习方法相媲美。我们的结果表明,STAN可以被视为未来评估基于会话的推荐算法的强大基线。
1.引言
推荐系统的目的是对用户最感兴趣的相关条目进行排名或评分,并被应用于各种领域,包括电子商务、音乐流媒体应用等。然而,在许多实际的(网络)应用程序中。用户可能不可用,并且推荐是基于用户在会话中与系统的交互,没有任何关于用户的附加信息。近年来,人们提出了一些基于会话的推荐算法(SR)。[5 - 7、10、14])。SR算法的目标是通过到目前为止用户操作的顺序(例如点击商品/产品)来推荐用户可能会点击的下一个商品。SR算法使用深度神经网络架构如那些基于递归神经网络(RNNs)(例如[5,6]),图神经网络(例如[14]),注意力网络(例如[10]),先进的算法已被证明,而不是依赖类似项目,更好的推荐可以通过顺序模型模拟整个会话像RNNs [6]。此外,在确定与当前会话[7]类似的会话时,会话在时间上的接近性(近因)已经被证明是有用的。在一个协同过滤的相关场景中,在时间感知系统(TARS)下,整合时间和逐渐遗忘以适应不断变化的用户兴趣的重要性已经被充分研究(如[2])。
使用k近邻[4]的简单启发式SR方法,如会话-knn (SKNN)[7,11]也被证明是非常有效的,并提供了一个强大的基线。然而,与大多数最近的深度学习方法不同的是,SKNN不纳入会议的相等信息来提出建议。在这项工作中,我们提出了序列和时间感知方法对SR扩展和推广SKNN合并顺序和时间信息通过引入简答衰减因素在三个不同的层次:i)当前会话中被遗忘的item,2)基于当前会话的上下文在邻域中遗忘的item,和iii) grad-ual session-forgetting基于时间差距w.r.t.当前会话。对三个真实数据集的实际评估表明,stan在与先进的深度学习方法相比较的同时,显著优于SKNN。我们的结果表明,STAN被认为是一个强大的基线评估新的sr算法。
2.相关工作
最近,最近邻居方法已经被考虑为SR: item - knn(在[6]中使用)只考虑当前会话中的最后一个项目,并根据它们在其他会话中的共同出现情况推荐最相似的项目。SKNN方法及其变体[7,11]将整个当前会话与训练数据中的过去会话进行比较,以确定需要推荐的项目。[3]通过使用上下文信息来识别当前会话中不同项目的重要性(例如,最近点击的项目是最相关的)和,显示了对SKNN的改进基于扩散的相似度,查找与当前会话的最后一次点击相关的相似会话。在协同过滤(CF)的相关任务中,基于项目的协同过滤方法,如[9],寻找项目的最近邻居,但不考虑项目的位置或顺序信息。我们的方法可以视为一个泛化的最近邻方法同时考虑多个因素例如项目的当前会话,相似会话中有关常见的物品都数量,和过去的会话w.r.t.当前会话的近因找到相邻的会议和随后的itemrelevance,同时允许适应应用程序域对控制体重的因素。过去在CF环境下的时间感知推荐系统(TARS)[1]下研究了基于kNN方法中的时间感知,发现其优于基于vanillaitem的kNN方法。考虑到用户兴趣的漂移和时间的近代性在CF中很有用,例如在[2,13]中。对旧评分使用可调指数衰减来更多地强调最近的评分并使其逐渐遗忘是有用的[2,13]。虽然大多数这些方法本文在CF的上下文中,我们展示如何通过三个阶段相似合并以提高基于邻居的方法:1)逐步item-forgetting withincurrent会话,2)逐步item-forgetting邻近pastsessions基于当前会话的上下文,iii)逐步session-forgetting基于时间间隔w.r.t.当前会话。
在SR算法中合并顺序信息是非常重要的,因为用户对项目的偏好可能在会话中随时间推移而漂移和演变。最近用于SR的深度学习方法也考虑通过使用序列神经网络结构显式处理时间和序列信息,如GRU4Rec[5,6]、STAMP[10]和时间感知模型,如TA4Rec[12]。同样,NARM[8]和SR-GNN[14]模型会话以及在会话中考虑顺序信息时的项目代表。当深度神经网络架构试图在网络权值中捕获序列和时间信息时,我们的方法提出了有用的启发式方法来将这些信息合并到基于kNN的方法中。该方法的有效性可以帮助开发新的深度神经网络结构。
3初步:SESSION-KNN
snn首先通过计算会话sj与所有会话sj∈s之间的余弦相似度确定最相似的过去会话的邻域N(s),其中会话sj和s被表示为项目的m维二元向量sj, s它们-维度空间(会话中项目对应的维度值为1,其余为0)。余弦函数之间的相似性,由
会话s中一个item的分数是
如果包含IN(I)方法是如果会话里有这个item i则返回1,否则返回0
需要注意的是,得分K N N(i,s)在计算与过去的相似性时没有考虑到物体的位置,也没有考虑到物体的近似值
4.STAN
如图1所示,STAN对SKNN进行了扩展,纳入了以下与会话中项目序列和会话在时间上的接近度相关的因素:
(1)因素1:最近的项目更重要。当对s与任何session sj∈S的相似性进行比较时,最近的项目应该给予更高的重要性。分配一个权重值:
(2)因素-2:会话的近期性。在TARS[1]中,距离更远的会话被分配较低的权重
sj关于s的权重因子。
然后,通过使用相似度度量来获取最相似的会话来找到neighborhood N(s)
(3)Factor-3:可推荐条目的位置。一旦得到s的邻域, session n中的任何项有可能被推荐。考虑一下item i*在s和n都出现,它是最近的关于s。然后,与离i*更远的物品相比,它被赋予更高的权重
最后s中i的所有邻居的得分为:
5.实验
我们考虑的任务是,在三个基准数据集上,给定项目在session中的优先顺序,逐步预测即时的ext项目:i) Yoochoose (YC): RecSys的15 Challengedataset1, ii) Diginetica (DN): CIKM Cup 2016 dataset2, iii) Re-tailRocket(RR)3。为了简洁,我们省略了数据集的详细统计信息——我们使用与YC和DN4[14]和RR[11]中使用的相同的评估协议和列车测试分割。考虑到YC课程的数量很大,我们将训练集的最近的1/4和1/64组成两个数据集:YC-1/4和YC-1/64,就像[14]中做的那样。对于各自的数据集,我们使用与[14]和[11]中相同的评价指标[email protected] ([email protected])和平均互倒数[email protected] ([email protected])。此外,我们使用火车集的10%作为保持验证集来调优参数。我们使用n =500个会话的邻域和长度=20个会话的推荐列表。考虑现有的基准和基线。我们用标准的社区方法com-pare斯坦Item-KNN[6, 9]和SKNN(7、11),四个深度学习方法(GRU4Rec NARM,邮票和SR-GNN),一个矩阵分解方法(BPR-MF),通过梯度de-scent成对排名优化目标函数,和一个顺序基于马尔可夫链预测方法(FPMC),作为以[14]YC和DN和RR [11]。ofλis进一步评估的影响,我们认为ofSTAN的特殊情形下,我们只考虑的三个因素之一一次取得SKNN的三个变体:i) SKNN + w1withλ2λ3→∞,ii) SKNN + w2withλ1λ3→∞,和iii) SKNN + w3withλ1λ2→∞。注意,SKNN在趋近于1、趋近于2、趋近于3→∞时,结果均为STAN。选择衰变因子。表示训练课程的平均时长。参数从集合{L8,L4,L2,L,2L}中选择出所有数据集的时间戳都是以秒为单位的,因此,我们从集合{2.5,5,10,20,40,80,100}中选择
5.1结果和观察结果
我们得出以下主要观察结果:(1)从表1中,我们观察到Stan在所有非深度学习方法上都表现出了一致且显著的改进所有数据集。进一步,在SKNN的三个变体中,SKNN+W1在所有数据集中都是最好的,并且在除RR之外的所有数据集上都显示出显著的改善。STAN同时考虑了所有三个因素,因此其表现优于SKNN的所有方差。如表2所示,为相应参数获得的最佳值随数据集的不同而变化,突出显示了所研究数据集的多样性,并且STAN通过调整λ来适应不同应用领域的能力
(2)图2(a)-2(c)显示了STAN中三个因素的影响(在数据集中观察到相同的效果):i)如观察1所示,图2(a)进一步重申λ1在给出相关建议方面发挥了重要作用,因为R和mrrv随λ1的变化而显著。只重视最近的项目,而忽略当前会话中的其他项目(λ1≪1,如KNN项)或同等重视当前会话中的所有项目(λ1→∞,在SKNN中)可能是-最佳项目在本届会议上,除最近一次会议外,其他会议也同样重要,但没有最近一次会议那么重要项目2)类似地,图2(b)建议仅使用最近的过去会话(λ2≪1)或对所有过去的会话赋予相同的权重(λ2→∞)会降低推荐性能。通过λ2works控制的过去会话的权重逐渐减少最佳。iii)图2(c)表明,根据相邻会话中与当前会话相同的项的w.r.t.位置,对相邻会话中的项的适当权重会影响建议表演。逐渐地对远离由λ3控制的当前会话中最常见的项目,与只考虑前一个项目和下一个项目(λ3≪1)或在八个无聊的会话中给所有项目同等权重(λ3→∞)相比,效果最好。
(3)尽管简单直观,最先进的[Gnmr-10]是最先进的[Gnmr-10]和最先进的表演。我们的结果表明,stan可以被视为未来inSR算法研究的一个强有力的基线。
(4)图2(d)显示了计算效率和推荐质量之间的权衡,通过改变过去考虑的天数(pastsessions)。使用适当的项目会话反相器来提高所有数据集的效率,我们发现在所有数据集中,YC(等于274ms)5的平均时间是所有数据集中最高的(在2.70GHZ处理器上,32GBRAM),这可能被认为是可行的。我们将效率留给将来的研究,这可以通过使用,例如局部敏感散列来实现
(5) 我们观察到STAN在短时间和长时间内的表现都优于vanilla Sknn,如表3所示。更重要的是,对于较长的会话,性能差距会增大,这表明了各种权重因素的优势,可以更好地集中注意力,例如用户最近的意图。在[10,14].
6结论和未来工作
我们提出了基于会话的推荐(SR)的序列和时间感知邻域ap-proach(STAN)。尽管在确定会话级相似性和项目相关性时使用三个不同位置的衰减因子合并序列和时间信息的简单技术,STAN比现有的基于邻域的方法有显著改进,甚至可以与最先进的深度学习方法相媲美。我们的结果表明,STAN可以被视为SR算法未来研究的一个重要基线:从我们的直观方法中获得的见解甚至可以用来为SR提出新的深度学习架构。