什么样的一个内容是热门的呢?这实际上是一个相对的概念,面对不一样的需求,它的表达是不一样的。测试
其中:优化
能够看到热度 在这样的公式中有 4 个变量即
,此公式与 Hacker News、Reddit 相同,只是定义内容质量
时用的逻辑不同。3d
首先,咱们看一个比较简单的关系,就是热度与时间的关系:code
很清楚,时间越大,热度越低。cdn
咱们可以看到,对于不一样的初始质量 ,内容的初始热度是不一样的,在后续的时间衰减中,若是其余数值不变,那么初始质量越高则内容热度越大。blog
面对不一样的重力,即便初始质量高,重力大时其热度衰减很快。产品
咱们看到三个交点:it
解释:一个内容质量 90 的内容,在 交点,即约 3.64 单位时间以后其热度低于一个全新的初始热度为 10 的内容。io
解释:一个内容质量 190 的内容,在 6.36 单位时间以后,其热度低于任意新内容。而一个内容质量为 90 的内容,若是重力为 1.8,那么仅在 2.59 单位时间后其热度低于任意新内容。社区
咱们能够看到以下结论:
所以,在肯定的初始质量 及重力
下,一个内容能够得到的
决定了其热度及被新内容超越的时间。
假设一个内容质量的数值表达与时间正相关,例如咱们用一个文章的点赞量表达其质量,那么在一个限定的时间里,其时间越长,点赞量越高:
而 表明了一个新内容得到质量
的速度,也就是一个新内容得到点赞的速度,那么
其中咱们测试了三个 分别是:20、2五、30
咱们看到三个交点:
解释: 越大,说明单位时间里一个内容能够得到的质量越高,也就是说明这个内容自己更受欢迎。对于交点
来说,此内容在 1.62 个单位时间后,即便保持着
增加质量的速度,依然会被一个新内容的热度超越。而从
交点能够看到,若是其
增加速度为
,那么在 6.46 个单位时间后才会被新内容的热度超越。
固然上面的假设有一个问题是,一个文章的质量表达很难和时间长期正相关,也就是说,文章存在时间越长,每每后续得到的点赞会下降。所以,咱们能够假设与
是对数相关的关系:
咱们看到三个交点:
解释:对比 与
咱们能够看到,由于质量数值的增加随着时间变少,于是
内容更快地被新内容超越。
rankIndexArticle
hotIndexArticle
是一个文章阅读数、评论数、点赞数加权求和的数值rankIndexUser
是文章做者的影响因子
做为掘金社区,咱们但愿将更多好内容带给读者,从数值上,咱们但愿总和的 变高,同时平衡其与
之间的关系,即新内容得到的流量,与一个好内容得到流量之间交点的时间长度。
说人话:一个得到了 1000 个点赞、10000 个阅读、100 个评论的内容,在计算规则下什么状况会被一篇新文章的热度超越。而整个社区的热度计算,是一个动态优化的问题。