王 寧,沈正一,崔德龍,劉晴瑞
(湖南工程學院 計算機與通信學院,湘潭 411104)
伴隨著移動智能設備的快速發(fā)展、通信設備及5G技術的快速普及,如今在移動設備上觀看短視頻已經(jīng)成為人們閑暇時休閑娛樂的方式之一.但短視頻的推薦結果卻面臨同質(zhì)化嚴重的問題,因此如何提高視頻推薦內(nèi)容的多樣化,避免內(nèi)容同質(zhì)化,給用戶帶來更加優(yōu)質(zhì)的體驗是當今所有短視頻平臺所面臨的主要問題.
協(xié)同過濾算法[1]作為一種結構簡單的推薦算法被廣泛地應用于各類推薦系統(tǒng)中,在1994年作為“信息過濾”[2]被提出研究,又在2002年被Prem Melville[3]稱為“協(xié)同過濾”并進行了進一步研究.其算法核心是通過尋找集合中最近的“鄰居”,并通過用戶彼此之間的相似度來提供對于相應物品的推薦.目前則采用啟發(fā)式或基于模型的協(xié)同過濾算法[4-5].
隱語義模型是在文本信息挖掘方面被廣泛使用的一種方法,其算法是基于奇異值分解改進而來的[6].現(xiàn)主要用于提取文本中的隱含分類并與其建立關系.本文將隱語義模型與協(xié)同過濾算法相結合,通過建立模型找出用戶與隱含分類之間所存在的關系以及物品與隱含分類之間的關系,利用隱含分類構建出用戶對物品的興趣信息,結合協(xié)同過濾算法進行推薦.實驗結果表明通過該模型與協(xié)同過濾算法的改進能夠較好地改進推薦系統(tǒng)的推薦效果.
本文通過對推薦系統(tǒng)進行了改進,將其主要分為協(xié)同過濾算法、隱語義模型、推薦過程三個部分,分別通過協(xié)同過濾算法和隱語義模型產(chǎn)生推薦列表,保證推薦結果的實時性、新穎性和多樣性,最后對推薦列表中的內(nèi)容進行排名,產(chǎn)生最后的推薦結果.
本文選擇基于用戶的協(xié)同過濾算法[7],主要是將用戶觀看視頻的瀏覽記錄作為主要的推薦依據(jù).通過公式(1)再對相同的視頻存在過瀏覽行為的用戶之間建立一個相似度矩陣得到用戶u,v之間的相似度矩陣U-V:
再根據(jù)用戶v與其所瀏覽過的視頻i建立出一個興趣度矩陣V-I,通過兩矩陣相乘就可以計算出用戶u對視頻i的興趣程度:
為了保證對于視頻內(nèi)容的推薦結果具有多樣性,因此在協(xié)同過濾的基礎上需要減少關于熱門視頻以及相應標簽內(nèi)容對推薦結果的影響.因此通過改進用戶之間的興趣度計算得到公式(3):
通過改進后的協(xié)同過濾算法能夠有效地減少向用戶推薦相同或類似的視頻內(nèi)容,并能較好地增加用戶的滿意度.
伴隨人們對視頻內(nèi)容的需求,單一視頻內(nèi)所包含的內(nèi)容也逐漸趨于多樣化,通常在一個視頻內(nèi)會包含多個主題,即具有多個標簽.因此若根據(jù)單一的標簽就無法得到視頻所真正具有的特性.本文選擇通過隱語義模型分析出視頻之間的隱含分類,根據(jù)所得到的視頻之間的隱含分類再通過用戶與視頻之間的交互,計算出用戶之間的相似度,并得到相應的推薦結果.用戶u對視頻內(nèi)容i的喜好程度可以通過公式(4)進行計算:
通過公式計算還需要兩個重要的參數(shù)P(u,c)和B(c,i),其參數(shù)的確定需要根據(jù)用戶瀏覽視頻的時間長度以及用戶對于視頻的反饋情況來計算.通過用戶物品評分矩陣則可以將用戶反饋的這些行為數(shù)據(jù)通過訓練得到我們希望得到的推薦結果.為了減小訓練結果的誤差,采用公式(5)作為訓練的損失函數(shù):
由于學習過程中可能會產(chǎn)生過擬合從而造成計算出來的用戶對視頻的興趣程度出現(xiàn)錯誤,因此對于損失函數(shù),我們還需要加入正則化項:來對損失函數(shù)進行優(yōu)化,最后可以得到公式(6)作為修改后的損失函數(shù):
由于損失函數(shù)的復雜程度依然較大,因此仍需要對算法模型進行優(yōu)化.本文選擇了隨機梯度下降法[4]來優(yōu)化算法,求得參數(shù)的偏導數(shù):
借助所得到的偏導數(shù),根據(jù)隨機梯度下降法得到:
將參數(shù)沿著最有效的下降方向進行推進.在此基礎上只需要不斷迭代對參數(shù)進行優(yōu)化,以取得最優(yōu)的下降步長.
雖然通過隱語義模型能夠得到多樣性較好的推薦結果,但由于計算隱語義模型所需要花費的時間較長,因此選擇將其與協(xié)同過濾算法進行結合以保證推薦效率.首先通過上述的兩種算法分別得出相應的推薦結果集.每當用戶進行視頻的瀏覽動作后,會在后臺根據(jù)用戶所產(chǎn)生的瀏覽數(shù)據(jù)導入隱語義模型并與協(xié)同過濾算法產(chǎn)生一個即時的推薦結果,根據(jù)權值對興趣程度進行合并,在此基礎上依據(jù)視頻項目的興趣程度的排序生成推薦列表.
本次實驗通過使用Movielens-1M數(shù)據(jù)集[8],數(shù)據(jù)集包含了6040位用戶對3900條物品所產(chǎn)生的1000209條觀看及評分記錄.在實驗過程中對數(shù)據(jù)集以7∶1的比例隨機劃分為訓練集及測試集,對數(shù)據(jù)集進行多次劃分并對劃分后數(shù)據(jù)集進行重復實驗,最終將每次劃分得到的實驗結果取均值作為最終的實驗結果.
本文采用了廣泛用于推薦系統(tǒng)評測的召回率和準確率作為評測標準[9].其中R為訓練集,T為測試集,R(u)為訓練集上所產(chǎn)生的推薦結果,T(u)為測試集中用戶對物品產(chǎn)生的行為列表.
準確率計算式(11)通過計算符合測試集推薦的結果占訓練集的比例,其結果能夠較好地反映針對用戶的推薦精度.召回率計算式(12)通過計算符合測試集推薦的結果占測試集的比例,反映出推薦系統(tǒng)對相應物品的推薦比例.
為了驗證改進后算法的有效性,本文選擇基于用戶的協(xié)同過濾算法以及PersonalRank,PureSVD這幾種推薦算法[10]模型進行比較:
從圖1中可以看出,四種推薦算法的召回率伴隨著推薦項目的增加逐漸上升,從圖2中可以看到在召回率上升的同時準確率卻隨之下降,但總體的下降趨勢較緩.在圖1中通過融合隱語義模型及協(xié)同過濾的算法相較于其他的三種算法伴隨著推薦數(shù)量的提高,召回率指標有著較好的提升,圖2中同樣表現(xiàn)出了在召回率提升的同時,準確率也高于其余幾種比較算法.
圖1 隱語義模型與比較算法的召回率
圖2 隱語義模型與比較算法的準確率
圖1中當推薦數(shù)量較少時即數(shù)量在4~10之間,改進后的算法的推薦結果興趣點過于單一,因此造成了召回率的下降.但伴隨著推薦數(shù)目的增加,即當推薦數(shù)目增加到10左右時,通過隱語義模型的數(shù)據(jù)逐漸增強,推薦的召回率相較之前以及其余的推薦算法有所提高.
除此之外,隱語義模型中負樣本的選擇數(shù)目對于本文算法也存在影響,伴隨著視頻的負樣本數(shù)目增加,改進后算法的召回率及準確率會呈現(xiàn)出先增后減的趨勢,如圖3所示.同時當數(shù)據(jù)集中的用戶與物品的交互較少時,改進后的算法性能同樣會出現(xiàn)下降.
圖3 負樣本對改進算法的召回率與準確率影響
總的來說,如表1所示改進后的算法與經(jīng)典協(xié)同過濾算法、矩陣分解算法相比,推薦性能還是有所提升.因此在協(xié)同過濾算法的基礎上通過引入隱含語義模型能夠有效地挖掘出用戶對于物品興趣的隱含信息,并能夠有效地提高推薦系統(tǒng)的推薦質(zhì)量.
表1 改進后算法與比較算法的平均推薦性能指標
本文通過融合在文本信息挖掘中廣泛使用的隱語義模型與協(xié)同過濾算法,改進推薦系統(tǒng),改進后的算法通過深度學習對用戶相似度以及物品的興趣度上進行數(shù)據(jù)分析,總體上優(yōu)化了協(xié)同過濾算法中用戶對物品興趣度的計算精度.
當前深度學習發(fā)展迅速,同時其在信息的處理上也顯現(xiàn)出了巨大的優(yōu)勢,通過與推薦系統(tǒng)的結合,利用神經(jīng)網(wǎng)絡提取出用戶的相關興趣,并對其進行預測,通過學習算法優(yōu)化最后的推薦結果并排序,能夠有效地提高用戶對推薦系統(tǒng)的滿意度.在未來的推薦系統(tǒng)的研究中應當更好地結合相關技術的發(fā)展,融合各種方法及思路來改善并促進推薦系統(tǒng)的發(fā)展.