李利杰 張君華
(1.寧波城市職業(yè)技術(shù)學(xué)院 寧波 315100)(2.寧波大學(xué)科技學(xué)院 慈溪 315300)
互聯(lián)網(wǎng)行業(yè)的飛速發(fā)展,信息爆炸是互聯(lián)網(wǎng)時代賦予的顯著特征,各應(yīng)用平臺收集的數(shù)據(jù)呈幾何級數(shù)增長,到2020 年中國大數(shù)據(jù)規(guī)模將占到世界的1/5。享受數(shù)據(jù)紅利的同時也帶來了信息過載的問題,如何充分利用這些過載的信息,準(zhǔn)確高效地向用戶推送感興趣的優(yōu)質(zhì)資源,提供用戶黏性,實現(xiàn)網(wǎng)絡(luò)價值最大化成為亟需解決的難題。為應(yīng)對信息爆炸,推薦系統(tǒng)應(yīng)運而生。推薦系統(tǒng)根據(jù)用戶的歷史行為數(shù)據(jù)和物品內(nèi)容特征數(shù)據(jù)進(jìn)行挖掘分析,同時利用多種上下文信息,對用戶的未來選擇行為做出預(yù)測,繼而實現(xiàn)對特定用戶的推薦列表。根據(jù)使用數(shù)據(jù)源方式和技術(shù)不同,可劃分為基于內(nèi)容的推薦算法、基于協(xié)同過濾的推薦算法、基于知識的推薦算法三種類型[1~2]。
基于內(nèi)容的推薦算法是一種直接的推薦策略,從物品內(nèi)容是否與用戶偏好匹配的角度對用戶作出推薦,構(gòu)建用戶畫像和物品的內(nèi)容特征來實現(xiàn)推薦行為[3~4]。基于內(nèi)容的推薦算法廣為使用的是基于機(jī)器學(xué)習(xí)的推薦算法?;趦?nèi)容的推薦方法是通過計算物品畫像與目標(biāo)用戶畫像相似度進(jìn)行推薦,不需要其他用戶數(shù)據(jù),不存在冷啟動問題,但存在三個主要的局限。一是基于內(nèi)容的推薦算法要求內(nèi)容必須能夠抽取出有意義的特征,且要求這些特征內(nèi)容有良好的結(jié)構(gòu)性,而使用標(biāo)簽對物品進(jìn)行標(biāo)注的方法工作量大效用低;二是需要足夠的數(shù)據(jù)來構(gòu)造決策分類器,用戶畫像的簡歷需要大量的用戶瀏覽記錄;三是難以為用戶發(fā)現(xiàn)新的潛在興趣信息。
基于協(xié)同過濾的推薦算法基于用戶對物品的評價以及其他行為模式為用戶提供個性化的推薦,無需了解用戶或者物品的大量信息?;谟脩舻膮f(xié)同過濾推薦算法,通過相似用戶進(jìn)行推薦比較計算用戶的相似性,越相似兩者興趣越相近?;谖锲返膮f(xié)同過濾算法,通過相似物品推薦,比較計算項與項之間的相似性,為用戶推薦與其打過分的項相似的項。基于協(xié)同過濾的推薦算法共享用戶經(jīng)驗,有效使用其他用戶的反饋信息,能夠提高推薦的正確度,增加推薦的多樣性。由于新用戶沒有歷史行為數(shù)據(jù),存在冷啟動問題;沒有對物品內(nèi)容做分析,無法依據(jù)深層特征和屬性來推薦比較復(fù)雜的物品,受到用戶評價稀疏矩陣的約束[5~7]。
協(xié)同過濾和基于內(nèi)容的推薦算法本質(zhì)是在分析已知數(shù)據(jù)的基礎(chǔ)上推送用戶的選擇行為?;谥R的推薦算法首先通過交互會話等途徑直接了解用戶需求,進(jìn)行物品匹配?;谥R的推薦算法適合于協(xié)同過濾和基于內(nèi)容的推薦算法所不擅長的推薦領(lǐng)域,但前提是需要對知識進(jìn)行形式化定義和表示,較為流行的有基于約束的推薦算法和基于實例的推薦算法?;诩s束的推薦算法依賴用戶需求的形式化條件開展搜索,基于實例的推薦算法是在已有實例的基礎(chǔ)上進(jìn)行匹配與推薦[8~10]?;谥R的推薦算法存在知識獲取比較困難、用戶必須清晰表達(dá)需求才能作出推薦等限制。
與傳統(tǒng)的機(jī)器學(xué)習(xí)相比,深度學(xué)習(xí)因表征能力強(qiáng),抗噪能力強(qiáng),使用循環(huán)神經(jīng)網(wǎng)絡(luò)對動態(tài)數(shù)據(jù)易于建模等優(yōu)勢,在新聞和商品個性化推薦系統(tǒng)中得到了廣泛的應(yīng)用。但現(xiàn)有的深度學(xué)習(xí)模型雖然一定程度上緩解了數(shù)據(jù)稀疏性,但是只使用了用戶和物品的編號信息,沒有對用戶評分和物品得分等其他信息的特征提取,導(dǎo)致推薦效果不佳。因此本文融合循環(huán)神經(jīng)網(wǎng)絡(luò)與全局化領(lǐng)域技術(shù),提出了基于循環(huán)神經(jīng)網(wǎng)絡(luò)和全局化領(lǐng)域的推薦算法,與其他算法相比,能有效提取用戶與物品隱藏的潛在特征,提高推薦有效性。
矩陣分解模型把用戶和物品兩方面的信息隱射到隱語義空間,用戶與物品的交互可通過該空間的內(nèi)積來建模而成。隱語義空間通過描述物品和用戶在各自因子上的特征來解釋評分制[11]。每一個物品i都與某個f維向量qi關(guān)聯(lián),每一個用戶u都與一個f維向量pu相關(guān)聯(lián)。給定一個物品i,qi向量每個維度的值表示該物品具備這些因子的程度。給定一個用戶u,pu表示用戶對這些因子的偏好程度。點積表示用戶對物品的總體興趣度,根據(jù)式(1)得到評分規(guī)則。
通過最小化如下正則化的平方誤差(見式(2))來實現(xiàn)式(1)中參數(shù)最優(yōu)化。
通過交叉驗證控制正則化參數(shù)λ,使用隨機(jī)梯度下降優(yōu)化算法實現(xiàn)參數(shù)最優(yōu)化。
隱式反饋信息提供了用戶偏好的額外信息,利用隱式反饋信息可增加預(yù)測正確度。為達(dá)到這個目的,增加第二個物品因子集合,為每個物品i關(guān)聯(lián)一個因子向量yi,通過用戶評分物品集合實現(xiàn)描述用戶特征。模型如式(3)所示:
本節(jié)借鑒基于領(lǐng)域的方法和矩陣分解模型兩方面原理構(gòu)建全局化的領(lǐng)域模型。常規(guī)的領(lǐng)域模型以特定用戶的插值權(quán)重為中心,也就是在一個用戶特定的領(lǐng)域Sk(i,u)中與物品i相關(guān)的物品集。為實現(xiàn)全局最優(yōu)化,使用與特定用戶無關(guān)的、從數(shù)據(jù)中通過最優(yōu)化學(xué)習(xí)得到的基于物品的權(quán)重。全局化領(lǐng)域模型如式(4)所示。
這里把權(quán)重視作調(diào)整或者補(bǔ)償?shù)囊徊糠?,?quán)重wij表示通過觀察到的ruj來提高ruj的預(yù)測值。為降低模型復(fù)雜度,刪除與基于物品關(guān)聯(lián)相對應(yīng)的參數(shù),將Sk(i)定義為與物品i最相似的k個物品的集合。此外,定義Rk(i,u)=R(u)∩Sk(i),則全局化領(lǐng)域模型演變?yōu)槭剑?)。
模型參數(shù)優(yōu)化使用Adam優(yōu)化算法(見算法1[12~13])計算此模型的正則化問題(見式(6))。
算法1:Adam算法
全局化領(lǐng)域模型假定用戶偏好和物品屬性是靜態(tài)的,但本質(zhì)上,用戶偏好和物品屬性都是隨著時間的推移而緩慢變化。本文基于循環(huán)網(wǎng)絡(luò)對用戶和物品的時效性進(jìn)行建模,根據(jù)歷史的評分?jǐn)?shù)據(jù)預(yù)測將來的用戶偏好。通過兩個循環(huán)神經(jīng)網(wǎng)絡(luò)分別對用戶和物品的時序性建模,用戶的隱藏狀態(tài)依賴于用戶在當(dāng)前時刻對物品的評分和前一時刻用戶的狀態(tài),物品的隱藏狀態(tài)依賴于當(dāng)前時刻其他用戶對這一物品的評分以及前一時刻物品的狀態(tài)。
圖1 循環(huán)神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
假定uit和mjt分別代表用戶i、物品j在第t時刻的隱藏狀態(tài)。那么用戶i在第t時刻對物品m的評分就寫成式(7):
其中uit和mjt表示用戶i、物品j在第t時刻的隱藏狀態(tài),通過長短時記憶網(wǎng)絡(luò)建模(LSTM)建模(見式(9)):
其中yit和yjt分別代表用戶i、物品j在第t時刻的輸入,用式(10)表述。
其中1new_user=1 和1new_item=1 分別代表新用戶和新物品,τt代表第t時刻的時鐘,Wa,Wb分別是用戶和物品的參數(shù)投影矩陣,xit∈Rv表示用戶i在第t時刻對物品的評分,V是物品數(shù)量。xjt∈Ru表示在第t時刻所有用戶對物品j的評分,U是用戶數(shù)量。模型參數(shù)通過優(yōu)化下面的目標(biāo)函數(shù)(見式(11))求出,表示模型的正則化項。
本文在PyTorch 平臺上搭建所提出的推薦模型,運行系統(tǒng)為Win10 64位操作系統(tǒng),處理器為Intel i7 CPU,32G 內(nèi)存,選取GroupLens 站點提供的基準(zhǔn)數(shù)據(jù)集MovieLen1 和MovieLen2(見表1),采用5折交叉驗證法進(jìn)行推薦模型的算法性能測試。
表1 測試基準(zhǔn)數(shù)據(jù)集信息
為評估循環(huán)神經(jīng)網(wǎng)絡(luò)在全域領(lǐng)域模型應(yīng)用的有效性,本文進(jìn)行了對比實驗。實驗結(jié)果表2 所示。
表2 算法MAE、RMSE實驗
從實驗結(jié)果可知,基于循環(huán)網(wǎng)絡(luò)的全域領(lǐng)域模型的平均絕對值誤差(MAE)和均方根誤差(RMSE)比全局領(lǐng)域模型低,表明本文所提出的基于循環(huán)網(wǎng)絡(luò)的全域領(lǐng)域模型能深度挖掘用戶和物品的隱藏特征,對算法產(chǎn)生積極的作用,表現(xiàn)出較好的推薦結(jié)果。進(jìn)一步為了驗證本文所提出的推薦模型與算法的有效性,將本算法與DSPR、TRSDL、CKE、RKGE、KGTA五種算法[14~15]進(jìn)行對比實驗。
從表3 對比結(jié)果可知,TRSDL 運用循環(huán)神經(jīng)網(wǎng)絡(luò)獲得用戶的長短期隱藏偏好獲得了比DSPR 更好的預(yù)測結(jié)果。KGTA、PKGE 和CKE 三種算法模型借助知識圖譜實現(xiàn)對用戶的交互歷史建模,取得了較好的性能。本文所提出的RNGA 算法在MovieLens1 和MovieLens2 基準(zhǔn)數(shù)據(jù)集上都獲得了比上述五種算法更佳的算法性能,說明將循環(huán)神經(jīng)網(wǎng)絡(luò)與全域領(lǐng)域模型的有機(jī)結(jié)合,有效發(fā)揮了循環(huán)神經(jīng)網(wǎng)絡(luò)和全域領(lǐng)域模型優(yōu)勢,提升了推薦準(zhǔn)確性。
表3 與DSPR、TRSDL、CKE、RKGE、KGTA五種算法對比實驗
本文提出了一種基于循環(huán)神經(jīng)網(wǎng)絡(luò)的全局領(lǐng)域推薦算法,既利用了全局領(lǐng)域模型的固有的防止過擬合和風(fēng)險控制能力,又將循環(huán)神經(jīng)網(wǎng)絡(luò)與全域領(lǐng)域模型相結(jié)合,將數(shù)據(jù)隨時間漂移的特點整合到全域領(lǐng)域模型,進(jìn)而提高了模型的預(yù)測準(zhǔn)確性,實驗結(jié)果驗證了本文所提出算法的有效性。后續(xù)本文將在提升算法準(zhǔn)確性的同時,進(jìn)行模型計算復(fù)雜度的優(yōu)化工作,致力于實現(xiàn)整體性能更好的推薦模型和算法。