深入理解热度算法:如何做好内容推荐?

5 评论 16767 浏览 113 收藏 13 分钟

热门推荐是互联网产品中最常见的功能之一,比如“大家都在看”、“今日热卖榜”这些在各大网站上都随意可见,堪称标配。而其中推荐算法的好坏,则不仅密切关系着内容对用户的吸引程度,也同时反应了产品对内容的分发能力。

在一个产品中,如果不能及时发掘新鲜内容,并将优秀内容传播出去,甚至引爆,那么整个内容生态也难以搭建起来。

虽然时下,大家更有兴致讨论的都是个性化推荐,但它并不适用于所有产品,尤其是初创的、小众的产品。因为个性化推荐它必需依赖大量的用户数据以及对内容深入的挖掘,若不然强行个性化推荐只会适得其反。

这次,本文主要探讨实用性更强热度算法,它也并非想象中的简单粗暴,反而有不少只属于它的亮点。

本文不带一个数字公式,可安心食用^_^

一、基本原理

其实,在热度算法表层之下,还有不少的基础原理在支撑着它,但在本文中将不先扩展,而是以最普遍运用的牛顿冷却定律为例。

它的特点在于,引入了时间衰减的概念。

牛顿冷却定律若用函数来代表,则为:

热度 = 初始热度 + 互动热度 – 随时间衰减的热度

举个例子:

当一条微博产生后,随着用户的浏览、点赞、转发、它的热度逐渐攀升,进入榜单。

但因为这条内容本身具有时效性,如果不考虑这点,那么它可能长期霸榜,所以我们必须考虑到如何令它的热度随着时间的推移而衰减,从而令新的微博有机会取而替代,达到热门榜单动态变化的效果。

二、影响因素

在理解热度算法的基础原理后,我们可以得知影响热度计算的三个因素:

1. 原始热度

首先是原始热度,正如内容千差万别,再加上产品本身的定位、偏爱。

我们不太可能去为所有的内容赋予同样的初始热度,就比如一个大V发的微博和一个好友发的微博,以及一个陌生小号发的微博,它们从一开始就难以相提并论。

而我们又该如何给每个内容赋予不同的原始热度呢?

可以从两个维度出发:

(1)创作者,即创作这个内容的人,也可以是机构。

还是以微博为例,微博对用户做了不少划分,个人、垂直领域的知名博主、自媒体、机构、企业、政府等等,不同类型的身份也隐含他们的创作能力和传播价值。

所以在初始热度的考量上,我们就会考虑是否让大V用户发表的新内容更先一步的进入热榜。

当然,其它产品就算不像微博那样对用户有明确的归类,也可以利用一些基础的用户数据,比如:

  • 注册时长:是否激励新用户,还是优待老用户?
  • 活跃程度:一个投入更多时间精力的常驻用户是不是更大概率会创作出优秀内容?

(2)内容属性,则是从内容本身出发,根据它的类别、字数长度、丰富度、流行指数等有所侧重。

就比如在热门微博管理规范,就表示过含多张的图片,含#话题的就会加重热度,而带外链的,已有相似内容的则会降低热度。

具体哪些内容该赋予更高的热度,哪些内容又该冷处理,关键看这个产品的内容调性和氛关键可能看这个产品中主流用户的偏爱,以及运营人员想营造什么样的内容生态。

2. 互动热度

初始热度这一因素虽然看上去具有极大的天然优势,但往往在实际推荐算法中也不会占据主要的地位。

比如就算是一条超级大V发的和一条普通用户发的内容,可能在初始热度上差距也不会特别大,因为内容是否真的够好,还是要靠更广泛的用户来检验。

这也就是影响热度的第二因素——互动热度,这也是最为重要的,也可以理解为用户的行为数据。

我们需要先定义哪些用户行为可以提高这条内容的热度,像对一条微博的浏览、点赞、评论、转发、分享等,都可以代表了用户对它的感兴趣程度。

同时需要注意的是,不同行为的权重应该也是不同的。

比如,评论明显比点赞更有诚意,所以我们在计算互动热度时,可以对这些用户行为进行评级,浏览+1分,点赞+3分,评论+10分,转发+15分,分享+15分。

且在实际产品运营过程中,我们还需要根据用户规模、周期效应不断调整用户的行为分,同时考虑如何反作弊,若规则太生硬,是不是就会被有心人利用,这点后面会再探讨。

3. 随时间衰减的热度

由于大部分内容是属于一次消费型,用户看过也就过了。若热门推荐的榜单总是固定那几条,他可能很快就觉得乏味,从而转向别的产品。所以我们自然希望内容能不断更新,而若只看初始热度+互动热度,那么后来者必定很难超越前者。

所以,我们还需要考虑另一个因素——随时间衰减的热度

以社会热点来说,往往一件事情的时效性是在24小时内。

