?

一種基于深度學習的電影票房預測模型

2019-04-12 01:46茹玉年李波柴劍平劉劍波
關鍵詞:類別交叉深度

茹玉年,李波,柴劍平,劉劍波

(中國傳媒大學 信息與通信工程學院,北京 100024)

1 前言

電影產業是一項高投資高風險的行業,電影票房的預測對電影項目的制作、發行、放映以及相關產品的開發等商業智能決策過程提供了重要的支撐。制片、發行放映公司和影院等各個電影工業流程環節都希望可以使用一個預測精度高、適用性強的映前預測模型來降低其投資管理的風險。

票房預測研究是電影產業決策過程中的一項具有挑戰性但又十分重要的任務,從上世紀四十年代開始就有了票房預測相關研究。早期最著名的研究者是來自觀眾調查所的喬治·蓋洛普和來自電影研究局的里奧·漢德爾[1],他們首次將電影的影響因素如演員、營銷、故事和評價進行了系統的梳理從而來預測票房收入。該階段的研究主要是基于民意測驗等經驗性研究法[2]。

第二階段的票房研究以巴瑞·李特曼票房預測模型的發表為標志性起點。李特曼[3]使用14個自變量來預測電影租金收入,其主要貢獻在于首次使用了線性回歸算法構建了一個具有廣泛影響力的票房預測模型。相比于第一個階段,該階段的研究更多是基于量化后的影響因素進行票房預測模型構建的。之后的研究者多是基于這一思路進行票房預測,同時也對李特曼的模型進行了諸多改進,其中主要的改進方向有兩種:一是對新的影響因素的引入和度量方法的改進,其趨勢是越來越多符合新的市場環境的變量和度量方法被引入;二是對使用的回歸或者分類算法的改進,其趨勢是逐漸由線性算法到非線性算法。其中有代表性的研究有:Ghiassi Manoochehr等人提出了一種基于動態人工神經網絡的電影前期收入預測模型[4]。Minhoe Hur等學者提出一種基于電影評論和獨立子空間方法的票房預測模型,利用觀眾評論文本同時使用非線性機器學習算法來提高預測精度[5]。相對于其他預測模型,該模型的預測變量添加了投資成本、發布前廣告支出、上映時間和檔期等信息,并且經驗該模型能有很好的預測效果。張鑫等學者基于剪枝的隨機森林算法構建了上映首周票房模型。模型將預測之一回歸問題通過區間劃分轉化成了分類問題,并且在影響因素上加入了同檔期競爭,取得了不錯的效果[6]。韓忠明等學者針對早期預測精度低、電影預測困難的問題,提出一種基于梯度增強回歸樹的電影票房模型。其中影響因素選擇了演員、導演、發行日期、發行公司等因素,在對這些特征進行特征化處理時使用了社會網絡節點影響力度量法、平均票房權重區間化等處理方式[7]。

隨著互聯網技術和大數據技術的長足發展,使得對電影相關數據的收集、建模成為可能。影片的相關數據更加容易獲得和存儲,為票房預測提供了扎實的數據基礎。在電影未上映前,通過其制作數據、營銷數據等數據通過機器學習算法能夠對影片的票房進行預測。然而票房預測仍然是一個挑戰,主要是因為以下幾點:

(1)票房影響因素眾多:電影票房有著眾多的影響因素,從影片自身質量可以有:主創陣容、投資等因素,從影片的宣傳角度有:預告片播放量,網絡口碑、網絡熱議度等數據、微博指數等數據。從發行放映角度有:檔期,同期電影競爭等因素。并且還有許多難以量化的因素都會影響電影的票房例如季節、天氣、盜版、路演效果等難以衡量的因素。

(2)離散多類別數據為票房預測模型的構建增加了難度:離散多類別數據如發行公司、電影類型等數據。這些數據僅僅只提供了不同的名字只能定性去分析,若將其進行one-hot編碼,又會帶來維度過大等問題,所模型如何有效的利用這些數據也是一個亟待解決的問題。

