作者 | 尹瑞平
来源 | 知乎
链接 | https://zhuanlan.zhihu.com/p/124324598 编辑 | 机器学习与推荐算法
最近突然发现之前在很多场景下把Session-based Recommendation和Sequencial Recommendation这两个名词不加区分的混用,可能会造成一些误解。所以翻阅了一些文献当中的说法来给这几个领域做一个区分,权当抛砖引玉,错误之处欢迎指正。
先举几个Context-aware Recommendation 的例子(均来自于 Adomavicius2015):
当为用户推荐歌曲的时候,一些交互式的系统会让用户选择目前的心情,例如:积极、平静、黑暗等。用户选择的情绪就会被作为Contextual information来为用户推荐出符合目前心情的歌曲。
Netflix会利用用户当前所处的城市或区域来提供Context-specific的电影推荐。同样的,一些基于移动设备的推荐系统更能有效地根据GPS信息来提供合适的推荐。
根据作者在这一章中的描述,Contextual information 可以被定义为:
所以这可以被看作是一个从 feature 的角度,在传统的推荐系统中增加出来了一个 context 维度,最重要的还是其中包含的具体的信息。
根据网上的某些说法,Sequencial recommendation 还可以被叫做 Next-item/Basket recommendation。这个领域的开山文章应该是Rendle的 FPMC(Rendle2010),文章开头就给出了一个相对准确的定义:
In this paper, we deal with the problem setting where sequential basket data is given per user。
由此可以看出来,Sequence指的是每个用户算作一个序列,本质上还是一个 Top-N 的推荐,只不过建模方式用到了序列模型。另外在后面的 Caser 里面也引用了这个概念(Tang2018)。
个人粗浅的理解,Session-based recommendation 起始于Hidasi 2015,也就是大名鼎鼎的GRU4Rec,这个模型之后出现了大量的GRU4Rec改进版。至于为啥我觉得这篇文章是Session-based recommendation的鼻祖呢?因为这篇文章里面的baselines里最STOA 的方法是BPR-MF,没有任何Sequencial recommendation相关的方法,这也是为什么会有这篇专栏的原因,因为曾经我以为这两者属于同一个领域,但显然应该不是,否则不应该不引用先前的工作。
Session 是一个比前面所说的 sequence 更小的粒度,并且在这样小的粒度下允许匿名的Session出现(其中最可能有效的是能够通过Session来把 delay的时间作为purpose drift的一个重要依据,貌似没有文章中提到这个)。其实这里我觉得我们还可以分的更细,也就是如果把Session改成Token会怎么样,当然,这样做有没有意义就仁者见仁了。
问题的定义和评价方式上也有不同,对于Sequencial recommendation 来说,训练集里包括了这个用户所购买过的部分物品,而验证集与训练集里面的物品属于同一个序列。而在Session-based方法中,它们属于不同的序列。这一点不同导致了这两类方法从本质上的区别。
Tang2018 这篇文章里提到:not the absolute timestamp as in temporal recommendation like。所以在这里我加上了Sequencial recommendation 与Temporal recommendation 的区别。
我目前的理解是,Temporal recommendation里的时间是一个绝对的概念,时间就是指的timestamp。对于Sequencial recommendation 里面关心的是相对的时间,也就是事件发生的顺序。
Adomavicius, G., Tuzhilin, A., 2015. Context-aware recommender systems. In: Recommender Systems Handbook, Second Edition.
Hidasi, B., Karatzoglou, A., Baltrunas, L., Tikk, D., 2015. Session-based Recommendations with Recurrent Neural Networks. Int. Conf. Learn. Represent. 1–9.
Rendle, S., Freudenthaler, C., Schmidt-Thieme, L., 2010. Factorizing personalized Markov chains for next-basket recommendation. In: Proceedings of the 19th International Conference on World Wide Web, WWW ’10.
Tang, J., Wang, K., 2018. Personalized top-N sequential recommendation via convolutional sequence embedding. WSDM 2018 - Proc. 11th ACM Int. Conf. Web Search Data Min. 2018-Febua, 565–573.