黃耀 董安明
為滿足用戶影視個(gè)性化點(diǎn)播需求,本文提出一種基于深度學(xué)習(xí)和協(xié)同濾波相融合的影視節(jié)目推薦算法,通過(guò)構(gòu)建多層感知網(wǎng)絡(luò)實(shí)現(xiàn)用戶偏好特征和節(jié)目特征的提取,進(jìn)而利用所得到的特征信息通過(guò)協(xié)同過(guò)濾分別給出用戶所喜歡的同類型節(jié)目以及偏好節(jié)目的推薦。實(shí)驗(yàn)表明本算法所推薦的影視節(jié)目能夠充分迎合用戶的個(gè)性化需求。
隨著移動(dòng)互聯(lián)網(wǎng)的發(fā)展,移動(dòng)視頻在人們?nèi)粘蕵?lè)生活中越來(lái)越普及。與此同時(shí),影視文化產(chǎn)業(yè)的快速發(fā)展,影視劇數(shù)目和類型的不斷推陳出新,加劇了信息過(guò)載問(wèn)題,導(dǎo)致人們難以從海量資源中找到符合自己口味和興趣的影視劇。個(gè)性化推薦通過(guò)大數(shù)據(jù)分析,挖掘用戶的個(gè)性化影視劇觀看需求,可將有價(jià)值的信息主動(dòng)推薦給潛在用戶,為解決此類問(wèn)題提供了一種有效途徑。
影視劇推薦系統(tǒng)近幾年引起學(xué)術(shù)界的極大關(guān)注。有研究提出了一種基于情境感知的個(gè)性化影視推薦算法,通過(guò)融入情境要素對(duì)用戶評(píng)分的影響,使得預(yù)測(cè)評(píng)分更加精準(zhǔn)。還有研究把用戶相似度和用戶權(quán)重的思想融入經(jīng)典推薦算法中,使得推薦結(jié)果更符合用戶的審美口味。也有研究在電影推薦中考慮在線評(píng)論中的情感因素,提出了基于協(xié)同過(guò)濾算法的影視營(yíng)銷推薦算法,通過(guò)神經(jīng)網(wǎng)絡(luò)并結(jié)合擴(kuò)散算法構(gòu)建了用戶生成推薦列表。
本文以中國(guó)網(wǎng)絡(luò)電視臺(tái)(CNTV)移動(dòng)用戶真實(shí)觀影大數(shù)據(jù)為基礎(chǔ),構(gòu)建了一種基于協(xié)同過(guò)濾與深度學(xué)習(xí)相結(jié)合的影視劇推薦算法。所提算法利用深度學(xué)習(xí)技術(shù)得到了用戶特征矩陣和節(jié)目特征矩陣,進(jìn)而使用協(xié)同過(guò)濾的方法進(jìn)行推薦。實(shí)驗(yàn)表明此方法所推薦的影視劇能夠更好地迎合用戶需求。
系統(tǒng)模型
數(shù)據(jù)集及需求
本文使用的數(shù)據(jù)集來(lái)自于 CNTV 手機(jī)電視在 2019 年 10 月份產(chǎn)生的約 4 900 萬(wàn)條數(shù)據(jù)。其涵蓋的信息如圖 1 所示,包括用戶 ID、操作系統(tǒng)、所連接的網(wǎng)絡(luò)、移動(dòng)運(yùn)營(yíng)商信息、所在地區(qū)、觀看時(shí)間、節(jié)目類別、節(jié)目名稱以及觀看行為記錄(如播放、拖動(dòng)、停止等)等。本文的目標(biāo)是根據(jù)該數(shù)據(jù)集為用戶推薦感興趣的節(jié)目,以提升收視率。
系統(tǒng)架構(gòu)
本文將協(xié)同過(guò)濾與深度學(xué)習(xí)技術(shù)相結(jié)合,來(lái)構(gòu)建影視節(jié)目推薦系統(tǒng),為目標(biāo)用戶推薦感興趣的節(jié)目,如圖 2 所示。
協(xié)同過(guò)濾算法又稱社會(huì)過(guò)濾,被廣泛應(yīng)用于推薦系統(tǒng)設(shè)計(jì),其背后的原理是已有事物偏好相似的用戶對(duì)新事物的偏好也基本一致,從而可根據(jù)其他用戶的偏好向目標(biāo)用戶推薦。協(xié)同過(guò)濾方法需要首先找出一組與目標(biāo)用戶偏好一致的鄰居用戶,然后通過(guò)分析該鄰居用戶的喜好,將其推薦給目標(biāo)用戶。
基于協(xié)同過(guò)濾的思想,根據(jù)數(shù)據(jù)集中所挖掘出的用戶特征和節(jié)目特征相似度的對(duì)比,實(shí)現(xiàn) 2 個(gè)功能:
①為指定用戶推薦符合其偏好的節(jié)目。主要思路是通過(guò)計(jì)算該用戶的特征向量與某影視劇特征向量之間的相似度,從而推薦相似度高的節(jié)目。
②為指定用戶推薦其喜歡的同類型節(jié)目。其基本思路是計(jì)算不同節(jié)目特征向量之間的相似度,并找出相似度較高的影視劇。
深度學(xué)習(xí)特征提取
為了獲取上述用戶和節(jié)目特征向量,本文采用了深度學(xué)習(xí)技術(shù),通過(guò)構(gòu)建深度神經(jīng)網(wǎng)絡(luò),從所給定的數(shù)據(jù)集上自動(dòng)學(xué)習(xí)并抽取特征向量。所提出的基于深度學(xué)習(xí)的特征提取模型如圖 3 所示。將用戶 ID、用戶省份、節(jié)目 ID 和節(jié)目名稱等信息,通過(guò)嵌入層和文本卷積神經(jīng)網(wǎng)絡(luò)(CNN)編碼后,送入對(duì)應(yīng)的多層全連接神經(jīng)網(wǎng)絡(luò)構(gòu)成的多層感知器(MLP),分別輸出用戶特征向量和節(jié)目特征向量。這 2 個(gè)特征再送入乘法層,最終輸出預(yù)測(cè)的播放次數(shù)。以該預(yù)測(cè)播放次數(shù)作為用戶偏好程度的評(píng)分。
在訓(xùn)練階段,通過(guò)將輸出預(yù)測(cè)播放次數(shù)與數(shù)據(jù)集中實(shí)際的播放次數(shù)進(jìn)行對(duì)比,得到預(yù)測(cè)均方誤差(MSE),從而構(gòu)成深度網(wǎng)絡(luò)的損失函數(shù),用于實(shí)現(xiàn)神經(jīng)網(wǎng)絡(luò)參數(shù)的優(yōu)化調(diào)整。
該模型在接收輸入數(shù)據(jù)時(shí)使用了嵌入層,將非數(shù)值數(shù)據(jù)轉(zhuǎn)換成數(shù)值數(shù)據(jù),保證神經(jīng)網(wǎng)絡(luò)可以處理。對(duì)節(jié)目名,使用文本卷積神經(jīng)網(wǎng)絡(luò)將文本處理為特征數(shù)據(jù),即首先將一句話分割成單詞,再通過(guò)嵌入層產(chǎn)生單詞向量編碼,然后由 CNN 產(chǎn)生電影名的特征向量。
實(shí)驗(yàn)及分析
數(shù)據(jù)預(yù)處理
圖 3 所示的嵌入層將原始的非數(shù)值文本數(shù)據(jù)轉(zhuǎn)化為數(shù)值數(shù)據(jù)只提取需要的數(shù)據(jù)列。經(jīng)過(guò)數(shù)值化處理后的數(shù)據(jù),如圖 4所示。
深度學(xué)習(xí)訓(xùn)練收斂曲線
利用數(shù)據(jù)集中隨機(jī)選擇的 100 萬(wàn)條數(shù)據(jù)對(duì)圖 3 所示的深度學(xué)習(xí)特征提取模塊進(jìn)行訓(xùn)練,其損失函數(shù)首先曲線如圖 5所示??梢?jiàn)算法經(jīng)過(guò)數(shù)輪迭代即可收斂。
協(xié)同過(guò)濾推薦結(jié)果
在訓(xùn)練結(jié)束后,應(yīng)用圖 3 所示的深度學(xué)習(xí)網(wǎng)絡(luò)得到輸入數(shù)據(jù)的用戶特征值矩陣和節(jié)目特征值矩陣。在此基礎(chǔ)上,利用余弦相似度計(jì)算圖 1 所示所示的相似度,并最終得到協(xié)同過(guò)濾的 2 種類型節(jié)目推薦結(jié)果。
其中,圖 6 給出了對(duì) ID 為 24 的用戶所實(shí)現(xiàn)的關(guān)于體育節(jié)目的同類型節(jié)目推薦結(jié)果??梢钥吹?,對(duì)該用戶主要推薦了體育節(jié)目,以及與體育精神特征有關(guān)的影視劇(《決勝》)。圖 7 顯示了對(duì)該用戶所推薦的有可能喜歡的影視節(jié)目??梢?jiàn),此算法不僅僅推薦體育界面,還推薦了熱播劇。
本文提出了一種基于協(xié)同濾波和深度學(xué)習(xí)相結(jié)合的節(jié)目推薦算法。利用深度學(xué)習(xí)技術(shù),對(duì)央視移動(dòng)視頻統(tǒng)計(jì)數(shù)據(jù)進(jìn)行挖掘,產(chǎn)生用戶偏好特征和節(jié)目相似特征,進(jìn)而利用協(xié)同過(guò)濾實(shí)現(xiàn)對(duì)特定用戶的專屬節(jié)目推薦。實(shí)驗(yàn)結(jié)果表明,該方法能夠?yàn)橛脩籼峁┩愋凸?jié)目推薦以及偏好節(jié)目推薦。