读书人

Reddit评述排名算法

发布时间: 2013-03-21 10:08:17 作者: rapoo

Reddit评论排名算法

?上一篇文章介绍了Reddit的排名算法,今天继续上一篇文章,需要学习的是reddit的评论排名算法。与文章新闻类排名不同的事,评论类的算法可能发表时间没有什么关系。

????目前很多网站采用的评论排名主要有两种,即绝对好评数(好评减去差评)和好评率(好评/总评)。这两种评价方式 都存在很明显的缺陷,以下为事例:

????其中

p 是好评率n 是总投票数Z (1-α/2)?表示对应某个置信水平的z统计量,这是一个常数,可以通过查表得到。一般情况下,在 95% 的置信水平下,z统计量的值为1.96。

????可以公式看到,当n的值足够大时,这个下限值会趋向Reddit评述排名算法。如果n非常小(投票人很少),这个下限值会大大小于Reddit评述排名算法

???? 。实际上,起到了降低”好评率”的作用,使得该评论的得分变小、排名下降。

????威尔逊得分区并不关心一个评论的投票数,而关心好评数和投票总数或采样大小的相对关系!

????Reddit评述排名算法

????上图是根据威尔逊得分区计算出来的值:一个评论有1个好评,没有差评,它的支持率是100%,但是由于数据量过小,系统还是会把它放到底 部。 但如果,它有10个好评,1个差评,系统可能会有足够的信息把他放到一个有着40个好评,20个差评的评论之前。因为我们基本确认当它有了40个好评的时 候,它收到的差评会少于20个。最好的一点是,一旦这个算法出错了(算法有15%的失效概率),它会很快拿到更多的数据,因为它被排到了前面。

????威尔逊得分区间不仅仅用于评论排名,它还试用于以下情景:

垃圾邮件检测:看到这个内容并将它标记成垃圾邮件的百分比有多少?创建精华列表:看到这个内容并将它加星标件的百分比有多少?创建最受欢应列表:看到这个内容并将它转发给朋友的百分比有多少?说了那么多,再来看看威尔逊得分区间的缺点,从上面的分析中也很容易发现问题,即排行榜前列总是那些票数最多的项目,新项目或者冷门的项目,很难有出头机会。

????参考文章:

????http://en.wikipedia.org/wiki/Binomial_proportion_confidence_interval#Wilson_score_interval

????http://blog.reddit.com/2009/10/reddits-new-comment-sorting-system.html

????http://www.evanmiller.org/how-not-to-sort-by-average-rating.html

读书人网 >其他相关

热点推荐