国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于混合特征的電影評分預(yù)測系統(tǒng)

2020-12-25 06:08:00黃東晉耿曉云丁友東
計算機技術(shù)與發(fā)展 2020年12期
關(guān)鍵詞:向量預(yù)測特征

黃東晉,耿曉云,李 娜,丁友東

(上海大學(xué),上海 200072)

0 引 言

現(xiàn)如今,觀影已經(jīng)逐漸成為人們?nèi)粘I钪胁豢苫蛉钡囊环N娛樂消遣方式,作為觀眾,希望每一次觀影體驗都是物超所值的,而電影評分很大程度上決定人們是否選擇這部電影;對于投資商來說,準(zhǔn)確地預(yù)測出評分可以有效減少利益損失。時至今日,國內(nèi)外在電影方面的預(yù)測系統(tǒng)多數(shù)集中在票房的預(yù)測,電影評分預(yù)測系統(tǒng)很少且大多忽略電影文本信息對于評分的影響,往往只采用了一些常用的特征信息或者電影評論信息,并且特征工程處理方式不夠完善,機器學(xué)習(xí)算法較單一,最終導(dǎo)致誤差普遍較高。

2012年,Andrei等人[1]基于社交媒體數(shù)據(jù),確定電影的定性和定量活動指標(biāo),通過提取兩組表面和文本特征進行電影評分的預(yù)測,但評價電影的用戶的人口統(tǒng)計數(shù)據(jù)可能與分享評論的人不同且數(shù)據(jù)處理過于復(fù)雜。2014年,Rajitha等人[2]提出一種基于視頻中觀眾觀影時的表情和肢體動作的電影評分預(yù)測系統(tǒng),但由于該實驗對于觀眾的要求較高,自我報告實現(xiàn)比較困難。2017年,Mustafa等人[3]提出一種基于混合屬性使用和集成學(xué)習(xí)的電影用戶評分預(yù)測系統(tǒng),能夠較好地預(yù)測評分。同年劉明昌基于豆瓣電影數(shù)據(jù)構(gòu)建了混合評分預(yù)測系統(tǒng),有效提高了預(yù)測準(zhǔn)確性。2018年,黃幸穎等人[4]提出了一種克服了協(xié)同過濾算法中稀疏性影響的基于自編碼網(wǎng)絡(luò)的電影評分預(yù)測系統(tǒng),但同時它帶來的非凸函數(shù)的優(yōu)化問題使得實驗結(jié)果并不穩(wěn)定。

針對這些問題,該文結(jié)合自然語言處理技術(shù),提出一種基于混合特征的電影評分預(yù)測系統(tǒng),巧妙綜合了文本特征[5]和常用的電影特征的優(yōu)勢,實驗結(jié)果表明,混合特征能夠顯著降低預(yù)測誤差,使得該系統(tǒng)能夠較為準(zhǔn)確地預(yù)測電影評分。

1 系統(tǒng)框架

該文提出的基于混合特征的電影評分預(yù)測系統(tǒng)主要由文本矢量化、文本評分預(yù)測模型以及基于混合特征的評分預(yù)測模型這三部分組成。

具體流程如圖1所示。

圖1 系統(tǒng)框架

(1)UI輸入導(dǎo)演、三位主演、上映時間、電影類型等電影特征信息和電影簡介文本信息傳入后端,文本信息經(jīng)過預(yù)處理后由維基百科語料庫預(yù)訓(xùn)練好的Bert模型進行矢量化,從而得到文本矢量特征;

(2)利用SVM算法對該矢量特征進行訓(xùn)練建模,預(yù)測文本評分;

(3)將文本評分作為一維新特征加入到預(yù)處理好的電影特征信息中,通過Random Forest算法預(yù)測最終的電影評分并返回到UI界面。

2 系統(tǒng)關(guān)鍵技術(shù)

2.1 文本矢量化

在自然語言處理中首先要考慮的就是詞在計算機中的表示方法,對于文本信息,詞嵌入要做的就是把單詞嵌入到低維空間中用向量來表示,因此近義詞的詞向量距離理應(yīng)較近。由于任意一個詞都可以用它的相鄰詞來表示,所以一般情況下,可以通過統(tǒng)計學(xué)方法或者基于不同結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)的語言模型來生成詞向量。

