计算内容热度的算法解释

栏目: 编程工具 · 发布时间: 5年前

内容简介:什么样的一个内容是热门的呢?这其实是一个相对的概念,面对不同的需求,它的表达是不同的。其中:可以看到热度 在这样的公式中有 4 个变量即 ,此公式与 Hacker News、Reddit 相同,只是定义内容质量 时用的逻辑不一样。

什么样的一个内容是热门的呢?这其实是一个相对的概念,面对不同的需求,它的表达是不同的。

其中:

  • :内容质量的数值表达,例如一篇文章质量可以定义成文章的点赞数,也可以根据产品需要定义为其他
  • :新内容的初始质量,具体含义后续解释中会理解
  • :重力 Gravity,或者说是一个内容变得不再热门的速度,重力越大,一个内容刷新的就越快
  • :时间

可以看到热度 在这样的公式中有 4 个变量即 ,此公式与 Hacker News、Reddit 相同,只是定义内容质量 时用的逻辑不一样。

1)热度 与时间 的关系

首先,我们看一个比较简单的关系,就是热度与时间的关系:

  • :100
  • :10
  • :1.5
  • :时间
计算内容热度的算法解释

很清楚,时间越大,热度越低。

2)热度 与初始质量 、时间 的关系

  • :0
  • :[2, 4, 6]
  • :1.5
  • :时间
计算内容热度的算法解释

我们能够看到,对于不同的初始质量 ,内容的初始热度是不同的,在后续的时间衰减中,如果其他数值不变,那么初始质量越高则内容热度越大。

3)热度 与初始质量 、重力 、时间 的关系

  • :0
  • :[2, 4, 6]
  • :[1.5, 1.2, 1.8]
  • :时间
计算内容热度的算法解释

面对不同的重力,即使初始质量高,重力大时其热度衰减很快。

4)热度 与质量 、初始质量 、重力 、时间 的关系

  • :[90, 190, 90]
  • :10
  • :[1.5, 1.5, 1.8]
  • :时间
计算内容热度的算法解释

我们看到三个交点:

  • : , 与 的交点

解释:一个内容质量 90 的内容,在 交点,即约 3.64 单位时间之后其热度低于一个全新的初始热度为 10 的内容。

  • : , 与 的交点
  • : , 与 的交点

解释:一个内容质量 190 的内容,在 6.36 单位时间之后,其热度低于任意新内容。而一个内容质量为 90 的内容,如果重力为 1.8,那么仅在 2.59 单位时间后其热度低于任意新内容。

我们可以看到如下结论:

  1. 初始质量 越高,老内容的热度更快的被最新生产的内容超越
  2. 一个内容的质量 越高,此内容热度高于新内容的时间越长
  3. 重力 越高,内容热度衰减越快,老内容的热度更快被新生产的内容超越

因此,在确定的初始质量 及重力 下,一个内容可以获得的 决定了其热度及被新内容超越的时间。

5)质量数值 与时间 线性正相关的假设

假设一个内容质量的数值表达与时间正相关,例如我们用一个文章的点赞量表达其质量,那么在一个限定的时间里,其时间越长,点赞量越高:

而 代表了一个新内容获得质量 的速度,也就是一个新内容获得点赞的速度,那么

  • :10
  • :1.5
  • :时间

其中我们测试了三个 分别是:20、25、30

计算内容热度的算法解释

我们看到三个交点:

  • : 与 的交点
  • : 与 的交点
  • : 与 的交点

解释: 越大,说明单位时间里一个内容可以获得的质量越高,也就是说明这个内容本身更受欢迎。对于交点 来讲,此内容在 1.62 个单位时间后,即使保持着 增长质量的速度,依然会被一个新内容的热度超越。而从 交点可以看到,如果其 增长速度为 ,那么在 6.46 个单位时间后才会被新内容的热度超越。

6)质量数值 与时间 对数正相关的假设

当然上面的假设有一个问题是,一个文章的质量表达很难和时间长期正相关,也就是说,文章存在时间越长,往往后续获得的点赞会降低。因此,我们可以假设 与 是对数相关的关系:

  • :获得点赞的速度
  • :随着时间迁移,获得点赞速度开始衰减的系数
计算内容热度的算法解释

我们看到三个交点:

  • : 与 的交点
  • : 与 的交点
  • : 与 的交点

解释:对比 与 我们可以看到,因为质量数值的增长随着时间变少,因而 内容更快地被新内容超越。

内容热度在掘金里的使用

  • :即一个内容的热度 rankIndexArticle
  • :即一个内容的 hotIndexArticle 是一个文章阅读数、评论数、点赞数加权求和的数值
  • :即一个内容初始的数值 rankIndexUser 是文章作者的影响因子
    • 影响因子与作者本身的历史掘力值相关
  • :一个衰减的重力参数
  • :文章自发布以来的时长

作为掘金社区,我们希望将更多好内容带给读者,从数值上,我们希望总和的 变高,同时平衡其与 之间的关系,即新内容获得的流量,与一个好内容获得流量之间交点的时间长度。

  • :一篇文章本身的质量表达,多快获得点赞、获得阅读,即点击率、点赞率
  • :点赞率、点击率随着文章存在时间是否会衰减,衰减得多块

说人话:一个获得了 1000 个点赞、10000 个阅读、100 个评论的内容,在计算规则下什么情况会被一篇新文章的热度超越。而整个社区的热度计算,是一个动态优化的问题。


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

重构

重构

Martin Fowler / 熊节 / 人民邮电出版社 / 2010 / 69.00元

重构,一言以蔽之,就是在不改变外部行为的前提下,有条不紊地改善代码。多年前,正是本书原版的出版,使重构终于从编程高手们的小圈子走出,成为众多普通程序员日常开发工作中不可或缺的一部分。本书也因此成为与《设计模式》齐名的经典著作,被译为中、德、俄、日等众多语言,在世界范围内畅销不衰。 本书凝聚了软件开发社区专家多年摸索而获得的宝贵经验,拥有不因时光流逝而磨灭的价值。今天,无论是重构本身,业界对重......一起来看看 《重构》 这本书的介绍吧!

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

SHA 加密
SHA 加密

SHA 加密工具

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具