个性化推荐引擎是如何工作的?

我们现在已经进入了一个信息爆炸的年代,人们在海量的互联网数据中寻找他们想要的信息变得越来越难,原来一个hao123可以满足的需求,现在可能一个搜索引擎都满足不了。 当用户对自己的需求相对清晰的情况下,通过简略的关键字表述,基本可以在搜索引擎内找到相关信息。但是,如果用户对自己的需求不清晰呢?这时候,推荐引擎就诞生了。相对于搜索引擎,需要用户主动去寻找内容,推荐引擎更加懒人化,用户只要被动地去接受内容就好了,推荐引擎会将你想要的内容推荐到的你的屏幕上。

推荐引擎的出现,让用户获取信息的方式从简单的目标清晰的数据查找,转向了更高级的更契合人们使用习惯的信息发现。特别是随着国内移动互联网红利的逐渐消失,流量费用越来越高,互联网产品精细化运营和变现变得越来越重要,重要到能决定一个公司的生死 。

现如今,推荐引擎已在电子商务(亚马逊、淘宝、当当)、内容产品(今日头条、网易云音乐、豆瓣)都取得了极大的成功。这也进一步说明,在面对海量数据的情况下,用户需要越来越智能,越来越了解他们需求、口味和喜好的信息发现机制。

用乔布斯的话来说:很多时候,人们不知道他们想要什么,直到把产品拿给他们看。用户可能会喜欢电影、产品、文章,但他们可能不知道它的存在,不知道哪里可以找到它。推荐系统的作用就是将对的产品、对的内容展示给对的用户,而不需要用户自己去搜索。

如果配置正确,它可以显著提高点击率、转化率、收入等重要指标。此外它还可以对用户体验产生其他无法量化的积极影响,例如提高了客户满意度。

前面介绍了推荐引擎出现的原因和意义。下面来看下推荐引擎的分类。

个性化推荐引擎是如何工作的1

首先推荐系统分为基于大众行为的推荐引擎和个性化推荐引擎。基于大众行为的推荐,是对每一个用户都给出相同内容的推荐机制,推荐规则由管理员人工来设定。而个性化推荐是对每一个用户,都依据他的喜好给出精确的内容推荐。其实平日里讨论的推荐引擎说的都是个性化推荐引擎,因为从根本上来说,只有个性化的推荐引擎才是愈加智能,适应互联网发展的信息发现机制。

个性化推荐引擎简介

什么是个性化推荐引擎?简而言之,个性化推荐引擎是一个黑盒子,它通过分析每个用户的画像和行为数据,来预测该用户的喜好,并给其推荐相应的内容或产品。

在现实世界中,可以将周围的人视为推荐引擎。

  • 服装推荐:商场里服装的款式成千上万,我们却经常依靠朋友和家人的推荐来选购,并告诉我们什么样的好看。因为他们有经验又懂你。
  • 图书推荐:当想要研究一个新项目时,我们的教授和老师可以引导我们找到最合适的入门书籍。因为他们有经验又懂你。
  • 电影推荐:如果你知道一个朋友的电影品味很棒,挑选电影之前一定会去询问他的意见,而不是征求陌生人的意见。因为他们有经验又懂你。

因为他们懂你,又有相关领域的经验。所以,个性化推荐引擎正是这样一种在一个在细分领域有着充分经验并了解你的人的虚拟化。

个性化推荐引擎实例

社交网站的个性推荐 – People You May Know

Facebook有一个功能可以给你推荐可能认识的人。这个系统内收集了茫茫多的个人数据,你在哪里上学,在哪里工作,用什么网络,坐标多少,喜好是什么,加入了哪些群组,这些数据Facebook全都知道。从这些数据里面,按匹配度筛选,就有了下图的这项功能。

个性化推荐引擎是如何工作的2

内容网站的个性推荐 – 豆瓣猜

当你填写你的兴趣或给电影评分的时候,其实正在帮助豆瓣过滤成千上万的数据,让豆瓣更好地了解你可能想要观看的内容。

个性化推荐引擎是如何工作的3

购物网站的个性推荐 – Customers also shopped for

如果你经常购买电子产品,你会看到Amazon给你推荐的数据线或者充电宝的建议。因为在他们的推荐引擎积累的数据中,绝大部分用户在购买核心产品的同时还购买了配件。

个性化推荐引擎是如何工作的4

个性化推荐引擎有哪些不同的类型?

一般来说的话,有三种最为常用的推荐系统:

  • 基于人口统计学的推荐机制
  • 基于内容的推荐机制
  • 基于协同过滤的推荐机制

基于人口统计学的推荐

基于人口统计学的推荐机制是最容易实现的个性化推荐方法,它仅仅依据用户的基本画像发现不同用户之间的相似程度,然后将相似用户喜欢的物品推荐给当前用户,下图给出了这种推荐的实现原理。

个性化推荐引擎是如何工作的5

从图中可以看出,首先系统针对每一个用户构建了一个简单的用户画像,其中会包括基本的用户信息,例如年龄、性别等等。然后系统根据用户的画像来核算用户的相似度。可以看到用户A和用户C的画像是一致的,那么系统会将他们视为相似用户。用户C喜欢了物品A和物品D,而用户A只喜欢了物品A,所以系统认定用户A也会喜欢物品D,因此将物品D推荐给用户A。

基于内容的推荐