所以本章重點研究了一是如何處理影響票房的影響因素以及使用IP特征等一些新的以往的研究沒有涉及的因素,去構建一個準確率高、適應性好的映前票房預測模型。二是如何設計和改進深度學習網絡來適用于離散多類別數據建模。

2 映前電影票房預測模型

本文針對離散類別數據設計了一種新的網絡架構,來探索如何設計合適的深度網絡處理這類數據,完成自動的特征組合,提高模型的預測能力。如圖1所示本文設計的框架包括原始特征層、嵌入層、深度網絡層、以及輸出層。其中原始特征包括離散類別數據和連續數據。神經網絡不能對離散數據進行直接計算,所以本文在原始特征層上面添加了嵌入層將離散數據進行one-hot編碼和嵌入計算后和連續數據合并一起輸入到深度網絡層中。深度網絡層在借鑒Wide&Deep網絡和Cross&Deep網絡的基礎上,設計成了兩部分:特征交叉組合網絡和稠密跳接網絡。最終輸出層將兩部分網絡的特征合并后計算得到最終的預測輸出。其中嵌入層和深度網絡層是本文的重點,下文將詳細介紹這些模塊。

2.1 嵌入層

嵌入技術是一種特征學習技術,廣泛應用于深度學習中,特別是在自然語言處理領域[8]。神經網絡的輸入數據需要是實數,所以在其處理類別數據的時候,需要將類別數據進行轉換。一種常見的做法是將類別數據進行one-hot編碼,編碼的新的特征再輸入到神經網絡中。

然而,當這樣的特征比較多,而且每個特征中的類別數目特別多的時候,就存在數據維度特別高,數據特別稀疏的情況,同時這種表示方法也不能表征不同類別之間的相似性。嵌入技術本質上是將類別

圖1

數據映射到低維空間中,其中被轉換后的由實數值構成的稠密向量我們稱為嵌入向量。例如,之前我們用X_(embed,i)=(1,0,0,0,0,0)來表示中國,那么使用嵌入技術就可以用低維但是稠密的向量X_i=(0.1,0.5,0.2)表示。用公式表示這一過程為:

Xembed,i=Wembed,iXi

(1)

2.2 特征交叉組合網絡

特征工程對一個預測模型的好壞起著關鍵的作用,特征交叉組合在處理擁有連續數據和離散的類別數據時候也是一個業界不可避免的工作。然而,這一工作又是一項繁瑣、人工投入巨大、需要大量的搜索的任務。DNN網絡在計算機視覺、自然語言處理領域都證明了其通過端到端的學習能夠很好的提取出這些原始數據的有效的特征,并且證明了這些特征雖然可解釋性很差,但是卻好于人工提取的特征。但是在本文所用的離散類別數據上,DNN網絡這種隱式的特征組合方式并不能高效的提取所有有效的特征組合。正如上文所總結那樣,目前的特征交叉組合主要是進行人工特征組合例如LR模型、Wide&deep模型;還有就是部分基于FM的模型,自動學習了二階特征組合,例如:PNN和deepFM結構。本文在網絡設計中借鑒了Google所提出的Deep&Cross網絡中的特征交叉學習模塊。Cross Layer Network模塊通過構造的網絡,實現了顯式的特征交叉組合。這種網絡是由交叉層搭建而成,其中交叉層所實現的功能可以用下式表示:

(2)

其中,Xl+1,XlRd每層輸入是列向量。wl,bl為第l層的參數向量和偏差向量,它們也是長度為d列向量,需要在網絡訓練時候學習。為了直觀的解釋這一個過程,下圖為交叉層的可視化過程:

圖2 交叉層的可視化過程

由上圖可知,當前層的特征是上一層的特征和上一層的特征的交叉組合結果這兩項之和構成。這種做法參考了殘差網絡跳接的思路,既保留了原始低階特征同時也增加了高階交叉特征,并且層數也決定了最高階的上限,即隨著交叉層的增加,通過這個網絡可以學習任意高階的特征交叉組合,其中當層數為l時,那么特征的最高階為l+1,因此這個網絡生成從1階到l+1階的所有可能的特征交叉組合可能性。同時值得注意的一點是,該網絡的參數量為d*l*2,所以這種做法有效的控制了參數規模。同時特征交叉網絡過少的參數也限制了模型的能力,所以為了捕捉特征之間的更高階的非線性關系,還需要并行地引入了深度網絡。

