楊秀璋 夏 換 于小民 李 娜
(1.貴州財經大學 信息學院,貴州 貴陽 550025;2.貴州財經大學 貴州省經濟系統仿真重點實驗室,貴州 貴陽 550025;3.中國船舶工業系統工程研究院,北京 100036)
隨著人們生活質量的提高,精神文化需求也在不斷增加,觀看電影已成為人們重要的娛樂消費之一。中國電影市場在近幾年飛速發展,電影產量、票房和人次持續增長,2017年全國電影總票房為559.11億元,同比增長13.45%;城市院線觀影人次16.2億,同比增長18.08%[1]。目前,國內外利用數據挖掘或機器學習算法深層次分析電影數據的研究相對較少,而傳統的電影數據分析方法主要是基于簡單的票房和時間維度,基于劇情表現手法和視聽特效的方法,其分析方法比較單一,不足以發現并直觀地呈現電影數據深層次的規律,缺乏利用社交網絡構建演員關系圖譜并智能化推薦符合觀眾口味的電影[2],沒有結合機器學習算法挖掘影響電影票房和質量的相關因素。
針對這些問題,本文提出了一種基于社交網絡和決策分類的電影數據分析方法,并結合可視化技術直觀地反映影響電影票房和質量的多種因素。本文旨在分析出影響中國電影市場票房和質量的電影類型、演員陣容、制作團隊等,從多個維度挖掘中國電影市場的特點,利用決策樹分類算法預測電影的口碑,尋找電影票房、電影質量和市場影響力之間的關系,并通過可視化技術進行直觀的展現。
本文實驗數據集是豆瓣網評分前250部的電影,中國電影網票房前500部的電影以及近十年中國電影市場的相關數據。主要步驟是:采用Python、Selenium和XPath技術自定義爬蟲抓取電影網站的相關數據,構建詞云、決策樹等模型分析電影信息,從多種角度挖掘影響電影票房和質量的因素,根據所提取的特征預測電影的觀眾口碑。實驗結果表明,本文提出的算法有效地挖掘出中國電影市場有價值的信息,包括具有票房號召力的演員,拍攝電影質量較高的演員和電影公司等;該方法可以給投資方和導演們提供電影拍攝的題材、演員和上映時間建議,具有重要的理論研究意義和實際應用價值,可廣泛應用于電影市場分析和數據挖掘領域,更好地優化中國電影產業,為觀眾提供更好的精神食糧。
中國電影產業在過去取得了飛速而持續的增長,新聞出版廣電總局電影局數據顯示,2017年中國電影總票房為559.11億元,同比增長13.45%,而同一時期北美增長只有7%,全球僅為5%,中國電影市場已成為僅次于北美地區的全球第二大電影市場。2017年全國生產電影共計970部,其中故事片798部、科教電影68部、動畫電影32部、特種電影28部、紀錄電影44部。中國電影市場整體朝著多題材、多樣化、多類型的創新格局發展,全年共有13部國產影片票房超過5億元,6部國產影片票房超過10億元,其中影片《戰狼2》以56.8億元票房和1.6億觀影人次創造了多項市場紀錄,成為國產電影的突出亮點,顯示著中國電影新力量不斷成長壯大[3]。
與此同時,由于電影具有生命周期短暫、呈季節性波動等特點,影響電影票房和質量的因素多種多樣,包括國民經濟增長速度、民眾消費水平、導演和主演的影響力、劇本的好壞、電影制作水平及電影在網絡中的口碑等;而國內關于電影市場的研究相對較少,傳統的分析方法不足以發現并直觀地呈現電影數據深層次的規律,市場上也缺乏一個關于中國電影市場的數據分析和可視化展示體系[4]。
近年來,以互聯網、大數據和人工智能為代表的技術不斷應用于各行各業,互聯網引發的評論口碑和影評分數極大影響了后續消費者的購買決策,因此通過大數據等技術來優化中國電影市場,探究電影評論信息和評分對電影票房的影響備受關注[5]。本文希望通過對國內外相關研究進行綜述分析,結合機器學習算法分析影響電影市場的主要因素,通過社交網絡和時間維度獲取影響電影票房和提升電影質量的內核,從而為國內電影市場的深入研究提供借鑒,挖掘出中國電影市場的規律[6]。
目前國內外常見的一些電影分析方法是基于市場規律、機器學習和情感分析的。在電影數據分析上,龔曉等[7]基于SPSS工具利用層次聚類算法對20部電影數據進行聚類分析。王錚等[8]基于Logit模型分析影響電影票房的因素。周靜等[9]運用社交網絡分析方法對中國電影圈近十年主要的導演和演員之間的合作網絡進行了描述和分析,運用雙模網絡分析方法得出中國電影江湖中存在“派系”的特點,即同一地區的導演與演員更愿意在一起合作。Jedidi等[10]利用有限混合回歸方法對影片的周票房進行了聚類分析,把電影劃分為四大類。李波等[11]對我國電影市場的生命周期進行分析,建立了考慮季節性因素的Gamma需求模型,并應用于電影觀眾人數衰減研究。章胤等[12]基于k-means和關聯度分析方法對數據進行聚類分析并挖掘關聯詞。
在影評情感分析上,侯乃聰等[13]從網絡口碑的情感傾向、評論數量、有用性和有效性四個方面構建了系統的網絡口碑評價指標體系。雷鳴等[14]提出了基于評論情感分析的協同過濾推薦算法,通過對電影評論進行情感分析,構建準確的用戶興趣模型。殷復蓮等[15]提出了基于詞向量的情感分析方法,該方法在短文本分類上效果較好,準確率有所提升。涂小琴[16]通過Python抓取豆瓣網站評論數據進行情感傾向性分析,獲取PMI最高的15個詞語。孫春華等[17]基于文本情感分析方法分析電影預告片在線投放對票房的影響。
在可視化分析上,張鑫等[18]提出了一種基于大數據的面向電影投資制作、營銷推廣、放映拍片的電影分析決策系統。許冰晗等[19]基于Movielens電影數據進行了可視化分析,設計了一系列相互關聯的可視化視圖,從多個角度發現電影流派的規律。陳豪[20]基于Hadoop大數據平臺和Python語言,從多角度可視化分析電影數據。
這些傳統方法通常是利用折線圖來分析時間維度上票房的增長情況,通過相關模型來分析觀眾和評論之間的關系,或是從文學視角研究電影的規律,而沒有從多個角度去深層次挖掘電影類型、電影評分、電影票房、電影質量和觀眾口碑之間的關聯,沒有深入剖析中國電影發展的影響因素。本文將引入社交網絡、決策分類、WordCloud等方法,結合可視化技術從多個角度深層次挖掘電影數據的規律,更好地優化中國電影產業,為投資方和導演們提供決策。
本文旨在對豆瓣網評分Top250部電影、中國電影網票房前500部電影及2018年熱門電影進行數據分析,其算法系統框架如圖1所示。主要包括數據抓取、數據存儲、數據預處理、數據分析和實驗評估五個步驟,具體流程如下:

