推荐算法研究分析
推荐算法研究分析
摘要
推荐系统是学习用户偏好并实现个性化推荐的系统化应用技术,在商品购买、影音推荐、关联阅读等多领域得到了广泛的应用。近年来,随着多源异构数据的激增和深度学习的兴起,传统推荐算法中的表征学习模式逐步被深度学习代替。梳理推荐算法的背景和发展趋势,并给出内容推荐的算法思路及其优劣评价,分别介绍多层感知机、自动编码器、卷积神经网络以及循环神经网络等深度学习方法的网络结构和算法优势。从技术应用的视角综述深度学习在内容推荐中的应用现状与研究成果,对不同经典深度推荐算法进行分析与比较。在此基础上,指出深度学习在可解释性、学习效率等方面的不足,并对交叉领域学习、多任务学习表征学习等未来研究方向进行展望。
关键词:推荐系统;表征学习;内容推荐;多源异构
目录
1.概述 4
2.基于内容的推荐方法 5
2.1实现步骤 5
2.2基于深度学习的内容推荐方法 6
2.3基于内容的推荐算法的优势与缺点 7
3协同过滤推荐算法研究分析 9
3.1基于用户的推荐算法 9
3.2基于项目的推荐方法 10
3.3协同过滤算法比较分析 10
4 总结 12
参考文献 13
信息网络的迅速发展使得数据规模呈现爆发式增长,各种应用软件(如电子商务平台等)对数据的依赖性越来越强。但是,数据的增量超过了平台或系统的承受范围,这种现象被称为“信息过载”问题。文献提出的Tapestry方法对数据进行筛查过滤,初步缓解了该问题,象征着推荐系统(Recommender System,RS)雏形的形成。
1997年,RESNICK等对推荐系统做出了结构化的定义,标志着推荐系统的发展进入萌芽阶段。早期的推荐系统主要应用于信息检索领域,在工业界并没有得到广泛关注。随着信息技术的高速发展,数据的生成速度异常迅猛,推荐系统逐渐在购物、影音等领域得到了广泛的应用。直至今日,推荐系统在学术界和工业界都有着极高的研究价值与应用意义。
推荐系统作为为用户提供建议或推荐商品的软件工具技术,旨在满足用户需求的同时推荐用户感兴趣的物品,比如“淘宝”的个性化商品推荐、抖音(Tik Tok)的个性化短视频推荐、“今日头条”的新闻资讯推荐等。根据推荐系统的相关研究,推荐系统的发展可以分为协同过滤算法的提出、推荐算法的商业化应用、推荐算法的深度研究热潮等 3个阶段,分别象征着推荐系统从萌芽走向成熟的 3 个历程。其中,推荐系统能够快速发展的优势体现在它提高了用户和系统之间的黏性以及信息利用率,使其具有较高的商用价值。例如,亚马逊(Amazon)将推荐系统应用于商品电子商务系统,为其带来了20%~30% 的额外营业额。
近年来,应用软件的数量呈现爆发式增长,滋生了越来越多的多源异构数据。这些数据来源多样、结构复杂,传统机器学习方法无法有效地提取其中的表征。面临数据带来的一系列问题,深度学习对多源异构数据表征的充分学习获得了广泛的关注,迅速成为研究热点之一。深度学习作为前沿技术,泛指端到端的非线性可微模型。其优势主要体现在非线性转换、深层特征学习、高弹性及可用性等3个方面。在学术研究层面,深度学习的快速发展激发了学者对推荐领域学术研究的兴趣,逐渐出现了Wide&Deep、CDL、Auto Rec等经典的深度推荐模型。在工业应用层面,基于深度学习应用的推荐算法不断改进与创新,为各领域的产品提供商业化服务。
基于内容的推荐方法的提出源于信息检索的研究。由于信息检索的快速发展以及邮件等应用的普遍性,基于内容的推荐方式在信息检索中得到了广泛应用。基于内容的推荐方法主要包含物品的内容特征描述与用户画像(兴趣爱好)2类数据。在传统信息检索领域中,如何有效地构建用户画像是推荐方法快速发展的关键要素。在此背景下,推荐系统可定义为从数据库中寻找与用户画像相似度最高的物品推荐给用户的一个应用技术。例如在音乐推荐中,每一首歌都存在多种标签信息,相似的音乐会存在很多一样的标签信息,系统分析用户的历史听歌记录,可以得到一个基于音乐的用户画像,从而从音乐库中寻找符合用户画像的相似音乐推荐给目标用户。
2.1实现步骤
基于内容的推荐方法的具体实现步骤如下:
步骤1构建用户物品画像。物品画像是物品的一系列内容特征的结构化表示r(i),例如电影的分类信息包含标题、主题曲、主演、导演等信息;而用户画像是根据已知用户的历史兴趣得到的用户特征结构化表示r(u),比如行为偏好、喜欢的物品类型、活跃程度等信息。
步骤2根据用户画像从数据库中寻找用户偏好的前N个相似(TOP-N)物品item进行推荐。形式化表达公式如下:
其中表示相似度
如果存在新物品,首先需要通过专业生产内容(Professional GeneratedContent,PGC)构建物品画像,然后基于物品画像计算物品间的相似度,为每个物品产生TOP-N相似物品推荐。图1所示为基于内容的推荐框架。

