APP下载

基于深度学习的推荐系统应用综述

2020-03-23吕刚张伟

软件工程 2020年2期
关键词:协同过滤推荐系统深度学习

吕刚 张伟

摘  要:随着互联网上信息量呈指数增长,用户从大量信息中挑选目标信息变成了一种复杂且耗时的作业。为用户解决因信息量爆炸而不能快速获得目标信息的方法就是构建推荐系统。深度学习作为当前热门的研究话题,在许多领域都取得了突破性的成就。利用深度学习挖掘用户和物品的隐含属性,构建用户和物品的关系模型,可以提高个性化推荐的精确度。本文介绍了推荐系统和深度学习,分析了深度学习在推荐领域的应用现状并做出了展望。

关键词:推荐系统;深度学习;协同过滤;内容推荐

中图分类号:TP301     文献标识码:A

1   引 言(Introduction)

以往,人们对自己的需求非常简单明确,满足他们的基本需求即可。例如在线购物时,商城展现出的精细化分类就能满足用户希望快速找到他们希望的物品要求。在如今的互联网时代,人们在选购商品,挑选喜欢的音乐或者观赏喜欢的电影时,原有的搜索引擎已经满足不了用户的个性化需求。例如商城希望能够在首页就展示用户偏好的物品,诱发用户购买;或者当用户并未有明确目标,随意浏览购物、电影、旅行等网站时,网站希望能够为用户推荐与他兴趣相关联的项目。个性化的推荐系统不仅为用户个人定制出了属于他们自己的兴趣清单,还能增加用户的黏性,提高网站的流量与效益。

近年来,由于芯片处理能力的大力加强,计算机硬件的造价成本降低以及机器学习和信息处理研究取得了显著的成果,深度学习再次进入研究人员的视野并引领了机器学习朝着多方向发展。深度学习[1]在图像识别,语言即时翻译,汽车自动驾驶等领域得到了广泛应用并取得了一系列卓越的成果。例如科大讯飞翻译机,特斯拉无人驾驶汽车横穿美国,大疆无人机等。深度学习技术也已经扩展到了推荐系统领域。

2  推荐系统概述(Overview of recommendation system)

如今,我们处于检索和使用信息量迅速增加的时代,要从巨大的数据集中提取有用的信息,并且转化为可使用的结构,变得纷繁复杂。研究人员希望能有一种工具或者方法,能自动地为目标人群提供他们想要的信息,这就诞生了推荐系统。推荐系统可以根据用户过去的历史记录和个人资料来判断目标用户喜欢该商品的程度,根据排名判断是否为用户推荐商品。目前已经针对不同的应用开发了许多推荐系统。推荐系统的核心部分就是推荐算法[2],它主要分为三类:基于内容的推荐、协同过滤推荐以及混合推荐。

基于内容的推荐算法[3],仅通过单个用户的行为记录和数据来向用户推荐,即首先分析特定用户喜爱的商品特征,以确定可以用来描述这些商品的偏好,这些首选项存储在用户配置文件中,其次是将每个项目属性与用户个人资料进行比较,以便仅将与用户个人资料具有高度相似性的相关项目推荐给该特定用户。常用的基于内容的推荐应用如网页,新闻,文章和餐馆之类的文档。

协同过滤推荐算法深受各领域喜爱,因此是一种最常用的算法[4]。协同过滤推荐算法的应用程序中包含了非常大的数据集,这里面记录了用户的历史行为,比如用户对商品的点击率,用户对商品的评分,用户曾购买过该商品记录等等。通过这些数据集,能够预测出与用户最相关联的物品内容并推荐给他。协同过滤可以进一步分为基于用户协同过滤,基于项目协同过滤和基于模型的协同过滤。

基于用户的协同过滤算法先找到和目标用户爱好相似的用户團体,然后从用户团体中推荐目标用户未接触过的商品。基于物品的协同过滤则给用户推荐他们曾喜欢过的类似商品。基于模型的协同过滤,是通过深层隐含关系建立用户物品模型。例如矩阵分解,它将用户和项目都表示成为潜在的矢量特征,投影到某个共享领域中,接着就能根据用户的行为记录建模为向量内积。模型学习的方法还可以使用数据挖掘技术或机器学习技术来完成,比如奇异值分解、降维技术、聚类、决策树和关联规则等。