圖1 電影數據分析系統框架圖
1.首先采用Python語言中的Selenium和XPath技術抓取電影數據。
2.提取電影相關的特征并存儲至本地,包括演員陣容、電影名稱、制作公司、電影票房、上映時間、電影類型、評論及評分等。
3.分別對數值數據和文本數據進行預處理操作,包括異常值處理、數據清洗、中分分詞等。
4.數據分析主要包括可視化分析和機器學習分析兩塊,通過Echarts、社交網絡、熱點詞云等直觀地展示影響電影市場的因素,利用決策樹分類算法挖掘深層次的電影規律。
5.最后對實驗結果進行評估,并得出結論。
本文使用基于Python語言的Selenium、BeautifulSoup、Xpath技術抓取豆瓣網電影及中國電影網的電影信息,通過分析網頁DOM樹結構抓取指定的字段,再利用自動化測試技術模擬瀏覽器操作獲取演員詳情,并調用Python的第三方庫將信息存儲至本地Excel文件。圖2是豆瓣網電影《肖申克的救贖》對應的頁面,包括電影名稱、導演、編劇、主演、評分、上映日期等字段,經過數據采集之后存儲至本地如圖3所示。中國電影網票房前10名的電影信息抓取至本地后如表1所示。

圖2 豆瓣網電影《肖申克的救贖》信息

