Hacker News排名算法是怎样工作的:得分、争议和罚分 - 博客 - 伯乐在线
Hacker News排名算法是怎样工作的:得分、争议和罚分 更新(11/18):关于罚分机制的文章被罚分了 Hacker News排名的基本公式已经公开好几年了,但是人们依然对此有所疑惑。公开的代码是不是实现了真正的算法?排名仅仅与投票有关,还是也受到一些不可见因素的影响?在排名中,关于美国国家安全局的新闻是不是会被降低排名?为什么你评论了首页的文章之后,那篇热门文章就忽然从首页消失? 根据几天来对HN上排名前60的新闻的仔细分析,我可以回答这些问题。公开的计算公式基本上是精确的。对于排名的调整工作比你想象的还要多,首页上20%的文章会被以各种方式罚分。所有标题中含有“美国国家安全局”的新闻都会被罚分并且排名迅速下跌。一则“有争议”的新闻在被评论了40次之后,被严厉地罚分。这篇文章详细解释了得分和罚分的机制。 你可能认为每当你浏览HackerNews网站的时候,每则新闻都通过上面的公式计算了得分,并且排序来决定它们在网页上的最终顺序。但是为了高效,新闻只是偶尔被重新排序。当有新闻被用户赞成时,它被重新排序,在列表中上移或下移调整到适当的排序位置,并不改变其他新闻的得分和相对顺序。这样,重新排序的工作就被大大减少了。但是,有可能一则新闻不再获得投票并且最终停留在一个较高位置。为了避免这种情况的出现,每隔30秒,随机选出前50则新闻中的一则进行重新排序。结果是,一则新闻如果一直没有获得投票,那么这则新闻可能在很长时间里被“错误”排序。同时,网页可以被缓存90秒。 这幅图中有一些有意思的现象。一篇文章的得分会很快增长并且在未来的几小时中缓慢降低。这一现象的主要原因是计算得分的公式:一篇文章得到连续的赞成投票后,得分会迅速到达峰值,然后得分逐步减小。但是,观察到的峰值增长更快——因为一篇文章在发布的一两个小时内会获得很多的赞成投票,然后投票的速度会减慢。由于这两个原因,出现了上图所示的陡峭曲线。 有一小部分文章每天的得分远远高于其他文章,同时,很多文章的得分处在所有文章的在中等水平。一些文章的得分很高,但是不幸的是,它们比一些更加受欢迎的文章得分稍低。当目前得分第一的文章得分逐渐降低,而后来的文章得分正在上升的空隙时间内,其他文章很容易获得暂时的第一名位置。 图中绿色的三角形和文字说明了争议罚分的应用。蓝色的三角形和文字表示文章由于罚分而被遗忘,跌出了前60的排名Read full article from Hacker News排名算法是怎样工作的:得分、争议和罚分 - 博客 - 伯乐在线
No comments:
Post a Comment