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