豆瓣電影的分數和排序是怎麼算出來的?

應該不是平均分吧?如果平均分同樣是5分,會不會考慮打分的人數什麼因素?比如1000個人打的和500個人打的,分數應該是不一樣的吧。如果得分相同,誰排前面,誰排後面?


豆瓣250里排序是綜合分數和人數產生的,這個和IMDB總的想法類似。

每一部電影的分數,確實主要是平均分數,但不簡簡單單是。因為偶然要和影托或者其他非正常個人意見PK,演算法考慮了很多因素,包括時間和打分者自身的情況。細節不便公開,而且經常在細調。原則是盡演算法範疇的所有能力去接近和還原普通觀眾最原汁原味的平均觀影意見。

有一個因素從來沒有考慮過,就是商業合作。只要我在豆瓣,商業合作和分數不會有任何關係。


可以參考IMDB的評分模式
這是一種貝葉斯統計的演算法得出的加權分(Weighted Rank-WR)
IMDB評分如下:
weighted rank (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C

其中:

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 1250) (進入imdb top 250需要的最小票數,只有三兩個人投票的電影就算得滿分也沒用的)

C = the mean vote across the whole report (currently 6.9) (目前所有電影的平均得分)


本文第一部分主要是轉載內容,捎帶一些自己的補充,介紹了IMDB現有評分機制。來源網址:http://left-uestc.com/2011/05/14/three-scoring-algorithms/

第二部分狗尾續貂,寫了些自己的見解。

———————轉載開始——————

IMDB的排名評分標準應該是相當完善的,根據貝葉斯統計公式算出來加權分,對加權分有影響的因子有普通方法計算出來的平均分,投票人數和目前所有電影的平均分,這樣的計算結果顯示的是電影之間的相對關係,可以說跟豆瓣、時光這種靠平均統計打分,更能體現齣電影的實際質量。

具體的計算公式如下:

weighted rank (WR) = (v ÷ (v+m)) × R + (m ÷ (v+m)) × C

其中:

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 1250) (進入imdb top 250需要的最小票數,只有三兩個人投票的電影就算得滿分也沒用的)

C = the mean vote across the whole report (currently 6.9) (目前所有電影的平均得分)

另外重點來了,根據這個注釋: note: for this top 250, only votes from regular voters are considered.

只有『regular voters『的投票才會被計算在IMDB top 250之內,這就是IMDB防禦因為某 種電影的fans拉票而影響 top 250結果,把top 250盡量限制在資深影迷投票範圍內的主要方法。

regular voter的標準不詳,估計至少是「投票電影超過xxx 部以上」這樣的水平,搞不好還會加上投票的時間分布,為支持自己的心愛電影一天內給N百部電影投票估計也不行。因此,細心的人可以注意到,列入IMDB top 250的電影,其主頁面上的分數與250列表中的 分數是不同的。

——————轉載結束———————

研究一下公式里的C和m可以發現,IMDB為Top 250的影片每部都增加了1250個votes,且都為6.9分(平均水準),這樣可以保證每部影片都有1250+個評分,再用不停產生的votes來修正修正,v/(v+m)的值會越來越大,權重將越來越大,長期來看,該得分也就越能反映影片的真實水平。

2、自己的一些看法

其實一些電影交易類平台,因為有著交易作為先驗數據,理論上會比IMDB更有優勢去做好影片的評分。因為平台上積累了:用戶是否買過電影票,購買頻次如何,觀影的cast傾向和style傾向(可以有效定位fans和「不解風情」的)。

而像大眾點評、淘寶這樣的「多業務交易UGC平台」,因為積累了用戶在更多業務上的交易和UGC(評論、評分、傳圖、社區帖子、搜索)數據,如果充分利用起來,更能做到「人機分離」、「去偽存真」和「偏見」修正。


【利益相關】:本人現供職於大眾點評


就是平均分 IMDB的評分模式是在排名的時候用的


其實考慮個人信譽權重的確可以提高精確度,基本的實現並不困難,無外乎就是一些評價結果的反饋性迭代。但是由於電影評價類似於文學評論,具有過高的主觀因素,因此精確化的評分機制(比如按照影片類別、受眾特點等)其實還是相當困難——這也是我曾經想做的一個演算法:即一個評論目標不是只有一個評分,而是根據用戶的身份、年齡、性別、喜好等給出一個評分,其對於不同人的差異類似「你可能會喜歡xx影片」的結果因人而異一樣


rating+bayes stats


哪有那麼複雜。用計算器都能算出來,就是平均分啊。兄弟們!


推薦閱讀:

為什麼有很多人在豆瓣上給《大聖歸來》打一顆星或者兩顆星?

TAG:演算法 | IMDb | 統計 | 豆瓣 |