楊彥榮,李亞雨
(1.西北農(nóng)林科技大學(xué)網(wǎng)絡(luò)與教育技術(shù)中心,陜西 楊凌 712100;2.西北農(nóng)林科技大學(xué)信息工程學(xué)院,陜西 楊凌 712100)
隨著大數(shù)據(jù)時代的來臨,網(wǎng)絡(luò)信息資源呈現(xiàn)井噴式的增長,為人們提供了豐富的資源數(shù)據(jù),但是網(wǎng)絡(luò)資源具有海量無序、異構(gòu)和碎片化等特點,也給用戶帶來信息超載。在浩瀚的數(shù)據(jù)中,用戶搜尋自己所需資源愈發(fā)困難,為解決用戶高效的獲取所需資源的問題,推薦系統(tǒng)應(yīng)運(yùn)而出,并迅速得到廣泛應(yīng)用。
推薦算法可分為基于內(nèi)容推薦、協(xié)同過濾推薦和混合推薦[1-3]。基于內(nèi)容推薦選用特定的用戶或物品信息表征用戶喜好,進(jìn)而篩選喜好相似度高的物品推薦給目標(biāo)用戶。然而,基于內(nèi)容的推薦方法依靠人工經(jīng)驗選擇物品特征,然而人工選擇的特征往往無法全面、準(zhǔn)確刻畫物品的內(nèi)涵,同時也無法挖掘用戶的潛在興趣,推薦的都是差異不大的相似物品,導(dǎo)致推薦效果不佳。協(xié)同過濾算法是一種通過“近鄰”查找并進(jìn)行預(yù)測目標(biāo)用戶評分的方法,可分為用戶或是物品“近鄰”過濾。協(xié)同過濾推薦具有適應(yīng)性強(qiáng)、易于實現(xiàn)和推薦結(jié)果可解釋性等優(yōu)點而被廣泛應(yīng)用于不同領(lǐng)域。然而協(xié)同過濾推薦僅利用用戶評分?jǐn)?shù)據(jù),依據(jù)“近鄰”的評分預(yù)測目標(biāo)用戶的評分,未考慮用戶和物品的屬性信息,然而在一個推薦系統(tǒng)中不是所有用戶都對物品進(jìn)行評價反饋,相比于龐大的用戶和物品數(shù)量,有評分的數(shù)據(jù)是非常稀疏的,難以找到相似的用戶或是物品,導(dǎo)致相似度計算結(jié)果不夠準(zhǔn)確,推薦效果也隨之下降。針對上述問題,本文提出一種潛在狄利克雷分布(LDA)的矩陣分解推薦方法,該方法使用 LDA主題模型學(xué)習(xí)項目潛在特征向量,然后將其融合到矩陣分解模型中,最后產(chǎn)生預(yù)測評分進(jìn)行推薦。
協(xié)同過濾推薦算法利用已有的用戶評分生成推薦,然而推薦系統(tǒng)中無論是用戶數(shù)量還是物品的數(shù)量都是非常龐大,在這種大級別數(shù)據(jù)量的情況下,依據(jù)生成的表征用戶或是物品的特征相量維度非常高,從而導(dǎo)致推薦的時間消耗呈現(xiàn)爆炸時增長,推薦的時效性受到限制。為解決該問題將矩陣分解應(yīng)用到協(xié)同過濾推薦中,利用矩陣分解將評分矩陣拆解兩個低秩矩陣,再利用這兩個矩陣相乘還原評分矩陣,從而補(bǔ)全評分矩陣中不可觀察值[4-5]。具體為:首先利用用戶和物品交互數(shù)構(gòu)建用戶-物品的評分矩陣,假定用戶-物品的評分?jǐn)?shù)據(jù)為m個用戶對n個物品進(jìn)行評分,一般評分為0至5分,0表示用戶為對該物品評分,1–5表示用戶對物品進(jìn)行評分,并表示對該物品的喜愛程度,通過用戶為行和物品為列構(gòu)建用戶評分矩陣R=[rij]∈Rmn;其次,在一個k維因子空間中,分別學(xué)習(xí)用戶和物品的潛在特征矩陣U∈Rmk,U∈Rnk,使得R≈UV,每一個物品j 都得到一個潛在特征向量qj∈Rk,每一個用戶i也得到一個向量pi∈Rk;最后,通過用戶和物品的潛在特征向量線性組合(內(nèi)積)擬合用戶評分,由式(1)線性組合。
為尋找最優(yōu)用戶特征U和物品特征V,通過構(gòu)造并最小化目標(biāo)函數(shù)來優(yōu)化分解模型,為防止模型過擬,引入正則化參數(shù)λ>0,目標(biāo)函數(shù)為:
式中,Rij表示真實評分,表示預(yù)測評分。
LDA是一種非監(jiān)督學(xué)習(xí)算法[6],包括文檔 -主題和主題 -詞語概率分布?;舅枷胝J(rèn)為寫一篇文檔時,先選定文檔主題,然后再依據(jù)選定的主題生成詞語。假定文檔集 D有M個文檔,一篇文檔包括 N個詞語,文檔集 D包括K個主題,利用θ和 φ分別表示文檔 -主題和主題 -詞語概率分布,則 LDA結(jié)構(gòu)如圖1所示:
圖1 LDA生成模型
圖1中,α是一個K維向量,為θ的先驗分布參數(shù);β為φ的先驗分布參數(shù),α和β服從Dirichlet分布。LDA概率模型生成文檔的過程如下:
第一步:為生成一篇文檔Di,首先在先驗分布α采樣得到生成文檔 -主題分布θi,θi是一個 K維向量,表示主題K與Di之間的分布,θi服從Dirichlet分布,即 θi~Dirichlet(α);
第二步:從主題的多項式分布θi中取樣生成文檔i第n個詞的主題Zi,n;
第三步:從在先驗分布β中采樣Zi,n對應(yīng)的詞語分布 φk;
第四步:從詞語的多項式分布 φk中取樣生成第 i個文檔的第 n個詞Wi,n,不斷重復(fù)第四步生成整個文檔。
基于吉布斯采樣(Gibbs)和基于變分推斷 EM是主題模型學(xué)習(xí)參數(shù)的主要方法。
在個性化推薦中,矩陣分解模型能夠?qū)W習(xí)用戶和物品潛在特征,在學(xué)習(xí)潛在特征中對評分矩陣進(jìn)行降維,在一定程度上緩解數(shù)據(jù)稀疏,從而推薦的效果有所提高。然而矩陣分解模型學(xué)習(xí)潛在特征時僅利用用戶評分?jǐn)?shù)據(jù),未考慮用戶和物品的屬性以及其他大量的其他輔助信息,如用戶性別、職業(yè)、年齡、物品名稱和標(biāo)簽等?;诖吮疚奶岢鼋Y(jié)合 LDA主題模型和矩陣分解的推薦算法,充分利用用戶評分?jǐn)?shù)據(jù)和物品的屬性信息提高推薦準(zhǔn)確率。首先使用基于線性關(guān)系的 LDA主題模型對所有物品的屬性信息進(jìn)行物品的潛在特性學(xué)習(xí),一個物品的所有屬性信息相當(dāng)于一篇文檔,使用項目在 K個主題上的分布表征物品的潛在特征θ;然后將物品潛在的主題特征作為約束向量融入到矩陣分解過程中。其結(jié)構(gòu)如圖 3所示。
圖2 基于LDA主題的矩陣分解模型結(jié)構(gòu)
圖2中,基于 LDA主題的矩陣分解模型結(jié)構(gòu)分為兩部分,上半部分為 LDA模型,θ為物品的主題分布,通過θ約束物品的隱因子;下半部分為矩陣分解模型,R為評分,u和v分別為用戶特征和物品特征,用u和v的內(nèi)積擬合用戶評分R。為優(yōu)化模型,構(gòu)建最終目標(biāo)函數(shù)為:
本文選用平均絕對偏差RMSE和均方根誤差MAE評估模型的性能。將目標(biāo)用戶u對物品v的真實評分定義為ru,將推薦算法預(yù)測的目標(biāo)用戶u對物品v的評分定義為preuv。RMSE和MAE能夠從不同的統(tǒng)計學(xué)角度衡量預(yù)測評分和實際評分之間的差距,其計算公式分別為(4)和(5)。
本文實驗數(shù)量采用MovieLen電影網(wǎng)站的數(shù)據(jù)集MovieLen(1M),該數(shù)據(jù)集是900多個用戶對1,600多部電影的10萬多條評分,評分范圍1–5,被廣泛用于電影推薦系統(tǒng)。在實驗中,將實驗按照8∶2的比例分為訓(xùn)練集和測試集。
為了評測不同推薦算法的性能,在本文的實驗中,選用常用的3種推薦算法作為實驗對比。在實驗中,選用不同的物品主題數(shù)K進(jìn)行多次實驗,當(dāng)LDA的主題數(shù)K采用5時,本文的方法的RMSE和MAE達(dá)到最小值,此時推薦效果最好,因而在后續(xù)的實驗中將LDA主題數(shù)K設(shè)置為5。表1為本文方法與其他3種方法推薦算的RMSE和MAE值。
表1 本文方法與其他3種方法推薦算的RMSE和MAE值
從表1中可以看出,本文方法的RMSE和MAE分別為0.8762和0.6809,均低于其他3種方法,尤其與基于內(nèi)容推薦算法相比,RMSE和MAE分別降低了0.1388和0.2256,RMSE和MAE減小顯著。這表明本文提出的方法是有效的,結(jié)合LDA和矩陣分解推薦方法可以更加準(zhǔn)確獲得項目特征表示,從而提升推薦算法的準(zhǔn)確性。
本文提出一種基于LDA主題模型的矩陣分解推薦算法。該方法充分考慮物品屬性信息,通過LDA主題模型學(xué)習(xí)物品的主題特征向量,并將其應(yīng)用到矩陣分解推薦中,預(yù)測用戶評分從而產(chǎn)生推薦列表,在一定程度上緩解了評分?jǐn)?shù)據(jù)稀疏對推薦結(jié)果的影響。在MovieLen(1M)上的實驗結(jié)果表明,與基于內(nèi)容推薦、基于用戶協(xié)同過濾和PMF方法相比,本文算法的RMSE和MAE值最小,與基于內(nèi)容推薦算法相比,RMSE和MAE分別降低了0.1388和0.2256,RMSE和MAE減小顯著,表明本文方法的推薦效果最佳。然而本文僅考慮物品的輔助信息,未考慮用戶屬性信息,而且沒有對項目的隱含向量進(jìn)行優(yōu)化,這將是下一步研究工作的重點。