4th Street Bar Hive-Bar

Hive-Bar Powered by Hive beta-fdb5b5b

Community post

推荐系统入门

说起推荐系统,好像总是算法人员应该考虑的事情,不过作为产品🐱(或🐶),了解一些基本的原理和设计理念还是很有必要的。
今天我们先搞清楚关于推荐系统的两个基本问题: 何时用 以及 如何用

When


推荐系统的定义

在互联网时代,搜索、推荐和广告三种是我们获取信息的三种主要途径,从用户角度来看,搜索属于主动式的信息获取,而推荐和广告则属于被动式。

推荐系统的本质是一个信息检索系统,利用上下文,根据当前用户所处的环境,根据信息的特点来决定推荐内容。

常见的推荐有人工推荐(例如编辑精选)和机器推荐(例如广告)两种方式,这里我们讨论的推荐系统范指机器推荐。

推荐系统的特征和场景
内容时效性低

没有或低时效性的内容(比如图书、电影、唱片),推荐系统可以基于推荐方法及模型完成推荐,而对于新闻这样时效性较高的内容,除了基于用户偏好进行推荐以外,还需要考虑时效性的权重,因为新闻是更侧重即时性的一种消费内容(当然不是说它不能做推荐)。

容易深度参与

没有依据,就无法进行所谓的精准推荐,一个真正可用的推荐系统需要用户深度的参与进来,以便于系统针对性的构建基于用户的特征体系,在推荐系统中这一类特征经常用来描述用户画像,包括用户的基本属性、消费内容、行为特征等。

千人千面的场景

用户对产品内容有很强的个人口味也可以考虑使用推荐系统,一些常见的购物网站是该场景的典型例子。

用户和内容多样化

如果用户和推荐内容比较单一,那么系统恐怕也推不出什么惊喜(哎呀,这些东西你全都看过了)。


How


协同过滤

用户画像是很多人都比较熟悉的一种推荐系统,实现起来相对简单,也比较精准,但对数据采集的成本要求很高,而且时间久了很难有惊喜(你不就长这样嘛)。

协同过滤(Collaborative Filtering)通过考虑用户(User)与用户之间、物品(Item)与物品之间的相似度(Similarity),来向用户进行产品或内容推荐。

说白了,就是找出跟你品味差不多的用户,把你们拉成一个帮派,他们喜欢的东西,系统排个序然后按推荐值也推荐给你啦。

常见的有以下两种:
  • 基于用户的协同过滤推荐
  • 基于物品(内容)的协同过滤推荐
基于用户的协同过滤推荐

假设我们有三个用户A、B、C,喜欢的部分书籍如下:

A:岛上书店,小岛经济学,白夜行
B:小岛经济学,智能时代
C:岛上书店,白夜行,达芬奇密码

可以看到A和C都同时喜欢「岛上书店」和「白夜行」这两本书,那么我们可以大致推断A和C的口味比较相似,所以可以把C喜欢的「达芬奇密码」也推荐给A。

这就是基于用户的协同过滤,基于用户的相似性进行匹配。

基于物品(内容)的协同过滤推荐

还是上面的例子,我们来看基于物品的协同过滤

A:岛上书店(小说),小岛经济学(经济),白夜行(小说)
B:小岛经济学(经济),智能时代(科技)
C:岛上书店(小说),白夜行(小说),达芬奇密码(小说)

是否可以把达芬奇密码推荐给A呢?首先看A偏爱的书籍类型,其中有两本是小说类,那么A很大程度上喜欢读小说,而达芬奇密码也是一部小说,因此很大程度上我们可以推荐给A。

那么其他书籍有没有被推荐的可能性呢?

从另一种角度看,岛上书店、小岛经济学、白夜行这三本书都各有2/3的人喜欢,也就是说这三本书容易被大众喜欢的概率较高,我们也可以考虑推荐给其他人。

基于物品的协同过滤,我们需要对物品的特征进行分析。

实际当中选择的时候,基于计算量的考量,一般会在用户和物品(内容)两者中选择体量较小的一方作为标准,即:

  • 用户多物品少,选物品
  • 物品多用户少,选用户

当然这只是一个基本的考虑标准,实际情况还需要具体情况具体分析。


Edgerank

Edgerank是外界对Facebook Newsfeed上新鲜事的排序算法的称呼,Newsfeed是一个兴趣Feed。这个排序算法基于三个因素进行考量:

亲密度:用户和内容创作者的亲密程度,取决于两者互动的频繁程度

权重:Feed流上的信息内容多种多样,比如文本、照片、视频等等,每一种类型出现在timeline上的权重都不完全一样,Facebook会根据一定时间的监测数据进行评级划分

时间衰减:同新闻类似,用户一般倾向于看更新鲜的内容,因而随着时间推移,某项话题的热度就会减少,排名降低

目标及优化

推荐系统不是万能的,我们应该利用已有资源尽可能的去解决更多问题,同时在系统运行的过程中,解决问题明显的一些典型的Bad Case,对于初期数据或者内容较少的情况下,可以尽量基于大众口味做一些普适推荐,后期再依据行为数据调整相应权重,提高千人千面的推荐效果。

2 upvotes $0.00

Replies (3)

Review before signing

Posting as . Signing with . Keychain permission: Posting. Hive Keychain will ask you to approve this action next.


  
Technical details

Operation fingerprint: