吳婷
(重慶大學(xué)計算機學(xué)院,重慶 400044)
隨著信息的存儲和傳輸技術(shù)的進一步發(fā)展,各式各樣的多媒體資源服務(wù)平臺應(yīng)運而生。這類服務(wù)平臺憑借其內(nèi)容多樣性及便捷性吸引了大量的互聯(lián)網(wǎng)用戶,但是頻繁更新的海量內(nèi)容往往使用戶很難迅速準確地定位到目標內(nèi)容,因此,能主動對無關(guān)內(nèi)容進行篩選的推薦系統(tǒng)具有重要的實用性。傳統(tǒng)的推薦系統(tǒng)可以通過用戶、項目的歷史記錄來學(xué)習(xí)到用戶、項目潛在屬性特征。但是對于剛進入市場的新項目,因為沒有或缺乏足夠的歷史記錄信息,傳統(tǒng)的推薦系統(tǒng)就會遭遇經(jīng)典的項目冷啟動問題。為了完善項目冷啟動推薦,挖掘新項目的屬性特征并實現(xiàn)個性化推薦具有重要的現(xiàn)實意義。
項目冷啟動問題根據(jù)相關(guān)項目歷史記錄是否完全為0劃分為完全冷啟動問題(Complete Cold Start,CCS)和非完全冷啟動問題(Incomplete Cold Start,ICS)[1]。冷啟動問題一直是推薦系統(tǒng)研究領(lǐng)域的重要分支。對于非完全冷啟動問題,何明等[2]融合進類別信息及用戶興趣度來緩解稀疏并進行推薦。張玉芳等[3]選用了分步填充方法來對原矩陣進行填充。潘濤濤等[4]在協(xié)同過濾的基礎(chǔ)上,進一步融入物品的可預(yù)測性,并進行矩陣填充。對于完全冷啟動,因為可供利用的信息過少,傳統(tǒng)的方法大都是基于專家系統(tǒng),即當(dāng)商品進入市場時,通過專家系統(tǒng)或者手工標注為新商品添加標簽,但是這種方法往往會耗費大量的人力物力。Wei等[5]提出一種融合協(xié)同過濾和深度學(xué)習(xí)的項目冷啟動推薦方法,他們選用了SDAE來提取輔助文件中的特征。然而SDAE是基于詞袋模型,忽略了文本中的上下文信息。
矩陣分解[6]是推薦系統(tǒng)中的經(jīng)典算法,除了具有高準確性之外,該模型的易擴展性使其可以便捷地與其他信息進行融合?,F(xiàn)領(lǐng)域具有重要突破研究的模型timeSVD++[7]、HFT[8]、TopicMF[9]等都是基于該模型。為了應(yīng)對當(dāng)前項目冷啟動領(lǐng)域的局限,本文選用卷積神經(jīng)網(wǎng)絡(luò)來對項目的文本信息進行挖掘,并將其成功地融入到矩陣分解模型中。
在現(xiàn)實生活中,每個用戶有自己獨特的興趣偏好因子,每一個項目有自己的屬性因子。用戶對一個項目的評價往往就是看用戶興趣偏好因子與項目屬性因子的匹配程度。矩陣分解方法便是基于這一事實。
矩陣分解模型的基礎(chǔ)是潛在因子模型,它將用戶和項目的信息映射到一個維度為k的潛在因子向量中,用戶和項目的交互被建模為這兩個向量的內(nèi)積。與用戶潛在因子高相似的項目會被推薦給用戶。假設(shè)現(xiàn)在有N個用戶、M個項目及一個用戶-項目的歷史評分記錄矩陣R∈RN×M,則用戶u對項目i的預(yù)估評分可通過如下公式計算:
其中,pu∈Rk,qi∈Rk分別表示用戶和項目的潛在因子向量。給定一個訓(xùn)練集T,可以通過以下目標函數(shù)來對用戶、項目的潛在因子向量進行學(xué)習(xí):
其中,λ是控制正則化尺度的參數(shù),通常通過交叉驗證決定。這個最小化函數(shù)通過可以通過梯度下降方法或交替最小二乘法來執(zhí)行。
這種最簡單的矩陣分解模型能夠很好地捕捉用戶與項目間的交互,但是評分信息很多時候還與用戶與項目各自偏移值有關(guān)。例如,有的用戶本身傾向于比其他用戶給出更高的評分,而有些項目傾向于比其他項目得到更高的評分,這種偏移值對進一步對評分進行建模是至關(guān)重要的。故Koren等[6]對評分進行進一步建模:
其中,μ為全局平均分,bi是項目自身評分相對于平均分的偏移,bu是用戶自身評分相對于平均分的偏移。該模型可以通過如下目標函數(shù)學(xué)習(xí):
該模型充分考慮了影響評分的各個因素,是推薦系統(tǒng)中的經(jīng)典方法之一。除了優(yōu)秀的準確性之外,該模型具有良好的可拓展性,故本文將其選作模型的基本模型。
對于項目冷啟動研究,比較有研究意義的方向便是對項目的輔助信息進行挖掘。對于多媒體資源,隨著項目上線,一般都會有項目的相關(guān)簡介文本,故本文重點研究將這類文本中蘊含的項目屬性特征與矩陣分解融合起來。
本文選用卷積神經(jīng)網(wǎng)絡(luò)來對文本進行信息提取。卷積神經(jīng)網(wǎng)絡(luò)是一種深度前饋神經(jīng)網(wǎng)絡(luò),專門用來處理具有類似網(wǎng)絡(luò)結(jié)構(gòu)的神經(jīng)網(wǎng)絡(luò)。它憑借能夠產(chǎn)生局部特征的卷積層和簡潔表示數(shù)據(jù)的池化層區(qū)別于傳統(tǒng)的神經(jīng)網(wǎng)絡(luò)。
本文選用Kim等[10]提出的卷積神經(jīng)網(wǎng)絡(luò)來對項目描述文本進行特征提取。該模型結(jié)構(gòu)主要包括四層:嵌入層、卷積層、池化層和輸出層。模型結(jié)構(gòu)如圖1所示。其中,嵌入層是通過詞向量嵌入將每個項目的文本表示為一個密集矩陣作為輸入。特別地,一個項目的文本由它所有相關(guān)的描述文本自然連接而成,記:
Di=x1:n=x1⊕x2⊕…⊕xn
其中,⊕表示自然連接。x1:n表示從詞x1到詞xn的級聯(lián)。
卷積層是選用共享權(quán)重來從詞窗口上生成特征。例如,從h個詞的窗口從詞xi:i+h-1上生成的上下文特征為:
c=f(w*xi:i+h-1+b)
其中,w為共享權(quán)重,b為偏差,f為非線性函數(shù)ReLu。一個共享權(quán)重只能對一種類型的上下文信息進行捕捉,故在模型中選用了多個共享權(quán)重,定義,有第j個共享權(quán)重生成的特征為cj為:
隨后,利用最大池化操作捕獲每個特征映射中最重要的特征。通過池化操作,不同長度的文檔都被轉(zhuǎn)化為固定長度的特征向量,這樣便可以設(shè)計輸出層了。輸出層將池化層的特征按照特定目標任務(wù)進行轉(zhuǎn)換。于本文,目標任務(wù)便是從對應(yīng)項目中提取能充分表示項目的特征,我們選用常規(guī)的非線性投影來得到輸出:
其中,為投影矩陣,f為投影中間維度,為偏置向量,θ為得到的文本特征向量。為了將該向量與項目向量連接在一起,我們?nèi)ˇ鹊木S度為k。
該模型一方面利用了卷積神經(jīng)網(wǎng)絡(luò),相較于傳統(tǒng)的詞袋模型,能夠更好地捕捉文本中的上下文信息。另一方面,預(yù)先嵌入的詞向量是可以隨著神經(jīng)網(wǎng)絡(luò)的訓(xùn)練而不斷優(yōu)化的,故文本特征提取的性能更高。
圖1 卷積神經(jīng)網(wǎng)絡(luò)
對于完全冷啟動的項目,它們完全沒有相關(guān)的歷史記錄,所以矩陣分解無法對項目特征進行學(xué)習(xí),無法對該類商品實現(xiàn)準確推薦。本文在建立模型的時候,考慮到矩陣分解優(yōu)秀的評分預(yù)測能力,將其作為參考模型,為了能對完全冷啟動項目進行推薦,將模型的預(yù)測評分修正如下:
其中,θi為使用卷積神經(jīng)網(wǎng)絡(luò)提取到的文本特征,整個函數(shù)的變量只與用戶相關(guān),所以該模型適用于對完全冷啟動的項目推薦中,模型圖見圖2。
模型的目標函數(shù)定義為:
本文在構(gòu)建非完全冷啟動項目推薦系統(tǒng)的時候,除了對顯式的用戶-項目歷史交互記錄進行挖掘之外,進一步融入項目描述文本中的信息,將其作為項目潛在因子特征的補充,模型結(jié)構(gòu)如下:
圖3 非完全冷啟動項目推薦模型
在完整矩陣分解的基礎(chǔ)上,本文將待優(yōu)化目標函數(shù)定義為:
其中,項目屬性qi一方面受評分矩陣的約束,一方面受提取的文本特征約束。
對該目標函數(shù)的優(yōu)化應(yīng)該分兩步,對用戶、項目的相關(guān)向量的優(yōu)化可以通過梯度下降法。但是卷積神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)權(quán)重參數(shù)等無法通過梯度下降得到,不過當(dāng)將用戶潛在因子向量視為固定的時候,卷積神經(jīng)網(wǎng)絡(luò)應(yīng)該滿足如下目標函數(shù):
故而,可以根據(jù)目標函數(shù),以反向傳播的方法對卷積網(wǎng)絡(luò)中的權(quán)重進行優(yōu)化。
本文選用了一個開源的數(shù)據(jù)集Movielens。Movielens是一個非商業(yè)化的個性化電影推薦網(wǎng)站,它包括用戶對電影的歷史評分信息及電影的名稱上映時間等。本文使用OMDB API根據(jù)電影的名稱、上映名稱等從IMDB網(wǎng)站上爬取電影的內(nèi)容簡介文本。為了配置兩種不同的冷啟動環(huán)境,我們仿照Wei等的工作,選出最晚接收到評分的500部電影的所有記錄作為完全冷啟動項目的測試集。對于非完全冷啟動,將這500部電影的各自前10個評分記錄加入訓(xùn)練集。最終我們使用的數(shù)據(jù)集統(tǒng)計信息如下:
表1 Movielens數(shù)據(jù)集信息
表2 訓(xùn)練集、測試集分割
預(yù)處理主要是對電影情節(jié)文本的處理,我們參照Kim等人的工作,對文本做如下預(yù)處理:
(1)取文檔的最大長度為300;
(2)根據(jù)停用詞列表去除停用詞;
(3)為剩下的詞計算每個詞的TF-IDF值;
(4)根據(jù)計算得到的TF-IDF值,去除文檔相關(guān)的停用詞,即文檔出現(xiàn)頻率高于0.5的詞;
(5)在剩下的詞中選擇8000個出現(xiàn)最頻繁的詞;
(6)使用Glove模型進行詞的向量化表示,使得初始向量之間盡可能多地蘊含語義和語法信息。
本文通過評分預(yù)測性能來評價模型,我們選用通用的評價方法RMSE(Root Mean Square Error,平方根誤差),其具體定義如下:
其中,N是測試集中測試項的總數(shù),是測試項的預(yù)測評分,rui是測試項的真實評分。
本文選定分別為兩個模型選擇兩種對比方法,來比較我們提出的推薦系統(tǒng)的性能:
完全冷啟動:UA(User Average):使用用戶之前的所有評分的平均值作為對未知項目的預(yù)測評分;ToU[5]:將文本相似度作為項目相似度,利用相似度公式來計算未知項目的預(yù)測評分。
非完全冷啟動:UA(User Average):使用用戶之前的所有評分的平均值作為對未知項目的預(yù)測評分;LMF[6]:只考慮用戶與項目交互的潛在因子模型;MF[6]:完整的矩陣分解模型。
(1)TECCS推薦性能
從結(jié)果可分析:UA方法是直接利用用戶所有的歷史評分的平均值作為預(yù)測評分,從實驗結(jié)果看,該方法的預(yù)測準確性最差。對于ToU和TECCS方法,本文先選擇一個使用初始權(quán)重賦值的卷積神經(jīng)網(wǎng)絡(luò)來提取文本特征,從結(jié)果可以看出,ToU方法只簡單使用了用戶歷史評分過的項目與待評分項目的文本特征,準確性并沒有顯著提高。TECCS將文本特征融合進矩陣分解模型中,通過訓(xùn)練學(xué)習(xí)到用戶關(guān)于電影情節(jié)文本的偏好興趣,利用這個偏好興趣與位置項目文本特征的耦合度做出推薦,故TECCS模型相較于對比方法取得了更好的結(jié)果。
圖4 完全冷啟動項目推薦性能比較
(2)TEICS推薦性能
由實驗結(jié)果分析,TEICS綜合考慮了評分矩陣中的蘊含的信息,并且進一步使用卷積神經(jīng)網(wǎng)絡(luò)來提取文本中的信息,并將其作為項目屬性特征的補充,最后取得了最好的效果。MF模型綜合考慮了用戶和項目的交互,并且同時考慮了用戶、項目的偏移值信息,最后取得了第二好的效果。LMF因為只考慮用戶項目交互信息,最后取得了第三好的效果。UA僅僅使用用戶歷史評分的平均分作為預(yù)測評分,效果最差。
圖5 非完全冷啟動項目推薦性能比較
本文提出了兩個針對不同冷啟動環(huán)境的項目推薦框架:首先考慮到矩陣分解模型的高準確性和易拓展性,兩個模型都以基本的矩陣分解模型為基礎(chǔ)。其次,在矩陣分解模型的基礎(chǔ)上,利用卷積神經(jīng)網(wǎng)絡(luò)從項目文本中提取文本特征,并將其融入到兩個推薦模型中,作為項目屬性特征的約束。實驗結(jié)果證明,本文提出的模型較對比實驗取得了更好的效果。未來計劃進一步將時間因素、項目相關(guān)性因素融入到框架中。
[1]Zhang,D.,Hsu,C.H.,Chen,M.,Chen,Q.,Xiong,N.,&Lloret,J.Cold-start Recommendation Using Bi-clustering and Fusion for Large-Scale Social Recommender Systems.IEEE Transactions on Emerging Topics in Computing,2014,2(2):239-250.
[2]何明,肖潤,劉偉世,等.融合類別信息和用戶興趣度的協(xié)同過濾推薦算法[J].計算機科學(xué),2017,44(8):230-235.
[3]張玉芳,代金龍,熊忠陽.分步填充緩解數(shù)據(jù)稀疏性的協(xié)同過濾算法[J].計算機應(yīng)用研究,2013,30(9):2602-2605.
[4]潘濤濤,文峰,劉勤讓.基于矩陣填充和物品可預(yù)測性的協(xié)同過濾算法.自動化學(xué)報,2017,43(9):1597-1606.
[5]Wei J,He J,Chen K,et al.Collaborative Filtering and Deep Learning Based Recommendation System For Cold Start Items[J].Expert Systems with Applications,2016,69:29-39.
[6]Koren Y,Bell R,Volinsky C.Matrix Factorization Techniques for Recommender Systems[J].Computer,2009,42(8):30-37.
[7]Koren,Yehuda.Collaborative filtering with temporal dynamics[J].Proc Kdd,2009,53(4):447-456.
[8]Mcauley J,Leskovec J.Hidden Factors and Hidden Topics:Understanding Rating Dimensions with Review Text[C].ACM Conference on Recommender Systems.ACM,2013:165-172.
[9]Bao Y,Fang H,Zhang J.TopicMF:Simultaneously Exploiting Ratings and Reviews for Recommendation[C].Twenty-Eighth AAAI Conference on Artificial Intelligence.AAAI Press,2014:2-8.
[10]Donghyun Kim,Chanyoung Park,Jinoh Oh,Sungyoung Lee,Hwanjo Yu.2016.Convolutional Matrix Factorization for Document Context-Aware Recommendation.In Proceedings of the 10th ACM Conference on Recommender Systems(RecSys'16).ACM,New York,NY,USA,233-240.DOI:https://doi.org/10.1145/2959100.2959165.