序列推荐(4):Sequence and Time Aware
- SIGIR2019 short Paper
摘要
基于会话的k近邻方法(SKNN)已被证明是基于会话推荐的有力基线。然而,SKNN没有考虑会话中随时可用的顺序和时间信息。在这项工作中,我们提出了序列和时间感知邻域(Sequence and Time Aware Neighborhood, STAN)。STAN在推荐时考虑以下因素
i)物品在本session中的位置,
ii)上一次session与本次session的衔接
iii)可推荐物品在相邻会话中的位置。
Main Story
基于会话的推荐算法(session-based rec, SR)的目标是通过使用到目前为止的用户操作序列,推荐用户可能下一步单击的物品。使用深层神经网络架构的SR算法,如基于递归神经网络(RNN)、GNN、注意网络等的SR算法。
研究表明,与其仅依赖于类似物品,通过RNN等序列模型对整个会话进行建模,可以提出更好的推荐。此外,在确定与当前会话相似的会话时,会话的时间接近度(最近度)已被证明是有用的。在协同过滤的一个相关场景中,时间感知推荐Time-aware RecSys 已经很好地研究了结合时间和逐渐遗忘以适应不断变化的用户兴趣的重要性。
这项工作中,我们提出了SR的序列和时间感知邻域(STAN)方法,该方法通过在三个不同的层次上引入简单的衰减因子,将SKNN扩展并推广到整合序列和时间信息:
i)当前会话中的物品渐忘: gradual item-forgetting within current session
ii)基于当前会话的上下文,在相邻的过去会话中逐渐遗忘物品:
iii)基于时间差的当前会话物品信息渐忘。gradual session-forgetting based on time gap w.r.t. current session.
对三个真实数据集的理论评估表明,STAN比SKNN显著提高,同时与最先进的深度学习方法相当。我们的结果表明,STAN可以被视为未来评估新SR算法的有力基线。
Method
1. Session-KNN
- 物品集合:
- 单个会话表示:
- 会话邻居集合: 则表示在所有session集合中通过余弦相似度计算得到的当前session的最相似的session。
- 每个session用一个m维的二元向量表示,对应物品是否存在
通过协同过滤的方法快速完成计算,其中即表示物品i是否在会话n中出现过。
2. STAN
模型从三个角度来考虑session的特点:
-
Recent items in s are more important. 会话中近期的物品更重要;那么可以设置物品在会话中的权重
那么位置越靠后的,权重越大,以此更新session的向量表示: - 比当前会话时间早的会话应该比当前的会话的权重低 通过以上形式计算两个session之间的权重,并结合最基础的余弦相似度进行调整
-
还需要考虑候选物品在的相关session中出现的位置
对于即当前会话的近邻session,假定物品i*即为s和n两个会话中的出现位置最近的共现物品,对于候选物品越接近该共现物品,那么其与该共现模式越相近,应该给更大的权重。
Exps
总结
- 本文为早期比较经典的基于协同过滤思想进行session-based rec的方法
- 通过引入序列时间信息等对评分公式进行了优化,可以看出其为比较高效的方法,在某些数据上能取得与NN-based方法相近的效果。
END
本人简书所有文章均为原创,欢迎转载,请注明文章出处 。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问本人简书主页查看最新信息https://www.jianshu.com/u/40d14973d97c