推荐系统简述

当下我们已经处于信息爆炸的时代,要从庞大的各类数据库中提取有用的信息,并能为目标用户提供他们需要的信息变得越来越困难。推荐系统正是为了解决这个问题所提出的。 推荐系统目前在很多领域都发挥着重要的角色,比如电子商务领域(淘宝,天猫,Amazon等),视频推荐(抖音,快手,B站等),社交网络(腾讯,Facebook,Twitter等),新闻推送(今日头条,网易新闻等)。

推荐系统根据用户的兴趣以及需求等,通过推荐算法从各类数据库信息里挖掘出用户可能感兴趣的内容,并将得到的项目以个性化的形式推荐给用户。推荐系统在当下海量数据时代,可以非常有效地解决信息过载的问题,也解决了无穷无尽的信息(例如:新闻,商品以及视频等)与用户有限的时间精力之间的矛盾。随着移动互联网的迅猛发展,人们花费在移动端的碎片时间越来越多,一方面,推荐系统千人千面的特点使得用户的碎片时间得到了最大化效益,帮助用户快速地发现自己感兴趣以及高质量的信息,用户浏览到自己不喜欢或者厌恶的内容可能性降低,提升用户体验;另一方面,推荐系统使得用户花费在移动端APP的时间变得更多,增加了用户粘性,推荐方法也可以引导用户点击或者购买,提高了转化率,进而提高互联网企业效益。据报道,推荐系统给Amazon带来了35%的销售收入,给Netflix带来了高达75%的消费,而Youtube主页上60%的浏览来自推荐服务。我国最具有代表性的商用推荐系统,一个是淘宝天猫的首页推荐,另一个是今日头条的新闻信息流推荐。

在当前信息流推荐系统下,互联网企业费劲心思让用户的使用时长越来越多,用户处于一个被动地位,无条件被消耗了过多的碎片化时间,用户从推荐信息中得到的对自身有益的信息却乏善可陈,这类APP又被用户戏称为“时间杀手”,如何将企业效益与用户的体验达到平衡是一个具有深远意义的研究话题。

长尾问题

长尾理论最初是由美国的Chris Anderson在分析研究Amazon、Netflix等互联网企业的销售数据后所提出的,他认为传统销售行业的帕累托法则(即八二定律,前20%的热门商品提供了80%的利润)在互联网的冲击下会改变。那些分布在尾部80%的冷门商品的商业规模可以超过头部前20%的热门商品

同样,推荐系统(以电商推荐系统为例)中也存在着长尾现象,大多数现有的推荐算法只能为主流热门的商品或项目提供推荐,而很大程度上不会向用户推荐长尾处的冷门商品或项目。因此,电商推荐系统要取得新的突破,不但要给用户推荐热门商品,也需要重视推荐分布在长尾的商品,帮助用户找到优质的“长尾”物品,发现用户潜在的个性化喜好。

【推荐系统】推荐系统简介分类以及长尾问题

推荐系统分类

推荐系统根据研究数据的类型以及推荐方法的不同通常被分成四类:协同过滤推荐系统,基于内容的推荐系统,混合推荐系统以及序列推荐系统

协同过滤推荐系统

协同过滤推荐模型是基于统计的机器学习算法得到推荐结果,可以细分为基于用户的协同过滤推荐基于项目的协同过滤推荐以及基于模型的协同过滤推荐
(1) 基于用户的协同过滤推荐的基本原理是利用用户之间访问行为的相似性来推荐用户可能感兴趣的内容;
基于项目的协同过滤推荐是根据所有用户对于项目的评价,寻求物品与物品之间的相似度,最后根据用户的历史偏好信息将相类似的项目推荐给用户。
协同过滤方法计算相似度的方法有很多,例如欧氏距离,余弦相似度,皮尔逊相关系数,Jaccard相似度等。

