猜你喜欢” — 浅谈内容分发中的推荐系统

  • 为什么抖音刷起来停不下来?
  • 为什么网易云音乐总能推荐我喜欢的?
  • 你的爱好和口味系统到底是怎么猜到的?

内容推荐是一个较为复杂的模块,这篇文章先简单聊聊基于个性化推荐的内容分发系统。

整体分成五部分,越写越啰嗦,还好比较浅显。

第一部分 内容推荐与增长

聊个性化推荐,必须聊到今日头条。今日头条的崛起开始,标志着基于用户个性化的内容推荐模式成为内容分发不可忽视的力量。头条是如何弯道超车,一举成为信息分发领域的巨无霸呢?首先回顾之前各大新闻客户端、门户是如何组织分发内容的。

编辑生产内容——APP/门户展示内容——用户阅读内容

评价产品,既要看它所带来的用户价值,又要看它能产生的商业价值。以新浪搜狐为代表的的新闻客户端门的商业价值是什么?——广告

互联网广告主要分成三种业务形式,CPC(按用户点击付费)、CPM(按展示付费)、CPA(按行为付费)。这意味着用户在App上停留时间越长、越活跃,越有可能带来更多的品牌曝光和广告点击。最终为 App 带来利润。

因此新闻客户端的商业模式和核心目标也就清晰了:生产更多的内容,让用户更持久的留在平台中。

如图,这一个合理的、正向的循环。然而在头条看来,这个模式依然有不足。不足是什么?回归本质,平台内容是否有效的满足了用户。

这里包含两层意思,1、用户本身诉求是否满足;2、这种满足是否覆盖了足够多的用户。

用户本身诉求是否满足?

我们思考用户需求的是什么?用户们在读什么?在读信息。那信息到底是什么?两方对此都有不同的理解,而这种理解决定了发展方向的不同。

  • 新浪们认为,信息就是有价值的内容,就是新闻。
  • 头条认为,信息就是值得阅读的内容。

两者有什么差异?

1.对可读信息的理解不同

新浪认为,可读信息即是有价值的新闻。一条信息是否有价值,能被称之为新闻,由资深编辑们主导,展示由平台来决定。

头条认为,可读信息就是用户感兴趣的内容。有大众生产,也由大众消费。用户个体主观、独立决定是否对这条信息感兴趣。

这两种决策思路,使新浪们的信息总量对单个用户来说是相对固定的。而对头条的单个用户来说,信息总量无限多。

2.信息生产成本不同

新浪们,雇佣编辑生产内容,保证了内容质量,但成本相对高;

今日头条,将内容生产权和消费权交给更广阔的用户,自己做好平台的内容分发工作就可以。成本远低于新浪。

2.面向用户群不同

这是最重要的,新浪们,面向对内容质量有一定要求,且诉求明确的群体;

今日头条面向对信息诉求处于初级阶段,对信息质量和标准要求不高的群体。这部分群体更广大。

通过上面我们也回答了第二层意思:这种满足是否覆盖了足够多的用户?

基于个性化的推荐系统,头条内容池也可以在同一个内容列表页有效满足了长尾用户的多样性需求。

准确的产品定位,有效的满足诉求,广阔的增长空间,这是我们在谈个性化推荐给头条带来巨大增长时所需要了解的宏观条件,如果这些条件不具备,无论多完善的推荐系统也发挥不出巨大能量。头条增长模式值得研究,但可以肯定的是,增长时系统工程,不存在一招通杀。重视个性化推荐,但也不用过分神化。

第二部分 商业价值

谈商业价值,结合实际,以我做过的医美项目为例,医美App的盈利模式是什么?

  1. 引导用户下单,从订单中抽佣;
  2. 引导商户投放社区广告,从效果中获益。

先谈第一点,对医美用户来说,从对某个项目感兴趣到下单,需要非常长的决策周期(平均3-4周)。对平台来说,用户决策时间越短,越有利于促进订单转化,从而获利。

如何缩短用户决策时间呢?