基于内容的推荐是在推荐引擎出现之初使用最为广泛的推荐机制。他和核心思想是根据物品或者内容的元数据,发现物品或者内容之间的相关性,然后根据用户以往的行为数据,给其推荐相似的物品或者内容。下图给出了这种推荐的实现原理。

个性化推荐引擎是如何工作的6

从图中可以看出,首先系统针对电影的元数据进行了建模,这里只写出了电影的类型,实际上每部电影都将会包含茫茫多的元数据。然后系统根据电影元数据的匹配度来识别电影的相似程度。可以看到电影A和电影C互为相似,用户C同时喜欢了电影A和电影C,而用户A只喜欢了电影A,那么系统认定用户A也会喜欢和电影A相似的电影C,因此将电影C推荐给了用户A。

基于协同过滤的推荐

随着互联网的发展,用户的参与和用户的贡献越来越被提倡,基于协同过滤的推荐机制应运而生。上面说到的基于人口统计学和基于内容的过滤,无非是基于用户和用户的元数据,基于物品和物品的元数据之间的比对,以此来确定相似性。而协同过滤推荐原理就更厉害了,它是根据用户对内容的偏好,来发现用户相关性,或者内容相关性,然后基于这些相关性进行推荐。协同过滤系统算法不再会识别用户,也不再会识别物品和内容,这里的基准点只有一个,就是相关性。

协同过滤还细分三种类型:基于用户的推荐,基于项目的推荐、基于模型的推荐。

基于用户的协同过滤推荐

基于用户的协同过滤推荐的基本原理是,根据所有用户对物品的偏好,发现与当前用户偏好相似的用户群,并给当前用户进行推荐。下图给出了这种推荐的实现原理。

个性化推荐引擎是如何工作的7

从图中可以看出,首先,系统不会识别用户和物品的属性或元数据。然后,用户C喜欢物品A、物品C、物品D,用户A喜欢物品A、物品C,两个用户的偏好比较类似。而用户A还没有喜欢用户C喜欢的物品D,所以将物品D推荐给用户A。

基于用户的协同过滤推荐机制,和上面说讲到的基于人口统计学的推荐机制,两者说白了都是计算用户之间的相似性,不同的只是计算的方法。基于人口统计学的推荐机制考虑的是用户本身的属性,而基于用户的协同过滤机制是在用户的历史偏好数据上计算用户之间的相似度。

基于项目的协同过滤推荐

基于项目的协同过滤推荐原理也是类似的。它使用所有用户对物品或者内容的偏好,来发现物品和物品之间的相似度,然后根据用户的历史偏好信息,将类似的物品推荐给用户。下图给出了这种推荐的实现原理。

个性化推荐引擎是如何工作的8

从图中可以看出,首先,系统不会识别用户和物品的属性或元数据。然后,用户A喜欢了物品A和物品C,用户B喜欢了物品A、物品C、物品D。从以上用户偏好可以看看出,凡是喜欢物品A的用户都喜欢了物品C,说明物品A和物品C是类似物品。而用户C喜欢了物品A,可能也会喜欢他没有喜欢的物品C,所以将物品C推荐给用户C。

与上面讲的类似,基于项目的协同过滤推荐和基于内容的推荐其实都是基于物品相似度预测推荐,只是相似度计算的方法不一样,前者是从用户历史的偏好推断,而后者是基于物品本身的属性特征信息。

基于模型的协同过滤推荐

基于模型的协同过滤推荐就是基于样本的用户喜好信息,训练一个推荐模型,然后根据实时的用户喜好的信息进行预测,计算推荐。

混合推荐机制

在目前市场上无论是购物网站还是新闻应用,推荐系统都不会是上面所说到的单一推荐系统,而是两者的混合体,这样推荐将会更科学有效。同时,这种方法还可以用于克服推荐系统中的常见问题,例如冷启动和数据缺乏。关于如何组合各个推荐机制,这里讲几种比较流行的组合方法。

加权的混合(Weighted Hybridization): 用线性公式(linear formula)将几种不同的推荐按照一定权重组合起来,具体权重的值需要在测试数据集上反复实验,从而达到最好的推荐效果。

切换的混合(Switching Hybridization):前面也讲到,其实对于不同的情况(数据量,系统运行状况,用户和物品的数目等),推荐策略可能有很大的不同,那么切换的混合方式,就是允许在不同的情况下,选择最为合适的推荐机制计算推荐。

分区的混合(Mixed Hybridization):采用多种推荐机制,并将不同的推荐结果分不同的区显示给用户。其实,Amazon,当当网等很多电子商务网站都是采用这样的方式,用户可以得到很全面的推荐,也更容易找到他们想要的东西。

分层的混合(Meta-Level Hybridization): 采用多种推荐机制,并将一个推荐机制的结果作为另一个的输入,从而综合各个推荐机制的优缺点,得到更加准确的推荐。

结语

在这个信息爆炸的时代,怎么让用户更快的找到想要的信息,无论对于电子商务还是移动应用领域都至关重要。推荐引擎的出现,使得这个问题越来越被大家重视,成功的案例也随之越来越多,玩法越来越复杂。

当你在了解推荐引擎的时候,其实推荐引擎更无时无刻地在了解你的需求、你的习气,无声地记录着,分析着,找到你偏好的东西。 其实,回头想想,许多时候,推荐引擎也许比你更了解你自己。