APP下载

基于会话的推荐算法研究综述

2019-11-30肖楠

现代计算机 2019年36期
关键词:会话邻域物品

肖楠

(四川大学计算机学院,成都610065)

0 引言

近年来,随着云计算、大数据、物联网等技术的迅猛发展,互联网空间的数据规模也迎来了爆炸式的增长[1]。海量的数据中蕴含着巨大的价值和潜力,与此同时,人们也将面临海量数据所带来的信息过载问题。如何快速地从纷繁复杂的数据中获取有价值的信息成为了当前大数据发展的关键难题。推荐系统通过推荐算法从海量数据中挖掘出用户感兴趣的项目并做出相关推荐,已经成为解决“信息过载”问题的有效方法。目前,推荐系统在很多领域已经得到了成功应用,包括电子商务(如Amazon、eBay、Netflix、阿里巴巴等)、信息检索(如iGoogle、MyYahoo、百度等)、社交网络(如Facebook、Twitter、腾讯等)、位置服务(如Foursquare、Yelp、大众点评等)、新闻推送(如Google News、GroupLens、今日头条等)等各个领域[2]。

传统的推荐算法主要包括协同过滤算法、基于内容的推荐算法和混合推荐算法。其中协同过滤算法也是目前应用最广泛的推荐算法,但是他仍面临着严重的数据稀疏和冷启动问题。基于内容的推荐算法是根据已经和用户产生过交互的项目来寻找其他与该项目具有类似属性的项目然后进行推荐。因此这种方式需要有效的特征提取。混合推荐算法指将多种推荐技术进行混合相互弥补缺点,从而获得更好的推荐效果。最常见的是将协同过滤技术和其他技术相结合,以克服冷启动问题。

目前,在很多应用领域,很多不同类型的用户与物品的交互信息会随着时间记录下来。传统的推荐算法使用整个历史的数据进行推荐并不能有效的捕捉到用户短时期内的兴趣偏好。例如在在线购物场景下的基于会话的推荐,用户的点击偏好可能主要取决于当前的购物目的,而非用户全部的历史购物偏好。因此出现了一些根据这些有序的用户与物品交互日志做出相关推荐的算法。目前的研究已经在这一领域取得了丰硕的成果。

根据对目前已有的基于会话的推荐算法所展开的研究,本文主要将其划分为两大类别。第一种为基于会话的传统推荐算法,它包含了基于协同过滤的算法和基于马尔科夫决策过程的算法;第二种为基于会话的深度学习算法,它包含了由基于循环神经网络的算法、基于注意力网络的算法和基于图网络的算法。

1 基于会话的传统推荐算法概述

基于会话的推荐是推荐系统的一个子任务,传统的推荐算法中最常用的方法是协同过滤算法。在协同过滤的算法领域中,邻域模型[4]和潜因子模型[5]是协同过滤的两个主要方法。其中邻域模型的重点是计算用户或物品之间的相似性。潜因子模型的重点是通过分解用户和物品构成的评分矩阵或交互矩阵,将物品和用户在相同的潜在空间进行表示,最后得到用户对物品的预期值。邻域模型和潜因子模型处理的是数据中结构不同的层次,所以他们都不是最优的[3]。由于缺少用户资料,潜因子模型很难被应用于基于会话的推荐中。邻域方法通过计算物品(或用户)之间的相似性进行推荐,因此它可以基于会话中物品的共现进行推荐。目前邻域方法已被广泛使用于会话推荐系统中。

在基于会话的推荐中,推荐系统都是以顺序的方式工作的:它们向用户推荐物品,然后用户可以接受其中的一项推荐。在下一阶段,将根据上一个交互的物品计算出推荐物品的新列表并展示给用户。因此推荐过程的顺序性也被定义为顺序优化过程。所以一种众所周知的顺序决策的随机模型——马尔可夫决策过程(MDP)也被应用于基于会话的推荐当中。

下面我们对几种常用的模型和方法进行介绍。

1.1 基于物品的协同过滤算法