表1 中國電影網票房前10名的電影信息

續表

圖3 數據采集豆瓣網電影評分前250部電影部分信息
在進行數據分析之前,通常需要對所抓取的電影信息進行預處理操作,包括缺失值填充、異常值處理、數據清洗、中文分詞、停用詞過濾等步驟,其目標是為了得到高標準、高質量的數據,從而提升分析的結果。本文的數據預處理操作包括:
1.缺失值填充。在抓取電影信息實驗中,存在電影片長、演員表等字段缺失的情況,這里采用Null標明缺失項,再進行數據定向抓取補全,部分字段采用手動填充。
2.異常值處理。所抓取的極少部分電影的票房信息不符合實際情況,比如《后來的我們》票房僅為2.1億元,此時采用程序自動排序后定向校驗。
3.數據清洗。原始數據中影片類型、導演、演員姓名存在特殊的符號,比如“·”“…”“/”等,此時需要定義停用詞表對這些特殊的符號進行過濾。
4.中文分詞。分詞旨在將漢語句子切分成單獨的詞序列。本文所選用的工具是基于Python語言的結巴(Jieba)分詞工具。同時,由于分詞中會涉及固定詞組或專有名詞,如明星“潘長江”,它可能在分詞之后會變成“潘”和“長江”兩個名詞,這會嚴重影響實驗的效果。因此在使用結巴分詞過程中,本實驗添加了自定義詞典,通過導入自定義詞典實現專有名詞和固定詞組的分詞,中文分詞采用的是正向最大匹配方法。
“詞云”是對網絡文本中出現頻率較高的關鍵詞,予以視覺上的突出,使瀏覽網頁者只要一眼掃過文本就可以領略文本的主旨,主要利用文本挖掘和可視化技術。個性化詞云既是研究分析內容的一種表現方式,又是廣告傳媒的一種“藝術品”。在Python中,通過安裝WordCloud詞云擴展包可以形成快速便捷的詞云圖片。
本文主要對電影的演員姓名和幕后電影公司進行詞云可視化分析,直觀地形成熱門關鍵詞云層。其算法的分析流程如圖4所示,包括導入數據集、讀取文件、中分文詞、特征詞計算、詞云可視化等步驟。

圖4 詞云分析流程圖
決策樹(Decision Tree)是在已知各種情況發生概率的情況下,采用樹狀結構構建決策模型,判斷每種可行性的概率。它是一種監督學習方法,常用來解決分類和回歸問題。常見的決策樹算法包括:分類及回歸樹(Classification And Regression Tree,簡稱CART)、ID3算法(Iterative Dichotomiser 3)、C4.5算法、隨機森林算法(Random Forest)、梯度推進機算法(Gradient Boosting Machine,簡稱GBM)等。決策樹構建的基本步驟如下:
第一步:開始時將所有記錄看作一個節點。
第二步:遍歷每個變量的每一種分割方式,找到最好的分割點。
第三步:分割成兩個節點N1和N2。
第四步:對N1和N2分別繼續執行第二步和第三步,直到每個節點足夠“純”為止。
本文將調用Sklearn.tree機器學習庫中決策樹分類算法對電影信息進行分類預測。
本文數據集采用Python自定義爬蟲抓取豆瓣網電影及中國電影網的電影信息,所抓取的字段包括電影名稱、導演、編劇、主演、評分、上映日期等,其中豆瓣網電影共抓取評分前250部的電影信息,中國電影網共抓取票房前500部的電影信息。緊接著進行異常值處理、數據清洗和中文分詞,將缺失的數據填充,不符合邏輯的數據校正,不常用的詞語和特色符號過濾,并導入專有名詞詞典進行中文分詞,利用Jieba分詞工具進行數據預處理。數據清洗為后面的分析提供良好的數據基礎,接下來是詳細的實驗分析及結果評估。
首先我們將對中國電影市場近十年的發展情況做一個概括性的可視化分析。表2是2008—2017年中國電影近十年的發展情況,包括國產故事片產量、國產片和進口片票房、票房過億元影片數量。

