袁雪梅,程 科,2,浦藝鐘,2,徐子凡
(1.江蘇科技大學(xué)計(jì)算機(jī)學(xué)院;2.鎮(zhèn)江明知科技有限公司,江蘇鎮(zhèn)江 212100)
隨著互聯(lián)網(wǎng)的迅速發(fā)展,數(shù)據(jù)量呈現(xiàn)出爆炸式增長(zhǎng)[1]。推薦系統(tǒng)作為一種可以從海量數(shù)據(jù)中有效挖掘有價(jià)值信息的技術(shù),受到了廣泛關(guān)注[2]。推薦系統(tǒng)通過(guò)分析歷史行為數(shù)據(jù)向用戶推薦其可能感興趣的項(xiàng)目。目前,推薦系統(tǒng)已經(jīng)與人們的日常生活息息相關(guān),并且在多種領(lǐng)域大放異彩,例如購(gòu)物平臺(tái)、新聞媒體等。
推薦算法在推薦系統(tǒng)中占據(jù)核心地位,傳統(tǒng)推薦算法主要包括基于內(nèi)容的推薦、協(xié)同過(guò)濾推薦和混合推薦3種[3]。其中,協(xié)同過(guò)濾推薦通過(guò)對(duì)用戶歷史行為數(shù)據(jù)進(jìn)行廣泛挖掘并加以分析得到其對(duì)項(xiàng)目的偏好信息,進(jìn)而向用戶推薦其可能感興趣的內(nèi)容。在眾多協(xié)同過(guò)濾算法中,矩陣分解由于具有擴(kuò)展性好、準(zhǔn)確率高的特性而受到諸多學(xué)者的青睞。然而,矩陣分解為用戶作出推薦時(shí)僅依靠單一的顯性評(píng)分,在實(shí)際場(chǎng)景中很容易遭遇數(shù)據(jù)稀疏和冷啟動(dòng)問(wèn)題。隨著新時(shí)代網(wǎng)絡(luò)的高速發(fā)展,各種形式的輔助信息層出不窮,例如空間位置信息、時(shí)間信息、文本信息等。其中評(píng)論文本信息含有豐富的語(yǔ)義和情感信息,大多數(shù)用戶在消費(fèi)之前都會(huì)參考評(píng)論信息再作出決定,因此本文對(duì)評(píng)論文本信息進(jìn)行建模,以期從中提取出有價(jià)值的用戶和商品特征。
深度學(xué)習(xí)技術(shù)可提取深層數(shù)據(jù)特征并有效利用多源異構(gòu)數(shù)據(jù),應(yīng)用廣泛。例如,He 等[4]將矩陣分解在可擴(kuò)展性方面的優(yōu)勢(shì)與深度神經(jīng)網(wǎng)絡(luò)(Deep Neural Networks,DNN)強(qiáng)大的提取非線性特征功能相結(jié)合,設(shè)計(jì)了一種通用的神經(jīng)協(xié)同過(guò)濾模型(Neural Collaborative Filtering,NCF),大大提高了推薦效果;Alfarhood 等[5]提出DeepHCF(Deep Hybrid Collaborative Filtering)模型,該模型使用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)提取項(xiàng)目評(píng)論特征,將用戶和項(xiàng)目特征送入因子分解機(jī)(Factorization Machines,F(xiàn)M)[6]得到預(yù)測(cè)評(píng)分,然而該模型僅考慮到項(xiàng)目的評(píng)論文本信息。本文在DeepHCF 模型的基礎(chǔ)上設(shè)計(jì)出基于注意力機(jī)制的深度協(xié)同模型DeepAM(Deep Attention Mechanism),主要從以下兩個(gè)方面展開(kāi)研究工作:①引入注意力機(jī)制,加強(qiáng)局部特征與整個(gè)文本序列的相關(guān)性,關(guān)注評(píng)論文本中最有價(jià)值的語(yǔ)義特征,更準(zhǔn)確地獲取用戶興趣偏好和項(xiàng)目屬性特征;②使用FM 提取用戶和項(xiàng)目的低階特征,使用DNN 擬合用戶與物品之間的非線性高階函數(shù),克服了矩陣分解的數(shù)據(jù)稀疏問(wèn)題,并僅采用簡(jiǎn)單的線性加權(quán)交互表示用戶與物品的交互缺陷[7]。
基于評(píng)分矩陣的推薦算法簡(jiǎn)單高效,但其本身固有的數(shù)據(jù)稀疏和冷啟動(dòng)缺陷使得該方法在用戶對(duì)項(xiàng)目評(píng)分?jǐn)?shù)據(jù)很少的情況下效果不佳。由于用戶對(duì)項(xiàng)目的評(píng)論信息中蘊(yùn)含著豐富的語(yǔ)義信息,研究者們開(kāi)始思考通過(guò)加入評(píng)論文本這類輔助信息彌補(bǔ)單一模型的缺陷。例如,Mukherjee 等[8]發(fā)現(xiàn)對(duì)評(píng)論文本進(jìn)行分析有助于提高預(yù)測(cè)精度,使用文本建模是解決評(píng)論矩陣稀疏性問(wèn)題最為直接的方法。然而該模型學(xué)習(xí)到的均為淺層線性特征,且基于詞袋的模型無(wú)法保留詞序信息;Kim 等[9]提出的ConvMF+(Convolution Matrix Factorization)使用CNN 保留了部分文本詞序信息,可以挖掘出更加準(zhǔn)確的項(xiàng)目隱向量,然而該模型忽略了用戶文本信息的重要性;周傳華等[10]提出一種融合評(píng)分矩陣和評(píng)論文本的DNN 模型,該模型很好地克服了矩陣分解中固有的評(píng)分矩陣稀疏問(wèn)題,并且提高了推薦準(zhǔn)確性,但其評(píng)分預(yù)測(cè)模塊提取特征方式較為單一。
注意力機(jī)制最早由Treisman 等[11]提出,本質(zhì)是一種模擬人腦注意力的模型。人類對(duì)同一個(gè)輸入的不同部位給予的關(guān)注度不盡相同,使用注意力機(jī)制可以捕捉到最有價(jià)值的輸入,將重點(diǎn)資源集中在對(duì)結(jié)果有突出影響力的內(nèi)容上,極大優(yōu)化各種深度學(xué)習(xí)任務(wù)結(jié)果。2014 年,Google 團(tuán)隊(duì)[12]將注意力機(jī)制與循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN)模型相結(jié)合,取得了很好的圖像分類效果。此后,阿里團(tuán)隊(duì)[13]提出深度興趣網(wǎng)絡(luò)(Deep Interest Network,DIN),使用注意力機(jī)制捕捉用戶的興趣點(diǎn),在一定程度上提升了模型的表達(dá)能力;謝恩寧等[14]提出DeepCF-A(Deep Collaborative Filtering Model Based on Attention)模型,在多層感知器(Multilayer Perceptron,MLP)中融入注意力機(jī)制得到用戶與項(xiàng)目交互的非線性特征,然而該方法只是簡(jiǎn)單利用了評(píng)分矩陣信息;劉浩瀚等[15]在建模用戶點(diǎn)擊行為時(shí)利用注意力機(jī)制捕獲用戶的主要意圖;馮興杰等[16]提出一種個(gè)性化注意力機(jī)制對(duì)評(píng)論進(jìn)行深度建模,使用門控機(jī)制融合用戶和商品的隱向量,進(jìn)一步提升了評(píng)分預(yù)測(cè)的準(zhǔn)確性,但該模型沒(méi)有考慮到用戶和項(xiàng)目隱表示的非線性交互。
本文提出的DeepAM 模型將CNN 與矩陣分解模型相結(jié)合,通過(guò)兩個(gè)并行的CNN 挖掘用戶和項(xiàng)目文本評(píng)論特征,融入注意力機(jī)制賦予評(píng)論權(quán)重;然后同時(shí)使用FM 和DNN 分別提取用戶和項(xiàng)目的低階線性交互特征和高階非線性特征,最終取得了很好的推薦效果。
DeepAM 模型結(jié)構(gòu)如圖1 所示,該模型由評(píng)分?jǐn)?shù)據(jù)提取模塊、評(píng)論數(shù)據(jù)提取模塊、融合模塊、評(píng)分預(yù)測(cè)模塊組成。評(píng)分?jǐn)?shù)據(jù)提取模塊使用MLP 得到用戶和項(xiàng)目的隱向量,該模塊通過(guò)兩個(gè)結(jié)構(gòu)一致的CNN 對(duì)用戶和項(xiàng)目評(píng)論文本進(jìn)行特征學(xué)習(xí),并在嵌入層引入注意力機(jī)制使CNN 將重點(diǎn)資源集中到與目標(biāo)關(guān)聯(lián)度高的部分。評(píng)分預(yù)測(cè)模塊使用FM 和DNN 加權(quán)組合分別提取用戶和項(xiàng)目的低階交互特征和非線性高階特征,然后通過(guò)FM 和DNN 得到兩個(gè)評(píng)分,采用加權(quán)融合的方式得到DeepAM 的最終評(píng)分。
MLP 的多層神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)具有強(qiáng)大的自動(dòng)學(xué)習(xí)特征的能力,可以解決非線性問(wèn)題,本文模型便使用MLP 提取用戶—項(xiàng)目評(píng)分矩陣的特征。評(píng)分?jǐn)?shù)據(jù)提取模塊的輸入為用戶ID 和項(xiàng)目ID,首先經(jīng)過(guò)嵌入層映射成為稠密向量,再輸入到MLP 層提取特征,得到用戶隱向量和項(xiàng)目隱向量。MLP 層輸出值的計(jì)算公式為:
式中,k表示第k層,bk表示第k層偏置。
評(píng)論數(shù)據(jù)提取模塊使用CNN 挖掘用戶和項(xiàng)目評(píng)論文本的上下文特征,將得到的評(píng)論文本特征用于評(píng)分預(yù)測(cè)。CNN 由嵌入層、基于注意力的權(quán)值更新層、卷積層、池化層和全連接層組成。
Fig.1 Overall architecture of DeepAM model圖1 DeepAM 模型整體架構(gòu)
2.2.1 嵌入層
嵌入層使用詞嵌入模型將評(píng)論數(shù)據(jù)通過(guò)函數(shù)映射到新的表達(dá)空間,實(shí)現(xiàn)離散的特征取值到對(duì)應(yīng)向量的映射,兩個(gè)詞義相近的詞在表達(dá)空間中的距離相近。假設(shè)詞向量映射f:M→Rn,表示根據(jù)詞字典M將詞映射到n維向量的函數(shù)。在實(shí)驗(yàn)中,首先將每個(gè)用戶Uu的評(píng)論文本通過(guò)嵌入層的作用映射為詞向量,合并成包含n個(gè)詞的文檔d,因此得到用戶Uu的評(píng)論詞嵌入矩陣Mu,表示為:
式中,dm表示文檔d中第m個(gè)詞m=1,2,…,n;θ(dm)表示將該詞dm映射到n維詞向量空間。
2.2.2 基于注意力機(jī)制的權(quán)值更新層
人類視覺(jué)通過(guò)掃描全局圖像可以快速高效地獲得重點(diǎn)關(guān)注的目標(biāo)區(qū)域,從而對(duì)該重點(diǎn)目標(biāo)區(qū)域投入更多注意力資源。深度學(xué)習(xí)中的注意力機(jī)制模仿人類的視覺(jué)注意力,被廣泛應(yīng)用于圖像識(shí)別、語(yǔ)音識(shí)別等領(lǐng)域中。本文將基于單詞級(jí)別的注意力機(jī)制引入到CNN 中,對(duì)重點(diǎn)詞向量賦予更高權(quán)重,以實(shí)現(xiàn)對(duì)評(píng)論文本重點(diǎn)內(nèi)容的準(zhǔn)確建模。
為了突出重點(diǎn)評(píng)論的貢獻(xiàn),在卷積層前加入一層注意力權(quán)值更新層,通過(guò)計(jì)算單個(gè)詞向量的權(quán)值為輸入層的詞向量序列重新賦予權(quán)重。使用余弦相似度計(jì)算詞嵌入矩陣Mu中每個(gè)詞向量與所有用戶評(píng)論文本詞向量之間的相似度系數(shù)simm,表示為:
式中,表示用戶評(píng)論詞向量字典中第m個(gè)詞向量;表示所有用戶詞向量。
經(jīng)過(guò)歸一化處理可得到與每個(gè)詞向量相對(duì)應(yīng)的單詞級(jí)別注意力權(quán)重am,表示為:
將用戶所有詞向量的注意力權(quán)重am拼接得到注意力權(quán)值矩陣A(Uu),表示為:
對(duì)注意力權(quán)值矩陣與用戶UU的詞向量矩陣Mu進(jìn)行乘積操作,得到更新的帶權(quán)重信息的詞向量矩陣,表示為:
2.2.3 卷積層
卷積層為CNN 的核心層,經(jīng)過(guò)卷積層的卷積操作后,原始輸入特征會(huì)被增強(qiáng)。該層用于提取用戶和項(xiàng)目評(píng)論詞向量的抽象特征。假設(shè)神經(jīng)元的個(gè)數(shù)為m,神經(jīng)元j使用的卷積核Kj∈?c×t詞窗大小為t。式(6)中得到的詞向量矩陣經(jīng)過(guò)卷積核Kj的作用后可表示為:
式中,*為卷積操作;bj為偏置;f選擇ReLu 函數(shù)進(jìn)行非線性映射操作,表示為:
2.2.4 池化層
池化層將文本壓縮至固定長(zhǎng)度nc,以便于后續(xù)處理。通過(guò)最大池化層的作用,卷積層輸出kj將會(huì)變成固定向量oj,表示為:
使用s個(gè)卷積核分別提取不同文本特征,則s個(gè)卷積核的輸出向量可表示為:
2.2.5 全連接層
全連接層用于對(duì)提取到的所有特征進(jìn)行加權(quán)處理,將經(jīng)過(guò)最大池化操作得到的輸出向量輸入全連接層。全連接層的輸出表示為:
式中,W為權(quán)重矩陣,b為全連接層的偏置。同理可得項(xiàng)目評(píng)論向量Outputi_review。
使用特征融合方法將處于不同特征空間的輸出置于同一個(gè)空間中,特征融合采取Concatenation 操作方式。將基于評(píng)分矩陣的用戶隱向量Outputi_review和CNN 提取到的用戶評(píng)論文本特征Outputu_review進(jìn)行橫向拼接,其融合方式表示為:
同理可得項(xiàng)目特征向量Outputi。
評(píng)分預(yù)測(cè)模塊由FM 和DNN 組成。FM 通過(guò)不同向量之間的關(guān)聯(lián)計(jì)算達(dá)到提取交叉低階特征的效果。將特征融合模塊得到的用戶和項(xiàng)目特征向量送入FM,二階多項(xiàng)式的FM 模型輸出表示為:
式中,w0為常數(shù)偏置,wi為向量第i個(gè)分量的權(quán)重,xi表示向量中的第i個(gè)分量,xj表示第j個(gè)分量,wij表示向量中第i個(gè)與第j個(gè)特征向量的交互值,n表示樣本數(shù)目。
DNN 由全連接的多層神經(jīng)網(wǎng)絡(luò)組成,擁有很強(qiáng)的建模能力,可用于提取非線性高階特征。DNN 的隱層輸出表示為:
式中,wk表示第l層權(quán)重值,bk表示第l層偏置。
DeepAM 模型的最終輸出由FM 和DNN 的輸出線性加權(quán)組合而成,表示為:
式中,α表示權(quán)重。
實(shí)驗(yàn)環(huán)境如表1所示。
Table 1 Experimental environment表1 實(shí)驗(yàn)環(huán)境
使用Amazon 5-core 中的3 個(gè)子類別數(shù)據(jù)集Toys and Games、Instant Video 和Digital Music 評(píng) 估DeepAM 模 型 的性能。3 個(gè)數(shù)據(jù)集均包含用戶對(duì)商品的評(píng)論以及用戶對(duì)項(xiàng)目1~5之間的評(píng)分信息。表2為各個(gè)數(shù)據(jù)集的基本信息。
Table 2 Dataset basic information表2 數(shù)據(jù)集基本信息
實(shí)驗(yàn)過(guò)程中僅保留4 個(gè)與實(shí)驗(yàn)相關(guān)的屬性,分別為用戶ID、商品ID、評(píng)分、評(píng)論文本。
采用均方根誤差RMSE 驗(yàn)證所得到的預(yù)測(cè)結(jié)果與真實(shí)評(píng)分的差異,計(jì)算公式為:
式中,N 為樣本個(gè)數(shù),yn為第n個(gè)樣本的實(shí)際評(píng)分,為第n個(gè)樣本的預(yù)測(cè)評(píng)分。
按照8∶1∶1 的比例隨機(jī)將每個(gè)實(shí)驗(yàn)數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集、測(cè)試集,其中訓(xùn)練集用于訓(xùn)練模型,驗(yàn)證集用于調(diào)整模型超參數(shù),測(cè)試集用于測(cè)試性能。采用五折交叉驗(yàn)證法,選擇Adam 優(yōu)化器,Dropout[17]設(shè)置為0.5,正則化系數(shù)為0.01,學(xué)習(xí)率為0.01,批量大小為128,迭代次數(shù)為200。實(shí)驗(yàn)期間刪除所有測(cè)試集和驗(yàn)證集評(píng)論。
選擇3 組比較重要的超參數(shù)在Toys and Games 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),包括詞向量嵌入維度、MLP 隱藏層數(shù)量以及α值。
3.5.1 不同詞向量嵌入維度對(duì)模型的影響
分別使用50、100、150、200 維預(yù)訓(xùn)練的詞嵌入模型進(jìn)行測(cè)試,結(jié)果如圖2 所示。可以看出,在詞向量的嵌入維度為50 時(shí),模型取得最佳效果。隨著詞向量維度的增加,高維空間中的詞向量由稠密變得稀疏,不同詞向量之間的聯(lián)系會(huì)被削弱,因此RMSE 逐漸增大。
Fig.2 Impact of embedding dimensions on the model圖2 詞嵌入維度對(duì)模型的影響
3.5.2 不同MLP層數(shù)對(duì)模型的影響
設(shè)置MLP 隱藏層數(shù)分別為1、2、3、4,結(jié)果如圖3 所示。
Fig.3 Influence of the number of MLP hidden layers on the model圖3 MLP隱藏層數(shù)量對(duì)模型的影響
可以看出,隨著隱藏層數(shù)目的增加,模型RMSE 指標(biāo)呈現(xiàn)出先減小后增加的趨勢(shì),說(shuō)明多層神經(jīng)網(wǎng)絡(luò)可以學(xué)習(xí)到更多的表示信息,但當(dāng)隱層數(shù)目增加到一定程度后,算法的性能提升有限,且模型復(fù)雜度也會(huì)增加。綜合考慮,當(dāng)隱藏層數(shù)目為3時(shí)模型取得最佳推薦性能。
3.5.3 不同α值對(duì)模型的影響
α表示FM 和DNN 預(yù)測(cè)評(píng)分的權(quán)值,分別設(shè)置α值為0.1、0.2、0.3、0.4、0.5、0.6、0.7、0.8、0.9、1.0,分別進(jìn)行10 組實(shí)驗(yàn),迭代次數(shù)設(shè)置為100,結(jié)果如圖4 所示??梢钥闯觯?dāng)權(quán)重α為0.3 時(shí),模型RMSE 可取得最小值,相較α為0.1時(shí)下降了4.8%,相較α為1.0 時(shí)下降了10.5%,證實(shí)了同時(shí)使用FM和DNN對(duì)特征進(jìn)行提取對(duì)于模型推薦的有效性。
Fig.4 Influence of α value on the model圖4 α值對(duì)模型的影響
選擇5 種經(jīng)典模型與本文模型進(jìn)行比較,分別為:①LFM(Latent Factor Model)[18]。其為經(jīng)典的矩陣分解算法,僅使用用戶對(duì)項(xiàng)目的評(píng)分矩陣作為輸入,方法簡(jiǎn)單且效果好;②NeuMF。結(jié)合了傳統(tǒng)矩陣分解和MLP,可同時(shí)提取線性和非線性特征,是典型的基于深度學(xué)習(xí)的推薦算法;③DeepCoNN[19]。使用兩個(gè)并行的CNN 分別學(xué)習(xí)用戶評(píng)論信息和項(xiàng)目評(píng)論信息,是第一個(gè)應(yīng)用神經(jīng)網(wǎng)絡(luò)處理評(píng)論信息的推薦算法;④DeepRec。融合評(píng)分矩陣和評(píng)論文本的DNN 推薦模型;⑤NARRE[20]。帶有評(píng)論級(jí)別解釋的神經(jīng)注意力回歸模型,可區(qū)分各條評(píng)論的貢獻(xiàn)。比較模型的信息如表3所示。
Table 3 Comparison model information表3 比較模型信息
DeepAM 模型與4 種對(duì)比模型在Amazon 的3 個(gè)數(shù)據(jù)集上的RMSE 結(jié)果比較如表4 所示。可以看出,所有模型在Toys and Games 數(shù)據(jù)集上的表現(xiàn)均優(yōu)于Instant Video 和Digital Music 數(shù)據(jù)集,這是由于Toys and Games 數(shù)據(jù)集包含豐富的數(shù)據(jù)內(nèi)容。
此外,基于深度學(xué)習(xí)的推薦模型性能優(yōu)于傳統(tǒng)機(jī)器學(xué)習(xí)推薦模型。這是由于傳統(tǒng)機(jī)器學(xué)習(xí)推薦模型需要人為選擇特征,并且只能挖掘淺層特征,而深度學(xué)習(xí)模型中的多層神經(jīng)網(wǎng)絡(luò)在自動(dòng)挖掘用戶和項(xiàng)目深層特征信息方面有著卓越效果。隨著數(shù)據(jù)量的增多,深度學(xué)習(xí)模型的優(yōu)勢(shì)會(huì)更加明顯。與僅使用評(píng)分?jǐn)?shù)據(jù)的模型(LFM、NeuMF)相比,同時(shí)提取評(píng)分和評(píng)論信息特征的推薦模型(DeepRec、NARRE、DeepAM)具有更好的推薦性能。由此可以得出評(píng)論信息蘊(yùn)含重要的用戶和項(xiàng)目屬性特征,可用于提高推薦效果的結(jié)論。
Table 4 RMSE comparison of each model表4 各模型RMSE值比較
DeepRec 模型同時(shí)使用評(píng)分矩陣信息和評(píng)論文本信息,取得了較好的推薦效果,但沒(méi)有區(qū)分詞向量的權(quán)重,無(wú)法對(duì)比較重要的區(qū)域投入更多資源,推薦效果沒(méi)有融入注意力機(jī)制的模型(NARRE、DeepAM)優(yōu)越,由此證明了注意力機(jī)制的有效性。
NARRE 模型能抑制無(wú)用評(píng)論對(duì)模型的影響,但其沒(méi)有涉及到用戶和項(xiàng)目隱表示的非線性特征交互,而Deep-AM 模型在評(píng)分預(yù)測(cè)模塊同時(shí)利用了FM 提取低階交互特征和DNN 挖掘非線性特征的功能。實(shí)驗(yàn)結(jié)果表明,Deep-AM 模型的推薦效果相比NARRE 提升了3.9%,證明了DeepAM 同時(shí)引入FM 和DNN 的有效性。
本文提出DeepAM 模型,將用戶和物品評(píng)論信息引入基于評(píng)分矩陣的推薦算法中,并且融入注意力機(jī)制給評(píng)論分配權(quán)重,在評(píng)分預(yù)測(cè)模塊同時(shí)使用FM 提取低階交互特征和DNN 提取非線性特征。在3 組公開(kāi)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,該模型的推薦準(zhǔn)確度相較其他5 個(gè)常用模型均有一定程度的提高。若在今后實(shí)驗(yàn)中增加更多輔助信息,如用戶和項(xiàng)目圖片、用戶社交網(wǎng)絡(luò)、地理位置等,可更加準(zhǔn)確完善地挖掘出用戶和商品特征,取得更好的推薦效果。