医美,全称医疗美容。是一个新兴产业,需要进行大量用户教育工作。同时有很多医美用户或商家在平台内写了大量整容日记。这些日记具有用户真实案例和科普双重作用,有效降低用户抵触心理,消解担心。对帮助用户决策非常有效。因此需要向这些用户推荐与他们相关的内容,有利于提升整体订单转化率,从而提高企业利润。

再说第二点,医美项目间区别很大,不同用户对项目内容诉求差异非常大。一个想割双眼皮的用户很大概率对隆鼻没什么兴趣。

所以隆鼻商家广告展示给双眼皮用户没有任何价值。这种低效地投放展示对平台造成资源浪费,对用户来说体验差,商家也不会买账,这是三方都是一个多输局面。因此提升广告投放的准确性,成了多方诉求和趋势。

互联网产品是信息的集合,它最大的作用是信息分发,而推荐系统正式这个诉求下最重要影响最深远的解决方案。它兼顾每个用户,让信息传递更公平、更有效率,这即是它最大的商业价值和用户价值。

第三部分 兴趣偏好

了解推荐算法之前,首先我们认识一个词——“用户偏好”,又称“感兴趣的 xx”。用户偏好指的就是用户对某一事物的倾向性。

假设你喜欢吃冰淇淋,那么在超市琳琅满目的商品中,你一定会多看冰淇淋一眼,也有可能指着冰淇淋问价格,还有可能会挑挑选选然后购买,甚至再来一根。互联网产品挖掘用户偏好的方法简单来说也是如此。

我们都知道无论是网页还是APP,用户在网上的任何操作都会被记录下来。当你对某个内容产生兴趣,必然会有更多的浏览点击,更多的咨询和购买。系统则根据一套算法计算用户行为,对用户偏好进行分析判断,判断你喜欢什么。

还是以医美产品为例,平台上有各大商家的产品,如双眼皮、隆鼻、水光针等等很多品类。我们会统计用户在站内行为数据和并对不同行为进行加权计算,最后结果就是用户的品类偏好。

比如,浏览相关的帖子、浏览商品、将商品加入购物车、下单支付、咨询商品等行为,为每个行为赋有权重。通过计算行为频次再乘以权重,我们会得到该用户对某类项目的偏好值。再和其他项目偏好值进行对比,值最大的项目就是该用户最感兴趣的项目。

有了用户偏好特征这个数据,我们就解决了用户可能对什么感兴趣的问题,接下来我们就把相应的内容推荐给用户就好了。

这是一个相对粗糙,但在产品前期很有效的偏好计算方法。随着内容丰富度越高,推荐精细度要求也就越高,这套计算方法推荐准确度就会下降。我们就可以引入推荐系统,更系统长期的改善这个问题。

第四部分 认识推荐系统

4.1 相似度计算

衡量用户之间、内容之间的相似性我们用距离来刻画。距离越小,相似度越高,反之则说明相似度越低。常用欧氏距离和余弦距离进行度量。由于距离在很多算法中都会用到,属于技术性质,在这里不多涉及。(这部分只涉及和产品相关的原理部分,核心的技术部分可参考文末链接。)常见的推荐系统主要分成三大类,基于人口统计学的推荐、基于内容的推荐、基于协同过滤的推荐。

4.2 基于人口统计学的推荐

用一句话来说就是,系统对某个用户推荐的内容,取决于和他相似具有相似特征的用户喜欢的内容。

用户A 是名女性,年龄介于 18-22 岁,偏好商品A;用户B 是名男性,年龄介于 30-40 岁,偏好商品B、商品C;用户C 是名女性,年龄介于 18-22 岁;我们已为每位用户建立了用户画像,现在我们要给用户C 进行推荐。基于用户画像和合适的距离度量计算用户的相似度, 我们发现用户A 与用户C 最相似,可将用户A偏好的物品A推荐给用户C。