图1 基于内容的推荐框架
2.2基于深度学习的内容推荐方法
本节从深度学习技术的应用展开阐述,介绍深度学习下的推荐算法研究成果。随着应用软件的激增,数据呈现多源异构,传统机器学习的表征学习性能不佳,深度学习逐步代替传统机器学习实现深层表征学习。在推荐领域中,除了将深度学习模型直接应用于推荐系统外,传统的推荐算法(如矩阵分解、因子分解机)结合深度学习算法,也可以表示为神经可微的端 到端架构,并在Tensorflow、Py Torch等深度学习开源平台中有效地进行训练。本节是本文的核心,主要探究并梳理基于内容的深度学习推荐方法。在特征学习中,基于内容的推荐方法主要依赖于文本、评论等内容数据,需要对内容进行琐碎的预处理(关键词提取、主题建模等);而在深度学习中可以直接通过端到端的结构学习所有内容特征。基于深度学习的内容推荐框架如图2所示。

图2 基于深度学习的内容推荐框架
2.3基于内容的推荐算法的优势与缺点
基于内容的推荐算法算是一类比较直观易懂的算法,目前在工业级推荐系统中有大量的使用场景,在本节我们对基于内容的推荐算法的优缺点加以说明,方便读者在实践中选择取舍,构建适合业务场景的内容推荐系统。
基于内容的推荐算法是非常直观的,具体来说,它有如下6个优点。(1)可以很好的识别用户的口味,该算法完全基于用户的历史兴趣来为用户推荐,推荐的标的物也是跟用户历史兴趣相似的,所以推荐的内容一定是符合用户的口味的。(2)非常直观易懂,可解释性强,基于内容的推荐算法基于用户的兴趣为用户推荐跟他兴趣相似的标的物,原理简单,容易理解。同时,由于是基于用户历史兴趣推荐跟兴趣相似的标的物,用户也非常容易接受和认可。(3)可以更加容易的解决冷启动,只要用户有一个操作行为,就可以基于内容为用户做推荐,不依赖其他用户行为。同时对于新入库的标的物,只要它具备metadata信息等标的物相关信息,就可以利用基于内容的推荐算法将它分发出去。因此,对于强依赖于UGC内容的产品(如抖音、快手等),基于内容的推荐可以更好地对标的物提供方进行流量扶持。(4)算法实现相对简单,基于内容的推荐可以基于标签维度做推荐,也可以将标的物嵌入向量空间中,利用相似度做推荐,不管哪种方式,算法实现较简单,有现成的开源的算法库供开发者使用,非常容易落地到真实的业务场景中。(5)对于小众领域也能有比较好的推荐效果,对于冷门小众的标的物,用户行为少,协同过滤等方法很难将这类内容分发出去,而基于内容的算法受到这种情况的影响相对较小。(6)非常适合标的物快速增长的有时效性要求的产品,对于标的物增长很快的产品,如今日头条等新闻资讯类APP,基本每天都有几十万甚至更多的标的物入库,另外标的物时效性也很强。新标的物一般用户行为少,协同过滤等算法很难将这些大量实时产生的新标的物推荐出去,这时就可以采用基于内容的推荐算法更好地分发这些内容。
虽然基于内容的推荐实现相对容易,解释性强,但是基于内容的推荐算法存在一些不足,导致它的效果及应用范围受到一定限制。主要的问题有如下4个:(1)推荐范围狭窄,新颖性不强,由于该类算法只依赖于单个用户的行为为用户做推荐,推荐的结果会聚集在用户过去感兴趣的标的物类别上,如果用户不主动关注其他类型的标的物,很难为用户推荐多样性的结果,也无法挖掘用户深层次的潜在兴趣。特别是对于新用户,只有少量的行为,为用户推荐的标的物较单一。(2)需要知道相关的内容信息且处理起来较难,内容信息主要是文本、视频、音频,处理起来费力,相对难度较大,依赖领域知识。同时这些信息更容易有更大概率含有噪音,增加了处理难度。另外,对内容理解的全面性、完整性及准确性会影响推荐的效果。(3)较难将长尾标的物分发出去,基于内容的推荐需要用户对标的物有操作行为,长尾标的物一般操作行为非常少,只有很少用户操作,甚至没有用户操作。由于基于内容的推荐只利用单个用户行为做推荐,所以更难将它分发给更多的用户。(4)推荐精准度不太高,基于工业界的实践经验,相比协同过滤算法,基于内容的推荐算法精准度要差一些。
3协同过滤推荐算法研究分析
协同过滤推荐算法根据以往的购买记录推荐项目,能够产生较为合理的推荐。基于用户和基于项目的协同过滤推荐算法的实现思想不同。在实现过程中,针对不同的应用场景,推荐的效果也不同。因此分析两种算法的适用场景,对推荐结果具有重要意义。此外,协同过滤算法仍然存在一定的局限性,例如冷启动、稀疏性和可扩展性等问题。协同过滤算法的局限性,会导致算法在具体的推荐过程中,影响推荐准确度和推荐算法的性能。为克服当前推荐算法存在的不足,本文针对当前的两种算法进行了相关探讨。
3.1基于用户的推荐算法
如图3所示,基于用户的协同过滤推荐算法通过分析历史评分信息来确定用户间的相似度,使用相似度和预测评分来评估目标用户对未评分项目的喜好程度。并根据用户对未评分项目的预测值降序产生推荐。基本实现过程可以分为如下几个阶段:
(1)构建用户-项目评分矩阵。
(2)选择合适的相似度计算公式,计算用户间的相似度。
(3)对近邻用户评分过的项目且目标用户尚未评分的项目,利用评分预测公式,进行结果预测。
式中,y为用户m对项目x的预测值,s为用户间的近邻。目标用户的近邻集合。根据评分预测集合中的结果,降序排列。