One-hot編碼使用參數(shù)0和1表示,詞向量的維度等于詞的總數(shù)量且僅一位有效,通常用來處理離散型數(shù)值特征,但是當(dāng)特征較多時,矩陣會過于稀疏。而詞袋模型則認(rèn)為大量獨立無序詞匯的集合形成文本,其在文本里出現(xiàn)的次數(shù)作為這個詞的向量,但仍然存在矩陣稀疏性,另外該方法丟失了上下文信息。2013年谷歌推出一種引起業(yè)界轟動的分為Skip-gram和CBOW兩種模型的詞向量工具-Word2vec[6],其中前者是由中心詞預(yù)測上下文,后者是由上下文預(yù)測中心詞,通過層次softmax和負(fù)采樣技術(shù)大幅度改進了詞向量模型的性能。由于該模型引入了上下文,使得詞向量帶有語義信息,所以近義詞的詞向量具有相似性,但是該模型只考慮到了局部信息,而忽視了全局統(tǒng)計信息。為了解決這個問題,斯坦福NLP實驗組于2014年推出全局詞向量表達工具Glove[7],該工具的本質(zhì)是將全局矩陣分解和局部文本框捕捉兩大技術(shù)進行結(jié)合,提高了很多NLP基礎(chǔ)任務(wù)的準(zhǔn)確率。然而它們都忽略了一個問題,即一詞多義性,2018年華盛頓大學(xué)提出的使用雙向長短期記憶模型(bi-directional long short-term memory,Bi-LSTM)[8]的基于語言模型的詞向量(embedding from language models,ELMO)工具[9]就是針對這一問題進行了優(yōu)化,但LSTM序列模型有兩大缺陷,一是無法雙向考慮上下文信息,二是并行計算能力差。所以2018年Google推出了采用Transformer編碼器的Bert[10]詞向量模型,通過與自注意力機制相結(jié)合,真正實現(xiàn)了雙向編碼。

文中的電影文本信息首先要經(jīng)過預(yù)處理,包括過濾特殊字符、去停用詞等工作,然后使用預(yù)訓(xùn)練好的Bert詞向量模型對文本進行向量化。

2.1.1 Bert詞向量模型

真正實現(xiàn)雙向編碼的Bert模型能夠有效聯(lián)系上下文,顯著提高泛化能力。Bert模型將Transformer編碼器和注意力機制結(jié)合起來,比RNN的效率更高,同時對于長文本的效果更好[10]。

其中Transformer模型是由1個編碼器組和1個解碼器組構(gòu)成,而它們又分別由6個編碼器和6個解碼器組成。如圖2所示,每個編碼器包括一個前饋神經(jīng)網(wǎng)絡(luò)和一個幫助編碼器在編碼單詞的過程中理解輸入序列中的其他單詞的自注意力機制,而每個解碼器在編碼器的基礎(chǔ)上增加了一層用來幫助當(dāng)前節(jié)點獲取當(dāng)前需要關(guān)注的重點內(nèi)容的編碼-解碼注意力層。

圖2 編碼-解碼器

Transformer模型的具體流程是:首先將通過Embedding處理后的輸入數(shù)據(jù)送到編碼器中,然后相繼由自注意力機制和Feed Forward進行處理,輸出到下一個編碼器,最后將解碼器的輸出通過一個全連接層和一個softmax進行映射,選取最大概率的詞。

2.1.2 文本矢量化

Bert的使用分為預(yù)訓(xùn)練和微調(diào),其中預(yù)訓(xùn)練包括MLM和NSP[10],前者是指隨機選取15%的詞,其中80%的概率采用mask標(biāo)記,10%的概率采用隨機詞替代,剩下10%的概率不做替換,然后利用上下文來預(yù)測這些詞。后者是指判斷輸入Bert的兩個文本的連續(xù)性,相當(dāng)于二分類任務(wù)。

Bert詞向量模型以字為最小單位,不需要對文本進行分詞,輸入由三個嵌入特征構(gòu)成。Bert模型在預(yù)處理好的維基百科語料上進行預(yù)訓(xùn)練,獲得Bert詞向量模型,然后對預(yù)處理過的電影文本信息進行矢量化,輸出768維文本向量。

2.2 回歸算法

當(dāng)前的回歸預(yù)測模型主要是機器學(xué)習(xí)算法和深度學(xué)習(xí)算法的應(yīng)用,常用的有線性回歸、決策樹回歸、SVM、Random Forest、xgboost、LSTM、CNN等。

2011年Dong Nguyen等人[11]提出基于線性回歸算法的文本作者年齡預(yù)測模型,實驗表明話語模式與個人識別之間的相關(guān)性高達0.74,平均絕對誤差在4.1至6.8之間。2015年蔡慧蘋等人[12]提出基于Word embedding和CNN的情感分類模型,其準(zhǔn)確率比傳統(tǒng)ML高了約5個百分點。2017年Ashok等人[13]提出一種利用支持向量回歸算法在線模式開發(fā)基于機器視覺的鐵礦石等級預(yù)測模型,實驗表明測試樣品的觀察值和預(yù)測值之間的相關(guān)系數(shù)為0.824 4,該模型對于鐵礦石等級的預(yù)測性能較好。同年胡西祥針對微博評論構(gòu)建基于DL的情感分類模型,其準(zhǔn)確率為84.5%。隨后Torlay等人[14]提出基于xgboost算法的癲癇患者分析及分類,AUC指標(biāo)為96%。同時王斌構(gòu)建了基于LSTM的交通流量預(yù)測系統(tǒng),實驗表明平均精度為95%。對比實驗表明,SVM和Random Forest在該電影數(shù)據(jù)集上的表現(xiàn)最優(yōu),所以下面就這兩種算法做一些簡要的介紹。

2.2.1 Random Forest

Random Forest[15]是一種由多個弱分類器對數(shù)據(jù)進行訓(xùn)練并預(yù)測的集成算法,一個樣本數(shù)據(jù)有多個分類輸出結(jié)果,而最終的類別由投票機制確定。

該算法流程如圖3所示。對于每個分類器,首先采用有放回機制在所有的數(shù)據(jù)樣本中隨機選取部分樣本,然后從這些樣本的特征中再隨機選取部分特征,并挑選出最好的特征。同時每棵決策樹都無剪枝的盡可能的生長直至輸出一個分類結(jié)果,通過多數(shù)為勝的投票機制確定最終輸出類別。

Random Forest是一種實用性很強的算法,在目前所有的算法中具有較好的準(zhǔn)確率,而且在大數(shù)據(jù)集和高維特征上都有很好的表現(xiàn)。

圖3 Random Forest結(jié)構(gòu)

2.2.2 SVM

SVM[16]是一種適用于處理分類和回歸問題的基于統(tǒng)計學(xué)的有監(jiān)督的二分類器,主要問題是如何在特征空間中使數(shù)據(jù)點與超平面的距離最大化。該算法在訓(xùn)練過程中首先利用拉格朗日乘子法[17]與對偶學(xué)習(xí)法來處理最優(yōu)化問題,然后由序列最小優(yōu)化(sequential minimal optimization,SMO)來求解。

其中線性可分SVM適用于嚴(yán)格線性可分的數(shù)據(jù)集,假設(shè)超平面為:

y=wTx+b

(1)

則數(shù)據(jù)點(xi,yi)與超平面的距離為:

(2)

其幾何距離為:

(3)

(4)

=p*

(5)

則其對偶問題為:

=Q*

(6)

且Q*≤P*,根據(jù)Slater條件可知存在xi使得Q*=P*,對w和b求偏導(dǎo)后通過SMO算法來求解。

線性SVM適用線性不可分?jǐn)?shù)據(jù)集,增加了松弛變量,其超平面和決策函數(shù)與前面的相同。而非線性SVM引入了核函數(shù),通過非線性映射使該數(shù)據(jù)線性可分,然后按照線性SVM的方法求解。

3 實驗與結(jié)果分析

本次實驗的硬件配置是基于macOS High Sierra系統(tǒng),CPU型號為3.5GHz 6-Core Intel Xeon E5,內(nèi)存為16G;軟件配置:編程工具為Pycharm2018.3.2,基于Python3.7編程語言和Tensorflow1.13.1框架,此外還使用了gensim庫、jieba分詞庫、pandas庫和scikit_learn庫等。

如圖4所示,系統(tǒng)UI包括輸入和輸出兩部分,其中輸入是指用戶輸入電影名、電影特征信息以及電影簡介文本信息,輸出是指前端輸入的信息傳輸?shù)胶蠖?,后端進行處理后,將預(yù)測出的評分返回到UI界面。

該文設(shè)計了兩組實驗,分別是文本評分預(yù)測模型實驗和基于混合特征的評分預(yù)測模型實驗,實驗性能指標(biāo)采用均方根誤差RMSE。

圖4 系統(tǒng)UI界面

3.1 文本評分預(yù)測模型實驗

第一組實驗是文本評分預(yù)測模型實驗,使用的數(shù)據(jù)是豆瓣爬取的12 491條電影的文本信息,即電影簡介,其中以0.8和0.2的比例切分訓(xùn)練測試樣本。

該實驗首先使用預(yù)訓(xùn)練好的Bert和Word2vec模型分別矢量化輸入數(shù)據(jù)得到文本矢量特征,然后基于SVM算法建模,調(diào)參后使用最佳參數(shù)訓(xùn)練測試。同時為了驗證該模型性能的優(yōu)劣性,使用了另外十種算法進行對比實驗,實驗結(jié)果如圖5所示,橫坐標(biāo)為十一種算法,縱坐標(biāo)為RMSE值。

