程 濤,崔宗敏,喻 靜
(九江學(xué)院 信息科學(xué)與技術(shù)學(xué)院,江西 九江 332005)
隨著通訊技術(shù)與大數(shù)據(jù)產(chǎn)業(yè)的高速發(fā)展,信息資源在網(wǎng)絡(luò)中以指數(shù)爆炸式增長的同時,信息載體攜帶的信息量也逐漸增大。其中作為人們常見的信息媒體之一,視頻已成為人們消遣娛樂的主要方式。如今,抖音、B站、愛奇藝等視頻業(yè)務(wù)蒸蒸日上,視頻資源也日益增多,用戶開始困于無法在短時間尋找到自己喜愛的視頻,他們迫切需要一種既可以節(jié)約時間又可以向他們進(jìn)行個性化視頻信息推薦[1-2]的推薦系統(tǒng)。為此,視頻推薦系統(tǒng)以其獨(dú)特的解決視頻信息過載[3]的能力開始漸漸地走入了人們的生活,在近幾年也受到了越來越多的重視。
傳統(tǒng)的視頻推薦方法主要包括協(xié)同過濾[4-5]、基于內(nèi)容的推薦方法[6]和其他混合推薦方法[7-8]等,其中協(xié)同過濾是目前應(yīng)用最為廣泛的推薦算法,然而由于經(jīng)典的協(xié)同過濾方法采用淺層模型,其無法學(xué)習(xí)到用戶和項(xiàng)目的深層次特征[9]。比如在現(xiàn)實(shí)生活中,用戶的興趣和視頻的屬性總存在著大量交互關(guān)聯(lián),擁有“漫威”興趣屬性的用戶喜歡看擁有“漫威”屬性的視頻。倘若能考慮到這些豐富的關(guān)聯(lián),將大大提高視頻推薦系統(tǒng)的性能,然而目前提出的方法[10-12]都是通過計(jì)算向量的距離,矩陣分解,文本分析等方法進(jìn)行相關(guān)的視頻推薦。它們都更多關(guān)注于通過改進(jìn)距離計(jì)算和矩陣分解提高推薦效果,大多忽略了交互關(guān)聯(lián)的潛在作用。
考慮類似屬性的傳統(tǒng)算法便是基于內(nèi)容的推薦方法[13],通過自動分析視頻內(nèi)容提取的視頻視覺特征,提出了一種新的基于內(nèi)容的推薦系統(tǒng)[14]。通過從候選視頻的標(biāo)題中提取的關(guān)鍵字與目標(biāo)詞進(jìn)行比較,提出一種基于視頻標(biāo)題的視頻推薦系統(tǒng)。這些方法主要通過用戶觀看過的視頻屬性為其推薦其他具有類似屬性的視頻,其依賴于人工設(shè)計(jì)特征,需要對視頻屬性特征進(jìn)行有效的提取,是一種依賴于人工設(shè)計(jì)特征傳統(tǒng)的淺層模型,因此其有效性和可擴(kuò)展性非常有限。
作為人工智能的一個熱潮,深度學(xué)習(xí)于近幾年在圖像處理、自然語言理解和語音識別[15-16]等領(lǐng)域取得了突破性進(jìn)展,為個性化推薦的研究帶來了新的機(jī)遇。深度學(xué)習(xí)常見的模型包括玻爾茲曼機(jī)、RNN、LSTM,以及[17]提出的MLP和GMF等通過將不同的數(shù)據(jù)映射到一個相同的隱空間,使其具備能夠獲得數(shù)據(jù)的統(tǒng)一表征的能力,因此,基于深度學(xué)習(xí)的融合傳統(tǒng)推薦方法能夠有效利用多源異構(gòu)數(shù)據(jù)[18]對用戶進(jìn)行個性化推薦,緩解傳統(tǒng)推薦系統(tǒng)中存在的數(shù)據(jù)稀疏和冷啟動問題。當(dāng)然,目前常用的深度學(xué)習(xí)模型也存在花費(fèi)巨大和依賴大數(shù)據(jù)的問題,當(dāng)需表征得數(shù)據(jù)過大時,會面臨訓(xùn)練耗時延長等問題。
為了解決上述問題,文中結(jié)合傳統(tǒng)的基于LDA模型[19]的視頻推薦算法和當(dāng)下火熱的深度學(xué)習(xí),充分利用用戶興趣和視頻豐富屬性間的關(guān)聯(lián),使用視頻LDA主題模型對視頻的豐富屬性進(jìn)行聚類,從而降低數(shù)據(jù)維度以減少深度學(xué)習(xí)的負(fù)擔(dān),然后基于近期提出的神經(jīng)協(xié)同過濾框架[17]進(jìn)行建模訓(xùn)練從而得到推薦結(jié)果。
LDA(latent Dirichlet allocation)是2003年由David Blei等提出的一種文檔主題生成模型[20],也稱為一個三層貝葉斯概率模型,包含詞、主題和文檔三層結(jié)構(gòu)。它是利用先驗(yàn)分布對數(shù)據(jù)進(jìn)行似然估計(jì)并最終得到后驗(yàn)分布的一種方式,如式(1)所示:
P(Word|Document)=P(Topic|Document)*P(Word|Document)
(1)
對每一篇文檔,從主題分布中抽取一個主題,然后從上述被抽到的主題所對應(yīng)的單詞分布中抽取一個單詞,這樣重復(fù)上述過程直至遍歷文檔中的每一個單詞。其生成方式為首先從Dirichlet分布α中取樣生成文檔的主題分布θm,從主題的多項(xiàng)式分布θm中取樣生成文檔m第n個詞的主題Zm,n,然后從Dirichlet分布β中取樣生成主題Zm,n對應(yīng)的詞語分布?m,n,最后從詞語的多項(xiàng)式分布 ?m,n中采樣最終生成詞語Wm,n。
眾所周知,每個視頻都有相當(dāng)多的文檔信息,比如介紹信息以及評論信息等,倘若將這些相關(guān)信息看作一個整體的文檔,便可以通過LDA主題模型,獲得每個電影文檔的主題-概率分布,然后可以利用這些概率預(yù)測每個視頻的主題屬性,從而根據(jù)用戶歷史觀看數(shù)據(jù)預(yù)測出用戶感興趣的主題。首先進(jìn)行對數(shù)據(jù)的爬取,通過對這些數(shù)據(jù)的處理構(gòu)建訓(xùn)練樣本以及相關(guān)詞典。對于爬取的視頻信息文本文檔,先進(jìn)行jieba分詞,并將分詞結(jié)果作為語料進(jìn)行LDA模型訓(xùn)練。然后通過視頻LDA訓(xùn)練結(jié)果預(yù)測出用戶的興趣主題集和視頻的屬性主體集,再基于神經(jīng)協(xié)同框架將用戶/視頻與他們相關(guān)主題屬性進(jìn)行建模,通過對兩種模型的結(jié)合,便構(gòu)成了LIVR模型。最后,只需用戶的隱式反饋便可以訓(xùn)練出最優(yōu)模型,從而對用戶生成推薦列表。
傳統(tǒng)的基于LDA模型的文本分析方法中,比如用于微博的文本分析方法,其常是單純的進(jìn)行語料爬取,然后將語料經(jīng)去停用詞和分詞后直接進(jìn)行LDA訓(xùn)練得到文檔-主題概率分布。考慮到所有視頻的信息文檔都具有視頻媒體類的特征,傳統(tǒng)方法可能會把《鋼鐵俠》和《生化危機(jī)》聚為一類即視頻類,因?yàn)樗鼈兊男畔⑽臋n中都存在大量的視頻類的特征詞,諸如“主演”“導(dǎo)演”“演員”等等。并且盡管jieba有著新詞識別能力,但是一些關(guān)鍵的特征詞諸如“美國隊(duì)長”可能會被分成“美國”和“隊(duì)長”,這樣將嚴(yán)重降低分詞的正確率。為了提高聚類效果,在傳統(tǒng)的基于LDA模型的文本分析方法的基礎(chǔ)上,引入了視頻詞典和干擾詞典進(jìn)行改進(jìn)視頻文檔的聚類效果。
定義1(視頻詞典):由所有視頻的標(biāo)題屬性和爬取的輸入法中的影視詞匯構(gòu)成的詞典定義為關(guān)鍵詞典,記為Udic。
定義2(干擾詞典):由所有會影響到聚類效果的詞匯定義為干擾詞,記為Iw∈Iws,Iw構(gòu)成的詞典定義為干擾詞典,記為Iws。
定義3(特征詞):將視頻整體文檔D中具有實(shí)體意義的詞定義為特征詞,記為Fw,所有Fw構(gòu)成的集合定義為特征詞集,記為Fws。
根據(jù)以上定義,將一個視頻的整體文檔中的標(biāo)題屬性和所有的關(guān)鍵屬性諸如導(dǎo)演、演員、標(biāo)簽等直接作為這個視頻的特征詞Fw,通過對視頻的文本屬性進(jìn)行去干擾詞和視頻詞典的驗(yàn)證,可以將每個視頻的特征詞詞集描述為:
Fws=(Jb-Jb∩Iws)∪At
(2)
其中,Jb為導(dǎo)入視頻詞典后的jieba分詞結(jié)果,At為相關(guān)關(guān)鍵屬性集合。
通過視頻LDA模型,可以預(yù)測出每個視頻的視頻-主題概率分布,進(jìn)一步將其描述為一個矩陣VT:
(3)
將該視頻的每個主題預(yù)測的概率作為該主題所占的屬性主題權(quán)重,然后通過設(shè)置閾值s,從視頻的所有主題中挑選出概率大于s的主題構(gòu)成這個視頻的屬性主題集ATS(Attribute-Tfs),若ATS為空則取前3個主題。
然后可以利用用戶的觀看歷史構(gòu)建的交互視頻集IFVs和視頻-主題矩陣VT預(yù)測出他的主題興趣集ITS(Interest-Tfs)。首先根據(jù)用戶觀看過的所有視頻記錄,利用式(4)計(jì)算出用戶偏愛的興趣主題權(quán)重。
(4)
利用神經(jīng)協(xié)同過濾框架對用戶/項(xiàng)目和視頻LDA模型預(yù)測的ITS和ATS進(jìn)行建模訓(xùn)練,考慮到要想建模用戶/視頻和它們的主題屬性之間的成對關(guān)聯(lián),以及它的屬性之間的所有嵌套關(guān)聯(lián),最常用的便是神經(jīng)網(wǎng)絡(luò)建模中的池操作,因此,決定使用文獻(xiàn)[21]提出的pairwise-pooling操作進(jìn)行建模。如式5建模用戶u和他的興趣主題集ITS的成對關(guān)系,其中u',ITSu'為用戶,用戶興趣主題集的K維嵌入量,|ITSu|為興趣主題集的長度,⊙表示兩個逐元素相乘。同理,如式6建模視頻v和他的屬性主題集ATS的成對關(guān)系。
pariwise(u,{ITSu})=
(5)
pariwise(v,{ATSv})=
(6)
(7)
E1=σ1(W1(pairwise(u,ITSu)⊙pairwise(v,
E2=σ2W2σ1+b2
……
El=σl(Wlσi-1+bl)
(8)
爬取了豆瓣電影網(wǎng)中的1 204部電影的相關(guān)信息,966個用戶,96 255條評分記錄作為實(shí)驗(yàn)數(shù)據(jù)集。然后對爬取到的評論與簡介信息進(jìn)行傳統(tǒng)LDA方法中的同義詞處理,將中文常用的比如”黃渤”改為“黃勃”,“周星弛”改為“周星馳”,使用python的gensim庫進(jìn)行LDA模型訓(xùn)練,通過評估perplexity來確定最優(yōu)主題個數(shù)為K=30,通過預(yù)測樣本的主題興趣集和主題屬性集構(gòu)成神經(jīng)網(wǎng)絡(luò)的樣本集。然后對樣本集隨機(jī)取70%作為訓(xùn)練集,30%作為測試集,并在python中使用Keras深度學(xué)習(xí)框架進(jìn)行神經(jīng)網(wǎng)絡(luò)的訓(xùn)練。最后通過對比傳統(tǒng)深度學(xué)習(xí)模型MLP(多層感知機(jī))和GMF(廣義矩陣分解),對三種方法進(jìn)行評估與分析。
使用離線實(shí)驗(yàn)方法進(jìn)行評測,最終結(jié)果取3次實(shí)驗(yàn)數(shù)據(jù)的平均值。評價指標(biāo)選用準(zhǔn)確率、召回率和F值。召回率描述有多少真正產(chǎn)生過行為的物品包含在最終的推薦列表中,計(jì)算公式為:
(9)
準(zhǔn)確率描述最終的推薦列表中包含多少真正產(chǎn)生過行為的物品,計(jì)算公式為:
(10)
F值是準(zhǔn)確率和召回率之間的調(diào)和平均值。用戶u在測試集合上產(chǎn)生過行為的物品記為T(u),計(jì)算公式為:
(11)
圖1為在推薦視頻個數(shù)K=10,LIVR模型的LDA主題個數(shù)為30時,不同模型隨迭代次數(shù)的增加F值的變化曲線。
圖1 F值變化曲線
從圖1可以看出,隨著迭代次數(shù)的增加,LIVR性能的改善速率雖然沒GMF以及MLP快,但兩種模型在前10次迭代過程中均遠(yuǎn)遠(yuǎn)落后LIVR,且LIVR在第10次時最快迭代時達(dá)到最優(yōu),即使是10次迭代之后仍處于優(yōu)勢,其中可以看出,由于過擬合的原因,添加了隱層的LIVR和MLP在第8次迭代后的準(zhǔn)確度和召回率都開始下降。關(guān)于過擬合問題,可以通過正則化[22]緩解,這里就不再累述。而GMF的準(zhǔn)確度和召回率仍處于上升階段,但是這并不能說明MLP和GMF的回歸表現(xiàn)比GMF差,因?yàn)檫@里展示的只是具有3層隱層的MLP和LIVR。
圖2~圖4分別表示各方法隨著K的變化precise、recall和F值的變化??梢钥闯?,在三種模型中,隨著K的增大,LIVR在三種評價指標(biāo)下都明顯處于上風(fēng),通過圖中MLP與GMF的表現(xiàn)比較,MLP較GMF的三種評價指標(biāo)都低,但是這并不能說明MLP的比GMF的表現(xiàn)差,因?yàn)镸LP模型可以通過添加更多的隱藏層來進(jìn)一步改進(jìn),值得一提的是,LIVR同樣具有MLP的這個特點(diǎn)。
圖2 precise的比較
圖3 recall的比較
圖4 F值的比較
從三種方法的對比中可以看出LIVR表現(xiàn)最好,這都?xì)w功于隱藏層前使用了poolingwise操作,充分地對用戶/視頻與視頻LDA主題模型的預(yù)測主題集的相關(guān)性建模。由圖可以看出,與其他兩種方法相比,LIVR在訓(xùn)練階段準(zhǔn)確率和召回率上都有很大的提升,對比準(zhǔn)確率和召回率之間的調(diào)和平均值,相比于MLP模型,LIVR大約提升1.9%,相比于GMF,大約提升1.1%。值得一提的是受干擾詞的影響,LIVR樣本仍存在些許臟數(shù)據(jù),然而樣本的數(shù)據(jù)質(zhì)量是可以通過人工標(biāo)記進(jìn)行進(jìn)一步改善的,LIVR效果也可以得到進(jìn)一步的提升。
針對如何利用現(xiàn)實(shí)生活中用戶和視頻間豐富的屬性關(guān)聯(lián)提高推薦系統(tǒng)性能的問題,提出了一種基于LDA主題屬性感知深度學(xué)習(xí)模型。通過構(gòu)建的LDA視頻模型對視頻進(jìn)行聚類,從而預(yù)測出用戶與視頻的相關(guān)主題屬性,并利用pooling-wise操作改進(jìn)的神經(jīng)協(xié)同框架進(jìn)行學(xué)習(xí)。最后通過實(shí)驗(yàn)驗(yàn)證,該模型在一定程度上在神經(jīng)協(xié)同框架傳統(tǒng)模型上提高了推薦質(zhì)量。面對日益增多的視頻文檔信息,用戶與視頻數(shù)據(jù)量的急劇增加,首先考慮到模型的擴(kuò)展性問題,當(dāng)文本數(shù)據(jù)量達(dá)到一定水平時,模型聚類效果將漸漸降低,因此下一步的重點(diǎn)是解決系統(tǒng)的擴(kuò)展性問題。