馮興杰 崔桂穎
(中國民航大學計算機科學與技術學院 天津 300300)
用戶評分作為反映用戶興趣的一種用戶反饋,已被廣泛用于預測用戶的偏好中。然而,評分只反映了用戶對某一物品的總體滿意度,而沒有解釋用戶為什么給該物品打相應的分數(shù),導致無法解釋的推薦和冷啟動問題。使用評論文本是緩解上述問題的一種方法。目前,許多電子商務網(wǎng)站鼓勵消費者對購買商品打分并撰寫評論,評論文本通過提供豐富的物品信息和用戶的隱式偏好來補充評分數(shù)字,一組來自用戶的所有評論使我們了解該用戶的偏好。類似地,物品的一組評論描述了許多用戶對物品進行評分的突出屬性。這些評論信息對于理解消費者偏好和商品屬性以及增強網(wǎng)站個性化推薦能力都是非常有用的。
近年來,深度學習研究的最新進展使神經(jīng)網(wǎng)絡在包括推薦系統(tǒng)在內(nèi)的眾多領域得到應用,并取得了令人印象深刻的成果。隨著深度學習發(fā)展的進步,運用評論文本的深度學習推薦模型應運而生[1-3],從評論中提取有效的潛在特征,用于評分的預測。與過去只使用評分的協(xié)同過濾(CF)技術相比,使用評論文本來預測評分已經(jīng)被證明可以大大提高推薦系統(tǒng)的性能。將用戶購買過的所有物品的歷史評論連接在一起,形成一個單一的用戶評論文檔,作為用戶評論集。類似地,一件物品所獲得的所有評論連接成的文檔為物品評論集。然后將評論文檔映射為單詞向量,通過卷積神經(jīng)網(wǎng)絡提取用戶和物品的隱向量表示,最后通過使用參數(shù)化函數(shù)(如因子分解機[4]、內(nèi)積運算)將提取的用戶和物品特征交互,得到預測評分。目前許多先進的模型和應用,在很大程度上基于這個模式,諸如DeepCoNN[3]、TransNets[5]和D-Attn[6]等模型。實驗表明,這些基于評論文本的創(chuàng)新模型比傳統(tǒng)的矩陣分解等基準模型表現(xiàn)更好。
雖然這些模型在實驗效果上取得了很大進步,也緩解了傳統(tǒng)模型存在的數(shù)據(jù)稀疏問題及冷啟動問題。但還有很多需要改進的地方,例如:現(xiàn)有的模型[3,5-6]大多采用靜態(tài)獨立的方法提取用戶和物品評論的潛在特征表示,用戶和物品分別用兩個平行的獨立網(wǎng)絡來學習隱向量特征,只在評分預測時交互。將用戶的偏好表示為靜態(tài)的特征向量,而用戶在與不同的物品交互時通常表現(xiàn)出不同的偏好,現(xiàn)有模型并沒有充分考慮用戶對每個候選物品的偏好改變,忽略了潛在特征之間的相關性,這對預測用戶的偏好可能會產(chǎn)生較大的偏差。比如用戶在選擇恐怖片時可能會優(yōu)先考慮故事情節(jié),但在評估動作片時,會更關注演員陣容。現(xiàn)有的模型通常忽略了用戶這個動態(tài)因素,大多數(shù)推薦方法都忽略了用戶和物品之間的動態(tài)交互以提高推薦系統(tǒng)性能。而且之前的工作[3,6]只是將用戶網(wǎng)絡和物品網(wǎng)絡提取出的特征進行簡單的拼接后,放入因子分解機預測評分,忽略了特征維度級別的向量融合。
為了解決上述問題,本文提出一種交互注意力的可解釋性推薦方法(IRIA)。該推薦方法運用交互注意力進行用戶和物品的動態(tài)交互,讓用戶和物品提取的隱向量因為匹配目標的不同而發(fā)生改變。為了平滑地融合提取出的用戶和物品特征,提出了一個神經(jīng)門控層[7]來提取和合并兩個特征向量,有效地融合用戶和物品的特征,改善了以往工作簡單拼接的缺點。注意力機制還可以突出評論中的相關信息,提高評分預測的可解釋性。本文的主要貢獻總結如下:
(1) 利用交互注意力來研究用戶評論和物品評論之間的相關性,使用戶和物品實現(xiàn)動態(tài)交互,用戶和物品提取的隱向量特征將因匹配目標的不同而發(fā)生改變。模型中的注意力機制可以突出評論中的相關信息,提高評分預測的可解釋性。
(2) 在用戶網(wǎng)絡和物品網(wǎng)絡提取出特征向量后,加入神經(jīng)門控層來提取和合并兩個特征向量,平滑地融合提取出的用戶和物品特征。將合并后的特征向量運用注意力因子分解機進行評分預測。
(3) 在Amazone的五組子類別數(shù)據(jù)集上進行實驗,實驗結果表明,所提出的IRIA模型比模型DeepCoNN、TransNet和D-Attn等對比模型有更好的評分預測精度。且IRIA在評論中突出顯示的單詞可以揭示用戶對物品的偏好,提高了推薦系統(tǒng)的可解釋性。
傳統(tǒng)的協(xié)同過濾推薦算法有兩個顯著的缺點:數(shù)據(jù)稀疏性和冷啟動問題。隨著用戶與平臺的互動增加,許多研究將關注點轉移到與用戶和物品相關的輔助信息上,使用評論文本來彌補傳統(tǒng)算法的不足。在許多著作中,廣泛討論并論證了利用評論提高推薦的效用[5-6,8-9]。這不僅能夠緩解冷啟動問題,而且還提供了用戶和物品特征豐富的語義建模。
基于評論文本一些早期的研究,如HFT[9]、CTR[10]使用潛在的狄利克雷分布(LDA)來學習文檔集合中出現(xiàn)的抽象主題,將評論文本中的首選特征作為潛在的主題因子,然后被集成到矩陣分解(MF)框架中以獲取物品的特征。近年來,深度學習模型為有效的文本表示學習提供了強大的支持,如模型CDL[11]和CKE[12],研究者將概率矩陣分解PMF[13]與堆疊式去噪自編碼器(SDAE)相結合,深層神經(jīng)結構使得CDL能夠從文本中學習可解釋的潛在因子。這些方法均優(yōu)于僅依賴于用戶-物品交互數(shù)據(jù)的模型。然而,上述這些方法都屬于忽略詞序和局部上下文信息的BOW模型范疇。因此,許多短語和句子在應用這種粗粒度文本處理策略時具體語義丟失。
隨著深度神經(jīng)網(wǎng)絡在自然語言處理、計算機視覺等領域取得的成功,一些研究嘗試將不同的神經(jīng)網(wǎng)絡與協(xié)同過濾結合來提高推薦性能。在許多模型中,卷積神經(jīng)網(wǎng)絡(CNN)作為自動特征提取器,將用戶(物品)進行低維向量表示,然后將用戶和物品嵌入與匹配函數(shù)進行比較。Kim等[14]提出了一種基于CNN的神經(jīng)網(wǎng)絡模型ConvMF,利用CNN通過考慮詞序和局部上下文,從文本評論中獲得更好的潛在語義表示。Zheng等[3]提出DeepCoNN使用并行CNN來處理評論,并在最后一層通過FM耦合的兩個并行部分對用戶和物品進行聯(lián)合建模進行評分預測。隨后TransNets[5]對DeepCoNN進行了擴展創(chuàng)新,在訓練時添加一個額外的層(目標網(wǎng)絡)來學習目標用戶-目標物品的評論特征,然后使用學習到的特征對源網(wǎng)絡的輸出進行正則化。因此,源網(wǎng)絡可以模擬目標評論的潛在表示,但是在測試時它是不可用的。在評分預測方面,TransNets比DeepCoNN得到改進。這些新方法的性能優(yōu)于現(xiàn)有的基于詞袋的方法,并被證明在緩解冷啟動和數(shù)據(jù)稀疏問題方面是有效的。盡管推薦性能有了顯著的提高,但這些工作只是靜態(tài)地、獨立地提取用戶和物品的潛在特征向量,忽略了用戶和物品之間復雜多樣的交互。
隨著云計算和大數(shù)據(jù)的發(fā)展,從大規(guī)模的數(shù)據(jù)中挖掘有價值的信息變得尤其困難,推薦系統(tǒng)的主要策略就是從信息過載的大量數(shù)據(jù)中,運用有效的方法推薦給用戶喜歡的物品。雖然神經(jīng)網(wǎng)絡技術在推薦系統(tǒng)中普遍應用,但神經(jīng)網(wǎng)絡性的黑箱特性,使推薦結果不能讓人信服。注意力機制可以從文本信息中識別重要的詞匯,從而為推薦結果的可解釋性提供語義途徑,并提高推薦的準確性。
D-Attn[6]提出了注意機制的兩種變體,即局部和全局,都對用戶物品評論文檔的不同視圖建模。將局部和全局注意力結合起來,對評論文本賦予權重,生成加權文本,加權后的文本傳遞給CNN模型,以獲得更好的用戶和物品的特征表示。NARRE[15]是一種基于注意力的深度學習模型,來計算評論對推薦的有用性,提高了評分預測的可解釋性。在WCN中,Wang等[16]認為以往的基于CNN的模型會丟失詞頻信息,為了彌補CNN的不足,提出主題模型與CNN結合的WCN模型,該模型在一定程度上解決了現(xiàn)有模型存在的問題。然而,這些模型遵循相同的模式,同一用戶對于不同的物品的偏好向量是相同的,將用戶的偏好提取為靜態(tài)特征向量,缺乏動態(tài)交互不能全面捕獲用戶偏好,這在現(xiàn)實中是不成立的。本文提出的交互注意力推薦算法(IRIA)利用注意力機制來提取語義信息,同時考慮用戶和物品的評論來實現(xiàn)用戶和物品動態(tài)的交互,充分考慮用戶這個動態(tài)因素,用戶的偏好隨不同的候選物品而改變,全面捕獲用戶偏好。實驗結果表明,IRIA算法比已有的先進算法具有更好的預測性能,還提高了推薦結果的可解釋性。
本節(jié)介紹一種基于交互注意力的可解釋推薦模型IRIA,圖1給出了其總體架構。
用戶評論文本Du包含n個單詞,物品評論Di包含m個單詞,將單詞通過詞向量模型Glove映射為詞向量,然后將這些單詞在評論文本中出現(xiàn)的順序進行拼接,并保留單詞的順序,形成用戶評論矩陣Mu∈Rd×n,物品評論矩陣Mi∈Rd×m,d為每個單詞的嵌入維度。
(1)
(2)
式中:wl表示評論文檔D中的第l個單詞的詞向量。下文中用戶評論文本和物品評論文本統(tǒng)用D表示,用戶評論矩陣和物品評論矩陣統(tǒng)用M∈Rd×L表示。
(3)
(4)
(5)
(6)
卷積層得到的矩陣U和V,通過引入注意力矩陣A∈Rf×f,計算相關性矩陣F∈Rn×m,得到用戶和物品每對上下文特征向量之間的兩兩相關的關系。
F=tanh(UTAV)
(7)
然后,沿著相關關系矩陣F的行和列進行池化操作,生成重要性向量,分別稱為行池化和列池化。每一行表示在U中的一個上下文特征向量與V中的所有上下文特征向量之間的相關性得分。類似地,每一列表示V中的一個上下文特征向量與U中所有的上下文特征向量之間的相關性得分。根據(jù)實驗結果對比,均值池化比最大池化的性能更好。因此,采用均值池化操作如下:
(8)
(9)
(10)
根據(jù)式(10),分別得到用戶和物品的注意力向量:
(11)
(12)
式中:au和ai可以看作是用戶評論文檔和物品評論文檔中單詞的重要程度的習得分布。
(13)
(14)
上文從交互特征向量中獲得了用戶和物品的特征內(nèi)容描述,接下來將兩種特征向量結合起來,以方便用戶對未評分物品的評分預測。與之前的工作不同[3,5-6],本文使用一個神經(jīng)門控層來自適應地合并這兩種特征向量的表現(xiàn)形式。
(15)
(16)
式中:Wg1∈Rf×f、Wg2∈Rf×f都是權重矩陣;bg∈Rf為偏置;Z∈R1×f,通過使用一個門控層,可以將這兩個特征向量提取出顯著部分并平滑地結合起來。
然后將Z放入注意力因子分解機中(AFM)預測評分。記合并后的向量Z=[x1,x2,…,xf]。
(17)
(18)
(19)
本文使用推薦系統(tǒng)領域最常用的目標函數(shù)進行模型訓練,目標函數(shù)表達式為:
(20)
為驗證本文提出的多交互注意力的可解釋性推薦方法(IRIA)的有效性,采用了Amazon中的5個子類別數(shù)據(jù)集Digital Music、Musical Instruments、Video Games、Toys and Games、Movies and TV進行實驗。每條數(shù)據(jù)包含用戶編號、項目編號、用戶名、其他用戶的有效評分、用戶對項目的評論內(nèi)容、用戶對項目的評分(1-5分)、評論文本摘要、Unix評論時間戳以及評論日期9個屬性。為了減輕算法讀取數(shù)據(jù)的工作量,將沒有用到的數(shù)據(jù)屬性刪除,只保留用戶編號、項目編號、用戶對項目的評論內(nèi)容以及用戶對項目的評分(1-5分)。
摘錄數(shù)據(jù)集中的一條數(shù)據(jù)為例(加粗的為保留屬性):{″reviewerID″: ″A3E01TCN1TDRUL″, ″asin″: ″5555991584″, ″reviewerName″: ″datadame″, ″helpful″: [0, 0], ″reviewText″: ″Once in a while, I’ll hear music that affects me so deeply that I "have to have it" at any possible moment—this is one of those. I have it on CDs at work and at home, as well as on my phone’s MP3 player. Incidentally, it sounds PHENOMENAL when I feed that MP3 player through the car’s stereo system.I’ve been a fan of Enya’s since "Oronoco Flow" but this is, in my opinion, the best thing she’s ever done.″, ″overall″: 5.0, ″summary″: ″blood pressure medicine I can hear″, ″unixReviewTime″: 1360108800, ″reviewTime″: ″02 6, 2013″}。數(shù)據(jù)集的基本信息如表1所示。
表1 數(shù)據(jù)集基本信息
從表1可以看出,雖然樣本數(shù)量很大,但是數(shù)據(jù)集的稀疏度在99%以上,嚴重約束了傳統(tǒng)的基于評分數(shù)據(jù)的推薦性能。因此,利用評論文本中豐富的語義信息緩解數(shù)據(jù)的稀疏性問題是一種好的解決辦法。為了評價IRIA模型的性能,本文采用均方誤差(MSE)作為評價指標,MSE的值越小表示模型的性能越好:
(21)
式中:N表示樣本數(shù)量。
實驗選擇PMF、ConvMF、DeepCoNN、TransNets、D-Attn和NARRE作為對比模型,各種模型的具體區(qū)別如表2所示。
表2 對比模型比較
主要方法如下所述:
(1) PMF:概率矩陣分解是一種只使用評分的標準矩陣分解模型。
(2) ConvMF:使用CNN提取評論信息,并結合概率矩陣分解進行評分預測。
(3) DeepCoNN:采用兩個平行的CNN網(wǎng)絡來提取用戶評論文檔和物品評論文檔的潛在特征向量,頂層通過因子分解機交互預測評分。
(4) TransNet:TransNet是DeepCoNN模型的擴展,通過引入一個額外的潛在層來表示目標用戶-目標物品對的評論,在訓練時將這一層規(guī)范化,使其類似于目標用戶為目標物品編寫的實際評論的潛在表示形式,而在測試時這些評論是不可獲取的。
(5) D-Attn:使用雙重局部注意力和全局注意力的卷積神經(jīng)網(wǎng)絡來對用戶偏好和物品屬性建模,注意力機制旨在突出評論中的重要單詞,提高特征信息的提取質量,然后將這些特征進行評分預測。
(6) NARRE:NARRE根據(jù)不同的用戶-物品對評論進行不同的處理,使用注意力機制來選擇有用的評論進行評分預測。
(7) IRIA:使用CNN提取評論文本的上下文特征,利用交互注意力使用戶和物品進行動態(tài)交互,用戶的偏好向量隨不同的物品變化,引入門控層將交互后的特征向量融合,通過注意力因子分解機進行評分預測。
本文模型使用TensorFlow實現(xiàn),將實驗數(shù)據(jù)集劃分為訓練集(80%)、驗證集(10%)和測試集(10%),在驗證集上選取超參數(shù),在測試集上進行性能評估。對于深度學習模型,從[0.000 1,0.000 5,0.001,0.005]尋找學習率的最優(yōu)值,仔細地在[128,256,512,1 024]對batch size調整。對于用到卷積神經(jīng)網(wǎng)絡的模型,卷積核的數(shù)量均設置為50,卷積窗口的大小均為3。各模型中,用到的FM/AFM的隱因子數(shù)目設置為6。所有模型的詞向量維度均為100。
本文提出的模型IRIA與其他對比模型在五個不同的數(shù)據(jù)集上的評分預測結果如表3所示。
表3 各模型在數(shù)據(jù)集上的結果
表中數(shù)據(jù)加粗帶*的為對比模型中的最佳結果,△%表示本文模型IRIA比效果最好的對比模型的提升度。根據(jù)實驗分析結果得出以下結論:
(1) 在上述對比模型中,可以看出運用評論文本的模型比只用評分數(shù)據(jù)的模型PMF效果要好得多。這說明評論數(shù)據(jù)能在一定程度上克服只用評分數(shù)據(jù)的弱點,可以大幅提高推薦性能。
(2) 總體上來說,對比模型中使用注意力的模型(D-Attn、NARRE)比未使用注意力的模型效果要好。這說明注意力機制可以幫助捕獲用戶的偏好和項目的屬性,根據(jù)任務目標更好地凸顯相關信息,起到過濾無關信息更加準確預測的目的。
IRIA與最近的模型DeepCoNN、TransNet和NARRE相比,性能有進一步的提高。這說明學習用戶和物品評論的動態(tài)相關性可以更好地學習用戶的偏好,讓用戶偏好與物品特征發(fā)生交互有助于提高推薦系統(tǒng)的性能??梢钥闯鯥RIA模型在五個數(shù)據(jù)集上獲得了最佳的MSE值,IRIA相對于最佳的基線模型都有所改善。結果表明,通過利用交互注意力以及門控機制對推薦效果的提升起到了一定作用。
在Digital Music、Musical Instruments和Video Games三個數(shù)據(jù)集上做了消融實驗,實驗結果如圖2所示。
對比算法如下:
(1) RIA:在模型IRIA的基礎上取消交互注意力,將交互注意力部分換成池化操作,將池化后的結果連接,預測評分。
(2) RGC:將IRIA模型中的門控融合機制換成傳統(tǒng)方法的簡單連接,將用戶和物品交互后的結果拼接后進入預測層。
(3) RAFM:將注意力因子分解機換成標準因子分解機,取消注意力權重,直接將提取的向量交互。
具體來說,RIA不使用交互注意力,和以往的推薦方法一樣,用戶和物品網(wǎng)絡經(jīng)過卷積操作后池化提取特征,進行評分預測,很明顯RIA取得了最差的結果,這說明交互注意力使兩邊網(wǎng)絡提取的特征動態(tài)交互是可以提高推薦效果的。RGC忽略門控層的提取與維度級的向量融合作用,將兩邊網(wǎng)絡提取的特征向量直接拼接,模型效果略差于IRIA。RAFM對評分預測層進行了修改,上游模塊和IRIA一致,RAFM不能有效考慮用戶和物品隱因子的細粒度交互得出精確的預測評分,從圖2明顯看出,其效果略差于IRIA。
對于模型中使用的交互注意力,為了驗證其在提高模型可解釋性方面的可行性,從Musical Instruments數(shù)據(jù)集中隨機抽取用戶和物品的評論,根據(jù)注意力得分突出一些具有重要信息的單詞。為了驗證交互注意力的動態(tài)交互作用,體現(xiàn)用戶和物品提取的特征會因為匹配目標的不同而發(fā)生改變,我們從相同用戶對不同物品的評論以及不同用戶對相同物品的評論著手,觀察注意力得分,驗證模型的可解釋性。交互注意力的可視化如圖3和圖4所示?;疑x中的單詞代表注意力得分相對較高的單詞,即具有重要信息的單詞。
圖3中對物品1的評論單詞例如“padding”“comfort”和“velcro”凸顯出,表明用戶更關注填充物、舒適度和有無魔術貼這些方面。相同的用戶評論集對于物品2一些情感詞凸顯出來“not”“big”“deal”“difficult”和“wrong”,對于物品2說明用戶更關注舒適度以及背帶的調整。圖4用戶1的評論中“feel”“sound”和“fretless”,說明用戶1更關注此物品的聲音和質感,用戶2的評論中“tone”和“quality”這些詞語則說明該用戶更注重此物品的音色和質量。用戶評論文本和物品評論文本凸顯的單詞表明,IRIA可以有效地捕獲用戶-物品之間的相關語義信息。
本文首先運用卷積操作提取用戶和物品評論中單詞的上下文,然后通過交互注意力實現(xiàn)用戶和物品的動態(tài)交互,用戶和物品的特征向量會隨一方的變化而發(fā)生改變,通過門控層將提取的用戶、物品向量自適應地合并,最后經(jīng)過注意力因子分解機預測評分。結果表明,交互注意力可以使用戶的偏好根據(jù)與不同物品交互發(fā)生改變,這更符合生活實際,而且注意力得分可以提高模型的可解釋性,提高推薦系統(tǒng)的推薦性能。