各种算法都有优缺点。基于用户的协同过滤侧重于对用户基数小的团体进行推荐。基于物品的协同过滤展现出的是用户对自己历史爱好的继承,因此它的内在含义是物品之间的联系。基于模型的协同过滤推荐技术无法使用整个数据集,但可以从数据集中生成模型,并根据此模型推荐给用户,同时它又能够很好地节省离线计算的内存。协同过滤算法在进行推荐前会收集用户的一些有关数据,例如网页点击数,视频观看时长,听歌类型等,而有些用户刚注册,系统无法找到与他们匹配的数据,那么就产生了冷启动问题。基于内容的推荐,考虑的是物品的特征属性,是通过物品之间的本质属性达到推荐目的。因此,与协同过滤推荐算法相比,基于内容的推荐算法用户间依赖性少,并且由于根据商品属性进行推荐,那么它的可解释性更强。各种推荐算法组成的混合推荐算法[5]可以弥补单一推荐算法的短板,达到扬长避短的效果。由于混合推荐系统能够较好地发挥综合能力,研究人员已将深度学习应用到了混合推荐系统中。

3   深度学习概述(Overview of deep learning)

深度学习源自人工神经网络,然后成为一门新学科[6]。深度学习与互联网时代同步发展,互联网的发展,使得世界各地的数据紧密地连在了一起,并且以惊人的速度递增,提取数据中的有用信息具有难以估计的潜力,深度学习只需极短的时间就能够快速准确地从这些数据中提取有用信息。深度学习是一个学习过程,它包括估计模型参数,以便学习到的模型可以执行特定任务。传统程序以线性方式实现数据构建分析,它们虽然可以有效地解决许多简单或受约束的问题,但是它们的建模和表示性有限。深度学习是由形成层次结构的几层处理组成的,第一层处理原始数据输入,并将其作为输出传递到下一层,第二层通过包含的附加信息来处理前一层的信息,并传递其结果,下一层获取第二层的信息,以此类推,通过对每层数据的学习,深度学习能够发现数据之间的联系和规律。

对于结构化的数据,传统的机器学习就能够处理得很好,但是对于非结构化的数据,机器难以理解。比如人类可以轻松地判别出一张图片里的男性和女性,但是计算机却不能有效区分出来,随着深度学习的研究,它使计算机能够在这方面表现强劲。对于机器学习使用手工特征提取而言,深度学习的特征是自动学习的,它能够自动学习用户的任务,并且学习的过程能够在数据变化中保持健壮性。深度学习是一种数据驱动的技术,它具有高度的可扩展性。在传统的机器学习中,对于常规的数据量而言,它的性能表现良好,但当数据不断地增加时,机器学习的性能就显得疲软了,但深度学习却能够处理较多的数据量。

一般而言,深度架构模型由多层组成,可以学习从低级功能到高级功能的层次结构。深度学习架构,根据体系结构和技术的使用方式,可分为生成性深层体系结构和判别性深层结构两类,前者意在表现数据的高阶相关属性,以进行模式分析或展现数据的联合统计分布,后者意在直接为模式分类提供判别力。

4   基于深度学习的推荐系统应用(Application of recommendation system based on deep learning)

深度学习在推荐系统中的应用最早是由Hinton和他学生Salakhutdinov发表的一篇关于受限玻尔兹曼机应用于推荐系统的论文[7],后来不断地涌现出学者及企业员工将深度学习应用到推荐业务中去。深度学习在推荐系统中的应用可分为:深度学习分别在基于内容,协同过滤和混合推荐系统中的应用。

4.1   深度学习在基于内容推荐系统中的应用

在协同过滤推荐算法中,人们仅依靠用户的评分对用户和物品建模,而忽视了项目中的大量评论信息,合理利用这些评论信息则可以提高推荐质量。文献[8]使用评论信息,通过称为“深度合作神经网络”的深度神经网络模型对用户和物品共同建模。它通过利用文本评论来学习用户和商品的潜在隐性因素,从而使学习的因素可以估计用户给出的评分。该模型由两个并排的神经网络组成,彼此耦合,顶部有一个共享层,这个共享层是由矩阵分解技术推动的,以使用户和项目的潜在因素互通。作者提出的该模型是第一个使用评论联合表示用户和物品的深度模型,该模型具有可伸缩性并且适用于一些需要在线连续更新数据的方案模型。文献[8]的另一个特点是,模型使用预训练的词嵌入技术表示评论文本,以从评论中提取语义信息。实验结果显示,该表示形式中评论的语义和情感态度可以提高评分预测的准确性。作者还进一步验证了该模型是否能解决冷启动问题。在实验数据集上,作者根据用户和项目的评论数对其进行分类,并分别为用户和项目组绘制均方误差的减少量。实验结果显示,全部数据集中,均方差减少量都是正的,并且该模型可以在几乎没有任何评分的所有用户和项目组上实现均方差减少。该模型的一个更重要的优点是,对于评分较低的组,均方误差减少的比例更高。这表明该模型可以缓解稀疏性问题并有助于解决冷启动问题。对于评分等级较低的用户或项目,该模型的均方误差降低幅度更大,它表示评论文本可能是有价值的信息,尤其是当我们掌握的用户或项目的信息有限时。

文献[9]开发了一种使用动态关注深度模型的新闻文章推荐模型,以解决编辑为没有明确选择标准的目标用户推荐新闻文章的问题。新闻推荐的这一阶段是针对最终向目标用户进行新闻推荐之前的一个步骤,在此阶段,编辑者需要从不断变化的各种新闻文章库中选择新闻文章的子集。文献[9]通过自动表示学习及其与元数据的交互来学习编辑者对动态文章的选择标准,以此自动地从资源库中选择文章的子集。由于编辑者的选择标准不明确并且编辑者的偏好也可能不同,那么这种问题就不能通过常规的词袋方法直接解决。因此,深度学习注意力模型用于生成复杂的功能来表示文章样式,然后对编辑者是否喜欢该文章进行分类。

4.2   深度学习在基于协同过滤的推荐系统中的应用

文献[10]改进了变分自动编码器,用于对隐式反馈数据进行协同过滤。以往协同过滤的研究模型主要使用的是线性因子模型,这种模型建模能力有限,文獻[10]提出了一种具有神经网络参数化的多项式似然函数的生成模型,并使用贝叶斯推理进行参数估计,这种非线性的概率模型建模能力大大加强,并且结果显示多项式似然函数特别适合对用户项隐式反馈数据进行建模。在改进变分自动编码器的方法中,作者针对学习目标引入了不同的正则化参数,并使用退火算法调参。经过不同的数据集,实验后得出,改进的方法较最常用的几种推荐方法有了明显的优势。在扩展实验中,作者将潜在性协同过滤文献中的多项式似然与其他常用似然函数进行了比较,实验结果表明前者的效果极大地优于后者。

文献[11]提出了一种具有隐式反馈的协同排名的新神经架构,称作潜在关系度量学习模型(LRML),它是一种基于注意力的新型记忆增强神经体系结构,这是一种新颖的推荐度量方法。该模型使用潜在关系向量对度量空间中用户与项目之间的潜在关系进行建模,有助于减轻现有度量学习方法的潜在几何不灵活性,实现更好的性能,而且还可以更大程度的提高建模能力,从而使模型可以扩展到更多的交互。为了实现这个模型,作者采用了增强的内存模块,并学习如何参与这些内存模块来构建内存关系。基于内存的注意力模块由用户-项目交互控制,使学习到的关系向量特定于每个用户项对。实验结果显示LRML优于其他度量学习模型,并且LRML具有揭示隐式数据集中的隐藏关系结构的能力。

4.3   深度学习在混合推荐系统中的应用

在协同过滤中,造成推荐结果不精准的主要原因之一是用户对项目评分数据的稀疏性,而混合推荐算法却能够很好的解决这个问题。最近兴起的基于文档建模的混合推荐方法,利用项目的描述文档,例如评论,摘要或概要,以提高评分预测的准确性。为了利用推荐系统中的项目描述文档,文档建模方法(例如潜在狄利克雷分配(LDA)和堆叠降噪自动编码器(SDAE)被用于混合推荐模型。但是,这存在两个缺陷:(1)文档建模使用的是词袋模型,忽略了上下文信息例如句子之间的关系。(2)在基于文档和项目的潜在因子建模中未明确地考虑高斯噪声。文献[12]为了解决第一个缺陷,作者开发了一个文档上下文感知模型:卷积矩阵分解(ConvMF)。它利用卷积神经网络(CNN)能够有效地捕获文档的上下文信息这一特点,提出了一种基于文档上下文感知混合推荐方法,该方法将CNN集成到基于矩阵的协同过滤中,以将CNN应用于推荐任务。这样即使数据集非常稀疏,ConvMF仍可以准确地预测未知评级。在以上的基础上,为了解决缺陷二,作者开发了健壮的卷积矩阵分解模型(R-ConvMF),通过引入新的项目潜在因素建模方法,提出了一种健壮的文档上下文感知混合方法,为了明确地以不同的方式考虑高斯噪声,新的潜在因子建模方法从概率角度使用带有说明文件的项的评级数,因此,通过更准确地构造项目的潜在因子,作者使初步模型不仅对稀疏而且对偏斜的数据集也更加健壮。结果显示,该模型有效地解决了稀疏性问题。另外,作者提出的方法仅使用用户到项目的评级数据和项目的描述文件,因此该方法可以实时的应用于互联网公司(例如淘宝和豆瓣等)的推荐系统。

在新闻推荐中,用户都希望获得最新资讯,因此他们的关注点都在新闻内容的新鲜度上面,但是用户的关注方向不是一成不变的,他们可能呈现出阶段性的变化,比如常关注篮球咨询的NBA球迷,突然对足球产生了兴趣。因此,新闻推荐中考虑用户的动态变化变得至关重要。文献[13]提出了一种用于新闻推荐的深层神经体系结构,利用用户与项目的交互,以及新闻(项目)的内容来对用户和项目的潜在特征进行建模。论文中,作者仅关注用户否阅读了给定的文章,以及用户阅读文章的顺序这些隐式反馈(阅读顺序则反映了用户的兴趣度)。为了方便对用户的潜在特征进行建模,作者使用双向LSTM[14],从用户阅读文章序列中获取用户随着时间变化的静态和动态兴趣。然后将用户的阅读历史记录作为LSTM的输入,使用神经网络中的注意力机制获得用户的兴趣程度,使用深度结构化语义模型(DSSM)捕获用户和项目之间的相似性,最后使用用户和项目之间的潜在向量计算内积,向用户推荐新闻。结果显示,模型解决了用户阅读兴趣变化,多样化和冷启动的问题。

5   结论(Conclusion)

综上所述,基于深度学习的推荐算法在个新性推荐领域展现出了优异的成果,但是稀疏性和冷启动仍存在改善的空间,预计未来能够诞生更多的深度学习推荐模型。开发人员也正研究用于描述文档的卷积自动编码器,当评分数据极为稀疏时,自动编码器的这种无监督预训练会大大提高推荐的性能。

参考文献(References)

[1] Lecun Y,Bengio Y,Hinton G.Deep learning[J].Nature,2015,

521(7553):436-444.

[2] Adomavicius G,Tuzhilin.Towards the Next Generation of Recommender Systems:A Survey of the State-of-the-Art and Possible Extensions[J].IEEE Transactions on Knowledge and Data Engineering,2005,17(6):734-749.

[3] Mooney R J,Roy L.Content-based book recommending using learning for text categorization[C].Proceedings of the fifth ACM conference on Digital libraries,2000:195-204.

[4] Breese J S,Heckerman D,Kadie C.Empirical analysis of predictive algorithms for collaborative filtering[C].Proceedings of the Fourteenth conference on Uncertainty in artificial intelligence,1998:43-52.

[5] Balabanovic M,Shoham Y.Fab:content-based,collaborative recommendation[J].Communications of the ACM,1997,40(3):66-72.

[6] Jurgen S.Deep learning in neural networks:An overview[J].Neural networksm,2015(61):85-117.

[7] Ruslan S,Andriy M,Geoffrey H.Restricted Boltzmann Machines for Collaborative Filtering[C].Proceedings of the 24th International Conference on Machine Learning,2007:791-798.

[8] Lei Z,Vahid N,Philip S.Joint Deep Modeling of Users and Items Using Reviews for Recommendation[C].Proceedings of the Tenth ACM International Conference on Web Search and Data Mining,2017:425-434.

[9] Xuejian W,Lantao Y,Kan R,et al.Dynamic Attention Deep Model for Article Recommendation by Learning Human Editors' Demonstration[C].Proceedings of the 23rd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining,2017:2051-2059.

[10] Dawen L,Rahul G K,Matthew D H,et al.Variational Autoencoders for Collaborative Filtering[C].Proceedings of the 2018 World Wide Web Conference,2018:689-698.

[11] Yi Tay,Luu A T,Siu C H.Latent relational metric learning via memory-based attention for collaborative ranking[C].Proceedings of the 2018 World Wide Web Conference,2018:729-739.

[12] Donghyun K,Chanyoung P,Jinoh O,et al.Deep hybrid recommender systems via exploiting document context and statistics of items[J].Information Sciences,2017(417):72-87.

[13] Vaibhav K,Dhruv K,Shashank G,et al.Deep Neural Architecture for News Recommendation[C].in Working Notes of the 8th International Conference of the CLEF Initiative,2017:142-162.

[14] Mike S,Kuldip K P.Bidirectional recurrent neural networks[J].IEEE Transactions on Signal Processing,1997,45(11):

2673-2681.

作者簡介:

吕   刚(1992-),男,硕士生.研究领域:推荐系统.

张   伟(1964-),女,硕士,副教授.研究领域:数据挖掘.

猜你喜欢

协同过滤推荐系统深度学习
基于用户偏好的信任网络随机游走推荐模型
基于链式存储结构的协同过滤推荐算法设计与实现
基于相似传播和情景聚类的网络协同过滤推荐算法研究
基于个性化的协同过滤图书推荐算法研究
个性化推荐系统关键算法探讨
基于协同过滤算法的个性化图书推荐系统研究
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
混合推荐算法在电影推荐中的研究与评述
浅谈Mahout在个性化推荐系统中的应用