在基于用户的协同过滤中,系统需要计算用户间的相似度,以达到给相似用户进行推荐的目的。但是由于频繁访问网站的用户会有大量的历史数据,这将会导致在线推荐算法中会出现在线计算性能不足的问题。同时,如果忽略掉一些历史数据,这确实能弥补在线性能不足的问题但将会使推荐结果变差。因此Badrul Sarwar 等人[6]提出了基于物品的协同过滤算法用于解决在线计算的性能和推荐的质量不能兼顾这一问题。因为物品之间的关系是相对静态的,因此该算法通过计算物品间相似度而不是用户间的相似度来避免在线计算的性能问题,从而达到相似的推荐的效果。来自Amazon.com 的Greg Linden 等人[7]针对同一问题提出了一种类似的方法,并实际应用在Amazon.com 的网站中,以解决在线计算的性能和推荐的质量不能兼顾这一问题。

1.2 多方面的协同过滤模型

尽管潜因子模型由于缺少用户资料不能单独用于会话推荐中,但是它仍具备邻域模型所不拥有的建模能力。邻域模型根据用户评分过的物品计算和这些物品最相似的物品,这对于整个物品集合而言是一个局部最优的问题,它没有考虑到全局的所有物品。潜因子模型可以对物品进行整体表示,但是它在检测少量关联度更强的物品间的强关联性方面表现欠佳,而这恰好是邻域模型所具备的优势。因此Yehuda Koren 等人[4]提出了一种组合模型,该模型利用邻域模型和潜因子模型的优势来提高预测精度。对于邻域模型中的物品相似度计算,该模型不同于基于物品的协同过滤算法中通过数据统计进行计算而是通过学习得到物品相似度,而是提出一种更加准确的邻域模型。同时该模型将隐式数据加入模型中,通过扩展模型,将潜因子模型和邻域模型进行合并,同时利用用户的显式和隐式反馈,以得到更有效的推荐结果。

1.3 基于马尔可夫决策过程的推荐模型

不同于协同过滤模型根据相似用户或物品进行推荐,MDP 作为一种顺序决策的随机过程,它模拟在会话场景中推荐系统的推荐流程,即根据用户上一次点击的物品,生成推荐列表。通过一个四元组<S,A,Rwd,tr>对MDP 的流程进行定义,其中S 是一组状态,A 是一组动作,Rwd是一种为每个状态/动作分配真实值的奖励函数对,而tr是状态转换函数,它提供给定每个动作的状态在每对状态之间转换的概率。在MDP 中,决策的目标是使其奖励最大化。由Guy Shani 等人[8]提出的基于MDP 的推荐系统很好地将MDP 与推荐系统相结合,并在实际应用场景中取得了不错的结果。文章中提出了一种基于MDP 的新颖的推荐模型,该模型是一种等效的马尔科夫链,其中状态对应交互序列。之后由Wanrong Gu 等人[9]提出了一种MDP 和潜因子模型的融合模型,该模型通过潜因子模型和MDP 不仅捕捉到用户的长期偏好,还捕捉到物品交互的顺序对推荐结果所带来的影响,因此在实验中也取得了更好的结果。

2 基于会话的深度学习推荐算法概述

近年来随着硬件的发展,深度学习计算能力不足的瓶颈得以打破,越来越多的科研人员将深度学习技术应用到自己的研究当中。不同于传统的推荐算法,基于深度学习的推荐算法通过深度学习模型学习到用户的潜因子表达和物品的潜因子表达,并基于这种潜因子表达为用户进行推荐。根据目前会话场景下的基于深度学习的推荐算法的研究现状,主要使用的深度学习模型有循环神经网络(RNN)模型、注意力模型、图模型。

下面我们对几种常用的模型和方法进行介绍。

2.1 基于循环神经网络的推荐模型

循环神经网络(RNN)最早被使用在自然语言领域,由于其模型具有记忆能力,RNN 在自然语言领域取得十分显著的成绩。Balazs Hidasi 等人[10]首次将RNN运用于基于会话的推荐,主要用于解决在基于内容的推荐算法和基于物品的协同过滤算法中,每个物品相互独立,不能建模会话中物品的连续信息的问题。该模型完全利用用户在当前会话中的交互记录产生推荐,将一个会话中发生的一系列点击行为当作一个序列,预测该会话下一个最可能发生交互的物品。该模型将RNN 和推荐系统进行结合并在会话场景下取得了不错的成果。

