-
www2021
摘要
基于会话的推荐旨在根据会话中历史物品的序列预测下一个物品,例如电子商务或多媒体流服务。 具体来说,会话数据表现出一些独特的特征,即会话内物品的会话一致性(session consistency)和顺序依赖性(sequential dependency)、重复的物品消费(repeated item consumption)和会话时效性(session timeliness)。
本文提出了简单而有效的线性模型来考虑会话的整体方面。 模型的综合性有助于提高基于会话的推荐的质量。 更重要的是,它提供了一个通用框架来反映会话数据的不同观点。 本文提出的线性模型具有封闭解,因此它们具有高度的可扩展性。 实验结果表明,所提出的线性模型在几个真实世界数据集的各种指标中显示出具有竞争力或最先进的性能
Main Story
传统的推荐系统通常对用户帐户进行个性化设置,假设为一个人所有,并且随着时间的推移是静态的。 然而,这种假设往往是无效的。 首先,可能无法验证基本用户信息,例如人口统计数据。 同一个账户也可能被多个人共享,例如,跨家庭成员的混合浏览和点击行为。 即使是同一个用户也可以根据上下文以不同的方式使用她的帐户,例如与工作相关的与娱乐目的。 因此,纯粹依赖用户帐户可能会导致次优的个性化推荐。
基于会话的推荐完全依赖于用户在正在进行的会话中的操作,以克服上述问题。与传统推荐系统相比,基于会话的推荐系统表现出一些独特的特征。
- session consistency. 首先,在同一会话中观察到的物品通常高度连贯且与用户的特定意图一致,例如,同一类别的产品列表或具有相似情绪的歌曲列表,称为会话一致性。例如,图 1 中“会话 B”中的全新智能手机高度相关。
- sequential dependency:某些物品倾向于按特定顺序消费,即顺序依赖,例如连续剧集。在图 1 的“会话 A”中,智能手机配件通常紧随其后的是智能手机,但反之则不然。
- repeated item consumption:用户可能会在会话中重复消费/交互相同的物品,称为重复物品消费。例如,用户可能会反复收听她最喜欢的歌曲或选择相同的智能手机进行比较,如图 1 的“会话 C”所示
- session timeliness:最近的会话通常是用户兴趣的更强指标,即会话的及时性。在图 1 中,“会话 B”和“会话 C”在时间上很接近,并共享几个热门物品。
以上四个属性不一定会出现在所有会话中,一个属性可能比其他属性占优势
最近基于会话的推荐算法研究将循环神经网络或注意力机制应用于模型顺序依赖,图神经网络 (GNN) 可有效表示会话一致性。然而,它们主要关注会话的某些特性,因此不能很好地推广到各种数据集。此外,它们通常需要高计算成本来进行模型训练和推理。为了克服基于 DNN 的模型的可扩展性问题,最近的研究提出了基于邻域的模型用于基于会话的推荐,这些模型具有高度的可扩展性,它们还在几个基准数据集上实现了与基于 DNN 的模型相当的竞争性能。然而,基于邻域的模型仅利用相邻会话,仅限于捕获会话的全局模式
在本文提出了新的会话感知线性模型,以弥补基于 DNN 和基于邻域的模型的缺点。 具体来说,我们设计了一个简单而有效的模型: (i) 综合考虑了基于会话的推荐的各个方面 (ii) 并同时实现了可扩展性。
Method
1. Preliminaries
问题定义:
会话级推荐即给给定会话内的历史记录,预测用户下一个可能交互的物品。
借鉴SLIM等传统线性推荐算法的定义,文中定义线性item-item模型:
尽管 SLIM在文献中显示出具有竞争力的准确性,但众所周知,SLIM 的训练速度非常慢。 尽管一些扩展方法提出降低训练成本,但在工业规模上,它们在计算上仍然令人望而却步。 最近,EASE及其变体从方程中删除了 B 和 L1 范数约束的非负约束,只留下对角约束:
2. Session Representations
首先讨论如何利用线性模型表示session:
- Full session representation: 忽略物品序列,更适合会话中的物品之间往往具有更强的相关性,对消费顺序相对不敏感的情况。 会话中的重复物品被视为单个物品,因为完整会话表示主要处理跨物品的会话一致性。
-
Partial session representation: 会话分为过去和未来两个子集,以表示物品之间的顺序相关性。
3. Session-aware Linear Models
首先针对不同的session表征形式,设计两种不同的线性模型; 然后将两个模型进行统一。
-
Session-aware Linear Item Similarity Model (SLIS)
我们提出了一个使用完整会话表示的线性模型,重点是项目之间的相似性。 如第 3.2 节所述,输入和输出矩阵 (X) 与现有线性模型 [29, 39] 中处理的相同,即 X = X·B。但是,现有模型无法处理 会话一致性以外的会话,使它们不是最佳的。
我们通过重新制定 SLIM的目标函数来提出一个新的线性模型,以适应会话的及时性和会话中重复的项目消耗。 首先,我们采用权重矩阵,假设会话的时效性随时间衰减,W 用于区分会话的时效性。 其次,我们放宽了 B 的零对角线约束来处理重复的物品消费。 由于 B 的对角线元素受到松散惩罚,我们的模型允许我们预测相同的物品作为下一个物品。 形式上,SLIS 的目标函数由下式表示
为了解决该问题,讨论W的两种特殊情况: session权重和物品权重,物品权重不会影响B参数的学习,只需要考虑session的权重影响,它将作为session对应的权重向量来区分session间的重要性。将W通过权重向量的外积来表示:
-
Session-aware Linear Item Transition Model (SLIT)
使用Partial session representation,设计了一个线性模型来捕获跨项目的顺序依赖性。 与 SLIS 不同的是,每个会话被分成多个部分会话,形成不同的输入和输出矩阵。 与 SLIS 类似,我们也将会话的权重合并到 SLIT。 同时,我们忽略了 B 中对角元素的约束,因为不同的输入和输出矩阵自然不受平凡解的影响。
下面具体讨论一下,如何设置权重,本文还是参照已有工作使用两个物品间的位置差来表示物品的物品间的权重:
这块的权重设计逻辑尚未理解,具体使用时如何使用? 后续会看早期的工作做进一步理解,然后再来更新本博客
-
Unifying Two Linear Models.
-
Model Inference
最终在给定历史会话,预测下一个交互时使用
但不确定这个权重在推理时如何使用,直接与S交互向量相乘么?
实验
小结
- 本文基于线性模型的思想,针对会话推荐设计了线性会话推荐模型,由于具有封闭解的特性,具有极高的计算效率
END
本人简书所有文章均为原创,欢迎转载,请注明文章出处 。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问本人简书主页查看最新信息https://www.jianshu.com/u/40d14973d97c