优点

  • 该推荐算法仅使用用户的基本信息数据,不涉及用户对物品的历史偏好数据,所以对于新用户来说,只要有他(她)的基本信息就可以进行推荐,不存在“冷启动”问题;
  • 该推荐算法在不同的物品领域都可以使用,因为它不依赖于物品信息;

缺点

  • 该推荐算法目前仅基于用户的基本信息,推荐比较粗糙;
  • 用户的基本信息不好获取,比如年龄、性别、职业等;在某些情况下,用户的基本信息也需要通过建模获取;

4.3 基于内容的推荐

——你喜欢的事物,给你推荐近似的事物

用一句话说就是,通过内容的基本信息确认内容与内容间的相似度,再根据用户历史偏好记录,将相似内容推荐给用户。

用户A 喜欢电影A,用户B 喜欢电影B,用户C 喜欢电影C,通过分析电影信息标签我们发现电影A 和电影B 属于相似影片。所以我们向用户A 推荐电影B,向用户B 推荐电影A。

存在问题

  • 数据质量要求高:该推荐算法依赖于物品或内容的描述数据,描述得越全面、完整,推荐得就越精确;即该算法对物品内容的数据质量要求较高;
  • 考虑不全面:该算法仅从物品内容本身的特征出发,没有考虑到用户对物品内容的态度;
  • 新用户问题:需要基于用户的历史偏好信息,所有对新用户无法进行推荐;

4.4基于协同过滤的推荐

4.4.1基于用户的协同过滤——和你相似的用户还喜欢什么?

用户A 偏好内容A,用户B偏好内容A、B、C,用户C偏好内容B、C

假设我们要对用户C进行推荐,通过相似度计算,我们发现发现用户C 与用户B 的距离最小,相似度最高,说明他们的偏好一致,可将用户B 偏好的而用户C还没未接触的内容A 推荐给用户C。

4.4.2基于内容的协同过滤——买过这款产品的用户还买过什么?**

用户A 偏好内容A,用户B 偏好内容B、C,用户C 偏好内容C

假设我们想推荐内容B,基于欧式距离计算内容B 与内容A、C之间的距离,发现内容B 与内容C 的距离最小,相似性最高,说明内容B、C比较相似,可能是同类产品,我们可将内容B 推荐给喜欢内容C 却还没对内容B 表示出偏好的用户C。

与上面基于内容推荐区别是,前者,基于内容推荐更偏向于两个内容是接近的、相似的,与用户的行为无关;后者,与事物是否相似关系较小,更多与用户行为有关,存在顺承关系。

基于用户的协调过滤和基于物品的协同过滤都能达到不错的效果,前者是先找相似的人,再找相似的人喜欢的物品;后者则是找到和某个物品相关的物品。两者在实际应用上有一定的区别。

如果是电商平台,商品信息相对稳定,在这种情况下基于物品的协同过滤算法更合适,不仅实时计算压力小,且不用频繁更新;

如果是一个新闻或者是内容网站,内容数据偏多且不断更新,用户规模大。造成内容重叠度低,特征变化快,再计算内容相似度,计算更复杂。可采用基于用户的协同过滤。从计算的复杂度来讲,这两个算法各有优势,我们要根据不同场景的特点去选择。

在实际应用中,一般不会只采用某一种推荐算法,而是将各个推荐算法进行组合。这方面更多是技术算法策略问题,在此不详述

第五部分 从零搭建推荐系统

如果我们想搭建个性化的内容推荐系统要考虑哪些问题?

5.1评估

  1. 宏观大盘,如开头提到,今日头条产品面向的人群比其他新闻客户端更大,有着更为精准的产品定位和用户增长空间,而推荐系统解决了信息分发效率问题,为今日头条的崛起插上了翅膀。所以在开始搭建之前要明确推荐系统给产品带来了哪些用户价值和商业价值,否则很难调动大量人员参与到这个项目中。
  2. 自身储备。做推荐,需要大量的内容库和用户样本、结构化的标签数据和强大的算力。三者少一个都支撑不了推荐系统。

5.2衡量与指标定义