比如一项政策出台,大家都在关注,若不能及时推送,用户很可能已从别的渠道得知;而新鲜劲一过,这条内容再占着榜单也少有人问津了。

所以我们可以制定一个策略,这个内容在发布后,随着时间的推移,热度也开始逐步衰减。

同时需要注意的是,时间衰减通常不是线性的

毕竟结合现实情况来看,一条新内容产生后,我们可能先需要几个小时去传播它,看看它的热度反应。

在刚开始这期间,可以不必过多的去考虑时间衰减;而到了有效传播期之后,比如一条新闻过了24小时,那么我们就可以加重时间衰减的因素,尽量不让用户看到昨天的新闻。

三、如何进行人为干预:调整权重

上述的内容已经讲完了热度算法的核心内容,通过理解原理和三大影响因素,相信大家已经可以尝试去设计一套适合自家产品的热度算法了。

不过,在实际的内容运营中,哪怕一套算法再可靠,我们有时候还是难免想要进行一些人工干预。

这就涉及到了我们常用的一个手段:调整权重。

我们可以将权重这一因素,扩展到热度算法中,如:

热度 = 初始热度 + 互动热度 – 随时间衰减的热度 +/- 权重

然后在运营后台中,开放对内容进行加权、降权的功能。

权重调整其实另一方面也可以弥补热度算法的不足,因为通过传播去获取热度总是需要一定时间,可能没办法应对突发的大热点,而也有某些内容明明在被持续关注着,但却不得不随着时间衰减退出热榜。

四、偶然和极端

其实,除了上述我们预先规定好的因素外,还会有一些偶然的元素可能会影响到热度算法。

比如,一条内容在产品往往不止在热榜中可见,我们还会通过其它的方式去传播它,比如开屏、PUSH等,这些都会带来巨量的热度提升,而不是它自身在热榜里竞争所得,若不剔除这些偶然因素,则热榜的前几名很有可能就充满了运营导向的味道。

而且,在设计热度算法时,需要多考虑极端情况,比如若在网站流量不大的情况下,一条初始热度最高的内容,是不是可能永久无法被初始热量最低的内容超越?

五、反作弊

在一些知名产品中,热门榜单往往伴随着数据造假,如果我们不能有效的反作弊,那么所谓热榜则相当于名存死亡,成了营销者的聚集之地。

而至于如何反作弊呢,此文篇幅有限,不做深入,就先抛砖引玉下,比如:

1. 将不同用户对互动热度的贡献再次分级

前文提到了我们需要对用户的不同行为分级,贡献不同的互动热度;现在考虑到许多刷数据者使用都是批量小号,具有一些区别于正常用户的特征,比如注册时长慢,活跃度低。

那我们就可以对用户进行分群,比如新用户的点赞+0.3分,正常用户的点赞+1分,从而抬高了数据造假的难度和成本。

2. 实时监控异常数据,若发现违规,将人工降权

因为数据造假是很难模拟出像优秀内容那样的热度上升曲线,所以可以通过监控数据波动,来判断这条内容是否为自然增长,若察觉存在违规现象,则运营可以通过降权进行处罚。

六、抖音视频的推荐算法

讲完枯燥的理论,最后,再给大家分享下抖音是如何做内容推荐的,希望能帮助你更好的理解热度算法。

首先,抖音有一个流量池的概念,不论新人还是网红,当用户新发一条视频后,抖音都会将它推荐给一定的人,即启动流量,可能是300-1000人。

然后根据这条视频在流量池内的数据表现,比如完播率、点赞率、评论数、转发率等,再来决定是否要将这条视频推荐给更多人。

而在数据达标之后,抖音会再将这条视频引向更大的流量池,让新的1W-10W人看到,即叠加推荐,以此类推,数据越好,叠加越多的流量。

同时,上述所说的流量池是有区间的,决定具体数值,则就是上述影响因素的概念。

抖音里的影响因素是哪些呢?

  • 从创作者来看,比如注册信息、粉丝数、历史视频数、以往成绩等。
  • 从内容来看,比如视频画质、是否原创、是否独特等。

总结下,热度算法运用到具体产品中,并非要死板的照搬公式,而且要结合运营模式,也可以多点变通,就比如抖音,它将内容推荐设计成了阶段性的热度试探,这种做法别出心裁,效果也很不错。

 

本文由 @猫丸 原创发布于人人都是产品经理。未经许可,禁止转载。

题图来自Unsplash,基于CC0协议

更多精彩内容,请关注人人都是产品经理微信公众号或下载App
评论
评论请登录
  1. 请教一下大家,同时存在时效性内容和非时效内容的情况下,大家如何设置随时间衰减的热度趋势值?

    来自浙江 回复
  2. 很棒,以前没有接触过热度算法,学到很多

    来自北京 回复
  3. 早幼教

    回复
  4. 感谢分享

    回复
  5. 学习到不少,感谢分享

    回复