在RNN 模型的基础上,Massimo Quadrana 等人[11]提出了一种分层的循环神经网络来为用户提供推荐,该模型可以建模会话中用户个人的偏好变化。该模型主要针对已登录用户和匿名用户两种不同场景中的用户进行分别推荐。在已登录的场景下,用户的历史会话信息反映了用户的兴趣偏好,而当前的会话信息反应了用户目前的动机,与单独的RNN 模型相比,分层RNN 模型不仅能够捕捉到用户当前会话的独特的目的,还能够在已知用户历史交互记录的情况下,融合用户的历史兴趣偏好,以产生更好的推荐结果。这是单独的RNN 模型所不具备的能力。分层RNN 模型中,一个用户的会话结束时,较低层RNN 的隐藏状态作为输入传递给较高层次的RNN,后者的输出则作为下一个较低层RNN 的输入的隐藏状态。通过这种形式,分层的RNN 模型就可以在已登录状态下将用户的历史数据融合进模型中,从而达到更好的推荐效果。

2.2 基于注意力网络的推荐模型

近年来随着注意力网络在图像领域取得十分显著的成果,越来越多的深度学习模型使用了注意力网络。注意力网络早期主要使用在图像相关的领域中,它可以使网络重点关注一部分输入信息。由Qiao Liu等人提出的短期注意力/内存模型(STAMP)[12]在基于会话的推荐中取得了显著的效果。RNN 虽然能够捕捉用户总体的偏好,但是RNN 也许对于较长的会话是不够有效的,因此该模型将注意力网络与RNN 进行融合,不仅考虑用户整体的偏好,也将考虑用户当前的目的,在捕捉用户会话中用户的主要兴趣的同时有效避免了因为意外点击而引起的兴趣偏移。相比于Jing Li 等人提出的用户会话推荐系统中的神经注意力模型(NARM)[13],多数模型则只考虑当前会话中用户的短期偏好,即本次会话的主要目的,而忽略了长久以来的历史数据中包含的用户长期偏好。该模型通过对会话中物品采用不同的嵌入形式,并结合RNN 和注意力网络分别提取出用户的长期偏好和短期偏好并进行融合。其中,通过注意力网络为短期偏好和长期偏好分配不同的权重,最后得到了更准确的推荐结果。

2.3 基于图网络的推荐模型

图是一个数学的概念,它是由顶点和边构成的一种数学关系。这一概念在计算机科学中被用来表示单元间互相有联系的数据网络。自Relational Inductive Biases, Deep Learning, and Graph Networks 论文发布以来,图网络相关的研究被推到一个新的高点。会话推荐中用户多次交互的物品能构成图结构,因此Shu Wu等人提出一种图神经网络(SR-GNN)[14]用于会话推荐中。模型将会话列表建模为图结构化的数据,因此在捕捉用户和物品之间交互信息的同时,能够保留物品之间的关系结构SR-GNN 同时通过注意力机制区分用户的长期偏好和短期偏好。因此该模型在实际场景下取得了很好的效果。

3 结语

在基于会话的推荐算法中,研究人员已经提出了各种算法来解决推荐中所面临的一些问题,通过本次综述,我们的目标是对这些方法进行分类并回顾其研究方法。本文中所列举出的传统推荐算法,主要面向已知用户进行会话推荐,当然,这些算法也可以用到更多的场景中去。在本文所列举出的基于深度学习的推荐算法则有更普适的应用场景,不仅可以对已知用户进行推荐,还可以对匿名用户进行推荐。这也是基于会话的推荐系统的未来发展趋势之一。同时部分模型提出的在会话中区分用户的当前兴趣和长期兴趣,也被越来越多的研究者所关注。如何更有效的捕捉用户的当前兴趣和长期兴趣并进行融合也是基于会话的推荐系统所要面临的问题之一。图网络目前已经是较新型的会话表示形式,在会话场景下它具有其他模型所不拥有的建模能力,未来是否会出现更有效的建模结构也是值得研究人员去探索的。本文对会话场景下的研究现状进行分类,并介绍和分析了基于会话的推荐算法的研究现状和进展,并讨论了今后的发展方向,希望能对相关领域的研究人员和工程技术人员提供有益的帮助。

猜你喜欢

会话邻域物品
混合型数据的邻域条件互信息熵属性约简算法
基于混合变邻域的自动化滴灌轮灌分组算法
称物品
含例邻域逻辑的萨奎斯特对应理论
QQ和微信会话话轮及话轮转换特点浅析
图画捉迷藏
用绘画导入英语教学
找物品
创意,源自生活的可爱小物品
邻域平均法对矢量图平滑处理