前言
今天读的论文为一篇于2023年发表在国际开放信息技术杂志(International Journal of Open Information Technologies)的论文,文章是关于构建基于会话的推荐系统(Session-based Recommender Systems, SBRS)的方法的综述。文章首先介绍了推荐系统在处理大量信息领域(如在线商店、电影院和音乐播放服务)中的重要性,并指出传统推荐系统通常基于用户过去的偏好信息。然而,在用户首次或匿名访问服务时,这些信息可能不可用,这时SBRS就显得尤为重要。SBRS专注于利用用户当前会话的数据来预测他们快速变化的偏好,目的是预测用户在当前会话中可能关注的下一个或一组对象。文章接着概述了用于构建SBRS的主要算法,并对开发这类推荐系统的框架进行了比较分析。
《International Journal of Open Information Technologies》(国际开放信息技术杂志)
是一个涵盖信息技术领域广泛主题的学术期刊。这个期刊通常发表关于计算机科学、软件工程、信息系统、网络技术、数据管理、人工智能、机器学习、网络安全以及相关领域的研究文章。它为研究人员、学者、专业人士提供了一个分享和讨论最新研究成果的平台。
要引用这篇论文,请使用以下格式:
Ninichuk, Marina, and Dmitry Namiot. "Survey On Methods For Building Session-Based Recommender Systems." International Journal of Open Information Technologies 11.5 (2023): 22-32.
摘要
推荐系统目前在许多与处理大量信息相关的领域中扮演着重要角色,例如在线商店、电影院和音乐播放服务。通常,构建推荐的基础是对用户过去偏好信息的分析,这些信息通常以用户-对象矩阵的形式呈现。然而,在某些情况下,用户信息可能无法获取,例如用户首次访问服务或匿名访问时。这类问题对于一类特殊的推荐系统——基于会话的推荐系统(Session-based Recommender Systems, SBRS)来说是典型的。与传统方法不同,SBRS仅依赖于用户当前会话的数据,这使得能够获取用户快速变化的偏好信息。推荐的目的通常是预测用户在当前会话中将关注下一个对象,或者是一组这样的对象。本文提供了在SBRS中使用的算法的概述,并对比了用于开发此类推荐系统的框架。
引言
近年来,信息的指数级增长导致了信息过载[1], [2]。人们不得不处理超出分析情况、做出决策所需的最小信息量的大量信息。这成为了推荐系统(Recommender Systems, RS)角色增加的原因之一。它们允许在许多生活领域做出更有效、更具信息性和更有效的决策[3], [4],节省寻找所需信息或商品的时间。大部分推荐系统基于对象信息(基于内容的过滤)和用户信息(协同过滤)[5]。这意味着假设过去行为或偏好相似的用户将来也会相似。然而,这并不完全正确,因为用户的偏好会随时间变化。此外,在现实世界中,用户的长期信息并不总是可用的,例如新用户或未登录系统的用户。这时出现了所谓的“冷启动”问题——不清楚可以为这些用户推荐什么。可能的方法之一是非个性化推荐(例如,可以推荐评分最高、观看次数最多的对象)。然而,这并不是唯一的选择,在没有用户信息的情况下,可以使用用户在当前会话中的行动信息来构建推荐,从而确定他们当前的需求[6], [7]。这种算法类型被称为基于会话的推荐系统(Session-based Recommender Systems, SBRS)[3]。在本综述中,我们考虑了构建基于会话数据的推荐系统的不同方法、它们的优缺点,并描述了构建推荐系统的框架。
引言部分概述了推荐系统在处理大量信息领域中的重要性,特别是在用户首次或匿名访问服务时,传统的基于用户历史偏好的推荐方法可能无法应用。在这种情况下,基于会话的推荐系统(SBRS)提供了一种解决方案,它们通过分析用户在当前会话中的互动来预测其即时偏好,而不是依赖于用户的历史数据。SBRS的目标是预测用户在当前会话中可能感兴趣的下一个项目或一系列项目。这种系统对于新用户或匿名用户尤其有用,因为它们可以在没有用户历史行为数据的情况下提供个性化推荐。引言还提到了推荐系统在多个生活领域的应用,如在线购物、音乐和视频流媒体服务,以及它们如何帮助用户在信息过载的环境中做出更有效的决策。此外,引言强调了推荐系统在内容过滤和协同过滤方面的应用,并指出了用户偏好随时间变化的动态性。最后,引言部分提出了本文的目的,即提供一个关于SBRS构建方法的全面综述,包括各种算法、框架的比较分析,以及它们在实际应用中的潜力和挑战。通过这种方式,文章旨在为研究人员和实践者提供一个关于如何设计和实现有效SBRS的指导,以应对不断变化的用户行为和需求。
使用会话数据进行推荐的途径
A. 数据描述
正如之前所述,在许多领域,推荐元素的相关性不仅取决于用户的一般偏好,还取决于他们当前的情境、短期意图和兴趣[8]。这为使用会话数据进行推荐提供了前提。会话是用户在一定有限时间内的一系列行为[5]。不同会话之间的最小时间间隔未定义,它可以是几分钟,也可以是几周甚至几个月。会话的一些特征,如行为和对象的序列,可能会影响推荐[3]:
会话长度 - 用户在当前会话中的互动数量;
有序性 - 会话内互动是否存在顺序;
互动类型 - 用户对对象执行的动作(例如,查看、添加到购物车或“收藏”);
匿名性 - 如果用户信息(他的个人资料)缺失,则会话是匿名的。对于构建推荐系统来说,会话的元数据(如用户地理位置、当前时间、互动上下文)可能包含重要信息。这些信息对于处理大量新用户或匿名用户的系统尤其重要。由于缺乏关于他们的历史数据,充分利用所有可用信息变得至关重要,因为它可以帮助在没有任何实际个性化的情况下将匿名用户划分为粗略的类别[8], [10]。除了会话上下文之外,构建推荐系统还可以使用以下数据:
用户信息 - 用户的购买历史、偏好(在非匿名会话的情况下)。这允许考虑用户的长期偏好/需求;
对象(商品)描述或直接内容(例如,音乐、书籍、电影);
用户与对象之间的互动信息 - 通常以“用户-对象”偏好矩阵的形式呈现;
用户互动信息 - 来自社交网络等的数据。
B. 使用会话数据的推荐系统类别
使用会话数据的推荐系统意味着信息在时间上有顺序。传统的基于偏好矩阵的方法只考虑用户与对象的单次互动,而这种方法考虑了在一次或多次不同会话中的多次互动。根据用户历史数据(他们的个人资料)的存在与否,以及他们的短期或长期偏好在任务背景下的重要性,可以将推荐系统分为两个主要类别[8]:
会话感知推荐系统(Session-aware Recommender Systems, SARS) - 任务假设系统中存在用户的历史数据。因此,这是关于那些一次又一次返回的常客。典型的例子可能是在线商店或应用商店的推荐。
基于会话的推荐系统(Session-based Recommender Systems, SBRS) - 用户的个人资料信息不存在,只能依赖于匿名会话及其元数据。一个例子可能是匿名浏览在线商店或在互联网上投放广告。从推荐目标的角度来看,可以将SBRS分为以下几类[3]:
下一个互动推荐 - 预测当前会话中的下一个互动对象。
下一个部分会话推荐 - 预测当前会话中所有剩余的对象/互动。
构建SBRS的任务设定
考虑到前述各点,可以如下形式化构建推荐系统的任务。假设当前会话s = o1, o2, ..., on — 用户与对象互动的集合。每个互动oi由对象vj(vj ∈ V)和用户对给定对象执行的互动类型ak(ak ∈ A)组成。S — 用户对对象V的所有可能互动的集合。c — 会话的输入数据,即会话的上下文。所有可能的会话上下文形成集合C。假设f — 一个函数,用于评估基于会话上下文c获得的推荐l的质量。那么,SBRS的目标就是找到ˆs ∈ S,使得:
ˆs = argmaxf(c, s), c ∈ C, s ∈ S.
IV. 构建方法
所有用于构建SBRS的算法可以分为两大类:传统方法和基于神经网络的方法。接下来将更详细地讨论每个类别。
A. 传统方法
传统方法类别包括那些易于理解、解释和实现的算法[3]。尽管如此,这些算法在质量上往往不逊色于更复杂的模型[11], [12]。此外,结果的可解释性使它们与更复杂的模型相比具有优势。
简单关联规则(Association Rules, AR):该方法的核心在于寻找经常一起出现在会话中的一对对象。换句话说,算法寻找诸如“如果购买了A,那么必然会购买B”这样的关联。算法规则及其重要性是通过计算用户会话中不同对象对出现的频率来形成的[11], [13]。如果我们将wi,j视为对象vi和vj对的关联规则的“权重”,那么对于当前会话s,推荐对象vi的质量评分将如下所示:
scoreAR(s, vi) = max(wi,j), vj ∈ s
wi,j = Σs∈SΣvi∈V Σvj∈V 1vi!=vj∗1vi∈s∗1vj∈s
|S| 当构建推荐时,通常只考虑会话中最后一个对象的关联规则。
简单序列规则(Sequential Rules, SR):这是关联规则的一种变体,它假设对象对的有序性。除了有序性之外,对象在会话中的位置也很重要 — 对象越接近,它们形成序列规则的可能性就越大。在计算每对对象的“显著性”时,会考虑它们在用户会话中的共同出现以及这些会话中的接近程度[11], [13]。
scoreSR(s, vi) = max(wi,j), vj ∈ s
wi,j = Σs∈SΣvi∈V Σvj∈V 1i<j∗1vi∈s∗1vj∈s
|S|∗|i−j|
马尔可夫链(Markov Chains, MC):具有有限结果集的随机事件序列,具有这样的属性 — 从一个事件到另一个事件的转移仅取决于当前状态,而不取决于所有先前的状态。马尔可夫链定义为集合{ST, Pt, P0},其中ST — 状态集合,Pt — 转移概率矩阵,P0 — 每个状态ST的初始概率[3], [14], [15]。对象vi和vj之间转移的概率定义如下:
Pt(i, j) = P(vi → vj) = freq(vi→vj) / ∑vt(vi→vt) .
事件链(vi → vj → vk)的转移如下所示:
P(vi → vj → vk) = P(vi) * P(vj|vi) * P(vk|vj, vi)。
在构建推荐系统时,马尔可夫链既可以单独使用,也可以与其他方法结合使用。例如,在[14]中,他们提出了一种基于马尔可夫决策过程(Markov Decision Process-based RS)的推荐系统。在他们的系统中,状态对应于用户的相关信息,包括他与对象的最近互动;转移矩阵包含在用户与一系列对象互动后转移到对象的概率(作者只考虑长度为5的序列)。作者[15]提出了一种PME(Personal Markov Embedding)模型,将对象和用户映射到欧几里得空间,然后基于对象之间的距离生成会话中的下一个对象(下一首歌)的推荐。在[16]中描述的方法结合了马尔可夫链和矩阵分解(Matrix Factorization, MF)。该方法基于主要马尔可夫链的个性化转移图。每个用户都有自己的转移矩阵,它们的组合形成了转移的超立方体。然而,这种解决方案,就像许多其他解决方案一样,没有考虑时间因素。这导致了基于马尔可夫链的推荐系统(Markov Chain RS, MCRS)[17]的出现。
在基于会话的推荐系统的研究中,还有一类基于上下文树的推荐系统(它们也被称为马尔可夫模型的可变顺序,Variable-order Markov Models, VMM)[18]。这种推荐系统旨在进行适应性的序列推荐。该方法的基础是一棵基于用户会话中对象序列构建的树。构建推荐的步骤如下:
将当前用户会话与上下文树进行匹配;
在遇到之前未出现的元素/序列时扩展上下文树;
构建推荐;
最近邻方法,K最近邻,KNN:一种基于度量的分类算法。每个对象的类别是基于其“邻居”(最相似的对象、用户、会话)的类别聚合确定的。尽管这种方法很简单,但它通常可以显示出很高的效率。通常,该算法不考虑会话内元素的顺序,但这也取决于所选的相似性度量。实现该算法的可能方法包括:
基于项目的。对于会话c的上下文,SBRS将推荐K个最适合c上下文的对象,从它们在其他会话中出现的角度来看。
基于会话的。寻找与会话c最相似的会话。然后为每个候选对象ˆv计算得分score(ˆv) = ∑s∈Neighbours(c) similarity(c, s) * 1s(ˆv)。
对于最后一个基于会话的最近邻方法,可能的扩展包括:
v-sknn(向量乘法会话KNN)— 假设会话中的最后几个元素更具指示性,因此给每个对象分配权重。在寻找最近邻会话时,会话的最后几个元素具有更高的价值。
s-sknn(序列会话KNN)— 同样赋予会话的最后几个元素更高的权重,但在计算每个推荐选项的评分时,考虑其在会话中的出现,这些会话与当前会话最相似: scores−sknn(ˆv) = ∑s∈Neighbours(c) similarity(c, s) * ws(c) * 1s(ˆv)
sf-sknn(序列过滤会话KNN)— 考虑用户在当前会话中与最后一个对象的互动,只有那些在它们之后出现的对象的相似会话才能作为推荐: scoresf−sknn(ˆv) = ∑s∈Neighbours(c) similarity(c, s) * 1s(vc−last, ˆv)
最近邻方法经常用于混合推荐系统中,以提高其质量。例如,在[19]中,它与循环神经网络GRU4REC[20]结合使用。
总结
本文全面审视了构建基于会话的推荐系统(Session-based Recommender Systems, SBRS)的方法,这类系统在用户信息有限或缺失时尤为重要,如用户首次访问或匿名浏览时。文章首先强调了推荐系统在处理大量信息、提供个性化决策支持方面的关键作用,尤其是在在线购物、音乐和视频服务等领域。然而,传统的推荐方法依赖于用户的历史行为数据,这在用户信息不可用时显得力不从心。SBRS通过分析用户当前会话的行为模式,能够捕捉到用户即时的兴趣和偏好变化,从而提供更加精准的推荐。
文章详细讨论了SBRS的构建方法,包括传统算法和基于神经网络的方法。传统算法如关联规则(AR)、序列规则(SR)和马尔可夫链(MC)等,它们通过分析用户在会话中的互动序列来预测下一个可能感兴趣的项目。这些方法简单易懂,但在处理复杂和有序的数据时可能存在局限性。另一方面,基于神经网络的方法,如循环神经网络(RNN)、图神经网络(GNN)和注意力机制(AM),能够捕捉更复杂的数据依赖关系,尤其是在处理具有复杂结构的会话数据时。这些深度学习方法虽然在模型复杂度和计算资源需求上较高,但它们在捕捉用户动态偏好方面展现出了显著的优势。
文章还介绍了几个用于构建SBRS的框架,如Session-rec、Transformers4Rec和FlowRec,这些框架提供了一套工具和库,使得研究人员和开发者能够更容易地实现和测试不同的推荐算法。这些框架的支持使得SBRS的研究和开发更加高效,同时也促进了这一领域的创新和发展。
在比较不同方法和框架时,文章指出了各自的优势和不足。例如,传统方法在简单性和可解释性方面表现良好,但在处理复杂数据结构时可能不够强大。而基于神经网络的方法虽然在处理复杂数据方面表现出色,但可能需要更多的计算资源和专业知识。此外,文章还讨论了如何评估推荐系统的性能,包括使用不同的评价指标来衡量推荐的准确性和效果。
最后,文章强调了推荐系统在现代信息社会中的重要性,并指出了SBRS在处理用户信息不足时的独特价值。随着在线服务和应用的不断增长,用户在浏览和互动时产生的数据量也在不断增加,这为SBRS的发展提供了丰富的数据资源。文章的研究成果不仅对学术界有重要意义,也为工业界提供了实用的指导,帮助他们更好地理解和利用用户行为数据,以提供更加个性化和高质量的推荐服务。
写在结尾
好了,今天的论文就读到这了,明天见!
标签:Building,Based,Methods,对象,推荐,系统,用户,会话,SBRS From: https://www.cnblogs.com/wephilos/p/18119916