论文链接:arXiv:1902.04864v1
一、为什么需要基于会话的推荐系统(SBRS)
基于内容的RS和协作过滤RS是两个具有代表性的RS。
然而,这些传统的RS仍然存在一些缺点。关键的一点是,它们只关注用户的长期静态偏好,而忽略了用户的短期事务模式,这会导致用户的偏好随时间的推移而丢失。在这种情况下,用户在某个时间点的意图可能很容易被其历史购物行为淹没,从而导致不可靠的推荐。这是因为这些RS通常以较小的粒度将一个基本事务单元(例如,会话)分解为多个记录(例如,用户-项交互对),然后混合所有这些记录。这种分解实际上破坏了事务行为中嵌入了用户的偏好转移的内在本质。
另一个典型的缺点是,在某些情况下,由于隐私问题,用户id并不总是可用,因此需要用户信息的传统RS不适用。在这种情况下,只能对没有特定用户信息的事务数据提出建议。
为了解决上述问题,有必要考虑事务结构,以便在推荐中捕获更丰富的信息。换句话说,有必要学习用户事务行为模式和用户偏好从一个事务转移到另一个事务。为此,最近提出了SBRS。在这里,会话可以被视为一个购物事件中包含多个购买项目的事务。与基于内容和协作过滤的RS不同,SBRS综合考虑了从一个会话嵌入到另一个会话的信息,并将会话作为推荐的基本单元,如图1的下半部分所示。这样,SBRs的目的是最大限度地减少由于忽略或破坏会话结构所造成的信息损失,如在一些现有方法中。
除了事务性领域之外,sbrs还广泛应用于其他领域,如下一个web页面推荐、下一个POI推荐、旅游推荐、下一首歌曲推荐、下一部电影推荐等等。为了涵盖这些不同的领域,在这项工作中,“会话”的概念并不局限于事务,而是指在一个时间或某个时间段内消耗或访问的元素的集合。例如,用户在一次互联网冲浪中访问的网页可以被收集到一个会话中,用户在一小时或一天内收听的歌曲也可以被分组到一个会话中。
总结下来就是:从研究的角度来看,SBRS可以有效地保持会话数据的自然特性(即会话结构),并最大程度地避免本地信息丢失,因此更关注会话数据的动态和局部方面,从而提供更可靠的建议。
二、session和session-based recommender systems的概念明确
session:是在一个事件(例如,事务)中或在某一时间段内收集或使用的一组项(例如,指任何对象,例如,产品、歌曲或电影),或在一个时间段(例如,一小时)内发生的一组动作或事件(例如,听一首歌)。
例如,在一个事务中购买的一组项目和用户在一小时内收听的歌曲列表都可以被视为会话。此外,用户在一小时内连续单击的网页也可以被视为会话。
(基于会话的推荐系统(SBRS)):给定部分已知的会话信息,例如会话的一部分或最近的历史会话,SBRS旨在基于建模会话内或会话之间嵌入的复杂关系来预测会话的未知部分或未来会话。
(Intra-session context)会话内上下文:将会话Sn作为要做出推荐根据的当前会话(推荐Sn中的未知项it),则会话内上下文为Sn中已知的项目集。
(Inter-session context)会话间上下文:将会话Sn作为要做出推荐根据的当前会话,则会话间上下文为S之前最近发生的会话集
我们区分了上述两种会话上下文,因为它们实际上涉及到推荐任务的不同类型的关系:会话内上下文嵌入了会话内依赖,会话间上下文主要传递会话间依赖。
(Session-based recommendation task)基于会话的推荐任务:给定会话上下文C,基于会话的推荐是学习将C映射到推荐目标t:
t⇐f(C)的函数f。请注意,会话上下文是基于会话的建议的主要信息;有时,项目特性和用户特性等附加信息也可以作为补充信息并入基于会话的建议中。SBRS通常分为下一个项目推荐,以及下一个会话推荐。
(Next-item(s) recommendations)下一项推荐:给定当前会话的会话内上下文,下一个项目建议预测
条件中的下一个项目。应当指出的是,大多数下一个项目的建议只考虑到本次会话,少数工作将最近的会话作为增编纳入这一上下文中。
(Next-session(next-basket)recommendations)下一会话(篮子)推荐:。给定当前会话s的会话间上下文,下一个会话建议将预测会话Sn中可能包含的那些项。
三、会话数据的层次结构及其在SBRS中的具体挑战
项目是关键概念,也是最重要的组成部分
会话数据的层次结构及其在SBRS中的具体挑战
挑战:
1.内部会话挑战:会话中存在相当复杂的结构。具体来说,层次结构由多个级别组成,从包含在该会话中的项到项的相应特征,再到这些特征的相应值。因此,内部会话挑战包括项目级、特征级、特征值级上的所有挑战以及这些级别之间的交互。
2.会话间挑战是指与会话之间的交互相关联的挑战,包括上图右侧列出的会话级的挑战。一些典型的挑战包括会话异构性、会话之间的顺序依赖性和会话的动态性。
3.外部会话挑战主要包括三类:域级的挑战、建模与会话相关联的上下文的挑战以及外部会话挑战和会话间挑战之间的交互
SBR中的所有层次上的所有具体挑战可分为以下四类:
(1)各层次内部的异质性是指各层次上具有不同特征的不同元素,因此不能平等对待或以相同的方式建模。
•价值异质性:一个特征的特征值通常分布不同,因此不能平等对待。例如,某些值可能比其他值更频繁。
•特征异质性:一个项目通常包含不同类型的特征,包括分类特征和数值特征,这些异质特征不能以相同的方式建模。
•项目异质性:会话中的项目也有不同的分布(例如,有些项目非常流行,而大多数其他项目可能很少出现)。特别地,sbrS中的上下文项通常是异构的,因为它们与下一个项的关联度不同
•会话异质性:同样,会话异质性主要是指在一系列会话中,不同的上下文会话以不同的规模与当前会话相关;有些会话甚至是无关的或有噪声的会话。
•上下文异质性:各种类型的上下文因素,如时间、地点、季节和用户,对会话的演化有协同作用,但有不同的贡献;它们不能用统一的方法建模。
(2)各层内的联接器,由各层内的黄线表示。这里耦合指的是不同层次上的不同元素以某种方式相互依赖的相互作用,它们之间存在着不同的相互作用。
•值级耦合:它包含两种不同类型的值耦合:特征值内耦合和特征值间耦合。前者是指来自同一特征的不同值之间的相互作用(例如,具有相似频率的值在它们的重要性上被视为相似的,而