商 齊,曾碧卿,2,王盛玉,周才東,曾 鋒
(1. 華南師范大學 計算機學院,廣東 廣州 510631;2. 華南師范大學 軟件學院,廣東 佛山 528225)
用戶物品評分數據持續增長的同時也帶來了數據稀疏問題,而數據稀疏使得傳統協同過濾方法的評分預測準確率下降[1]。為了提高預測的準確率,文獻[2-7]在評分預測任務中引入輔助信息(包括用戶的人口統計學、社交網絡和物品的評論文本等),例如,文獻[2]提出協同主題回歸模型(Collaborative Topic Regression, CTR),該模型屬于概率圖模型(probability graph model),模型整合了主題模型(topic model)、潛在狄利克雷分布[8](Latent Dirichlet Allocation, LDA)和概率矩陣分解[9](Probability Matrix Factorization, PMF);文獻[3,5,10-11]堆疊降噪自動編碼器(Stacked Denoising Autoencoder, SDAE)提取物品的描述文檔(如評論和摘要)特征以提高評分預測的精度;文獻[12-13]將輔助信息按照用戶和物品分別進行聚類,然后用卷積神經網絡和注意力機制提取文本信息的特征。
然而,現有的模型通常使用詞袋模型提取文本的特征,而詞袋模型不考慮詞的相互關系、詞的上下文以及詞序的影響。例如,“The paper is about CNN, not RNN.”和“The paper is about RNN, not CNN.”,LDA和SDAE將文檔看作由互不相同的詞構成的詞袋,忽略詞序和上下文信息的影響,導致LDA和SDAE無法準確理解文檔,進而降低評分預測的準確率。
為克服詞袋模型的缺陷,文獻[11,14-15]使用卷積神經網絡提取文檔的上下文特征,但是輸入到CNN的文檔未經過關鍵詞篩選,存在大量的非關鍵詞,而CNN又無法自動判別輸入文檔中哪些詞為關鍵詞(對評分預測至關重要),導致CNN缺乏關鍵信息的提取能力。另外,CNN在文檔處理中往往忽略長度為1的卷積核,導致CNN缺乏單一詞特征的提取。因此,本文提出一種有效的特征提取模型ACMF,該模型可有效提取物品描述文檔的上下文信息和單一詞特征,并克服數據稀疏問題,從而提高評分預測的準確率。ACMF模型的核心思想是將CNN模型和注意力機制整合到PMF框架中,使整合后的模型能夠有效利用協同信息和上下文信息完成評分預測任務。為了驗證ACMF模型的評分預測能力,本文在稀疏度不同的四個數據集上進行實驗,實驗結果表明,在數據稀疏和稠密的條件下,ACMF模型的預測準確率均超過了R-ConvMF、aSDAE和PHD模型。
本文的主要貢獻總結如下:
① 突破了詞袋模型的限制,提出ACMF模型,該模型充分考慮詞序和詞的上下文因素,對不同的物品賦予差異化的高斯噪聲,可有效提取文檔的特征,并用于評分預測;
② ACMF模型將ACNN整合到PMF框架下,并利用相關的正則化參數平衡評分信息和物品描述文檔信息,從而減少數據稀疏帶來的不利影響;
③ 在ML-100k、ML-1m、ML-10m、Amazon數據集上定性和定量分析了ACMF模型的實驗效果,ACMF模型比PHD模型的預測準確率分別提高了3.57%、1.25%、0.37%和0.16%。
本節簡要回顧矩陣分解、注意力機制和卷積神經網絡的基本概念和相關研究工作。
矩陣分解是一種基于模型的協同過濾方法,該方法首先在共享的潛在空間中找到用戶和物品的潛在模型U和V,然后計算用戶潛在模型和物品潛在模型的內積,最后將內積的結果作為預測的評分矩陣[16]。假設有N個用戶,M個物品,用戶評分矩陣R∈N×M。在矩陣分解中用戶i和物品j分別表示成k維向量,ui,vj∈k。矩陣R的評分項rij近似地等于用戶潛在向量和物品潛在向量的內積。通常采用最小化損失函數L來訓練潛在模型,采用L2范式作為正則項,防止模型過擬合,如式(1)所示。
(1)
其中,I表示元素為0或1的方陣,Iij是指示函數,如果用戶i對物品j評過分,則Iij=1,否則Iij=0。
注意力機制已成功應用于自然語言處理、圖像處理、數據挖掘等多個領域。在文本挖掘中,注意力機制有利于模型更有效地發現和構建文檔特征,使模型在訓練時有選擇地進行特征提取。文獻[17]將注意力機制用于圖片描述;在機器翻譯領域[18-19],注意力機制改進了原有的encoder-decoder翻譯模型;Yin等[20]提出一種基于注意力機制的卷積神經網絡,將其用于句子對建模任務中;Wang等[21]利用基于多層注意力機制的卷積神經網絡進行句子關系分類;這些方法的成功說明注意力機制與CNN結合的有效性。
卷積神經網絡最早用于圖像識別問題[22],現已在信息檢索和數據挖掘等多個領域成功應用。盡管推薦系統和圖像識別的任務不同,但CNN模型經過改造可用于推薦系統領域,比如CNN音樂推薦[23],通過CNN分析歌曲的音頻,并根據音頻的潛在模型對歌曲進行評分預測,但是該CNN模型僅適用于音頻的推薦,不適合文檔的處理。文獻[24-25]使用CNN將圖像的特征融入推薦系統,利用多媒體進行特征的融合可以有效提升推薦的效果。
如圖1所示,本文提出融合卷積神經網絡和注意力機制的矩陣分解模型: ACMF。該模型包括兩個子模塊: PMF和ACNN。其中,U和V分別表示用戶和物品的潛在模型,W表示ACNN網絡所有的權值和偏置項的統稱,R為用戶—物品評分矩陣,σ2表示方差,X為物品的描述文檔,i、j和k分別為三個實線框內的元素所用到的角標。圖1左側虛線框表示PMF,右側虛線框表示ACNN,ACMF的目標是將ACNN整合到PMF框架中,并通過PMF和ACNN聯系物品的評分和描述文檔信息用于評分預測。下面依次介紹ACMF模型的兩個子模塊以及模型的潛在變量優化。

圖1 ACMF模型的結構
(1) ACNN的網絡結構。
ACNN根據物品的描述文檔,生成物品的潛在模型,該網絡的結構如下:
嵌入層: 將序列化后的物品描述文檔進行詞嵌入操作,得到文檔的特征表示。
局部注意力層: 在嵌入層和卷積層之間添加局部注意力層,使ACNN網絡在訓練的過程中有選擇地進行詞特征提取,降低無關詞對評分預測的影響。
卷積層: 卷積層增加長度為1的卷積核,以便提取局部注意力層的單一詞特征。
ACNN的池化層和全連接層與CNN模型相同。
(2) 概率矩陣分解。
PMF模型以概率生成的角度解釋用戶和物品的潛在模型。
(3) ACMF模型中潛在變量的優化。
PHD[11]為ACMF模型的主要對比模型,為保證實驗的公平性,本文采用與PHD相同的優化方法: 最大后驗概率(Maximum A Posteriori, MAP)估計,優化ACMF模型的潛在變量。
ACNN網絡的目標是生成物品的潛在模型,網絡結構如圖2所示,主要包括5層: 嵌入層、注意力層、卷積層、池化層和輸出層。

圖2 ACNN網絡結構圖
2.1.1 嵌入層
假設文檔包含T個詞,每個詞對應的詞向量維度均為d。其中,詞向量的初始化通過預訓練的詞嵌入模型Glove[26]完成,然后,通過神經網絡的優化過程進一步訓練詞向量。記長度為T的文檔對應的詞嵌入矩陣為D,則D∈d×T,如式(2)所示。
D=(x1,x2,…,xT),0≤T≤300
(2)
2.1.2 局部注意力層
注意力機制分為局部注意力機制和全局注意力機制[12]。局部注意力側重用戶的偏好和物品的屬性特征,全局注意力側重文檔的語義特征。在評分預測中,用戶的偏好和物品的屬性更為重要,因此本文使用局部注意力機制。

其中,*表示符號兩邊的矩陣對應位置的元素相乘然后相加的操作。激勵函數g(·)為sigmoid函數。score(t)為注意力得分,也是第t個詞嵌入的權重。對于第t個詞,詞嵌入的權重序列為:
(5)
(6)

2.1.3 卷積層


(7)

(8)
2.1.4 池化層
本文使用最大池化將文檔的表示向量降低至nc維:df=[max(c1),max(c2),…,max(cj),…,max(cnc)]

2.1.5 輸出層
輸出層將上一層輸出的高級特征用于評分預測,因此本文將df映射到k維空間中(用戶或物品的潛在空間),得到的文檔潛在向量如式(9)所示。
s=tanh(Wf2{tanh(Wf1df+bf1)}+bf2)
(9)
其中,Wf1∈f×nc,Wf2∈k×f為映射矩陣,bf1∈f,bf2∈k分別為Wf1和Wf2的偏置向量,結果s∈k用于計算預測的評分。
回顧從輸入層到輸出層的整個過程,ACNN可以看作一個函數,該函數以原始文檔作為輸入,返回潛在向量作為文檔的輸出。如式(10)所示。
sj=acnnW(Xj)
(10)
其中,Xj記為物品j的原始文檔,sj記為物品j的文檔潛在向量,為避免混淆,將所有權重和偏置變量記為W。
PMF的目標是找到用戶和物品的潛在模型U和V,然后用UTV重建評分矩陣R,其中U∈k×N,V∈k×M。從概率的角度來看,已知評分的條件分布[9]表示如式(11)所示。
(11)
其中,N(x|μ,σ2)是均值為μ方差為σ2的高斯正態分布的概率密度函數。

(12)
對于物品潛在模型,本文從三個變量中生成:
① ACNN網絡的內部參數W;
② 變量Xj表示物品j的文檔;
文獻[27]的實驗結果表明,單個物品的評分數量和高斯噪聲的方差成反比。因此,物品潛在模型可以通過下面的方程得到:
其中,nj為物品j擁有的評分數,h(·)為平方根函數,物品潛在模型的條件分布為:
(15)

對于W中的權值wk,使用零均值球面高斯先驗計算,如式(16)所示。
(16)
將變量U、V、W的后驗概率估計整合在一起,如式(17)所示。
(17)
本文采用最大后驗概率估計優化潛在變量U、V和W,如式(18)所示。
(18)
對式(18)取負對數,最大后驗估計轉化為求損失函數的最小值,如式(19)所示。
(19)


然而,W不能通過解析解的方式優化,因為W與ACNN中的特征密切相關,但U和V作為臨時常量時,式(19)中L可以變為加權誤差平方函數,如式(22)所示。
(22)
于是,可使用反向傳播算法優化參數W,并重復整個優化過程,直至ε收斂或達到預先定義的迭代次數,如式(23)所示。
(23)
如算法1(ACMF)所示,為防止ACMF模型過擬合, 重復整個優化過程,直到模型在驗證集上滿足提前停止條件。通過優化參數U、V和W,最后就可以預測用戶關于物品的未知評分,如式(24)所示。
(24)

算法1 ACMF已知: R: 評分矩陣,X: 物品的描述文檔目標: 優化潛在因子U、V和W1: 隨機初始化U和W2: for j≤M do3: 通過vj←acnnW(Xj)初始化V4: end for5: repeat6: for i≤N do7: update: ui←(VIiVT+λUIK)-1VRi8: end for9: for j≤M do10: update: vj←(UIjUT+h(nj)λVIK)-1(URj+h(nj)λVacnnW(Xj))11: end for12: repeat13: for j≤M do14: 通過公式(23)更新W15: end for16: until 收斂17: until在驗證集上滿足提前停止條件
對于每一輪訓練(epoch),更新用戶和物品潛在變量的時間復雜度為O(k2nR+k3N+k3M),其中nR表示已知評分項(非空項)的數量,k為用戶(或物品)潛在向量的維度。ACNN網絡更新權重和偏置的時間復雜度為O(nc·d·T·M)。一輪訓練過程的總時間復雜度,如式(25)所示。
O(k2nR+k3N+k3M+nc·d·T·M)
(25)
為了驗證本文提出的模型的評分預測能力,本文使用MovieLens[注]https: //grouplens.org/datasets/movielens/和Amazon[注]http: //jmcauley.ucsd.edu/data/amazon/數據集,數據集包括物品的描述文檔和用戶-物品評分數據(分值的范圍為[1,5]),Amazon和MovieLens的物品描述文檔分別從Amazon和IMDB[注]http: //www.imdb.com/官網獲取。對物品描述文檔的預處理流程與文獻[14]類似,步驟如下:
① 設置最大原始文檔長度為300(大于300的刪掉);
② 去除停用詞;
③ 為每個詞計算TF-IDF的值;
④ 去除語料庫特有的停用詞,即文檔頻率高于0.5的詞;
⑤ 挑出頻率最高的前8 000個不同的詞作為詞匯表;
⑥ 將原始文檔中沒有出現在詞匯表里的詞去掉。
對于評分數據,從評分數據集中去除沒有描述文檔的物品。對于Amazon評分數據,去除評分少于6項的用戶得到AIV-6,最后經過統計得到表1。與MovieLens評分數據相比,AIV-6評分數據更加稀疏。

表1 四個數據集的數據統計
本文對比的模型如下:
① NMF[28]: 非負矩陣分解是在矩陣分解的基礎上對分解完成的矩陣加上非負的限制條件;
② PMF[9]: 概率矩陣分解是標準的評分預測模型,該模型從概率的角度解釋評分預測任務;
③ SVD[29]: 奇異值分解是標準的評分預測模型,該模型僅將評分信息用于協同過濾;
④ R-ConvMF[14]: 卷積矩陣分解通過預訓練的詞嵌入模型增強卷積神經網絡的評分預測能力。
⑤ aSDAE[10]: 通過堆疊降噪自動編碼器分別添加用戶和物品的輔助信息,提高評分預測的準確率。
⑥ PHD[11]: PHD模型為R-ConvMF和aSDAE模型的融合,R-ConvMF和aSDAE分別用于處理物品的描述文檔和用戶的輔助信息,最后結合兩者以提高評分預測能力;
⑦ ACMF: ACMF是本文提出的模型。
其中,傳統推薦模型NMF、PMF和SVD采用Surprise[注]https: //github.com/NicolasHug/Surprise/輔助實現。
本文選取均方根誤差(RMSE)作為模型的評估指標。將數據集隨機切分為訓練集(80%)、驗證集(10%)和測試集(10%),訓練集中每個用戶或每個物品都至少有一項評分。比如測試集的均方根誤差計算如式(26)所示。
(26)
為了增強實驗結果的可靠性,本文對于每一組實驗從數據集切分開始,每組重復5次,最后取5次實驗的平均值作為最終的實驗結果。
實驗環境: 大數據服務器,參數為Tesla K40m,12CPU(Intel(R), Xeon(R), 1899.994MHz), 2GPU(K40, 11439MiB內存)。
參數設置: ACMF的訓練采用基于Adam優化器的批梯度下降法,每次訓練128個樣本;用戶(或物品)潛在向量的維度k設為50,用[0,1]區間的值隨機初始化U和V,各模型在ML-100k、ML-1m、ML-10m、AIV-6數據集上的正則化參數λU和λV設置如表2所示。

表2 λU和λV的參數設置
對于ACNN網絡,本文作如下設置:
① 初始化詞的潛在向量: 通過Glove初始化詞的潛在因子,維度為200;
② 局部注意力層的窗口長度為5;
③ 在卷積層使用長度為1和5的卷積核,兩種卷積核的數量均為50個;
④ 卷積層的激勵函數選擇ReLU,可以避免反向傳播過程中的梯度消失問題;
⑤ 使用兩層Dropout防止ACNN網絡過擬合,并且設置丟失率為0.4和0.2。
實驗說明: R-ConvMF、aSDAE、PHD和ACMF模型中均使用了物品的輔助信息,但R-ConvMF和ACMF沒有添加用戶的輔助信息。
在訓練集比例為80%的MovieLens數據集上,各模型的測試均方根誤差結果如表3所示。

表3 不同模型在四個數據集上的平均RMSE

續表
表3中,“提升幅度”表示ACMF與當前取得最小預測誤差的對比模型相比,預測準確率提升的幅度。表3中,ACMF-G表示使用全局注意力機制的ACMF模型,與使用局部注意力機制的ACMF相比,ACMF-G在ML-100k、ML-1m、ML-10m、AIV-6數據集上的均方根誤差均大于ACMF,這是因為全局注意力機制關注的是長文本的特征,對長文本的所有詞都分配相應的權重,無關的詞也會獲得相應的權重,從而降低了重點詞的權重,干擾模型的特征選擇,因此不能很好地突出對評分預測產生影響的詞,使得傳入卷積層的詞沒有經過篩選,降低了特征的質量,進而導致模型的預測準確率降低。而局部注意力機制更關注當前窗口中最重要的詞,對其分配較大的權重,有利于鎖定評分相關的詞,最終使得ACMF模型取得較好的預測準確率。與PHD相比,ACMF在ML-100k、ML-1m、ML-10m、AIV-6數據集上的提升幅度分別為3.57%、1.25%、0.37%和0.16%,說明深入理解物品的描述文檔比簡單添加用戶輔助信息在提升評分預測準確率方面更重要。與傳統推薦模型NMF、PMF和SVD相比,ACMF模型在ML-100k、ML-1m、ML-10m、AIV-6數據集上的提升幅度分別為5.17%、3.64%、1.73%和1.30%,說明ACMF模型比傳統模型的特征提取能力強,深入理解物品的輔助信息對評分預測有效。
在AIV-6數據集上,模型ACMF與R-ConvMF均未添加用戶輔助信息,但與R-ConvMF相比,ACMF在ML-100k、ML-1m、ML-10m和AIV-6數據集上分別提升了: 5.11%、3.43%、2.05%、37.6%,在AIV-6數據集上尤為明顯,說明在數據集極其稀疏時,ACNN網絡的局部注意力層可以有效改善物品描述文檔的特征選擇和特征提取過程,促進模型深入理解物品的描述文檔,進而生成高質量的物品潛在模型,同時減輕數據稀疏對評分預測的影響。
在AIV-6數據集上,PHD(或aSDAE)和R-ConvMF對比,說明在數據極其稀疏時,加入用戶的輔助信息可有效改善評分預測的精度。
與傳統推薦模型NMF、PMF和SVD相比,R-ConvMF和aSDAE在AIV-6數據集上預測誤差較大,原因是R-ConvMF和aSDAE模型缺乏文檔特征的選擇和提取能力,aSDAE利用降噪自動編碼器處理用戶和物品的文檔信息,R-ConvMF則利用CNN模型提取物品描述文檔的特征,但輸入到aSDAE和CNN模型的物品描述文檔未經過關鍵詞篩選流程,存在大量的非關鍵詞,而aSDAE和CNN均無法自動判別輸入文檔中哪些詞為關鍵詞,因而影響了物品潛在模型的生成,進而影響評分預測的準確率;另一方面,CNN在處理文檔時往往忽略長度為1的卷積核,導致模型缺乏對單一詞特征的提取能力,不能深入理解物品的描述文檔,無法將物品文檔特征準確地映射到物品潛在空間中,也就無法構建高效的物品潛在模型,使得CNN模型難以適應數據稀疏場景。
圖3和表4為不同模型在稠密度不同的ML-1m數據集上的平均均方根誤差。由圖3和表4可知,與其他對比模型相比,ACMF模型在ML-1m數據集上生成的潛在模型更為高效。從圖3可以看出,當數據由稀疏逐漸變得稠密時,各模型的預測能力都有一定程度的提升,說明數據稀疏問題制約了模型的預測精度。表4中ACMF模型與PHD相比,當訓練集比例從20%增長到80%時,ACMF相比PHD的提升幅度從0.18%增長到1.25%,說明當數據稠密時,ACMF模型可以產生更精確的潛在模型,證明ACMF將CNN和注意力機制整合到PMF框架的方式有效。

