程 龍,李 涵
(北京信息科技大學(xué) 理學(xué)院,北京 100192)
在信息量不斷增長(zhǎng)的大數(shù)據(jù)時(shí)代,推薦系統(tǒng)是克服信息過(guò)載的有效工具。從1992年第一個(gè)推薦系統(tǒng)誕生[1],至今已有近30年的歷史。推薦系統(tǒng)可以利用用戶的歷史記錄和個(gè)人信息來(lái)判斷其興趣偏好,從而更好地為用戶推薦相應(yīng)的產(chǎn)品或服務(wù),大大提高了人們?cè)诤A繑?shù)據(jù)中獲取有效信息的效率。如何幫助不同用戶在不同領(lǐng)域下快速且精準(zhǔn)地找到感興趣的推薦對(duì)象,是推薦系統(tǒng)的核心部分即推薦算法所要面臨的挑戰(zhàn)。隨著推薦技術(shù)的發(fā)展,為了滿足人們?nèi)招略庐惖膫€(gè)性化需求,越來(lái)越多的推薦算法被提出。傳統(tǒng)的推薦算法主要分為3大類:基于內(nèi)容的推薦[2]、基于協(xié)同過(guò)濾的推薦[3-4],以及混合推薦算法[5]。
基于協(xié)同過(guò)濾的推薦是運(yùn)用最廣泛的一種推薦算法,其算法思想是通過(guò)利用用戶—項(xiàng)目評(píng)分矩陣中已知的元素來(lái)預(yù)測(cè)未知元素的評(píng)分值,并將預(yù)測(cè)評(píng)分高的項(xiàng)目推薦給用戶。協(xié)同過(guò)濾可以處理圖片、音頻、視頻和新聞等非結(jié)構(gòu)化數(shù)據(jù)源。進(jìn)一步可分為基于用戶的協(xié)同過(guò)濾[3]、基于項(xiàng)目的協(xié)同過(guò)濾[4]以及基于模型的協(xié)同過(guò)濾。基于用戶的協(xié)同過(guò)濾算法通過(guò)計(jì)算目標(biāo)用戶與其他用戶間的相似度,進(jìn)而將最相似的用戶曾購(gòu)買過(guò)的物品推薦給目標(biāo)用戶。基于項(xiàng)目的協(xié)同過(guò)濾與基于用戶的協(xié)同過(guò)濾類似,本質(zhì)是給用戶推薦其曾經(jīng)喜歡物品的相似物品?;谀P偷膮f(xié)同過(guò)濾推薦算法可分為基于分類模型的推薦算法與基于分解模型的推薦算法。基于分類模型的推薦算法通常會(huì)用到數(shù)據(jù)挖掘相關(guān)算法,即聚類、決策樹和關(guān)聯(lián)規(guī)則等。分解模型一般是從用戶行為和物品之間抽取隱藏特征,即隱因子,通常采用矩陣分解技術(shù)[6-7]來(lái)獲取。
目前推薦系統(tǒng)仍存在數(shù)據(jù)的高維稀疏性、冷啟動(dòng)和大數(shù)據(jù)環(huán)境下擴(kuò)展性有限等制約其進(jìn)一步發(fā)展的問(wèn)題,如何解決這些問(wèn)題進(jìn)而提高推薦系統(tǒng)的推薦質(zhì)量成為關(guān)鍵所在。近年來(lái),基于矩陣分解的推薦算法及其相關(guān)改進(jìn)模型得到了諸多學(xué)者們的廣泛關(guān)注。本文第1部分介紹以傳統(tǒng)矩陣分解為基礎(chǔ)的推薦算法,分別為基于奇異值分解的推薦算法與基于概率矩陣分解的推薦算法。第2部分介紹基于社會(huì)化的推薦算法,其核心是矩陣分解方法與社交信息的融合。如今深度學(xué)習(xí)技術(shù)已被廣泛應(yīng)用于推薦系統(tǒng)領(lǐng)域,本文第3部分介紹融合深度學(xué)習(xí)技術(shù)的矩陣分解推薦算法。最后總結(jié)提出現(xiàn)有推薦算法存在的問(wèn)題,并對(duì)未來(lái)研究方向做出展望。
在推薦系統(tǒng)中,矩陣分解技術(shù)主要應(yīng)用于評(píng)分預(yù)測(cè)。在評(píng)分預(yù)測(cè)過(guò)程中,通常將用戶與項(xiàng)目表示為二維矩陣形式,即用戶—項(xiàng)目評(píng)分矩陣。利用矩陣分解進(jìn)行降維處理,可將用戶—項(xiàng)目評(píng)分矩陣映射到低秩空間,從而挖掘用戶與項(xiàng)目的隱式特征表達(dá)?;趥鹘y(tǒng)矩陣分解的推薦算法主要分為兩大類:基于奇異值分解(singular value decomposition,SVD)的推薦算法與基于概率矩陣分解(probabilistic matrix factorization,PMF)的推薦算法。
SVD是推薦系統(tǒng)中應(yīng)用的經(jīng)典矩陣分解方法,其將評(píng)分矩陣降維并分解為3個(gè)低階矩陣的乘積,通過(guò)相應(yīng)的訓(xùn)練再進(jìn)行矩陣的還原來(lái)進(jìn)行評(píng)分預(yù)測(cè)。面對(duì)其計(jì)算復(fù)雜度和數(shù)據(jù)稀疏性所帶來(lái)的問(wèn)題,Simon Funk[8]提出了FunkSVD模型,對(duì)傳統(tǒng)的SVD做了優(yōu)化。如圖1所示,將評(píng)分矩陣R降維并分解為2個(gè)低秩的用戶與項(xiàng)目矩陣U和V,對(duì)應(yīng)的優(yōu)化函數(shù)為
λ(‖Vi‖2+‖Uu‖2)
(1)
式中:Uu為用戶u的特征向量;Vi為項(xiàng)目i的特征向量;K為隱變量個(gè)數(shù)。式(1)中第1項(xiàng)為真實(shí)評(píng)分與預(yù)測(cè)評(píng)分間的誤差,第2項(xiàng)為正則項(xiàng),以避免過(guò)擬合問(wèn)題。后續(xù)通過(guò)梯度下降法可對(duì)優(yōu)化函數(shù)進(jìn)行計(jì)算得到最優(yōu)解。
圖1 FunkSVD矩陣分解
隨著FunkSVD的提出,后續(xù)又涌現(xiàn)出大量基于SVD的推薦模型。其中Koren等[6]為解決用戶評(píng)分受用戶本身特質(zhì)的影響,提出了帶有偏置項(xiàng)的BiasSVD。在BiasSVD基礎(chǔ)上,Koren[9-10]引入隱式反饋信息,提出SVD++模型,解決了因顯式評(píng)分過(guò)少而引起的冷啟動(dòng)問(wèn)題;同年,又基于SVD++模型提出了引入時(shí)間效應(yīng)的timeSVD++算法,通過(guò)衰減過(guò)往用戶行為權(quán)重,提高就近用戶隱式反饋行為權(quán)重來(lái)實(shí)現(xiàn)動(dòng)態(tài)推薦。
考慮到項(xiàng)目屬性信息對(duì)項(xiàng)目特征矩陣的增強(qiáng)作用,文獻(xiàn)[11]將項(xiàng)目屬性因子和用戶對(duì)屬性的偏好因子引入BiasSVD中,從而調(diào)整每個(gè)項(xiàng)目的屬性特征權(quán)重和用戶對(duì)每個(gè)屬性的偏好權(quán)重,最終有效緩解數(shù)據(jù)稀疏性所帶來(lái)的影響,同時(shí)提高推薦準(zhǔn)確率。同樣考慮數(shù)據(jù)稀疏性問(wèn)題,文獻(xiàn)[12]采用FunkSVD對(duì)相似度矩陣進(jìn)行分解,并利用標(biāo)簽或者項(xiàng)目與標(biāo)簽混合的方法來(lái)計(jì)算用戶相似度,將矩陣分解前相似度與新的相似度進(jìn)行加權(quán)組合,從而提高評(píng)分預(yù)測(cè)精度。文獻(xiàn)[13]針對(duì)現(xiàn)有推薦系統(tǒng)未能發(fā)揮隱式反饋數(shù)據(jù)缺失值反映用戶隱含偏好能力、或未能保留顯式反饋數(shù)據(jù)反映用戶偏好能力的問(wèn)題,利用加權(quán)低秩近似法訓(xùn)練得到隱式用戶項(xiàng)目特征向量,并在BiasSVD基礎(chǔ)上引入隱式與顯式用戶項(xiàng)目特征向量,在不同規(guī)模數(shù)據(jù)集上實(shí)現(xiàn)高性能與高精度的推薦。
p(R|U,V,σ2) =
(2)
式中:g(x)=1/(1+exp(-x));Iij為評(píng)分函數(shù),如果用戶i已經(jīng)對(duì)項(xiàng)目j進(jìn)行了評(píng)分,則為1,否則為0。再假設(shè)用戶特征向量和項(xiàng)目特征向量都服從均值為0的高斯先驗(yàn)分布,接著計(jì)算U和V的后驗(yàn)概率:
(3)
將式(3)取負(fù)對(duì)數(shù)得到目標(biāo)優(yōu)化函數(shù):
(4)
圖2 概率矩陣分解模型
基于擁有相似項(xiàng)目集的用戶可能具有相似的偏好這一假設(shè),Salakhutdinov等[14]又提出約束概率矩陣分解模型(constrained probabilistic matrix factorization,CPMF)??紤]到不經(jīng)常做評(píng)分的用戶對(duì)推薦效果的影響,CPMF在PMF的基礎(chǔ)上引入了潛在相似度約束矩陣。實(shí)驗(yàn)也證明CPMF在為評(píng)分很少的用戶做出更好的預(yù)測(cè)方面特別有效。由于PMF的目標(biāo)函數(shù)可采用MCMC方法進(jìn)行優(yōu)化,因此Salakhutdinov等[15]又依據(jù)貝葉斯準(zhǔn)則,在原有模型基礎(chǔ)上進(jìn)行了參數(shù)設(shè)置的共軛先驗(yàn),并將MCMC方法應(yīng)用于大規(guī)模數(shù)據(jù)集上,從而提升推薦性能。
考慮到用戶偏好會(huì)隨時(shí)間變化而動(dòng)態(tài)變化,文獻(xiàn)[16]將差分自回歸移動(dòng)平均模型(ARIMA)融合到概率矩陣分解模型之中,先將共現(xiàn)矩陣做PMF得到每一時(shí)間段的特征向量,接著采用ARIMA模型進(jìn)行每個(gè)時(shí)間段對(duì)應(yīng)下一時(shí)間段的特征向量預(yù)測(cè),最后通過(guò)還原PMF得到最終預(yù)測(cè)結(jié)果。實(shí)驗(yàn)表明此混合模型在算法推薦效果與運(yùn)行性能上均有明顯提升。
文獻(xiàn)[17]提出了一種新的QoS預(yù)測(cè)方法來(lái)建立一個(gè)有效的服務(wù)推薦模型。該模型基于傳統(tǒng)K-prototype混合聚類算法,通過(guò)改進(jìn)初始點(diǎn)選擇方法,整合用戶的網(wǎng)絡(luò)位置信息來(lái)尋找相似用戶。同時(shí),考慮到不同地區(qū)用戶的不同網(wǎng)絡(luò)配置,該模型在原PMF模型中加入了隱式反饋,有效降低了評(píng)估誤差。
在社會(huì)化環(huán)境之下,基于矩陣分解的傳統(tǒng)推薦系統(tǒng)無(wú)法更好地表示用戶與項(xiàng)目間的關(guān)系。如何將復(fù)雜的用戶特征與社會(huì)化影響因素融合到推薦系統(tǒng)之中,一直以來(lái)是推薦領(lǐng)域的研究重點(diǎn)之一?;谏鐣?huì)化的矩陣分解推薦算法融合了豐富的社交關(guān)系信息,旨在更好地發(fā)掘出用戶與項(xiàng)目之中潛在的特征向量。早在2008年,Ma等[18]就已提出基于社會(huì)化的矩陣分解推薦模型SoRec。后續(xù)又有諸多研究者提出相關(guān)的推薦模型,并有效提升了推薦性能。根據(jù)現(xiàn)有矩陣分解推薦模型的建立方式,基于社會(huì)化的矩陣分解推薦算法主要分成兩種:一種是基于用戶特征矩陣共享表示;另一種是基于用戶特征矩陣重表示。
通過(guò)共享一個(gè)用戶隱式空間,將評(píng)分信息與社交關(guān)系信息相關(guān)聯(lián),并同時(shí)做矩陣分解的方法,稱為用戶特征矩陣共享表示方法。典型的代表如SoRec模型,其概率圖表示如圖3所示。
圖3 SoRec概率圖模型
SoRec在概率矩陣分解PMF的基礎(chǔ)之上,增加了社交關(guān)系元素Sik。當(dāng)對(duì)社交關(guān)系矩陣進(jìn)行矩陣分解時(shí),會(huì)產(chǎn)生用戶特征向量Ui與社交關(guān)系的特征向量Zk。用戶的特征向量Ui即為共享向量空間,使用其中的相似好友信息可完成用戶間的推薦。SoRec雖然通過(guò)共享特征的方式達(dá)到了利用好友信息推薦的目的,并有效解決了數(shù)據(jù)稀疏性問(wèn)題,但其分解形式不符合現(xiàn)實(shí)規(guī)律。
Yang等[19]構(gòu)建了一種融合社會(huì)信任關(guān)系的矩陣分解推薦模型TrustMF,其主要的矩陣分解形式與SoRec相同,但將其用戶的社交關(guān)系矩陣分解為信任特征矩陣與被信任特征矩陣。通過(guò)對(duì)信任與被信任特征矩陣進(jìn)行建模,并分別通過(guò)學(xué)習(xí)得到近似于用戶特征向量的信任者特征向量與項(xiàng)目特征向量。為解決信任者特征向量與用戶特征向量不完全等價(jià)的問(wèn)題,Yang等[20]又構(gòu)建了以概率矩陣分解為基礎(chǔ)的TrustPMF模型,其假設(shè)用戶、項(xiàng)目、信任者以及被信任者的特征矩陣均服從高斯分布,進(jìn)而用概率矩陣分解思想最小化目標(biāo)函數(shù),提高了推薦精度,且相比SoRec與TrustMF更符合現(xiàn)實(shí)規(guī)律。
Tang等[21]提出局部與全局社交關(guān)系信息的矩陣分解推薦模型LOCABAL,其中局部社交關(guān)系信息指用戶與其朋友的偏好可能相類似,全局社交關(guān)系信息是指用戶的行為可能會(huì)受到社交關(guān)系中高聲譽(yù)用戶的行為的影響。LOCABAL模型也是沿用用戶特征矩陣共享表示的思想,在不同的社會(huì)關(guān)系場(chǎng)景下進(jìn)行精準(zhǔn)的推薦。
用戶特征矩陣重表示是指引入社交關(guān)系信息對(duì)用戶特征向量進(jìn)行重構(gòu)。Ma等[22]繼SoRec后提出了RSTE模型,此模型在對(duì)用戶評(píng)分進(jìn)行預(yù)測(cè)時(shí),采用社交信息加權(quán)方式,充分利用用戶所信任好友的偏好信息來(lái)提升推薦精度。隨著研究的進(jìn)展,Ma等[23]又提出社交正則化模型SoReg,該模型假設(shè)用戶偏好與其所有好友的平均偏好近似,即用戶與好友存在不同的社交影響,同時(shí)好友的偏好也會(huì)不同程度地影響用戶最終的預(yù)測(cè)評(píng)分。圖4所示為SoReg的概率圖模型,其中用戶特征向量Ui受到不同好友關(guān)系強(qiáng)度Sik的影響,從而減小用戶與其好友間的偏好差異。
圖4 SoReg概率圖模型
然而,只考慮好友偏好所帶來(lái)的影響是不夠的。在社交規(guī)律中,用戶間的偏好也會(huì)相互影響而傳播。Jamali等[24]融合信任傳播提出一種基于概率矩陣分解的推薦模型SocialMF,它認(rèn)為用戶的行為是受到其信任用戶的影響的,即用戶的潛在特征依賴于它所有的信任用戶特征的總和。SocialMF可以在無(wú)評(píng)分情況下,通過(guò)社交關(guān)系來(lái)得到用戶的特征向量,因而大大緩解了冷啟動(dòng)問(wèn)題。Guo等[25]將社交信息融入到SVD++模型中,提出了TrustSVD模型。該模型在用戶項(xiàng)目矩陣分解的基礎(chǔ)上,引入信任關(guān)系矩陣分解來(lái)擬合用戶間的信任關(guān)系,從而達(dá)到將用戶的隱式社交信息融入模型之中的目的。
如今已是人工智能與大數(shù)據(jù)時(shí)代,傳統(tǒng)推薦系統(tǒng)已無(wú)法滿足人們對(duì)信息獲取的需求。深度學(xué)習(xí)技術(shù)擁有快速且精準(zhǔn)獲取信息的能力,因此將深度學(xué)習(xí)技術(shù)應(yīng)用于推薦系統(tǒng)領(lǐng)域,已成為諸多研究者的重點(diǎn)研究方向。Salakhutdinov等[26]最早將深度學(xué)習(xí)技術(shù)引入推薦系統(tǒng)之中,提出融合受限玻爾茲曼機(jī)的協(xié)同過(guò)濾算法RBM-CF,此后掀起了深度學(xué)習(xí)推薦技術(shù)發(fā)展的浪潮。傳統(tǒng)的矩陣分解思路與深度學(xué)習(xí)技術(shù)相結(jié)合,可發(fā)揮出精準(zhǔn)的推薦效果。
自動(dòng)編碼器(auto-encoder,AE)應(yīng)用領(lǐng)域廣泛,它將圖像、文本、音頻等不同結(jié)構(gòu)的數(shù)據(jù)進(jìn)行向量化表示,可達(dá)到數(shù)據(jù)降維的目的。Sedhain等[27]首次將AE與協(xié)同過(guò)濾相結(jié)合,提出了AutoRec模型。該模型與傳統(tǒng)矩陣分解推薦的線性特征表示相比,可通過(guò)激活函數(shù)進(jìn)行訓(xùn)練得到非線性的隱特征表達(dá)。但由于AutoRec采用單隱層AE結(jié)構(gòu),特征表達(dá)能力仍有待提高。
Zhang等[28]采用加入規(guī)則項(xiàng)的自動(dòng)編碼器,即壓縮自編碼器(contractive auto-encoder,CAE)來(lái)學(xué)習(xí)項(xiàng)目?jī)?nèi)容,從而得到有效的、非線性的項(xiàng)目特征表示;接著將學(xué)習(xí)后的特征與SVD++模型相結(jié)合[29],有效利用隱式反饋信息解決數(shù)據(jù)稀疏性所帶來(lái)的影響。為解決參數(shù)迭代速度過(guò)慢的問(wèn)題,該模型還提出了一種快速參數(shù)迭代算法,在保證良好性能的前提下,可顯著提升迭代速度。Wang等[30]將堆棧降噪自編碼器(stacked denoised auto-encoder,SDAE)與PMF相結(jié)合,提出了協(xié)同深度學(xué)習(xí)模型(collaborative deep learning,CDL)[31]。CDL可以同時(shí)從內(nèi)容中提取深度有效的特征表示,并捕捉到用戶與項(xiàng)目間的相似性和隱含關(guān)系。Wei等[32]利用SDAE來(lái)提取項(xiàng)目的內(nèi)容特征,接著將內(nèi)容特征嵌入到timeSVD++模型之中。該模型利用了用戶偏好和項(xiàng)目特征的時(shí)間動(dòng)態(tài),將內(nèi)容特征用于冷啟動(dòng)項(xiàng)目的評(píng)分預(yù)測(cè)。
多層感知機(jī)(multilayer perceptron,MLP)由輸入層、輸出層和隱藏層組合而成,它理論上可擬合任意的函數(shù)結(jié)構(gòu),目前廣泛應(yīng)用于工業(yè)界的各個(gè)領(lǐng)域。傳統(tǒng)矩陣分解推薦方法為線性方法,并且對(duì)于特征的學(xué)習(xí)也是淺層次的。將多層感知機(jī)向傳統(tǒng)推薦模型進(jìn)行擴(kuò)展,可為推薦模型添加非線性轉(zhuǎn)換特性,同時(shí)提高特征的深層表達(dá)能力。
He等[33]采用MLP來(lái)代替?zhèn)鹘y(tǒng)矩陣分解推薦中的用戶與項(xiàng)目隱向量間的內(nèi)積運(yùn)算,提出了NeuCF通用模型。由于MLP難以學(xué)習(xí)向量?jī)?nèi)積,為了改進(jìn)推薦效果,He等又在NeuCF基礎(chǔ)上將廣義矩陣分解方法與MLP相融合提出NeuMF混合模型。相比傳統(tǒng)推薦方法,NeuMF可學(xué)習(xí)到更為復(fù)雜的非線性特征,并且當(dāng)數(shù)據(jù)集龐大而不得不進(jìn)行大規(guī)模向量嵌入學(xué)習(xí)時(shí),采用神經(jīng)網(wǎng)絡(luò)來(lái)做向量?jī)?nèi)積,可大大提升特征表達(dá)效果與推薦性能。文獻(xiàn)[34]將深度神經(jīng)網(wǎng)絡(luò)與SVD++相結(jié)合提出了DeepNASVD++模型。該模型利用注意力網(wǎng)絡(luò)得到用戶的加權(quán)反饋信息,同時(shí)整合到用戶的隱向量之中,再利用MLP模型來(lái)進(jìn)行用戶與項(xiàng)目間的高階交互關(guān)系建模。DeepNASVD++與NeuMF相比,有效性與穩(wěn)定性均有提升。
Huang等[35]提出深度結(jié)構(gòu)化語(yǔ)義模型(deep structured semantic models,DSSM),DSSM本質(zhì)上由MLP組成,它使用非線性的MLP將查詢信息與文本信息映射到一個(gè)公共的低維語(yǔ)義空間,利用查詢信息與文本信息的低維向量之間的余弦相似度計(jì)算相關(guān)性。由于NeuMF模型的輸入為當(dāng)前用戶—項(xiàng)目組,此時(shí)若對(duì)多個(gè)用戶—項(xiàng)目組進(jìn)行預(yù)測(cè),時(shí)間復(fù)雜度的增大會(huì)為性能帶來(lái)瓶頸。Xue等[36]受DSSM的啟發(fā)提出了深度矩陣分解模型(deep matrix factorization,DMF),將用戶與項(xiàng)目向量分別輸入到MLP之中,從而將向量非線性地映射到低維空間。該模型設(shè)計(jì)了新的損失函數(shù)來(lái)訓(xùn)練模型,其中包含隱式反饋與顯示反饋,且隱式信息保留在中間層,進(jìn)而提升了算法性能。在社會(huì)化推薦中,為了豐富非線性特征的表達(dá)能力,F(xiàn)an等[37]引入DMF模型的思想,從社會(huì)關(guān)系中提取用戶的非線性特征,并結(jié)合PMF模型進(jìn)行預(yù)測(cè),相比傳統(tǒng)社會(huì)化推薦有新的突破。
卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural networks,CNN)在圖像處理、自然語(yǔ)言處理以及信息檢索等領(lǐng)域均有廣泛的應(yīng)用,它在處理非結(jié)構(gòu)化數(shù)據(jù)時(shí)凸顯出強(qiáng)大的卷積與池化運(yùn)算能力。近年來(lái),基于卷積神經(jīng)網(wǎng)絡(luò)的推薦算法越來(lái)越多。早期,Kim等[38]考慮到基于詞袋模型的方法的局限性,將卷積神經(jīng)網(wǎng)絡(luò)集成到概率矩陣分解之中,提出卷積矩陣分解ConvMF。其利用CNN來(lái)捕獲項(xiàng)目描述文檔的上下文信息,在數(shù)據(jù)稀疏的情況下仍能做出精準(zhǔn)預(yù)測(cè)。后來(lái)ConvMF的建模思想被越來(lái)越多學(xué)者沿用。
考慮到項(xiàng)目評(píng)論的主題信息與深層語(yǔ)義信息對(duì)推薦的輔助作用,文獻(xiàn)[39]提出一種隱狄利克雷分布(latent Dirichlet allocation,LDA)與CNN相結(jié)合的PMF混合模型,該模型可有效地提取用戶特征與多層次的項(xiàng)目特征,并分別應(yīng)用于用戶隱因子與項(xiàng)目隱因子,最終重構(gòu)評(píng)分矩陣得到相應(yīng)的預(yù)測(cè)。文獻(xiàn)[40]在CPMF模型基礎(chǔ)上引入CNN以增加模型的上下文感知能力。在構(gòu)建CNN模型階段,對(duì)用戶的上下文輔助信息進(jìn)行學(xué)習(xí),從而得到項(xiàng)目特征矩陣,再利用CPMF來(lái)構(gòu)建用戶特征矩陣,最終將兩個(gè)特征矩陣相擬合,從而達(dá)到評(píng)分預(yù)測(cè)的目的??紤]到用戶間的信任關(guān)系信息,文獻(xiàn)[41]通過(guò)使用用戶偏好相似度和行為軌跡相似度構(gòu)建用戶之間的信任關(guān)系,再利用ConvMF模型來(lái)對(duì)項(xiàng)目描述文檔進(jìn)行深度特征提取并進(jìn)行最終預(yù)測(cè)。該融合信任關(guān)系的ConvMF混合模型,有效緩解了數(shù)據(jù)稀疏性與冷啟動(dòng)問(wèn)題,且在算法性能上有所提升。
本文基于矩陣分解技術(shù)思想,針對(duì)基于傳統(tǒng)矩陣分解、基于社會(huì)化以及基于深度學(xué)習(xí)的推薦算法,通過(guò)分析研究者對(duì)矩陣分解技術(shù)的不同應(yīng)用方式,總結(jié)得出各類算法在不同程度上所解決的相關(guān)推薦問(wèn)題以及仍需改善的問(wèn)題,如表1所示。
傳統(tǒng)矩陣分解推薦算法與基于內(nèi)容的推薦算法以及傳統(tǒng)協(xié)同過(guò)濾算法相比,在評(píng)分預(yù)測(cè)上的效果更好,并且其良好的擴(kuò)展性降低了算法改進(jìn)難度。但訓(xùn)練模型所需的迭代時(shí)間很長(zhǎng),其優(yōu)化成為一個(gè)難題。不過(guò)目前有大數(shù)據(jù)框架的支持,部分算法實(shí)現(xiàn)了并行化訓(xùn)練以減少時(shí)間成本,如Spark ALS算法[42]實(shí)現(xiàn)了FunkSVD的并行化版本。而傳統(tǒng)矩陣分解推薦算法因其所得到的隱式特征在現(xiàn)實(shí)中是不具有可解釋性的,也使得算法難以在工業(yè)界實(shí)際應(yīng)用。
表1 不同算法類別的對(duì)比
基于社會(huì)化的推薦算法與傳統(tǒng)推薦算法相比,推薦精度有所提高。主要因其社交信息的引入,能夠精準(zhǔn)獲取用戶的喜好,并且這些除用戶信息之外的社交信息也一定程度上解決了用戶冷啟動(dòng)問(wèn)題,部分社交推薦模型還增加了信任關(guān)系,可提升用戶的信任度。社交信息的數(shù)據(jù)量很龐大,因而產(chǎn)生數(shù)據(jù)冗余與噪聲,也進(jìn)一步要求社會(huì)化推薦算法要有更強(qiáng)的數(shù)據(jù)處理性能。盡管社會(huì)化矩陣分解推薦算法因社交信息的引入而具備了一定的可解釋性,但其從矩陣分解思想的本質(zhì)上出發(fā),仍存在可解釋性問(wèn)題。
深度學(xué)習(xí)技術(shù)的引入,有助于解決特征學(xué)習(xí)的可解釋性問(wèn)題。它可以從多源異構(gòu)數(shù)據(jù)中提取特征,可學(xué)習(xí)非線性的特征表示,并且可得到稠密且低維的特征,有效緩解數(shù)據(jù)稀疏性與冷啟動(dòng)問(wèn)題。但其對(duì)數(shù)據(jù)的依賴性,成為它在多場(chǎng)景推薦的瓶頸。
借助矩陣分解思想構(gòu)建推薦算法,對(duì)整個(gè)推薦系統(tǒng)發(fā)展有很大的幫助。基于矩陣分解的推薦算法仍有幾個(gè)方向值得探究:
1) 動(dòng)態(tài)時(shí)序推薦。隨時(shí)間變化而不斷變化的推薦系統(tǒng)是符合自然規(guī)律的,然而基于矩陣分解的推薦算法大多不具備時(shí)效性,因此,有效地將時(shí)序特性融合到推薦算法之中是一個(gè)難點(diǎn)。
2) 并行化推薦。當(dāng)數(shù)據(jù)規(guī)模增大時(shí),基于矩陣分解的推薦算法存在迭代速度過(guò)慢的問(wèn)題。隨著大數(shù)據(jù)技術(shù)的發(fā)展,分布式技術(shù)框架逐一誕生,并實(shí)現(xiàn)了海量數(shù)據(jù)下的并行數(shù)據(jù)處理。為了提高推薦算法的性能,將推薦算法與技術(shù)框架相融合實(shí)現(xiàn)并行化,將會(huì)是一個(gè)具有挑戰(zhàn)性的研究方向。
3) 融合多源異構(gòu)數(shù)據(jù)的跨領(lǐng)域推薦。目前大多數(shù)研究只針對(duì)單個(gè)領(lǐng)域做推薦,一般通過(guò)采用不同的模型來(lái)學(xué)習(xí)某領(lǐng)域的相關(guān)用戶與項(xiàng)目數(shù)據(jù),從而預(yù)測(cè)用戶的行為與偏好。然而,面對(duì)數(shù)據(jù)稀疏與冷啟動(dòng)問(wèn)題,單領(lǐng)域推薦會(huì)遇到性能瓶頸。另外,利用多源異構(gòu)數(shù)據(jù)學(xué)習(xí)得來(lái)的特征將有助于特征表達(dá),增強(qiáng)可解釋性,并緩解數(shù)據(jù)稀疏性。因此融合多源異構(gòu)數(shù)據(jù)的跨領(lǐng)域推薦是一個(gè)研究熱點(diǎn)。
迄今為止,推薦系統(tǒng)的相關(guān)研究已取得一定的成果。在如今大數(shù)據(jù)與人工智能技術(shù)迅猛發(fā)展的時(shí)代,各類數(shù)據(jù)紛繁復(fù)雜,推薦系統(tǒng)將會(huì)面臨更多的挑戰(zhàn)。基于矩陣分解的推薦算法近年來(lái)備受關(guān)注,研究者們紛紛從不同的切入點(diǎn)構(gòu)建算法。本文以矩陣分解技術(shù)為主要方法,概述了相關(guān)的基礎(chǔ)模型與融合模型,從不同的算法構(gòu)建方式對(duì)基于矩陣分解的推薦算法進(jìn)行綜述,最后對(duì)現(xiàn)有工作進(jìn)行總結(jié),并展望了未來(lái)研究方向,以便為相關(guān)研究帶來(lái)一定的參考。隨著數(shù)據(jù)量的不斷增長(zhǎng)與信息技術(shù)的不斷發(fā)展,相信未來(lái)基于矩陣分解的推薦算法將會(huì)有更深入的研究。