圖5 Bert和Word2vec效果對比

實驗結(jié)果表明,在該數(shù)據(jù)集上Bert詞向量效果要優(yōu)于Word2vec,且SVM算法的表現(xiàn)最好,RMSE為1.43。為了更加直觀地觀察模型性能,在測試集中隨機選取50條數(shù)據(jù),評分預(yù)測值與實際值的比較結(jié)果如圖6所示,容易看出基本走勢大致相同,但整體誤差較大,說明僅僅依靠文本特征無法很好地預(yù)測評分。

圖6 基于SVM算法的評分預(yù)測值與真值的結(jié)果對比

3.2 基于混合特征的評分預(yù)測模型實驗

第二組實驗是基于混合特征的評分預(yù)測模型實驗,基于上一組實驗中的2 500條測試樣本,依據(jù)是否含有文本特征這一條件設(shè)計一組對比實驗。樣本中的主要信息包括電影ID、名稱、上映年份、類型、導(dǎo)演、演員和豆瓣評分等,同樣以0.8和0.2的比例切分訓(xùn)練測試樣本。

該實驗首先根據(jù)是否包含電影文本信息將數(shù)據(jù)集分為兩組,在將數(shù)據(jù)標(biāo)準(zhǔn)化后,分別基于Random Forest算法構(gòu)建模型,通過網(wǎng)格搜索調(diào)參獲得最佳模型參數(shù),然后隨機劃分?jǐn)?shù)據(jù)集進行100次訓(xùn)練預(yù)測實驗,計算RMSE的平均值,同時為了驗證模型性能的優(yōu)劣性,分別使用了另外十種算法進行對比實驗,兩組實驗結(jié)果對比如表1所示。

實驗結(jié)果表明,電影特征信息和文本信息的特征混合能夠顯著提升模型性能,且在該數(shù)據(jù)集上表現(xiàn)最優(yōu)的算法為Random Forest,其RMSE為0.564 3,在測試集中隨機選取50條數(shù)據(jù),評分預(yù)測值與實際值的比較結(jié)果如圖7所示。最后為了評估該系統(tǒng)的用戶體驗度,邀請了30位同學(xué)來體驗,為該系統(tǒng)打分,采用10分制,問卷統(tǒng)計結(jié)果如表2所示,可以看出該系統(tǒng)操作性、流暢性以及實用性很好,但是UI設(shè)計和耗時性有待改進。

表1 對比結(jié)果

表2 問卷統(tǒng)計結(jié)果

圖7 基于Random Forest算法的評分預(yù)測值與實際值的結(jié)果對比

4 結(jié)束語

利用自然語言處理技術(shù)與機器學(xué)習(xí)算法的優(yōu)勢,提出了基于混合特征的電影評分預(yù)測系統(tǒng),通過對比實驗可看出Bert具有更好的詞向量效果且混合特征可顯著提升模型性能,另外實驗結(jié)果表明機器學(xué)習(xí)算法中SVM和Random Forest算法在該電影數(shù)據(jù)集上的表現(xiàn)最好,系統(tǒng)預(yù)測準(zhǔn)確率較高。當(dāng)然該系統(tǒng)還存在不足之處,比如實時性不高且UI設(shè)計不夠完美,后期可以針對Bert模型進行改進,加快文本的向量化過程,另外在UI設(shè)計方面,可以在得到評分預(yù)測結(jié)果的同時背景中加入對應(yīng)電影海報的展示,使得系統(tǒng)界面更加智能美觀。

猜你喜歡
向量預(yù)測特征
無可預(yù)測
黃河之聲(2022年10期)2022-09-27 13:59:46
選修2-2期中考試預(yù)測卷(A卷)
選修2-2期中考試預(yù)測卷(B卷)
向量的分解
聚焦“向量與三角”創(chuàng)新題
如何表達“特征”
不忠誠的四個特征
抓住特征巧觀察
不必預(yù)測未來,只需把握現(xiàn)在
向量垂直在解析幾何中的應(yīng)用
阜宁县| 遵化市| 仪征市| 呼伦贝尔市| 南城县| 山阴县| 府谷县| 哈密市| 阳江市| 洪洞县| 涟源市| 石泉县| 镇赉县| 汕尾市| 安康市| 斗六市| 女性| 卓资县| 古田县| 大田县| 濉溪县| 包头市| 安新县| 台北市| 博爱县| 磐石市| 车险| 东方市| 永丰县| 定襄县| 资中县| 嘉定区| 南丹县| 金昌市| 藁城市| 长垣县| 万荣县| 祁阳县| 吴旗县| 木里| 鲁甸县|