(2) 基于模型的协同过滤推荐是基于用户历史行为信息训练出一个推荐模型,然后根据实时的用户喜好的信息进行预测推荐。常用的方法有聚类,回归算法,支持向量机,贝叶斯网络,矩阵分解等等。矩阵分解将最原始的高维评分矩阵分解为两个低维度矩阵的乘积,而这两个低纬度矩阵可以代表用户特征矩阵以及物品特征矩阵[7]。

基于内容的推荐系统

基于内容的推荐模型是根据项目相关信息、用户的历史行为以及用户相关信息,获得用户的兴趣偏好为用户推荐跟他的兴趣偏好相似的项目。这里的项目相关信息可以是项目的文字描述信息、标签、评论以及人工标注的信息等。用户相关信息是指人口统计学信息(如年龄、性别、职业、地域、收入等等),用户的历史行为可以是对项目的评论、收藏、点赞、观看、浏览、点击等。

基于内容的推荐算法一般只涉及用户自身的相关信息以及行为提供推荐,不涉及其他用户的信息。
基于内容的推荐系统一般流程分为三步:内容表征,特征学习,生成推荐列表。其中内容表征指的是为每个项目抽取他们的特征并以此来表示该项目,使用的方法有特征加权法,信息检索中的TF-IDF法,word2vec法等;特征学习是利用一个用户过去喜欢或者讨厌的项目特征数据,来得到用户自身的喜好特征,可以抽象为一个有监督的分类问题,在这一步常使用的机器学习分类算法有:K近邻算法、决策树算法、Rocchio算法以及朴素贝叶斯方法;生成推荐列表即为将模型预测用户最可能感兴趣的前n个项目作为推荐返回给用户。

混合推荐系统

混合推荐系统将多种推荐算法结合起来做推荐,用来避免单个推荐算法存在的问题,最终获得比单个算法更好的推荐效果。最常见的是将协同过滤推荐方法和其他方法相结合,克服冷启动以及数据稀疏性等问题。

混合推荐系统根据混合方式的不同一般分为单体混合、并行混合以及流水线混合方式。单体混合主要有特征组合以及特征增强混合;并行混合利用多个独立的推荐算法,每个推荐算法产生各自的推荐结果,在混合阶段将这些推荐结果利用加权分支等方式融合起来,生成最终的推荐结果;在流水线混合方式中,一个推荐算法生成的推荐结果给到另外一个推荐算法作为输入(该算法可能还会利用其它的数据输入),再产生推荐结果,输入到下一个推荐算法,最后使用的算法产出最终的推荐结果。

序列推荐系统

序列推荐系统是从时间角度上考虑用户的点击行为,用户的动作在一段时间上是有先后顺序的,序列推荐模型通过用户的动作序列学习到用户兴趣的变化,从而能够对与用户下一个行为进行一个预测。传统的推荐系统以静态方式对用户项目互动进行建模,捕获的是用户的一般偏好。相比之下,序列推荐系统将用户与项目的交互视为动态序列,并考虑了顺序依赖性,以捕获用户当前和最近的偏好以获得更准确的推荐。

序列推荐示意图:

【推荐系统】推荐系统简介分类以及长尾问题

推荐系统分类图:【推荐系统】推荐系统简介分类以及长尾问题

协同过滤推荐和基于内容推荐有什么区别?

1.数据维度不一样
协同过滤推荐侧重使用用户对于商品的历史交互记录,即用户-商品的一个二维矩阵。

基于内容推荐侧重使用用户或者项目的属性进行建模,比如用户的性别、年龄、职业,商品的颜色、价格、大小等来表示。

比如,对于同一个用户来说,协同过滤需要根据该用户所在的矩阵某一行来表示,表示的是用户对于所有商品的交互记录。而基于内容推荐是利用用户的相关属性,例如年龄、学历、性别、爱好等组成一个特征向量来表示。

2.核心思想不一样
协同过滤侧重从大数据中寻找某些隐含的模式,即通过用户对于商品的历史交互行为来寻找相似的用户。
基于内容的推荐侧重于通过对用户的属性提取与项目进行匹配建模进而来寻找相似的用户或者商品。

相关文章: