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






2.3 商品特征融合




2.4 預 測
3 實 驗
3.1 數據集

3.2 參數設置

3.3 評測標準
3.4 實驗安排與結果比較





5 結 語