一、背景
基于会话的推荐方法,主要有基于物品的协同过滤和基于马尔可夫决策过程的方法。
基于物品的协同过滤,需要维护一张物品的相似度矩阵,当用户在一个session中点击了某一个物品时,基于相似度矩阵得到相似的物品推荐给用户。这种方法简单有效,并被广泛应用,但是这种方法只把用户上一次的点击考虑进去,而没有把前面多次的点击都考虑进去。
基于马尔可夫决策过程的推荐方法,也就是强化学习方法,其主要学习的是状态转移概率,即点击了物品A之后,下一次点击的物品是B的概率,并基于这个状态转移概率进行推荐。这样的缺陷主要是随着物品的增加,建模所有的可能的点击序列是十分困难的。
二、亮点
- 使用RNN建模基于会话的推荐系统,建模多次点击序列;
- 使用ranking loss来训练模型
- 为了提高训练的效率,采用mini-batch并行训练和负采样的策略
三、模型具体结构
四、ranking loss
本文使用ranking loss,ranking可以是逐点(pointwise)、成对(pairwise)或列表(listwise):
- 逐点排名独立地估计item的得分或排名,损失的定义方式应确保相关item的排名较低。
- 成对排名比较一个positive item和negative item的得分或成对排名,损失的定义方式应确保positive item的排名低于negative item的排名。
- 列表排名使用所有item的得分或排名,并将其与perfect ordering进行比较。由于它包括排序,因此通常计算成本更高,因此不经常使用。
本文中,作者发现逐点排名不稳定,而成对排名的损失表现良好。
1. 贝叶斯个性化排名(Beyesian Personalized Ranking,BPR)
2. 本文使用的ranking loss