2.3 稠密跳接網絡

短跳接技術在卷積網絡在圖像視覺處理領域有著廣泛的應用,隨著計算力和一些深度學習相關技術的出現,網絡已經越來越深,從LeNet5的5層到VGG的19層。同時一些新的問題也出現了,其中當網絡越來越深輸入信息經過很多層的傳輸之后存在著消失和爆炸的現象,同時反向傳播的時候梯度信息也存在消失和爆炸的現象[9]。針對這一問題之前的一些技術和訓練技巧雖然能對其有所改進,然而卻無法有效的解決這種情況。研究人員發現當網絡到達一定深度之后,雖然通過一些技術和技巧可以將其優化和訓練,但是性能卻反而不如深度更小的網絡,并且不同于過擬合,這種現象發生在訓練集上。所以網絡結構及其設計這一問題引起了不少研究者的思考和探索。其中何凱明等人發明的ResNet網絡,提出了一種很好的解決方案,他們使用短接技術構建了著名的殘差網絡,這種結構的網絡有很多優點,其中之一就是降低了網絡訓練的難度,可將網絡的深度提升到100層以上,取得了以往模型都無法到達的性能[10]。其做出的改進在于,傳統的網絡在前向傳播過程中,都是將前一層的輸出作為下一層的輸入,例如第L層的輸出可以表示為,所以之前的網絡每層都是去擬合一個基礎的函數H(x)。而殘差網絡是去擬合一個殘差函數F(x),其中F(x)=H(x)-x,經過其實驗證明和大量研究證明,這種新的網絡構造,更容易去擬合,更加利于優化,提升模型性能。

自從這篇文章發表以后,其得到了廣泛的關注和認可,在此基礎上的研究也逐漸增多,基于短鏈接的不同網絡設計版本被一一設計出來,如ResNeXt,Wide-ResNet,Res-ResNet,這些研究都基于殘差網絡中最重要的一點:建立從前層到后層的短鏈接。其中17年CVPR最佳論文提出的DenseNet網絡將這種方法發揮到了極致,其設計思路是將任意兩層網絡都進行了連通,這樣淺層特征和深層特征可以自由組合從而實現更穩定的梯度流和信息流,提高收斂速度和模型能力。這一思路成功的應用于了計算機視覺領域,通過這些方法將卷積深度神經網絡搭建的更深性能更好,成功的解決了圖像分類識別等一系列問題。

本文受到該方法的啟發,將其應用于離散多類別數據的建模中,將這種思路引入本文提出的框架中來改進deep模塊中網絡結構,從而提高模型的性能。在本框架中具體做法如下。

Densenet網絡針對卷積網絡設計了一種有別于ResNets的短鏈接方法。之前的方法是跳接將前一層和后一層求和,這樣就需要短接時相加的兩個向量擁有相同的長度。而DenseNet中某層的多個輸入源(不同抽象程度的特征)不是直接算術相加,而是在特征維度上進行拼接。本文將這一經過試驗和實踐證明的方法引入DNN網絡。所以可以將第i層和第j層的特征進行拼接,就可以建立第i層和第j層短跳接。為了充分利用跳接技術帶來的優勢,本文將任意兩層網絡進行連接。用公式表示這一過程為:

xl=Hl([x1,x2,,xl-1])

(3)

其中Hl為第l層需要擬合的函數。下圖更加直觀的展示稠密跳接網絡的搭建過程。

圖3 稠密跳接網絡示意圖

將每一層都使用短鏈接連接到之后的所有層上,這種網絡結構給網絡帶來了很多優點。從特征角度來分析這種結構,可以發現每一層的特征被用到時,都可以被看作是做了特征的歸一化,這樣可以代替如今常用的bath normalization技術,降低運算復雜度,同時也能保證好的收斂率。