圖3 不同模型在ML-1m數據集上的平均RMSE

模型訓練集占整個數據集的比例(稠密度)20%40%60%80%(0.93%)(1.86%)(2.78%)(3.71%)NMF0.966 900.929 700.923 600.912 50PMF0.998 300.931 000.912 200.889 00SVD0.933 300.911 400.893 000.868 40R-ConvMF0.924 890.897 560.879 900.866 48

續表
表5顯示了λU和λV對評分預測的影響。其中,ML-100k、ML-1m、ML-10m和AIV-6數據集的訓練集比例均為80%。通過網格搜索發現,(λU,λV)在ML-100k、ML-1m、ML-10m和AIV-6數據集上分別取(5,50)、(2,210)、(50,10)、(1,40)時,ACMF模型的預測準確率最高,說明合適的(λU,λV)使得評分信息和物品描述文檔信息分別映射到用戶和物品的潛在空間,并在評分信息和物品描述文檔信息之間達到平衡,從而提高ACMF模型的評分預測準確率。

表5 λU和λV對評分預測的影響
本文所提出的ACMF模型和各對比模型的訓練時間復雜度如表6所示,其中p為用戶輔助信息的二進制向量維度,k1為堆疊降噪自動編碼器的第一層的輸出維度。對于傳統模型,NMF和SVD的時間復雜度由文獻[30]得出。對于深度學習模型,PHD模型的時間復雜度由aSDAE、R-ConvMF模型的權值更新和概率矩陣分解三部分組成,其中,aSDAE的時間復雜度參考文獻[3]計算得來。由表6可知,PHD模型的時間復雜度大于ACMF,這是因為PHD模型融合了多個模型,因此模型的訓練參數增多,增加了模型的時間復雜度。

表6 時間復雜度對比

續表
本文提出混合協同過濾模型ACMF,將卷積注意力神經網絡ACNN整合到PMF框架下。PMF用于處理用戶評分信息,ACNN處理物品的文檔信息,最終在PMF框架下實現對接,完成矩陣分解。與CNN結構不同,ACNN在嵌入層和卷積層之間添加局部注意力層,增強了CNN模型的特征選擇能力和單一詞特征的提取能力。實驗結果表明,ACMF可以從用戶-物品評分和物品的描述文檔中分別學習到用戶和物品的潛在模型,并在評分信息和文檔信息之間達到一種平衡,從而提高了評分預測的準確率。
雖然ACMF模型在四個數據集上均取得了較高的預測準確率,但模型缺少對用戶輔助信息的特征提取,下一步將探索用戶的輔助信息對評分預測的影響,然后設計新的模型,進一步提升評分預測的準確率。