一個集成的電影評分指標MovieIndex

一個集成的電影評分指標MovieIndex的圖1

1 引言

由于最近寫數據科學的總結報告,需要重新回顧過去寫過的代碼,偶然地翻出“找出一部影片的相似影片.py”,這個代碼的核心部分是對電影設計了一個新的評分指標,代碼大約是四五年前寫的,純屬自娛自樂。下面簡要描述了代碼的工作原理和實現效果。

基于大數據的疫情電影---你看過幾部?

基于文檔名稱的相似度查詢---以電影數據庫為例

基于附加信息cast和genres的相似電影查詢


2 背景

在專門的電影類網站中,如豆瓣和IMDB, 每部電影都有一個評分,評分區間1-10,總體上代表著一部電影的好看程度。每個網站都有自己的評分算法,因而評分結果不一樣。不過,這種評分是相對靜態的,沒有定量地考慮到該電影的流行度。而且由于用戶群的不同,每個網站給出的評分也不一樣。MovieIndex一方面試圖綜合不同網站給出的評分,另一方面考慮了電影的流行程度。


3 MovieIndex

下面以電影《The Ice Road》[2021采礦電影]冰路營救/極地冰劫/疾凍救援(The Ice Road)為例,描述MovieIndex的實現原理。

(1) 首先輸入一部電影的近似名,獲取出該部電影確切的名稱(title), 出品年份(year)以及電影的ID.

一個集成的電影評分指標MovieIndex的圖2

(2) 獲取該電影在兩個流行網站上的評分, 一個來自IMDB,另一個來自Metacritic. 順便提一下這兩個網站,IMDB的用戶主要是普通觀眾,Metacritic的用戶主要是職業或半職業的影評人。普遍認為Metacritic對一部電影本身的評價更準確些。

一個集成的電影評分指標MovieIndex的圖3

IMDB的評分變量為rating,Metacritic的評分變量為mc_userscore。有的電影Metacritic沒有給出評分,在這種情況下,把rating的值賦值給mc_userscore,使得mc_userscore的值不會為空。

(3) Metacritic的用戶評價評分。設計了如下算法計算等效的用戶評價分數。 

一個集成的電影評分指標MovieIndex的圖4

IMDB用戶的評分使用了如下算法:

review_rating = float(imdb_review)/1000 

(4) 流量評分。用戶看得多,分數越高。

votes = this_movie.get('votes')

votes_rating = float(votes)/10000

所以MovieIndex由以下5個變量組成:

Movie Index= rating + 

mc_userscore + 

equivalent_score + 

review_rating + 

votes_rating 

與普通的評分標準不同,MovieIndex沒有上限值,值越大,表明這部電影的質量越高,流行性越廣。對于《The Ice Road》計算的MovieIndx=11.9:

[11.9] The Ice Road (2021) [5.5/4.6/42/492/9236] (109m) Action|Adventure|Drama|Thriller 

可以看出這部影片的評分很低。比較連姆-尼森(Liam Neeson)主演的其它兩部電影:

(1) 通勤營救 [24.4] The Commuter (2018) [6.3/6.3/56/516/107127] (104m)

Keywords: passenger train, conspiracy, money, hostage, train 

一個集成的電影評分指標MovieIndex的圖5

(2) 空中營救 [40.3] Non-Stop (2014) [6.9/7.0/56/467/253814] (106m)

Keywords: die hard scenario, passenger, mind game, deception, suspense 

一個集成的電影評分指標MovieIndex的圖6


4 結束語

這篇短文描述了我幾年前學習Python語言時設計的一個集成的電影評分指標MovieIndex,不僅考慮了一部電影的短期效應,而且考慮了電影的動態效應和長期效應,即用戶的參與度與流行度,能夠更準確地評價一部電影的好壞。作為一個好萊塢動作電影迷,作這個純屬自我娛樂之用,沒有任何學術價值,但在某種程度上,有可能的潛在商業價值一個集成的電影評分指標MovieIndex的圖7。

登錄后免費查看全文
立即登錄
App下載
技術鄰APP
工程師必備
  • 項目客服
  • 培訓客服
  • 平臺客服

TOP