從特征提取來看,淺層和深層的特征將可以進行自由的組合,如此就會使得模型有更加穩定。同時在傳統的網絡結構里,后面層可以直接使用之前層抽象出來的信息,只需要提取之前層沒有提取過的新特征,如此對特征的利用率更高。

從訓練的角度可以發現,這種設計梯度可以直接傳遞到靠前的層,可以解決梯度消失的問題。

3 實驗

本文選擇了近4年(2013年-2016年),在國內上映的影片。由于票房過小的影片一方面研究價值較低,另一方面存在著嚴重的特征缺失的問題,所以只篩選了票房超過一千萬的影片作為研究對象,最終經過篩選最后共有645部。本文從互聯網上采集了上文中介紹的電影的特征(類型、播放制式、上映時間、主創人員信息、發行放映信息和網絡口碑等數據),這些數據主要來自于豆瓣網、時光網和貓眼電影專業版和微博電影。這些特征包括連續數據和離散的類別數據。本文為了獲得一個有效的票房預測模型,將連續的票房值進行了離散化處理。本文基于實際需求和模型構建要求將票房離散化成為4個區域。

表1 電影票房分區表

3.1 票房預測分類性能指標

針對多分類問題,研究人員常用混淆矩陣和根據混淆矩陣得到的絕對精度(Bingo)和相對精度(1-Away)來分析分類器的性能優劣。

絕對精度:準確預測到實際類別的影片個數占整個實際類別影片總數的比率。相對精度:準確預測到對應的區間(相鄰類別)的影片個數占整個實際類別影片總數的比率。

3.2 實驗結果

本文將提出的算法模型和傳統常用的算法SVM、決策樹CART、隨機森林算法進行了對比,先使用訓練集對模型進行了訓練,然后在測試集上計算了每種算法的準確率。其中SVM,決策樹和隨機森林使用了python程序庫sklearn中的程序實現的。SVM中參數選擇為C=1.0,cache_size=200。決策樹選擇樹的最大深度為5,隨機森林選擇樹的子樹的數量為20,樹的深度為10。DNN算法是將上文框架中的深度網絡層換成多層全連接網絡,該網絡由4層神經網絡構成,每層的神經單元數為100、50、25和20。算法1為本文提出框架不使用多任務學習的情況,算法2使用多任務學習。具體的實驗結果如下表所示,為了試驗的可靠性,每個算法都經過20次試驗然后取其平均值作為最后的預測效果。

表2 電影票房數據集上個算法預測效果表

通過實驗可以發現,本文提出的算法更加能夠充分利用特征中的信息,同時新的框架相對于普通的DNN網絡,更加適用于離散多類別特征數據,能夠提升3%,也證明了這種框架可以更好的將深度學習應用于含有離散多類別數據的分析中。

4 結論

電影票房預測一直以來是一個非常有研究價值的問題,票房的預測對電影這個高投入高風險的行業從業者有著重要的指導意義,然而這也是一個比較復雜的問題其難點在于票房影響因素眾多,并且很多數據為離散的類別數據,這些數據難以量化,并且深度學習在處理這類數據時,一直未能像圖像、文本數據那樣取得明顯好于其他算法的優勢。

本文針對這一問題,提出了一種適用于對離散類別數據的深度網絡結構,該結構改進了Wide&Deep模型,主要包括了特征交叉組合網絡和稠密跳接網絡。其中前者可以有效的對低階特征進行交叉組合,后者使得淺層特征和深層特征可以自由組合從而實現更穩定的梯度流和信息流,提高收斂速度和模型能力。

本文用451部電影訓練模型,最后再在194部影片上測試,模型的絕對精度為55%,相對精度為92%。該模型在使用相同的特征的情況下好于SVM、隨機森林等算法,上升了至少3%。

猜你喜歡
類別交叉深度
四增四減 深度推進
菌類蔬菜交叉種植一地雙收
論陶瓷刻劃花藝術類別與特征
深度理解一元一次方程
一起去圖書館吧
“六法”巧解分式方程
簡約教學 深度學習
連數
連一連
選相紙 打照片
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合