楊亮 周逢清 林原 林鴻飛 許侃
大連理工大學(xué)信息檢索研究室, 大連 116023; ? 通信作者, E-mail: zhlin@dlut.edu.cn
電影是一門融合了攝影、繪畫、音樂(lè)和文字等的綜合藝術(shù)形式。隨著現(xiàn)代社會(huì)的發(fā)展, 電影已深入到人類生活的方方面面, 成為人們精神娛樂(lè)不可或缺的一部分。2018年2月, 春節(jié)檔電影總票房突破100億, 創(chuàng)下我國(guó)單月最高票房記錄, 可見(jiàn)電影行業(yè)的火熱程度。電影票房排行是比較同期上映電影票房排名情況的指標(biāo), 不僅會(huì)影響影迷的觀影選擇,也對(duì)各大影視院線排場(chǎng)和排片具有指導(dǎo)作用。豆瓣電影、時(shí)光網(wǎng)等綜合電影媒體網(wǎng)站不但提供電影票房排名數(shù)據(jù), 還是眾多觀影者抒發(fā)觀影感受、對(duì)電影進(jìn)行評(píng)價(jià)的平臺(tái)。還有一些平臺(tái)(百度糯米電影、貓眼電影票房等)提供實(shí)時(shí)的電影票房和排名數(shù)據(jù), 是分析實(shí)時(shí)票房波動(dòng)和走勢(shì)的重要數(shù)據(jù)來(lái)源。BOM (Box Office Mojo)、IMDB (Internet Movie Database)是國(guó)際上兩個(gè)權(quán)威電影媒體網(wǎng)站, 提供豐富的電影數(shù)據(jù)和信息。
面對(duì)海量的電影數(shù)據(jù)、資訊以及評(píng)價(jià)等內(nèi)容,如何從中挖掘相關(guān)信息, 進(jìn)而對(duì)電影票房實(shí)現(xiàn)預(yù)測(cè), 一直是研究熱點(diǎn)?,F(xiàn)階段, 多數(shù)研究集中于對(duì)電影票房的預(yù)測(cè), 或是對(duì)電影的盈虧或票房成績(jī)進(jìn)行分類任務(wù)的探索。Joshi等[1]結(jié)合電影的元數(shù)據(jù)以及抽取電影評(píng)論的文本特征, 通過(guò)線性回歸模型,對(duì)首映周末票房實(shí)現(xiàn)初步的預(yù)測(cè)。Leung[2]通過(guò)從社交媒體網(wǎng)站對(duì)電影的討論和評(píng)價(jià)中抽取特征, 構(gòu)造一個(gè)多項(xiàng)式回歸模型, 實(shí)現(xiàn)對(duì)電影票房的預(yù)測(cè)。Nagamma等[3]利用情感分析方法, 在電影的在線評(píng)論中挖掘相關(guān)情感特征, 結(jié)合聚類方法, 分析文本傾向性方法, 最后利用SVM模型實(shí)現(xiàn)電影票房預(yù)測(cè), 具有一定的創(chuàng)新意義。Rhee等[4]利用單隱層的前饋神經(jīng)網(wǎng)絡(luò), 結(jié)合電影歷史信息和社交媒體數(shù)據(jù),抽取與電影相關(guān)的特征, 定義衡量電影收益的指標(biāo),對(duì)電影是否盈利進(jìn)行二分類模型的構(gòu)建。
電影排名預(yù)測(cè)任務(wù)是電影票房預(yù)測(cè)的一個(gè)核心問(wèn)題。電影票房指標(biāo)的預(yù)測(cè)對(duì)電影投資機(jī)構(gòu)的投資回報(bào)風(fēng)險(xiǎn)評(píng)估以及投資決策有重要的戰(zhàn)略意義, 但對(duì)于影院及觀影者來(lái)說(shuō), 電影票房排名指標(biāo)則更有參考價(jià)值。影院可以通過(guò)增加同期排名靠前的電影的排片率來(lái)提高上座率, 讓影院的收益最大化; 影迷也會(huì)青睞排名較高的熱門影片。
電影排名本質(zhì)上是一個(gè)排序問(wèn)題, 從問(wèn)題適用性和性能方面考慮, 排序?qū)W習(xí)方法[5]可為其提供理論基礎(chǔ)。本文首次將排序?qū)W習(xí)方法引入電影排名預(yù)測(cè)任務(wù)中, 構(gòu)建面向電影排名預(yù)測(cè)的排序?qū)W習(xí)模型,使電影排名預(yù)測(cè)任務(wù)的性能得到有效的提高。
本文針對(duì)電影排名預(yù)測(cè)任務(wù), 構(gòu)建面向電影排名預(yù)測(cè)的排序?qū)W習(xí)模型(movie ranking prediction,MRP)。圖 1 為該模型的各部分功能及流程。
1.1.1 數(shù)據(jù)獲取
本文使用的數(shù)據(jù)來(lái)自權(quán)威電影媒體網(wǎng)站BOM。該網(wǎng)站是亞馬遜公司旗下一個(gè)電影票房數(shù)據(jù)統(tǒng)計(jì)的網(wǎng)站(http://www.boxofficemojo.com), 每月平均流量高達(dá)約一百萬(wàn)人次, 在電影行業(yè)中被廣泛地作為數(shù)據(jù)來(lái)源。該網(wǎng)站不僅有依據(jù)周末票房收入的電影排名情況(如圖 2 所示), 還提供許多電影相關(guān)數(shù)據(jù),如某部電影的上映周數(shù)、上映影院數(shù)和電影預(yù)算等。根據(jù)電影排名預(yù)測(cè)任務(wù)的要求, 可以將其提供的電影排名作為標(biāo)注結(jié)果, 而與電影相關(guān)的數(shù)據(jù)可以通過(guò)一定的方式加工成電影的特征, 進(jìn)而實(shí)現(xiàn)對(duì)電影排名預(yù)測(cè)模型的數(shù)據(jù)集構(gòu)建。本文通過(guò)編寫爬蟲, 獲取 2015—2017年的電影周末票房排名網(wǎng)頁(yè)內(nèi)容, 解析下載的網(wǎng)頁(yè)文本中相關(guān)電影數(shù)據(jù), 并通過(guò)特定結(jié)構(gòu)化格式進(jìn)行存儲(chǔ), 以便對(duì)數(shù)據(jù)進(jìn)行進(jìn)一步處理。
圖1 面向電影排名預(yù)測(cè)的排序?qū)W習(xí)模型流程Fig.1 Flow chart of learning to rank model for movie ranking prediction
圖2 BOM電影票房排名頁(yè)面Fig.2 Movies’ gross ranking page on BOM website
1.1.2 特征抽取與拓展
為了保證特征的有效性和完備性, 主要從 3 個(gè)方面對(duì)特征進(jìn)行抽?。?時(shí)序特征、影院特征和出版單位特征, 如表 1 所示。
作為一個(gè)比較同期電影票房高低的指標(biāo), 電影排名會(huì)隨著時(shí)間推移而波動(dòng), 因此, 時(shí)序在電影排名預(yù)測(cè)任務(wù)中是一個(gè)重要因素。根據(jù)隱馬爾可夫模型[6]可知, 某一個(gè)狀態(tài)只與上一個(gè)狀態(tài)的影響有關(guān),更早的狀態(tài)帶來(lái)的影響被認(rèn)為融入到上一個(gè)狀態(tài)中,因此關(guān)注的重點(diǎn)是上一個(gè)狀態(tài)。受該模型啟發(fā), 在電影排序預(yù)測(cè)模型中的時(shí)序因素可以通過(guò)特征的形式體現(xiàn), 也就是將上一周的電影與時(shí)序相關(guān)的數(shù)據(jù)作為預(yù)測(cè)當(dāng)周排名的特征, 因此抽取“本周排名”、“上周排名”、“本周周末電影票房”、“票房較上周變化百分比”和“電影上映周數(shù)”作為時(shí)序特征。
電影票房統(tǒng)計(jì)常以影院為單位, 將票房數(shù)據(jù)按照一定時(shí)間間隔上報(bào)至影片發(fā)行方, 再由發(fā)行單位對(duì)票房數(shù)據(jù)進(jìn)行分析、匯總和公布。如果電影在院線的上映時(shí)間長(zhǎng), 或總的上映影院數(shù)量多, 必然會(huì)對(duì)電影票房成績(jī)乃至票房排名起到促進(jìn)作用。因此有必要對(duì)電影的影院相關(guān)數(shù)據(jù)特征進(jìn)行抽取, 故選取“電影上映的影院數(shù)”、“影院平均票房”和“電影上映影院數(shù)較上周變化量”作為影院特征。
表1 電影特征信息Table 1 Information of movie’s features
許多影迷偏好選擇口碑良好或著名出版單位的電影作品進(jìn)行觀看。排除合同的因素影響, 各影視院線在排片排場(chǎng)時(shí), 也會(huì)綜合電影工作室的制作水平和評(píng)價(jià)指標(biāo), 優(yōu)化這些工作室出版電影的排場(chǎng)時(shí)段和排片比率來(lái)提高上座率, 從而增加收益。所以,電影的出版單位也是電影票房及排名的影響因素之一, 故將出版單位特征單獨(dú)作為一類特征。但是,在BOM電影媒體網(wǎng)站提供的與出版單位相關(guān)的數(shù)據(jù)中, “工作室名稱”是通過(guò)文本形式呈現(xiàn)的, 而數(shù)據(jù)集需要數(shù)值化特征。在特征工程中, 除可以使用詞集模型對(duì)其進(jìn)行拓展外, 本文考慮通過(guò)統(tǒng)計(jì)分析方法對(duì)“工作室名稱”文本進(jìn)行拓展。通過(guò)對(duì)數(shù)據(jù)集所處時(shí)間范圍內(nèi)的所有工作室出版的電影數(shù)量和票房進(jìn)行統(tǒng)計(jì)分析, 拓展出“工作室上映電影數(shù)”、“工作室上映電影總票房”和“工作室上映電影平均票房”3個(gè)數(shù)值特征, 再結(jié)合“電影成本”特征, 共同構(gòu)成出版單位特征。
1.1.3 數(shù)據(jù)缺失處理
處理電影特征數(shù)據(jù)的過(guò)程中存在數(shù)值缺失問(wèn)題, 如果簡(jiǎn)單地舍棄這些數(shù)據(jù), 會(huì)造成大量數(shù)據(jù)的損失, 因此須采用一定的策略來(lái)處理電影特征的缺失值。例如, 當(dāng)某一部電影是首周上映時(shí), 該電影的“上周排名”、“電影票房較上周變化百分比”以及“電影上映影院數(shù)較上周變化量”3個(gè)特征會(huì)存在數(shù)據(jù)缺失。為了充分地利用這部分?jǐn)?shù)據(jù), 并減小缺失值帶來(lái)的影響, 本文將“電影票房較上周變化百分比”和“電影上映影院數(shù)較上周變化量”置零, 即默認(rèn)該電影的本周票房和上映影院數(shù)與“上周”的數(shù)據(jù)持平; 同時(shí), 將該電影的“上周排名”排名置為取值區(qū)間的中間值。還有一些電影沒(méi)有提供“電影成本”數(shù)據(jù), 因而存在缺失, 本文統(tǒng)一將對(duì)應(yīng)的缺失值置為所有電影成本的平均值, 其他存在缺失的數(shù)據(jù)也統(tǒng)一使用特征平均值進(jìn)行處理, 盡可能減少對(duì)數(shù)據(jù)集樣本的影響。
1.1.4 數(shù)據(jù)歸一化
為了避免因某些特征取值范圍過(guò)大而導(dǎo)致其他取值范圍相對(duì)較小的特征的影響被忽略, 我們通過(guò)下列線性函數(shù), 將電影特征數(shù)據(jù)取值轉(zhuǎn)換到[0, 1]的范圍, 以提高排序?qū)W習(xí)模型訓(xùn)練的準(zhǔn)確度和速度,歸一化公式如下:
Featuremax為數(shù)據(jù)集中某個(gè)特征的最大值, Featuremin為數(shù)據(jù)集中某個(gè)特征的最小值。oldFeature為待歸一化的特征數(shù)值, newFeature為歸一化后的特征數(shù)值。
1.1.5 數(shù)據(jù)標(biāo)注處理
可以將電影媒體網(wǎng)站提供的電影票房排名作為數(shù)據(jù)標(biāo)注。為實(shí)現(xiàn)電影排名預(yù)測(cè), 本文的標(biāo)注對(duì)齊方式為, 將某部電影的下一周排名作為當(dāng)前周相關(guān)特征數(shù)據(jù)的標(biāo)注。
為了更好地對(duì)MRP模型進(jìn)行訓(xùn)練和學(xué)習(xí), 依據(jù)每周的電影周末票房排名將電影劃分成4個(gè)標(biāo)注檔次。排名在第1位為第一檔, 排在榜首電影通常是影迷的觀影首選, 也是多數(shù)人關(guān)注的焦點(diǎn), 標(biāo)注等級(jí)為3。排名在2~3位的電影為第二檔, 一般同期處于票房排名榜首競(jìng)爭(zhēng)行列的電影數(shù)量在3部左右,標(biāo)注等級(jí)為2。排名處于4~10位的電影為第三檔,這個(gè)排名區(qū)間一般是小眾電影, 或是早期熱門電影隨上映時(shí)間變長(zhǎng)而排名下滑會(huì)占據(jù)的排名位置, 票房號(hào)召力雖然不如排在前三的電影, 但仍然有一定的保障, 故標(biāo)注等級(jí)為1。排名在第10位之后的電影劃分為第四檔, 一般較少人關(guān)注, 因此標(biāo)注等級(jí)為0。之所以選擇10作為一個(gè)排名分界, 是因?yàn)橥ㄟ^(guò)對(duì)一些電影訂票應(yīng)用軟件的調(diào)研, 發(fā)現(xiàn)為了獲得利潤(rùn)最大化并保證影迷的觀影選擇, 單個(gè)影院同時(shí)上映的電影大約在10部左右, 因此這樣的標(biāo)注劃分方式符合常識(shí), 并具有現(xiàn)實(shí)意義。
1.1.6 數(shù)據(jù)格式處理
將實(shí)驗(yàn)數(shù)據(jù)轉(zhuǎn)換為排序?qū)W習(xí)方法中常用的格式, 以方便進(jìn)行模型的訓(xùn)練和測(cè)試。具體格式定義如下:
<line> :=< label > qid:<qid> <feature>:<value><feature>:<value>...<feature>:<value> # < remark >。
參數(shù)<line>表示一條數(shù)據(jù), 每條數(shù)據(jù)占一行。結(jié)合本文提出的MRP模型, 定義中的參數(shù)說(shuō)明見(jiàn)表 2。
通過(guò)對(duì)數(shù)據(jù)的分析、處理與整合, 最終的數(shù)據(jù)集有超過(guò)16000條的結(jié)構(gòu)化數(shù)據(jù), 圖 3 展示部分格式化后的數(shù)據(jù)。
為了更好地對(duì)電影排名預(yù)測(cè)任務(wù)進(jìn)行探索, 本文首次引入排序?qū)W習(xí)方法。排序?qū)W習(xí)(learning to rank)是基于機(jī)器學(xué)習(xí)提高排序結(jié)果的有效方法, 源于信息檢索領(lǐng)域, 并有廣泛的應(yīng)用, 也被許多其他研究領(lǐng)域認(rèn)同。為了讓排序?qū)W習(xí)方法更好地契合電影排名預(yù)測(cè)任務(wù)的需求, 我們對(duì)相關(guān)概念進(jìn)行映射, 如圖4所示。
表2 數(shù)據(jù)格式參數(shù)說(shuō)明Table 2 Parameter description of data format
圖3 格式化后部分?jǐn)?shù)據(jù)示例Fig.3 Part of data after formatting
本文以“周”作為時(shí)間切片, 收集電影票房排名數(shù)據(jù), 將周數(shù)對(duì)應(yīng)信息檢索領(lǐng)域的查詢(query), 特定周數(shù)排名榜單上的電影集合對(duì)應(yīng)與查詢相關(guān)的文檔集合(document set), 依據(jù)每周電影排名劃分的排名等級(jí)對(duì)應(yīng)文檔與查詢的相關(guān)評(píng)級(jí)(relevance rating)。因此, 在信息檢索領(lǐng)域通過(guò)查詢?cè)~在文檔集合中檢索相關(guān)文檔列表的問(wèn)題, 就映射為在特定周數(shù)下于候選電影集合中預(yù)測(cè)電影排名列表的問(wèn)題。
前面介紹了通過(guò)數(shù)據(jù)挖掘分析等方法構(gòu)建數(shù)據(jù)集以及排序?qū)W習(xí)方法在電影排名預(yù)測(cè)任務(wù)上的適用性, 下面介紹幾種可在MRP模型中嵌入的常用排序?qū)W習(xí)方法。
1.2.1 MART (multiple additive regression tree)
MART[7]是一種迭代的決策樹算法, 每輪迭代產(chǎn)生一個(gè)弱分類器, 每個(gè)分類器在上一輪分類器的殘差基礎(chǔ)上進(jìn)行訓(xùn)練。弱分類器的方差一般較小,而偏差較大。訓(xùn)練的過(guò)程是通過(guò)不斷地降低偏差來(lái)提高分類器的精度, 弱分類器一般為CART(classification and regression tree)[8]回歸樹。最終訓(xùn)練得到的模型為
其中,M為迭代輪次,T(xi;θm)為第m輪訓(xùn)練的弱分類器。弱分類器的損失函數(shù)定義為
圖4 電影排名預(yù)測(cè)與信息檢索概念的映射關(guān)系Fig.4 Concept mapping relation between the prediction of movie ranking and information retrieval
其中,Fm-1(xi)為第m-1 次迭代后的模型。一般選擇平方損失函數(shù), 將其梯度方向作為更新的方向,構(gòu)造下一棵CART樹。將每輪訓(xùn)練得到的弱分類器的結(jié)果累加, 得到最終的分類器。
1.2.2 RankNet
RankNet[9]是一種基于Pairwise的排序?qū)W習(xí)方法。給定查詢q及與查詢對(duì)應(yīng)的偏序文檔對(duì)集合,該模型訓(xùn)練的目標(biāo)是得到文檔的打分函數(shù)f, 進(jìn)而預(yù)測(cè)文檔di的相關(guān)性高于文檔dj的概率Pij, 計(jì)算過(guò)程如下:
其中,oij=f(di)-f(dj)。RankNet模型利用交叉熵作為損失函數(shù), 計(jì)算過(guò)程定義為
其中,表示文檔di比文檔dj相關(guān)性高的置信度,即目標(biāo)概率。打分函數(shù)f通常選擇神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),并結(jié)合梯度下降法優(yōu)化損失函數(shù), 達(dá)到訓(xùn)練模型的目的。
1.2.3 LambdaMART
LambdaRank[10]在RankNet模型的基礎(chǔ)上做了改進(jìn), 對(duì)RankNet中損失函數(shù)的梯度進(jìn)行因式分解:
其中,f(di)表示文檔di的得分, (i,j)∈P表示文檔對(duì)(di,dj)屬于訓(xùn)練集的偏序文檔對(duì)集合P。Lambda-Rank方法將由兩個(gè)文檔的位置交換而引起的評(píng)價(jià)指標(biāo)NDCG (normalized discounted cumulative gain)[11]的變化量作為其中一個(gè)因子, 融入式(6)中, 避免了NDCG指標(biāo)無(wú)法求導(dǎo)而不能直接應(yīng)用的問(wèn)題。
著名的LambdaMART[12-13]方法借鑒了Lambda-Rank方法中重新定義的梯度, 賦予梯度新的物理意義, 并在MART模型中使用這種新的梯度下降方法。
1.2.4 Random Forests
Random Forests[14](隨機(jī)森林)是利用多棵樹對(duì)樣本進(jìn)行訓(xùn)練并預(yù)測(cè)的一種排序?qū)W習(xí)方法, 由多棵CART樹構(gòu)成。CART決策樹的劃分是根據(jù)特征劃分前后Gini指數(shù)的增益而進(jìn)行。Gini指數(shù)是一種衡量數(shù)據(jù)不純度的指標(biāo), 定義為
其中,Pi表示樣本屬于i類的概率。當(dāng)Gini(A)=0時(shí), 所有樣本屬于同類; 當(dāng)所有類別的樣本中以等概率出現(xiàn)時(shí), Gini(A)取最大值。對(duì)于每棵樹, 訓(xùn)練使用的樣本子集是從總體樣本采樣出來(lái)的。在使用模型進(jìn)行預(yù)測(cè)時(shí), 最后的輸出結(jié)果為所有樹輸出的平均值。
通過(guò)對(duì)數(shù)據(jù)的分析、處理與整合, 最終的數(shù)據(jù)集有超過(guò)16000條的結(jié)構(gòu)化數(shù)據(jù)。在保證四檔電影排名類別分布均勻的前提下, 將整個(gè)數(shù)據(jù)集劃分成訓(xùn)練集(約12400條數(shù)據(jù))和測(cè)試集(約3600條數(shù)據(jù))①測(cè)試集包括1502, 1505, 1506, 1514, 1516, 1519, 1520, 1521, 1525, 1528, 1546, 1602, 1616, 1621, 1624, 1631, 1632, 1635, 1643, 1644,1646, 1647, 1708, 1717, 1718, 1719, 1721, 1724, 1733, 1738, 1742, 1743和1744 (按照年份和周數(shù))。。
由Joshi等[1]的研究可知, 線性回歸方法是電影票房預(yù)測(cè)任務(wù)中一個(gè)最基本的預(yù)測(cè)模型, 故將線性回歸作為一個(gè)對(duì)比實(shí)驗(yàn)。Rhee等[4]的研究結(jié)果表現(xiàn)良好, 因此將構(gòu)造結(jié)構(gòu)相似的單隱藏層前饋神經(jīng)網(wǎng)絡(luò)作為另一個(gè)對(duì)比實(shí)驗(yàn)。本文在MRP中分別嵌入不同的排序?qū)W習(xí)方法, 進(jìn)行模型訓(xùn)練, 并對(duì)實(shí)驗(yàn)結(jié)果進(jìn)行分析與評(píng)價(jià)。
表3 是在基礎(chǔ)實(shí)驗(yàn)以及在 MRP 模型中嵌入各排序?qū)W習(xí)方法在測(cè)試集上實(shí)驗(yàn)的P@n, MAP以及NDCG@n指標(biāo)[11]結(jié)果。在信息檢索領(lǐng)域, P@n指標(biāo)用來(lái)度量排序在前n位的檢索結(jié)果的準(zhǔn)確率, 定義如下:
P@n對(duì)文檔的相關(guān)性判定是二值(相關(guān)或不相關(guān))。依據(jù)本文對(duì)電影標(biāo)注劃分規(guī)則可知, 排名處于前10的電影被認(rèn)為是“相關(guān)“。因此, P@n遷移到電影排名預(yù)測(cè)任務(wù)中的意義可以理解為, 在預(yù)測(cè)結(jié)果中排在前n位的電影中真實(shí)排在前10 位的電影所占的比例。由于排名靠前的電影區(qū)分度較大, 各模型也容易將這些電影預(yù)測(cè)到靠前的排名, 因此部分P@1和P@3指標(biāo)出現(xiàn)值為100%的情況。從表3還可以看出, MRP-MART, MRP-LambdaMART和MRP-Random Forests這3種排序?qū)W習(xí)方法的P@n都高于線性回歸和神經(jīng)網(wǎng)絡(luò)方法, 而MRP-RankNet和MRP-ListNet方法訓(xùn)練的模型預(yù)測(cè)效果較差。
APq為某個(gè)查詢q的平均準(zhǔn)確率(average precision,AP)[11],I為指示函數(shù)。MAP (mean average precision)指標(biāo)是所有查詢的 AP 的均值。因此, MAP 指標(biāo)遷移到電影排名預(yù)測(cè)任務(wù)中的意義可以理解為, 所有真實(shí)排名處于前 10 的電影在預(yù)測(cè)結(jié)果中排名靠前的平均集中程度。從表 3 數(shù)據(jù)的對(duì)比中也可以看出,在 MRP-MART, MRP-LambdaMART 和 MRP-Random Forests 模型對(duì)排名前 10 位電影的預(yù)測(cè)結(jié)果比線性回歸方法提高 4~5 個(gè)百分點(diǎn), 即預(yù)測(cè)排序結(jié)果中少有將真實(shí)排名在前 10 名以外的電影預(yù)測(cè)到前 10 名中, 對(duì)真實(shí)排名在前 10 位電影的排名預(yù)測(cè)結(jié)果總體上更集中, 更靠前。
圖5 為 MRP 模型中嵌入 MART, LambdaMART和Random Forests以及線性回歸和神經(jīng)網(wǎng)絡(luò)模型,在測(cè)試集上對(duì)電影排名預(yù)測(cè)結(jié)果的P@n曲線圖。可以看出, 在n<2時(shí), 大部分結(jié)果的P@n都維持在100%, 即此時(shí)各模型預(yù)測(cè)排名前 2 位左右的都屬于真實(shí)排于前10名的電影。在n=6 附近, 各模型的指標(biāo)都出現(xiàn)明顯下滑, 即一些真實(shí)排名在10名以外的電影被錯(cuò)誤地預(yù)測(cè)到較靠前的排名位置。這是由于在第三檔電影(標(biāo)注等級(jí)1)和第四檔電影(標(biāo)注等級(jí)為0)邊界附近, 區(qū)分度變得模糊, 因此模型在測(cè)試集上的預(yù)測(cè)結(jié)果指標(biāo)下滑, 但在MRP中嵌入排序?qū)W習(xí)方法的模型P@n曲線的下降趨勢(shì)明顯比另外兩條緩和。隨著n值繼續(xù)增大, 5條P@n曲線大體上都呈現(xiàn)下降趨勢(shì), 并在數(shù)值上趨于一致。這是由于數(shù)據(jù)預(yù)處理時(shí), 每組電影數(shù)據(jù)標(biāo)注等級(jí)非0的個(gè)數(shù)為10,所以P@n指標(biāo)計(jì)算公式中分子固定, 分母則隨著n逐漸增大, 導(dǎo)致P@n指標(biāo)的下滑和趨同。
圖5 P@n曲線Fig.5 Curve graph of P@n
DCG (discounted cumulative gain)[11]是信息檢索領(lǐng)域內(nèi)一種衡量檢索結(jié)果質(zhì)量的指標(biāo), 計(jì)算公式如下:
其中,r(i)表示在檢索結(jié)果中排在第i位的文檔的相關(guān)性等級(jí)。式中的分子與文檔正相關(guān), 分母則是根據(jù)文檔排序位置的降權(quán)因子, 所以相關(guān)性越高的文檔排在越靠前的位置, DCG的值會(huì)越高。IDCG(ideal discounted cumulative gain)[11]表示在理想排序狀態(tài)下DCG的值。DCG指標(biāo)經(jīng)過(guò)正則化就變成NDCG, 計(jì)算公式為
本文將電影依據(jù)票房排名劃分成4個(gè)檔次, 標(biāo)識(shí)不同排名區(qū)間的電影排名等級(jí), 與信息檢索領(lǐng)域中“相關(guān)性”的概念相對(duì)應(yīng), 結(jié)合NDCG指標(biāo)的計(jì)算方式可知, 該指標(biāo)能夠更準(zhǔn)確地描述模型的排名預(yù)測(cè)效果。NDCG指標(biāo)遷移到電影排名預(yù)測(cè)任務(wù)中的意義可以理解為, 電影排名預(yù)測(cè)結(jié)果的質(zhì)量。
從表3的NDCG@n指標(biāo)可見(jiàn), MRP-MART,MRP-LambdaMART和MRP-Random Forests模型對(duì)電影排名預(yù)測(cè)的整體效果優(yōu)于MRP-ListNet, MRPRankNet以及神經(jīng)網(wǎng)絡(luò)模型。從NDCG@1和NDCG@10指標(biāo)可以看出, MRP-Random Forests模型的排名預(yù)測(cè)效果最好, 特別是在對(duì)排名第一的電影的預(yù)測(cè)效果上。
MRP-RankNet模型排序效果較差的原因是,RankNet排序?qū)W習(xí)方法是通過(guò)定義交叉熵?fù)p失函數(shù)來(lái)回避一些信息檢索評(píng)價(jià)指標(biāo)不連續(xù)和不可導(dǎo)的問(wèn)題, 所以在利用梯度下降法優(yōu)化參數(shù)的過(guò)程中, 更傾向于降低造成損失的文檔對(duì)數(shù)量, 而評(píng)價(jià)一個(gè)排序模型往往更關(guān)注檢索結(jié)果前n個(gè)文檔的相關(guān)程度,因此最終的預(yù)測(cè)效果不佳。LambdaMART方法在梯度重新定義的過(guò)程中, 通過(guò)對(duì)RankNet的梯度進(jìn)行因式分解, 并將NDCG變化量作為因子融入梯度下降的表達(dá)式中, 即梯度下降過(guò)程相當(dāng)于直接對(duì)NDCG指標(biāo)進(jìn)行優(yōu)化, 所以MRP-LambdaMART模型對(duì)電影排名的預(yù)測(cè)效果優(yōu)于MRP-RankNet模型。
圖6 NDCG@n曲線Fig.6 Curve graph of NDCG@n
圖6 為 MRP-MART, MRP-LambdaMART, MRPRandom Forests 和線性回歸模型在測(cè)試集上對(duì)電影排名預(yù)測(cè)結(jié)果的 NDCG@n 曲線圖??梢钥闯? MRPRandom Forests 模型的 NDCG@n 曲線幾乎都處于最高的位置, 說(shuō)明該方法對(duì)電影排名有最好的預(yù)測(cè)效果。MRP-MART 和 MRP-LambdaMART 模型的預(yù)測(cè)效果相對(duì)較差, 當(dāng)n>4時(shí), NDCG指標(biāo)才高于線性回歸方法。從總體趨勢(shì)來(lái)看, 每條曲線都有兩處明顯的局部最小值, 分別對(duì)應(yīng)n為3和10附近的位置,這與本文對(duì)電影標(biāo)注劃分的規(guī)則是相對(duì)應(yīng)的, 因?yàn)樵跀?shù)據(jù)集預(yù)處理時(shí), 根據(jù)排名分界點(diǎn)1, 3和10將電影分成四檔, 且每檔標(biāo)注得分按照排名遞減, 分別為3, 2, 1和0分。由于在排名分界點(diǎn)兩側(cè)標(biāo)注得分不同, 根據(jù)NDCG的計(jì)算規(guī)則可知, 此時(shí)出現(xiàn)預(yù)測(cè)誤差會(huì)使NDCG指標(biāo)的下降較為明顯。從圖6也容易觀察到, MRP-MART, MRP-Lambda MART和MRPRandom Forests模型的NDCG@n曲線在n=13附近趨于穩(wěn)定, 而線性回歸的NDCG@n曲線仍處于波動(dòng)的狀態(tài), 說(shuō)明這些MRP模型對(duì)電影排名預(yù)測(cè)的效果更穩(wěn)定, 較少出現(xiàn)將一些真實(shí)排名較高的電影預(yù)測(cè)到10名以外的情況。
表4是BOM網(wǎng)站在2017年第42周發(fā)布的電影周末票房排名結(jié)果以及各排序?qū)W習(xí)模型的預(yù)測(cè)結(jié)果。通過(guò)與官方發(fā)布數(shù)據(jù)(Official)對(duì)比可知, 線性回歸模型在電影排序預(yù)測(cè)中表現(xiàn)不佳, 將排在第一位的電影做了錯(cuò)誤的預(yù)測(cè), 而且在4~10的預(yù)測(cè)結(jié)果中,將一些10名外的電影排進(jìn)前10名。MRP-Random Forests模型對(duì)排名靠前的電影預(yù)測(cè)最準(zhǔn)確, 排名在前8位的都預(yù)測(cè)正確, 9~10名的預(yù)測(cè)雖然出現(xiàn)偏差,不過(guò)整體效果仍然最好。MRP-MART模型的預(yù)測(cè)效果次之。MRP-LambdaMART模型對(duì)前2名都預(yù)測(cè)正確, 而對(duì)3, 4名的預(yù)測(cè)結(jié)果與真實(shí)排名相反, 第3和第 4 名屬于不同的標(biāo)注等級(jí), 根據(jù)計(jì)算規(guī)則, 會(huì)導(dǎo)致這一周排名預(yù)測(cè)結(jié)果的NDCG指標(biāo)較低。
表5給出線性回歸模型中各特征對(duì)應(yīng)的系數(shù)值。本文的特征工程中, 利用式(1)對(duì)特征數(shù)值進(jìn)行歸一化。結(jié)合線性回歸模型的假設(shè)函數(shù)可知, 各個(gè)特征的系數(shù)正負(fù)可以表示該特征對(duì)電影排名等級(jí)貢獻(xiàn)的正負(fù)。由于式(1)的歸一化過(guò)程中倒置了數(shù)據(jù)的大小關(guān)系, 因此系數(shù)為負(fù)的特征對(duì)電影排名等級(jí)的貢獻(xiàn)是正向的, 反之亦然。系數(shù)的絕對(duì)值能在一定程度上體現(xiàn)特征的作用大小。從表5可以看出,在線性回歸模型中, “電影票房較上周變化百分比”特征對(duì)電影排名等級(jí)的貢獻(xiàn)程度最大, 這是因?yàn)榱己玫钠狈可蠞q趨勢(shì)會(huì)對(duì)未來(lái)電影的排名有促進(jìn)作用?!吧嫌秤霸簲?shù)”和“影院平均票房”也對(duì)電影排名等級(jí)起到較好的提升作用。電影上映的影院數(shù)量越多, 平均票房越高, 總票房必然也較高, 因此對(duì)未來(lái)電影的排名有提升作用。
表4 各預(yù)測(cè)模型對(duì)電影的排序結(jié)果Table 4 Movie ranking prediction results using baseline and proposed models
表5 線性回歸模型各特征系數(shù)Table 5 Feature coefficients of the linear regression model
表6 MRP-Random Forests模型特征重要程度得分Table 6 Features’ importance score of the MRP-Random Forests model
表6給出MRP-Random Forests模型中各特征的重要程度得分。由隨機(jī)森林模型的訓(xùn)練方法可知,每一棵決策樹在訓(xùn)練時(shí)使用的數(shù)據(jù)是從整個(gè)訓(xùn)練集中有放回采樣出來(lái)的。因此, 每棵樹都對(duì)應(yīng)一部分未被使用的帶外數(shù)據(jù)(out of bag, OOB)。通過(guò)這些帶外數(shù)據(jù), 可以在這一棵決策樹上計(jì)算帶外誤差(k表示第k棵決策樹)。在第k棵決策樹對(duì)應(yīng)的帶外數(shù)據(jù)的所有樣本中, 對(duì)特征x加入隨機(jī)的噪聲干擾后, 再次計(jì)算帶外誤差, 則在整體訓(xùn)練集上, 特征x的重要程度得分Ix可以定義為
其中,M表示隨機(jī)森林模型中決策樹的個(gè)數(shù)。由式(12)可知,Ix值越大, 特征x的重要程度越高。
從表6可以知道, “本周排名”在MRP-Random Forests模型中最重要。本周的電影排名對(duì)未來(lái)的電影排名等級(jí)預(yù)測(cè)有很大的參考價(jià)值, 因此該特征的重要程度比較高。“電影票房較上周變化百分比”和“電影上映影院數(shù)較上周變化量”的重要程度也比較高, 這一點(diǎn)與線性回歸模型中的特征系數(shù)的分析結(jié)論一致?!氨局芘琶碧卣髟诰€性回歸模型中對(duì)電影排名等級(jí)的貢獻(xiàn)不大, 甚至是正相關(guān)(排名越靠前,數(shù)值越小, 電影排名等級(jí)越高, 直觀上理解應(yīng)該是負(fù)相關(guān)), 原因可能是訓(xùn)練集中大部分電影的標(biāo)注等級(jí)都為0 (真實(shí)排名在10名之后的電影, 每周電影排行大約有100部左右的電影), 導(dǎo)致線性回歸模型在該特征上整體擬合時(shí), 為了減小全局損失, 對(duì)系數(shù)調(diào)整采取了一種折衷的方式。一些新上映的電影對(duì)電影排名的沖擊較大, 導(dǎo)致該電影雖然在本周的排名較靠前, 標(biāo)注的電影等級(jí)卻比較低(下一周該電影排名下滑)。
通過(guò)對(duì)表5和6中特征重要性的分析可知, 與出版單位特征相比, 本文特征工程中提取的時(shí)序特征和影院特征在電影排名預(yù)測(cè)上能取得更好的效果。
本文提出一種面向電影排名預(yù)測(cè)的排序?qū)W習(xí)模型。該模型利用BOM網(wǎng)站提供的電影數(shù)據(jù), 通過(guò)數(shù)據(jù)獲取與清洗以及特征抽取與拓展等步驟, 構(gòu)建數(shù)據(jù)集。在模型中嵌入多種排序?qū)W習(xí)方法, 對(duì)數(shù)據(jù)進(jìn)行訓(xùn)練以及測(cè)試, 并與線性回歸方法和神經(jīng)網(wǎng)絡(luò)方法進(jìn)行對(duì)比。實(shí)驗(yàn)結(jié)果顯示, MRP-Random Forests模型對(duì)排名的預(yù)測(cè)有比較良好穩(wěn)定的結(jié)果。本文提出的電影排名預(yù)測(cè)模型MRP有效地提高了電影排名預(yù)測(cè)任務(wù)的性能, 能對(duì)各影視院線排場(chǎng)、排片提供參照, 也能為觀影者提供熱門優(yōu)質(zhì)的影片推薦。但是目前的模型是基于已有的電影數(shù)據(jù)對(duì)排名進(jìn)行預(yù)測(cè), 無(wú)法對(duì)新上映的電影排名進(jìn)行預(yù)測(cè)。首周上映的電影, 由于前期的宣傳和營(yíng)銷工作, 對(duì)票房的沖擊力較強(qiáng), 往往會(huì)占據(jù)較靠前的排名位置。未來(lái)的工作中, 將對(duì)各大電影媒體網(wǎng)站中即將上映電影的廣告、宣傳內(nèi)容進(jìn)行采集與分析, 解決電影的冷啟動(dòng)問(wèn)題, 并從正上映電影的評(píng)分以及觀影者對(duì)電影的評(píng)價(jià)中挖掘更多信息, 融入情感分析等方式,對(duì)特征工程以及排序模型進(jìn)行拓展。