欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  新闻

豆瓣250评分排名算法机制

程序员文章站 2022-06-07 12:58:28
  据豆瓣的创始人阿北称,豆瓣评分机制,简单地说,就是把豆瓣用户的“正常打分”(一到五星换算为零到十分)加起来,再除以用户数。豆瓣也是有 “非正常打分” 规避机制的。基于 “所有能判断属于非正常评分的一概不算” 原则,豆瓣的程序会 “判断” 出那些 “非正常分数”,将其剔除在评分之外。...

  据豆瓣的创始人阿北称,豆瓣评分机制,简单地说,就是把豆瓣用户的“正常打分”(一到五星换算为零到十分)加起来,再除以用户数。豆瓣也是有 “非正常打分” 规避机制的。基于 “所有能判断属于非正常评分的一概不算” 原则,豆瓣的程序会 “判断” 出那些 “非正常分数”,将其剔除在评分之外。

  豆瓣250,则是豆瓣根据每部影片看过的人数以及该影片所得的评价等综合数据,通过算法分析产生豆瓣电影 top 250。

  豆瓣250的进榜算法,估计是和类似,也用了所谓加权平均分的算法。

豆瓣250评分排名算法机制

  根据imdb网站上公布的top250评分标准:

  imdb top 250用的是贝叶斯统计的算法得出的加权分(weighted rank-wr),公式如下:

  weighted rank (wr) = (v ÷ (v+m)) × r + (m ÷ (v+m)) × c

  用中文表示就是:加权平均分= [经常投票者投票人数÷(经常投票者投票人数+进入top250需要的最小票数)]×普通方法计算出的平均分+[进入top250需要的最小票数÷(经常投票者投票人数+进入top250需要的最小票数)]×目前所有电影的平均得分

  其中:

  r = average for the movie (mean) = (rating) (是用普通的方法计算出的平均分)

  v = number of votes for the movie = (votes) (投票人数,需要注意的是,只有经常投票者才会被计算在内,这个下面详细解释)

  m = minimum votes required to be listed in the top 250 (currently 25000) (进入imdb top 250需要的最小票数,只有三两个人投票的电影就算得满分也没用的,目前是25000票)

  c = the mean vote across the whole report (currently 7.0) (目前所有电影的平均得分,目前是7.0)

  对于豆瓣250来说,m值和c值会与imdb 250不同。

  如何将刷票行为排出到最终的分数外,关键点就在于“经常投票者投票人数”这个值上,只有“经常投票者”(regular voter)的投票才会被计算在top 250之内。

  为了防止用户作弊,“经常投票者”的标准一直未公开,但我们不难猜测,它对用户的投票历史有要求,比如投票的数量,或者满足一定的投票资历,如投票满一年,或者和用户的注册时间、使用频率等等有关,另外可能还会过滤单位时间内投票数量过多之类的。

  此外,豆瓣250还会对电影上映时间有要求,只有上映时间超过一年的电影才有可能上榜豆瓣250,从而避规一些电影的刷榜行为。

  因此,如果一部上映超过1年的电影,其豆瓣评分和投票人数都高于豆瓣250榜单的同类电影,却没有上榜,就说明其regular voter的数据可能有问题而被过滤,导致其最终算出的加权平均分没有达到入榜的条件。

豆瓣250评分排名算法机制