李曉菊 顧君忠 程 潔
1(華東師范大學計算機科學與技術系 上海 200062)2(上海智臻智能網(wǎng)絡科技股份有限公司 上海 201800)
隨著信息技術和互聯(lián)網(wǎng)的發(fā)展,人們逐漸從一個信息匱乏的時代步入了信息過載的時代。在一些電子商務平臺,由于商家提供的商品種類繁多,用戶很難快速地從大量的商品信息中發(fā)現(xiàn)對自己有價值的信息,而個性化的推薦系統(tǒng)就是解決這一問題的有效工具。推薦系統(tǒng)可以聯(lián)系用戶和商品,讓特定商品能夠展現(xiàn)在對它感興趣的用戶面前,節(jié)省用戶精力,提高用戶滿意度,并且最大化商家利益。近年來,越來越多的推薦方法相繼被提出,根據(jù)模型構建方式,可分為三大類:基于內(nèi)容的推薦方法[1]、基于協(xié)同過濾的推薦方法[2]和混合推薦方法[3-4]。
在上述推薦方法中,協(xié)同過濾是應用最廣泛的算法。協(xié)同過濾算法的核心思想是:利用用戶的歷史反饋數(shù)據(jù)來挖掘用戶的喜好,將用戶劃分群組,并為其推薦與其偏好相同的用戶所喜歡的物品。隨后,基于物品的協(xié)同過濾算法[5],基于用戶的協(xié)同過濾算法[6]和基于矩陣分解的協(xié)同過濾算法[7]相繼被提出。其中,基于矩陣分解的協(xié)同過濾算法(如概率矩陣分解)因其擴展性好,靈活性高等諸多優(yōu)點,得到了越來越多研究者的關注。
PMF(概率矩陣分解)[8]的核心思想是:將用戶-商品的評分矩陣分解成兩個服從高斯分布的低維矩陣:用戶特征矩陣和商品特征矩陣,通過重構這兩個低維矩陣來預測用戶對商品的評分。概率矩陣分解模型對推薦對象沒有特殊要求,不需要領域知識,能發(fā)現(xiàn)用戶潛在的興趣愛好。但是由于該模型只利用了評分矩陣,在評分數(shù)據(jù)非常稀疏的情況下,預測準確性會下降。
鑒于概率矩陣分解中的稀疏問題,一些學者提出可利用除評分數(shù)據(jù)以外的信息(如商品的描述文本)來提高推薦性能。近年來,深度學習已經(jīng)在計算機視覺[9]和自然語言處理領域[10]中取得突破性的進展,深度學習模型對文本的挖掘能力恰好適用于商品文本內(nèi)容上,一些研究者[14]提出將深度學習模型與推薦系統(tǒng)相結合,將深度學習模型應用到商品的文本內(nèi)容中,再與評分數(shù)據(jù)聯(lián)系起來,以緩解矩陣分解中的稀疏問題。
本文提出一種基于變分循環(huán)自動編碼器的概率矩陣分解模型(vraeMF),該方法使用無監(jiān)督的深度學習模型對商品的描述文本進行編碼,得到一個低維并且服從高斯分布特征向量,作為該商品的初始特征向量,然后將其融合到PMF中來緩和稀疏問題。在編碼特征向量時,我們考慮了文本的上下文信息和語義信息,并且利用變分自動編碼器的思想,提取出來的特征向量服從高斯分布。
協(xié)同過濾是推薦系統(tǒng)中應用最廣泛的方法,可分為基于鄰域的協(xié)同過濾和基于模型的協(xié)同過濾。基于鄰域的協(xié)同過濾算法通過用戶的歷史反饋數(shù)據(jù)將用戶(或商品)劃分群組,找到與目標用戶(商品)最為相似的其他用戶(商品),然后利用與目標用戶(商品)相似度高的鄰居來預測用戶感興趣的商品列表。該算法主要包括基于用戶的協(xié)同過濾和基于商品的協(xié)同過濾兩類?;谟脩舻膮f(xié)同過濾算法核心是找相似用戶,基于商品的協(xié)同過濾找相似的商品。
基于鄰域的協(xié)同推薦早期研究很多,隨著推薦系統(tǒng)的發(fā)展,基于模型的協(xié)同過濾收到越來越多的關注。其中矩陣分解(包括SVD[12]、PMF等)是基于模型的協(xié)同過濾中應用最廣泛的方法。SVD算法假設用戶對商品的評分只受到少數(shù)幾個特征因子的影響,先將用戶和商品映射到相同的特征空間中,再通過評分矩陣來學習用戶和商品的特征矩陣,最后利用用戶和商品的特征矩陣來補全評分矩陣。PMF在SVD的基礎上,從概率生成的角度來解釋用戶和商品的特征向量,PMF假設用戶和商品的特征向量均服從高斯先驗分布,通過最大化后驗概率的方式來求解用戶和商品的特征矩陣。
深度學習已經(jīng)在計算機視覺、自然語言處理領域取得巨大的成功,將深度學習和推薦系統(tǒng)結合起來的模型也受到越來越多研究者的關注。如文獻[14]提出,為了緩解評分矩陣的稀疏性對協(xié)同過濾算法的影響,可將商品的內(nèi)容作為輔助信息,首先使用SDEA (降噪自動編碼器)[13]提取商品內(nèi)容的一個非線性特征表示,再將該特征表示結合到協(xié)同過濾中。
SDEA是一個特殊形式的多層感知機網(wǎng)絡,是一種無監(jiān)督模型。由三部分構成:編碼器,解碼器和重構損失函數(shù)。編碼器將輸入x∈d通過一個非線性的變換映射到一個中間表示z∈d′,如式(1)所示,其中,W∈d′×d是權重矩陣,b∈d′是偏置向量(d′ z=fe(Wx+b) (1) 解碼器將編碼器的輸出z作為輸入,再通過一個非線性變換fd重構輸入x,如式(2)所示。其中,權重矩陣W′∈d×d′,常用編碼器的權重矩陣W的轉置矩陣WT來代替W′,偏置向量b′∈d。 x′=fd(W′z+b′) (2) (3) 但是SDEA在提取文本特征時,用詞袋向量作為輸入,并使用一個前向反饋網(wǎng)絡去編碼文本。這種模型結構在處理像文本這樣的序列數(shù)據(jù)時,無法有效地捕捉文本中的語義信息和上下文信息。如“這篇文章的主題是決策樹,不是隨機森林”和“這篇文章的主題是隨機森林,不是決策樹”,這兩句話想表達的意思完全不一樣,但是經(jīng)過SDEA編碼后,卻會得到同樣的表示。其次,我們也無法知道,經(jīng)過SDEA編碼后,得到的中間表示z服從什么分布。 本文提出一個基于變分循環(huán)自動編碼器的概率矩陣分解模型(vraeMF),該模型首先使用基于循環(huán)神經(jīng)網(wǎng)絡的變分自動編碼器從商品的描述文本中提取出商品特征向量,再將該特征向量與概率矩陣分解模型相融合,來補全評分矩陣。 假設數(shù)據(jù)集一共有N個用戶,M個商品,觀測評分矩陣R=[Rij](i=1,2,…,N;j=1,2,…,M)是一個二元值矩陣,每個商品有一段長度為l的描述文本x。我們的任務是根據(jù)觀測評分矩陣R和商品描述文本x來對每個用戶推薦一個其可能感興趣的商品列表。 本文采用基于循環(huán)神經(jīng)網(wǎng)絡的變分自動編碼器從商品的描述內(nèi)容中提取該商品的內(nèi)容特征表示z。該編碼器結合了循環(huán)神經(jīng)網(wǎng)絡和變分自動編碼器的優(yōu)點:循環(huán)神經(jīng)網(wǎng)絡由于其本身天然序貫的結構性質(zhì),能更有效地處理文本這樣的序列數(shù)據(jù)。變分自動編碼器是一種生成模型,用該編碼器編碼得到的中間表示z服從高斯分布。本節(jié)中我們會詳細討論該模型的結構,如圖1所示,該模型由三部分構成:編碼器,內(nèi)容特征表示z的生成和解碼器。 圖1 基于循環(huán)神經(jīng)網(wǎng)絡的變分自動編碼器 2.2.1 編碼器 2) 雙向動態(tài)LSTM層 我們用一個雙向動態(tài)LSTM網(wǎng)絡作為編碼器。首先由于商品的文本內(nèi)容長短不一,所以我們采用動態(tài)LSTM網(wǎng)絡。其次,由于傳統(tǒng)RNN能夠存取的上下文信息范圍有限,在處理長度較長的序列數(shù)據(jù)時,RNN能將信息串聯(lián)起來的能力就越來越弱,為了解決這個問題,我們采用雙向LSTM[15]網(wǎng)絡。LSTM的關鍵就是貫穿整個序列的細胞單元狀態(tài)Ct和三個精心設計的“門”:遺忘門ft,輸入門it和輸出門Ot,這三個“門”有選擇的讓信息通過序列,從而更新細胞狀態(tài)Ct和隱藏狀態(tài)ht,相應的門的計算公式如下: (4) (5) (6) ht=Ot×tanh(Ct) (7) (8) 2.2.2 商品內(nèi)容特征表示z的生成 (9) (10) z=σ×ε+μ (11) 式中:WF,WB∈k×m,bF,bB∈k,μ,σ∈k,我們將μ和σ2分別視作為k個高斯分布的均值和方差,并且z~Ν(μ,σ2),所以我們可以從Ν(μ,σ2)采樣生成特征表示z,但是這個采樣操作對μ和σ不可導,無法使用通過梯度下降法來優(yōu)化,參考文獻[11],我們首先從Ν(0,1)上采樣得到ε后,然后利用式(11)來計算z。這種操作下,從編碼器輸出到z,只涉及線性操作,因此,可通過梯度下降法優(yōu)化。 2.2.3 解碼器 解碼器pθ(x|z)將上一步的商品內(nèi)容特征表示z作為輸入重構輸入數(shù)據(jù)x。我們采用長度和對應編碼器相同的單向LSTM網(wǎng)絡。其中每個LSTM單元的隱藏單元數(shù)量跟編碼器一樣為m。和編碼器網(wǎng)絡不同的是,在解碼器中,我們設置初始輸入為0,在后面的每一步中,將上一步的輸出作為下一步的輸入。解碼器中,LSTM網(wǎng)絡的初始細胞狀態(tài)值Cinit由z經(jīng)過式(12)所示的一個線性變換得到,其中Wd∈m×k,bd∈m。我們希望解碼器在每一步t的輸出和編碼器的輸入盡可能相同。 Cinit=Wdz+bd (12) 2.2.4 訓 練 數(shù)據(jù)xi目標損失函數(shù)由兩部分構成:pθ(z)與qφ(z|xi)的KL散度和重構損失,KL散度可以看作是一個正則因子,用來衡量兩個分布的相似程度,相應的損失函數(shù)如下所示: ξ(θ,φ,xi)=-DKL(qφ(z|xi)‖pθ(z))+ Εqφ(z|xi)[logpθ(xi|z)] (13) 根據(jù)變分貝葉斯理論[11],上式可以簡化為: (14) 我們通過隨機梯度下降法優(yōu)化上述損失函數(shù),得到最優(yōu)的μ和σ,然后用式(11)得到z,作為商品的初始特征向量,用于下一步的概率矩陣分解中。 我們將上一步得到的特征表示z作為商品的初始特征矩陣融合到概率矩陣分解模型中,融合過程如圖2所示。用戶特征矩陣為U(U∈k×N),商品特征矩陣為V(V∈k×M),這里用戶和商品的特征向量維度和z相同,然后用這兩個特征矩陣的乘積UTV來補全評分矩陣R。 圖2 vraeMF模型框架 2.3.1 融合過程 (15) 對商品特征矩陣V,我們假設其由兩部分構成:(1) 由商品內(nèi)容得到的特征向量z;(2) 高斯噪聲ε,用來優(yōu)化商品特征矩陣。如式(16)、式(17)所示。商品特征矩陣的條件分布可表示為式(18)。 V=z+ε (16) (17) (18) (19) 式(15)-式(19)中:N(x|μ,σ2)表示均值為μ;方差為σ2的高斯分布。Iij是0-1指示函數(shù),如果用戶i對商品j有過評分反饋,則Iij為1,否則為0。 2.3.2 優(yōu)化策略 我們使用最大后驗估計(MAP)來優(yōu)化用戶和商品的特征矩陣,如下所示: (20) 對R、U、V的聯(lián)合密度負對數(shù)化,最大化后驗概率U和V,等價于求式(21)最小值。 (21) ui←(VIiVT+λUIk)-1VRi (22) vj←(UIjUT+λVIK)-1(URj+λVzj) (23) 用戶特征向量u的優(yōu)化過程為式(22),Ii是一個單位對角矩陣,對角元素為Ii,j(j=1,2,…,M),Ri是一個向量,具體值為:Rij(j=1,2,…,M)。商品特征向量的優(yōu)化過程為式(23),與用戶特征向量優(yōu)化的過程不同的是,其中考慮了商品內(nèi)容特征表示Z的影響,Ij和Rj的定義和式(22)中的Ii和Ri類似。我們通過交替的方式,更新U和V,直至收斂。 最后,通過更新得到U和V來重構評分矩陣,補全缺失的評分。用戶i對商品j的評分可由(24)式計算。在推薦過程中,對用戶i,我們將Ri的按照值的大小從高到低排序,將排在前面的商品認為是該用戶感興趣的商品集。 (24) 我們使用來自CiteULike的兩個數(shù)據(jù)集:citeulike-a和citeulike-t。 CiteULike是一個學術資料庫網(wǎng)站。用戶可以在該網(wǎng)站創(chuàng)建自己的學術資料庫,并在庫中收藏自己感興趣的學術文獻。數(shù)據(jù)集包括:(1) 每個用戶庫中的文獻列表,代表該用戶感興趣的商品集;(2) 所有文獻的標題和摘要,作為商品的描述文本。表1列出了這兩個數(shù)據(jù)集的統(tǒng)計情況。在實驗預處理過程中,我們刪除了收藏文獻數(shù)據(jù)少于5的用戶。 表1 數(shù)據(jù)集統(tǒng)計情況 為了分析本文算法的推薦性能,我們在同等環(huán)境下分別使用經(jīng)典推薦算法PMF和基于深度學習的推薦算法CDL[14]進行對比。在我們的實驗當中,Word2Vec詞向量維度為250維,LSTM隱藏層單元數(shù)量為150維。用戶和商品的特征向量維度和文獻[14]相同,為50。對于參數(shù)λU和λV的設置,我們?nèi)≡诿糠N模型下結果最好的參數(shù)值,具體如表2所示。 表2 參數(shù)設置 由于本文使用的數(shù)據(jù)集中,用戶對商品的評分都是隱式反饋,只有0、1兩種數(shù)據(jù)。用戶對商品的評分為1代表對該商品感興趣。用戶對一個商品的評分為0,則有兩種情況:一是用戶對該商品不感興趣,二是用戶沒有意識到該商品的存在。所以相比準確率,召回率是一個更合適的評測指標。本文采用recall@M作為實驗的評測標準,對于每個用戶,recall@M定義為: 3.4.1 試驗安排 我們分兩種情況在上述兩個數(shù)據(jù)集上來測試三種模型的推薦性能:稀疏情況和稠密情況。對于每個用戶,我們從隨機選取1個該用戶收藏過的商品記錄作為稀疏情況下的訓練樣本,然后隨機選取10個該用戶收藏過的商品記錄作為稠密情況下的訓練樣本。兩種情況下,將剩下的數(shù)據(jù)作為測試樣本。將5次交叉驗證結果的平均值作為實驗的最終結果。 3.4.2 實驗結果與分析 表3列出了在稀疏情況下三種模型在兩個數(shù)據(jù)集下的recall@200值,我們可以得出:在稀疏情況下,vraeMF和CDL的結果都要優(yōu)于只使用評分矩陣的PMF。其中在citeulike-a數(shù)據(jù)集下,CDL比PMF要高出17%左右,vraeMF比PMF要高出21%左右。在citeulike-t數(shù)據(jù)集下,CDL比PMF要高出24%左右,vraeMF比PMF要高出27%左右。說明將商品內(nèi)容的特征表示融合到概率矩陣分解中,能夠提高推薦性能。 表3 稀疏情況下recall@200 % 圖3、圖4為稀疏情況下,三種模型的recall@M值隨著M變化情況,圖5、圖6為稠密情況下三種模型的recall@M值隨著M變化情況??梢钥闯觯?1) 在稀疏和稠密兩種情況下,vraeMF的recall@M均高于CDL。說明vraeMF在根據(jù)商品內(nèi)容提取特征表示的時候,由于考慮了文本內(nèi)容的語義信息和上下文信息,能更好地表示商品特征。(2) 我們由表1可知,數(shù)據(jù)集citeulike-t的評分矩陣和商品內(nèi)容比citeulike-a更稀疏,根據(jù)實驗結果,即使在稀疏的情況下,vraeMF在citeulike-t上的recall@M比citeulike-a高出5%左右,說明vraeMF更適合與處理稀疏的文本和評分矩陣。 圖3 citeulike-a稀疏情況recall@M 圖4 citeulike-t稀疏情況recall@M 圖5 citeulike-a稠密情況recall@M 圖6 citeulike-t稠密情況recall@M 本文針對概率矩陣分解中的稀疏問題,提出一種基于變分循環(huán)自動編碼器的概率矩陣分解方法。該方法首先從商品內(nèi)容信息中提取出一個服從高斯分布的商品特征表示,然后將該特征表示融合到概率矩陣分解中來緩和稀疏問題。實驗結果表明,本文方法在評分矩陣極其稀疏的情況下,能提高推薦準確性。此外,由于本文算法只考慮了提取初始商品特征表示,在此后的研究中,可以考慮將用戶初始特征表示也考慮進來。2 本文算法
2.1 問題定義
2.2 商品特征提取
2.3 商品特征融合
2.4 預 測
3 實 驗
3.1 數(shù)據(jù)集
3.2 參數(shù)設置
3.3 評測標準
3.4 實驗安排與結果比較
5 結 語