表2 中國電影2008—2017年發展情況
實驗使用Python的Pandas和Matplotlib庫繪制如圖5所示的柱狀圖。圖中橫軸為2008年至2017年這10年的時間流,縱軸為近十年國產故事片產量、國產片和進口片票房、票房過億元影片數量。圖5中每個類型的柱狀圖都有一定增長,其中,國產片票房從2008年的25.63億元增長到2017年的301.04億元,由此可見中國電影市場發展迅速。
針對電影劇情類型和電影產地,本文使用Python和Echarts進行了可視化分析。圖6是豆瓣網電影評分Top250的電影產地分析,其中產自美國的電影比例最高,占38.48%,近乎全球電影市場的半壁江山;其次是產自英國和日本的電影,占比均為8.94%;中國大陸占4.34%,中國香港占6.78%。總體而言,全球電影市場整體呈現“一超多強”的態勢發展,我國在引進國外優秀電影的同時也需要提升自身的創新能力,吸取美國、英國、日本等影片的優點。
圖7是中國電影網票房前500部電影的劇情類型餅狀圖,其中排名最高的三種類型分別是動作片、愛情片和懸疑片,分別占39.55%、23.91%和11.52%。這間接反映出我國的大部分觀眾對于這三種類型電影的喜愛程度較高,制片方或導演可以選擇這三種類型,拍攝更為符合觀眾口味的電影。

圖5 中國電影近十年發展情況的柱狀圖

圖6 豆瓣網評分Top250電影各地區的占比

圖7 中國電影網票房前500部電影劇情類型分析
本文調用詞云技術,以票房最高的500部電影為樣本,對熱門演員和幕后電影公司進行詞云可視化分析,得出如圖8和圖9所示的詞云分布圖。

圖8 熱門演員的詞云圖

圖9 幕后投資公司的詞云圖
從圖8中可知,演員“劉德華”“范冰冰”“張涵予”“楊冪”“成龍”“黃曉明”“柳巖”等詞出現頻數較高,直接說明了他們具有極高的票房號召力,更符合觀眾的口味。
表3是中國電影網票房前500部電影中,票房號召力最高的前十位演員,其方法是計算每名演員參演所有電影的平均票房。為防止個別演員參演數量較少,而票房較高的現象,本次統計結果均為參演十部以上電影的明星。
表3中最具票房號召力的演員包括吳京、井柏然、張涵予、周潤發等,導演們可以考慮聘請這些演員來保證電影的基本票房。

表3 最具票房號召力的演員表
表4是中國電影網票房前500部電影中,所參演電影評分最高的前十位演員,這間接反映出這些演員的演技不錯。其方法是計算每名演員參演所有電影的豆瓣評分之和(滿分為10分),再求平均數。其中排名最高的分別是陳坤、廖凡、徐崢、王學圻等。如果制片方或導演們追求電影的質量,一方面可以挑選更好的劇本,另一方面可以聘請這些“老戲骨”。

表4 平均每部電影評分最高的演員表
圖9是幕后電影公司的詞云分布圖,其中“中國電影”“華夏電影”“萬達影視”“華誼兄弟”四家公司的出現頻數最高,分別為112次、77次、49次、49次,它們總共占據了中國電影市場的57.4%,這也符合Power-Law現象分布,即少數公司占據了極大數的中國電影市場。推薦演員們和這些電影公司合作,以提高參演率。
圖10是中國電影網票房前500部電影的“時間—票房”分布情況,橫軸為時間,縱軸為票房數。由圖可見,電影票房在逐年遞增,圖中最高的點為《戰狼2》在2017年7月27日創造的56.8億元。
圖10中部分區域散點比較密集,這其實是和中國三大黃金檔期密切相關的。表5是2017年中國春節檔期、暑期檔期、國慶檔期三大黃金檔票房和觀影人次的情況。

圖10 電影“時間—票房”分布圖

表5 2017年三大黃金檔期觀影情況
2017年我國三大電影黃金檔期票房總產出約223.24億元,占全年的40.00%;三大電影黃金檔期觀影人次約63973萬人,占全年的39.49%。縱觀全年中國電影市場,高票房的影片都于熱門檔期上映,“黃金檔期”成為影視公司爭奪的重要資源。同時,隨著觀眾更加看重電影的質量和口碑,制作方應該逐漸從依賴檔期向提升影片質量而轉變。
社交網絡分析步驟如下:
1.首先計算中國電影網票房前500部的所有主演共現矩陣,其計算公式如下所示,當兩名演員共同參演一部電影時,則認為共現并構建一條相關聯的關系邊,否則沒有。