图3 基于用户的协同过滤推荐算法
3.2基于项目的推荐方法
首先,通过使用相似度公式计算任意项目间的相似度。其次,通过使用对未知项目的评分来评估项目相似度的大小。基于项目的最近邻方法是基于用户的最近邻方法的转置。它可以依赖于项目之间的相似度来创建预测。具体如图4所示。

图4 基于项目的协同过滤推荐算法
具体实现过程如下:
(1)根据历史评分数据,构建用户项目评分矩阵。
(2)查找目标项目的最近邻居。根据近邻项目和目标项目的相似度值,取最近的k个近邻组成集合。
(3)根据用户对近邻项目的评分,以及近邻项目之间的相似度,利用预测公式,对目标项目进行推荐。
(4)根据预测结果降序推荐。
3.3协同过滤算法比较分析
基于用户的推荐方法主要考虑的是用户之间的相似度计算,推荐给目标用户的项目一定是近邻用户喜欢的项目。而基于项目的推荐方法,采用的则是推荐给用户评分最高的相似项目。例如,用户在网上购买一本Hadoop相关书籍,系统则会推荐用户Spark等大数据相关书籍。
虽然两种推荐方法的思想不同,但它们都是基于用户项目评分矩阵来实现的。因此,在现实应用中,更多需要考虑应用场景来实现算法选择。在一些新闻类的网站中,用户数量远不如新闻数量,项目维度远远高于用户维度。同时,用户兴趣爱好较为模糊,各类新闻都会浏览。因此,选择基于用户的方法能够大大降低空间复杂度。同时新闻时效性较强,如果采用基于项目的方法,新闻作为项目维度,不断更新项目相似度是不现实的。在电子商务平台上,用户数量一般远远高于商品数量,用户维度远高于项目维度。同时商品没有很强的时效。基于实际考虑,更适合采用基于项目的协同过滤推荐算法。
4 总结
目前,国内外推荐算法的研究主要集中在基于内容的推荐和基于协同过滤推荐传统算法上的应用和改进。基于内容的推荐算法主要是通过获取人或物的属性特征进行推荐,该算法的优点是根据用户的偏好特征,为用户推荐物品,解决新物品的推荐问题。而基于协同过滤算法的推荐分为两种:一种是基于用户的协同过滤,另一种是基于项目的协同过滤。第一种算法是利用相似性算法计算出不同用户之间的相似度,找出与目标用户最为相似的n个用户,这n个用户作为目标用户的最近邻集合,根据最近邻用户的特征来预测目标用户的特征。第二种协同过滤算法是基于用户对某个项目的偏爱程度,找到与该项目最相似的项目集合,根据最相似项目集合来预测目标项目的特征。
参考文献
[1]刘华玲,马俊,张国祥.基于深度学习的内容推荐算法研究综述[J].计算机工程,2021,47(07):1-12.[2]高斐,陈德礼,严涛.基于内容推荐和协同过滤算法实现个性化评估[J/OL].安徽大学学报(自然科学版):1-10[2021-07-28].[3]秦冲,赵铁柱,柳毅.个性化推荐算法的研究及发展综述[J].东莞理工学院学报,2021,28(03):51-60.[4]彭余辉,张小雷,孙刚.基于内容和协同过滤加权融合的音乐推荐算法[J].安庆师范大学学报(自然科学版),2021,27(02):44-48+53.[5]李晓娴,游佳,余娇榕,林倩,徐海平.基于内容与协同过滤的GitHub学习资料库推荐[J].河南工程学院学报(自然科学版),2021,33(02):59-64.[6]翁海瑞,林穗,何立健.基于内容推荐与时间函数结合的新闻推荐算法[J].计算机与数字工程,2020,48(12):2973-2977.