非常认可一句话,如果你无法衡量它,你就无法有效增长它。我们要明确这件事的核心目的,核心指标、相关性指标分别是什么?回到医美App日记内容推荐中分析。我们做推荐,核心目的:缩短用户决策时间,提升订单量。因此订单量是核心衡量指标。

由于在成单路径上,受到很多因素影响,我们要找到与推荐系统最相关的指标。我梳理了一个简单用户行为路径。

用户打开APP用户看到一篇感兴趣的日记——内容推荐系统
用户点开了这篇日记——感兴趣 ——CTR(点击率)
用户看了一篇又一篇日记——停留时长、阅读篇数、次日留存
用户从日记本跳转到商品详情页选购——日记本穿透率
用户将商品加入购物车——加购率
用户完成下单——下单转化率

从上面我们可以看出,推荐系统相关性指标分别是,日记点击率、次日留存、阅读篇数、商品详情页穿透率、停留时长。参考这些指标,有利于我们对推荐系统的实际效果进行评估。除了指标数据外,不同维度的数据(如feed流的数据规律、分层用户的数据表现)也要注意挖掘提炼和分析。

5.3 搭建推荐系统

内容推荐的搭建主要分成三个模块,分别是内容模块、用户模块、分发模块。

5.3.1 内容结构化

  • 对要储备足够大量的内容,建立内容分发池。无论是人工生产还是爬虫抓取,足够多的内容库是内容分发的基础。
  • 对内容进行结构化处理。从标签、分类、维度等角度建立标签(Tag)。根据实际情况的不同,分类的颗粒度也会有差异。理论上Tag越准确越丰富,推荐效果越好。维度设计除基本属性类别作为标签,前期也可以开放部分打标签的权限给用户,允许自主分类,发现用户需求,使标签更贴合用户。当然注意标签维度更新频率要低。

5.3.2 用户建模

  • 对用户画像。通过用户自填、功能设计、系统抓取等方式收集梳理用户必要信息,如性别、年龄等,对不同用户的群体特征进行打标签,通过对标签的分类聚合形成一个个不同层次的用户画像。
  • 用户行为数据,通过埋点,收集分析用户站内行为,发现用户偏好,分析用户对内容的消费行为和反馈。

5.3.3分发匹配

  • 确定推荐策略和推荐模型,这个主要是产品参与,技术主导。
  • 进行内容展示的功能、交互和反馈设计。通过功能层对初期的推荐系统在分发方式上进行合理补充。

最后,当一切就绪后,就可以准备上线了。我们可以通过A&B测试的方式,建立对照组,评估我们的推荐系统是否有效带来了增长,是否显著拉动了相关指标尤其是核心指标。AB测试能够为我们在后需推荐系统的迭代优化中,起到非常重要的帮助。

至此,相对简单的推荐系统就搭建好了。

后记

推荐系统是非常纯粹互联网产物,它专注解决两个问题,一是如何向用户推荐他感兴趣的内容;二是如何发现用户更可能感兴趣的。随着各大公司对推荐算法研究深入,推荐准确度会不断提高。但同时,随着用户整体认知水平不断提高,对信息质量的诉求也会逐渐丰富,这种丰富会倒逼内容分发更具多样性。我相信,信息分发领域永远不存在一家独大,永远都有可能诞生出潜力无限的伟大公司。

我曾经非常喜欢推荐系统,因为它不仅具备多重价值,还拥有某种社会意义。它让信息更公平,每个人拥有信息阅读的权利,间接促进了社会公平。但是,推荐系统走向了弯路,它围绕用户编制了巨大的信息网,让用户无法跳出去看问题。这种信息茧房,营造了短暂的信息满足,限制了用户探索的欲望,让大众认知更局限,更偏激。

当然没有东西是完美的,推荐系统也在不断迭代,在台前幕后,不断试图了解我们的内心和情感,像亲人,也像魔鬼。

我也曾感动于系统如此懂我,但却时常怀念,曾经去跑到地摊钱买份报纸读半天的自己。

*END*

留下评论