2.接著采用Gephi構建演員的關系圖譜,構建的圖形如圖11所示。

圖11 社交網絡構建演員關系圖譜
該演員關系圖譜中共挖掘出1067名演員和8943條關系,它將具有相似關系的演員聚集在一起,比如圖11左下角部分,放大后顯示如圖12所示。它展現了香港地區經常合作并且票房較高的演員之間的關系,包括“古天樂”“張家輝”“劉青云”“甄子丹”等主演以及“吳孟達”“秦沛”等經典配角。

圖12 香港地區演員關系圖譜
表6是中國電影網票房前500部電影參演前十名的演員信息,包括參演次數和參演的部分電影。

表6 中國電影網票房前500部電影參演前十名的演員信息
本實驗將對中國電影網票房前500部的電影進行決策樹分類分析,根據電影的評分將其劃分為口碑好和口碑差的電影,并預測電影的質量。本文將評分高于或等于6.0分的電影定義為口碑好的電影,而低于6.0分的定義為口碑差的電影(滿分10分)。數據集包括八個特征,如下圖所示。

表5 數據集所包含的特征
本實驗將數據集隨機劃分為訓練集和測試集,其中訓練集共350部電影,測試集共150部電影,實驗采用準確率(Precision)、召回率(Recall)和F特征值(F-measure)進行評估,其計算公式如下:
(2)
(3)
(4)
其中,ni表示類別為i的文本數目,nj表示聚類j的文本數目,nij表示聚類j中屬于i的數目。
決策樹分析旨在對電影質量進行預測分類,劃分為口碑好(類標為1)和口碑差(類標為0)的兩類。實驗結果如表6所示,其中口碑差的電影準確率、召回率和F值分別為0.9076、0.8429、0.8741,口碑好的電影實驗結果更好,準確率、召回率和F值分別為0.9500、0.8941、0.9212。

表6 決策樹分類實驗結果
電影質量預測結果的部分電影如表7所示:

表7 決策樹分類預測的電影結果
傳統的中國電影市場分析方法較為單一,缺乏利用社交網絡或機器學習算法分析電影信息,沒有利用可視化分析直觀地呈現電影深層次的規律。針對這些缺點,本文提出了一種基于社交網絡和決策樹的電影數據分析方法,并結合可視化技術多角度分析影響電影票房和質量的因素。得出如下結論:
1.中國電影市場近十年可視化分析得出:國產故事片產量、國產片和進口片票房、票房過億元影片數量都有所增長,中國電影市場正迅速發展。
2.電影劇情類型和產地的可視化分析得出:我國在引進國外優秀電影的同時也需要提升自身的創新能力,吸取美國、英國、日本影片的優點。
動作片、愛情片和懸疑片是我國大部分觀眾喜愛的電影,制片方或導演可以多拍攝這三種類型的影片。
3.通過熱門演員和幕后電影公司的詞云分析,挖掘出最具票房號召力的演員表、最具演技的演員表;幕后電影公司“中國電影”“華夏電影”“萬達影視”“華誼兄弟”共占據了中國電影市場的57.4%,符合Power-Law現象分布。
4.黃金檔期可視化分析得出:全年中國電影市場,高票房的影片都于熱門檔期上映,“黃金檔期”成為影視公司爭奪的重要資源。
5.社交網絡分析演員關系圖譜共挖掘出1067名演員和8943條關系,它將具有相似關系的演員聚集在一起,并展現了各地區經常合作并且票房較高的主演和配角之間的關系。
6.決策樹算法對中國電影網票房前500部的電影進行分類分析,根據電影的評分將其劃分為口碑好和口碑差的電影,其算法的F值較高。
總之,本文提出的算法有效地挖掘出中國電影市場有價值的信息,該方法可以給投資方和導演們提供電影拍攝的題材、演員和上映時間建議。本文的研究成果具有重要的理論研究意義和實際應用價值,該算法可以廣泛應用于電影市場分析、電影智能推薦、文本挖掘、社交網絡等領域,更好地優化中國電影市場,為觀眾提供更好的精神食糧。