推荐系统简介

随着科技的发展,互联网信息逐渐从匮乏转变为泛滥的阶段。当系统中存在海量数据时,指望用户手动从分类目录页找数据是不现实也是不友好的,这也解释了 Yahoo 从早期巨无霸般的存在沦落到今天没有 Google 一个手指头大的现象。为了解决信息过载这个问题,衍生出两种有效方案:搜索 & 推荐。不同的场景使用不同的方案:

搜索的话题我会找机会写一些 blogs,由于近期一直在优化口袋的推荐服务,所以今天先来谈谈推荐。

Profile

推荐,顾名思义,给用户推荐感兴趣的物品。手段可以有多种多样,包括分析用户历史行为数据,来进行个性化推荐,或者像微博一样简单粗暴的推荐全局最热,都不管你认不认识 :sad: 大家好,给大家介绍一下,这是我的x~3w!。

所以可以看出,推荐的任务其实就是关联 user <—> item。一方面帮助用户发现信息,一方面帮助信息展现给对它感兴趣的内容,实现信息的有效流动。

同时,推荐系统还可以很好的解决长尾问题 What Amazon teaches us about the long tail market for content discovery

主流的应用到推荐的产品包括:Amazon、豆瓣、淘宝、知乎等,不同的产品有不同的定位,使用的数据来源、推荐算法也各有特色。

用户行为数据

上文提高,推荐主要依靠用户的历史行为数据,这些数据可以按照两种维度来分类:

  • 根据反馈的明确性:显性反馈,隐性反馈
  • 根据反馈的方向性:正反馈,负反馈

反馈的明确性

其中显性反馈表示包含用户明确表示对物品喜好的行为,隐性反馈不能明确表示对物品的喜好。 某些网站中使用5分评分系统来让用户表达对物品的喜好,也有些使用简单的“喜欢”/“不喜欢”来收集数据。不同的网站根据自己的特点设计评分系统。 最具代表性的隐性反馈是浏览行为,虽然意图不明确,但是数据量更大。

  显性反馈 隐性反馈
视频网站 对视频的评分、评价 用户观看视频的记录
电子商务网站 对商品的评分、评价 浏览日志
音乐网站 对音乐/专辑/歌手的评分、评价 听歌的日志
口袋 对内容的收藏/购买/分享/下载/订阅 内容浏览日志

反馈的方向性

正反馈是指用户的行为倾向于指用户喜欢该物品,而负反馈指用户的行为倾向于不喜欢该物品。在显性反馈中,很容易区分用户行为是正反馈还是负反馈,但是隐性反馈中比较难判断。在口袋中:

正反馈 负反馈
订阅/收藏/购买/分享/下载 取消收藏/取消订阅

更进一步的,当给用户推送的 feed 流中,用户略过前 3 条,直接查看第 4 条,即可看作对前 3 条推荐的负反馈。

今天就聊到这里,下期我会简单分享下推荐系统的主流算法。