潘仁志,錢付蘭*,趙 姝,張燕平
(1.安徽大學(xué)計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,合肥 230601;2.計(jì)算智能與信號(hào)處理教育部重點(diǎn)實(shí)驗(yàn)室(安徽大學(xué)),合肥 230601;3.信息材料和智能感知安徽省實(shí)驗(yàn)室(安徽大學(xué)),合肥 230601)
在瀏覽電影等網(wǎng)頁(yè)時(shí),面對(duì)數(shù)以萬(wàn)計(jì)的電影或者商品,用戶很難從其中發(fā)現(xiàn)自己喜歡的電影或者商品,推薦系統(tǒng)(Recommender System,RS)[1-2]可以幫助用戶選擇用戶可能感興趣的電影或者商品。RS 通過(guò)考慮用戶的歷史交互[3]以及自身偏好,可以從海量數(shù)據(jù)中挖掘用戶可能感興趣的電影或者商品,并推薦給用戶。
潛在因子模型(Latent Factor Model,LFM)如矩陣分解(Matrix Factorization,MF)[4]以其優(yōu)異的性能已經(jīng)成為學(xué)術(shù)界以及工業(yè)界廣泛研究和應(yīng)用的推薦模型。MF 模型的思路是將僅有部分評(píng)分?jǐn)?shù)據(jù)用戶-物品評(píng)分矩陣分解為用戶的潛在因子矩陣和項(xiàng)目的潛在因子矩陣,其中用戶與項(xiàng)目的潛在因子矩陣的每一行都代表用戶與項(xiàng)目的潛在向量表示,然后將缺失評(píng)分的用戶的潛在向量表示和項(xiàng)目的潛在向量表示相乘得到該用戶對(duì)該項(xiàng)目的評(píng)分,盡管其結(jié)構(gòu)簡(jiǎn)單,但MF模型已被證明在各種推薦任務(wù)中是有效的。雖然MF 在推薦上被證明是有效的,但是其存在數(shù)據(jù)稀疏性問(wèn)題。當(dāng)用戶-項(xiàng)目交互數(shù)據(jù)不足時(shí),尤其是當(dāng)模型增加了一個(gè)新的用戶或者一個(gè)新的項(xiàng)目,新的用戶和項(xiàng)目幾乎沒(méi)有評(píng)分記錄,這就會(huì)導(dǎo)致模型學(xué)習(xí)的用戶和項(xiàng)目表示不夠準(zhǔn)確,從而影響推薦效果。為了克服這一不足,近幾年有些工作提出了引入輔助信息學(xué)習(xí)用戶和項(xiàng)目的表示。例如,考慮到用戶對(duì)項(xiàng)目的評(píng)論里包含了一些對(duì)用戶和項(xiàng)目的特性描述,文獻(xiàn)[5]中提出了一種具有個(gè)性化關(guān)注的神經(jīng)推薦(Neural Recommendation with Personalized Attention,NRPA)模型,從評(píng)論中學(xué)習(xí)用戶和項(xiàng)目的向潛在向量表示。除了評(píng)論信息之外,利用用戶和項(xiàng)目的自身屬性信息也能夠幫助模型學(xué)得更準(zhǔn)確的用戶和項(xiàng)目的向量表示,因此文獻(xiàn)[6]和文獻(xiàn)[7]中提出了利用屬性信息學(xué)得更準(zhǔn)確的用戶或項(xiàng)目的向量表示。文獻(xiàn)[8]中提出了一種基于注意力的內(nèi)容與協(xié)作模型(attention-based model named Attentional Content &Collaborate Model,ACCM),該模型結(jié)合了基于內(nèi)容(Content-Based,CB)和協(xié)同過(guò)濾(Collaborative Filtering,CF),并且利用注意力機(jī)制控制CB和CF 兩種類型的信息的比例。雖然利用輔助信息可以學(xué)得更準(zhǔn)確的用戶和項(xiàng)目表示,但是這些LFM 在建模時(shí)仍然存在一些問(wèn)題。例如:第一,LFM 在對(duì)用戶建模時(shí)候,忽略了用戶如何根據(jù)其特征偏好對(duì)項(xiàng)目作出決策。如圖1 所示,年齡6 歲的用戶更喜歡卡通片,職業(yè)為IT 的可能更喜歡科技類電影等。第二,在進(jìn)行特征交互時(shí),通常采用內(nèi)積的交互方式,然而,這些方法隱含地假設(shè)嵌入維度彼此獨(dú)立,這就違背了潛在維度的語(yǔ)義[9]。
圖1 不同屬性的用戶喜愛的項(xiàng)目不同的示意圖Fig.1 Schematic diagram of preferences of users with different attributes to different items
為了解決上述問(wèn)題,本文提出了基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,CNN)交互的用戶屬性偏好建模的推薦模型(recommendation model for User Attribute preference Modeling based on CNN interaction,UAMC)。該模型首先獲得用戶id 嵌入表示的用戶一般偏好、用戶的屬性嵌入和項(xiàng)目嵌入,然后將用戶的屬性和項(xiàng)目嵌入進(jìn)行交互,目的是探索用戶不同的屬性對(duì)不同項(xiàng)目的偏好;接著將交互過(guò)的用戶的偏好屬性送入CNN 層,利用CNN 探索用戶不同偏好屬性的不同維度的關(guān)聯(lián)性,得到用戶的最終屬性向量表示;之后采用注意力機(jī)制將用戶的一般偏好和CNN 層得到的用戶偏好屬性結(jié)合起來(lái),得到用戶的向量表示;最后采用點(diǎn)積的方式計(jì)算用戶對(duì)項(xiàng)目評(píng)分。
本文的主要工作如下:
1)本文提出的UAMC 通過(guò)建模用戶自身的不同屬性對(duì)不同的項(xiàng)目的偏好性,挖掘用戶的細(xì)粒度偏好,能有效提升推薦效果;
2)在建模時(shí)候考慮到用戶的不同屬性對(duì)不同項(xiàng)目的傾向性以及用戶不同屬性維度之間的相關(guān)性來(lái)增強(qiáng)了UAMC,從而獲得更好的推薦效果。
矩陣分解在多數(shù)數(shù)據(jù)集上都能產(chǎn)生良好的結(jié)果,因此使用矩陣分解的潛在因子模型因其優(yōu)異的性能得到廣泛應(yīng)用。一些典型的LFM 被提出用于解決不同的問(wèn)題,例如基于馬爾可夫鏈蒙特卡羅的貝葉斯概率矩陣分解(Bayesian Probabilistic Matrix Factorization using Markov chain Monte Carlo,PMF)[10]是針對(duì)以前許多協(xié)同過(guò)濾模型不能處理大數(shù)據(jù)集的問(wèn)題而提出的?;诹6扔?jì)算的混合粒度評(píng)級(jí)推薦算法(Hybrid Granular Algorithm for Rating recommendation,HGAR)[11]是探索多粒度的交互信息,對(duì)用戶的顯式反饋和隱式反饋進(jìn)行預(yù)測(cè)的模型。雖然這些改進(jìn)的LFM 能夠提升推薦效果,但是其始終是利用用戶-項(xiàng)目的評(píng)級(jí)信息推測(cè)用戶的偏好。然而,用戶自身的輔助信息有時(shí)候?qū)τ脩舻钠眠x擇也起著重要的作用,例如年齡6 歲更喜歡卡通片,所以在LFM 中增加用戶的輔助信息可以更準(zhǔn)確地刻畫用戶的偏好,從而提升推薦效果,并且利用屬性信息建模用戶的偏好可以在一定程度上解決冷啟動(dòng)用戶帶來(lái)的推薦效果不佳的問(wèn)題。
為了捕獲用戶的喜好,文獻(xiàn)[6]中提出了自注意力整合網(wǎng)絡(luò)推薦(Self-Attentive Integration NetWork for recommendation,SAIN),利用了用戶屬性信息和物品的屬性信息,適當(dāng)?shù)貙⒂脩?項(xiàng)目反饋信息與內(nèi)容信息相結(jié)合,用以解決冷啟動(dòng)問(wèn)題。雖然SAIN 考慮到了特征之間的高階交互以及結(jié)合內(nèi)容信息和反饋信息,但是它將項(xiàng)目和用戶視為獨(dú)立的。
文獻(xiàn)[12]中提出了一種用戶-項(xiàng)目耦合關(guān)系學(xué)習(xí)的深度協(xié)同過(guò)濾推薦模型(learning explicit and implicit user-item couplings in recommendation for deep Collaborative Filtering,coupledCF),認(rèn)為將用戶和項(xiàng)目視為獨(dú)立的會(huì)忽略了用戶和項(xiàng)目之間的豐富耦合,從而導(dǎo)致有限的性能改進(jìn),因此它使用用戶和項(xiàng)目的交互得到用戶的交互偏好,并將用戶和項(xiàng)目的屬性融入用戶的交互偏好中以此學(xué)習(xí)用戶的最終偏好。文獻(xiàn)[13]中提出一種屬性感知的注意力圖卷積網(wǎng)絡(luò)(Attribute-aware Attentive GCN model for recommendation,A2-GCN),利用圖形卷積網(wǎng)絡(luò)來(lái)表征用戶、項(xiàng)目、屬性之間的復(fù)雜交互,從而學(xué)習(xí)用戶的偏好。雖然這些模型利用用戶的屬性對(duì)用戶的偏好或者利用項(xiàng)目屬性對(duì)項(xiàng)目進(jìn)行了建模,但是其捕獲的僅僅是用戶對(duì)項(xiàng)目屬性之間的粗粒度偏好,忽略了用戶是根據(jù)其某一個(gè)屬性對(duì)項(xiàng)目作出選擇的細(xì)粒度偏好。
在利用屬性建模用戶和項(xiàng)目的表示時(shí),探索有意義的特征組合可以進(jìn)一步提升推薦效果。因子分解機(jī)(Factorization Machine,F(xiàn)M)模型[14]學(xué)習(xí)所有與用戶和項(xiàng)目相關(guān)的特征作為潛在因子,并根據(jù)特征之間的二階交互作用預(yù)測(cè)評(píng)級(jí),但是FM 模型實(shí)際應(yīng)用中受限于計(jì)算復(fù)雜度,一般只考慮到二階交叉特征。隨著深度學(xué)習(xí)技術(shù)在計(jì)算機(jī)視覺的巨大成功,將深度學(xué)習(xí)技術(shù)引入推薦系統(tǒng)已成為人們研究的熱點(diǎn)。Cheng 等[15]提出了廣度和深度學(xué)習(xí)推薦模型(wide &deep learning for recommendation systems),該模型結(jié)合了深度神經(jīng)網(wǎng)絡(luò)的泛化能力和線性模型的記憶能力,用于學(xué)習(xí)特征交互。文獻(xiàn)[16]提出了一種稀疏數(shù)據(jù)預(yù)測(cè)的神經(jīng)網(wǎng)絡(luò)分解機(jī)(Neural Factorization Machine for sparse predictive analytics,NFM),NFM 利用因子分解機(jī)的二階線性和神經(jīng)網(wǎng)絡(luò)具有的高階非線性特點(diǎn)進(jìn)行特征交互。文獻(xiàn)[17]中提出了一種特征級(jí)深層自我注意網(wǎng)絡(luò)(Feature-level Deeper Self-Attention nerwork for sequential recommendation,F(xiàn)DSA)用于序列推薦,先利用自注意力機(jī)制對(duì)特征分配不同的權(quán)重,再利用多層感知機(jī)進(jìn)行高階特征交互。雖然這些深度學(xué)習(xí)模型對(duì)特征進(jìn)行了交互,但是這些模型隱含地假設(shè)嵌入維度彼此獨(dú)立,違背了潛在維度的語(yǔ)義[9]。面對(duì)這樣的問(wèn)題,文獻(xiàn)[18]和文獻(xiàn)[19]都提出了利用CNN 學(xué)習(xí)特征交互的模型,解決了普通的深度學(xué)習(xí)網(wǎng)絡(luò)(Deep Neural Network,DNN)只能隱式地和逐位地生成特征交互的問(wèn)題,充分考慮了不同特征之間潛在維度之間的交互。
本文提出了一種基于卷積神經(jīng)網(wǎng)絡(luò)交互的用戶屬性偏好建模的推薦模型。在本文研究的模型中,本文模型不僅引入用戶的屬性信息來(lái)豐富用戶的潛在向量表示,同時(shí)對(duì)用戶的屬性信息進(jìn)行細(xì)粒度偏好的建模,除此之外,本文模型還引入了3D 卷積神經(jīng)網(wǎng)絡(luò)對(duì)用戶的特征進(jìn)行交互建模,用于解決DNN 進(jìn)行特征交互假設(shè)不同特征維度是獨(dú)立的問(wèn)題。
UAMC 有效地結(jié)合了用戶的屬性偏好和用戶的一般偏好進(jìn)行評(píng)分預(yù)測(cè)任務(wù)。圖2 為UAMC 的整體結(jié)構(gòu)。模型由以下五部分組成:1)輸入和嵌入層。獲得經(jīng)過(guò)one-hot 編碼后用戶id、項(xiàng)目id 和用戶屬性的潛在空間表示。2)屬性偏好層。將獲得的用戶屬性向量和項(xiàng)目id 嵌入向量對(duì)應(yīng)相乘交互,模型中這一層的作用就是探索用戶不同的屬性對(duì)不同項(xiàng)目的偏好程度。3)立體卷積層。將屬性偏好層獲得的用戶偏好特征向量進(jìn)行立體卷積操作,用于解決傳統(tǒng)全連接層采用內(nèi)積交互沒(méi)有考慮到用戶不同屬性維度之間的關(guān)聯(lián)問(wèn)題,得到用戶最終偏好屬性的向量表示。4)注意力結(jié)合層。將立體卷積操作獲得的用戶偏好屬性向量表示和用戶id 嵌入得到的用戶一般偏好表示結(jié)合起來(lái),獲得最終的用戶向量表示。5)輸出層。將注意力結(jié)合層獲得的用戶向量表示和項(xiàng)目的id 嵌入表示點(diǎn)積,輸出用戶對(duì)項(xiàng)目的評(píng)分。
圖2 UAMC的整體結(jié)構(gòu)Fig.2 Overall structure of UAMC
輸入和嵌入層作用是為了獲得用戶、項(xiàng)目和用戶屬性的初始潛在空間向量表示。本文模型使用從0 開始的數(shù)值分別來(lái)編碼用戶id、項(xiàng)目id 和用戶不同屬性的值表示,然后通過(guò)一個(gè)完全連接層將其嵌入到連續(xù)低維表示空間中。本文模型使用U∈Rm×d、I∈Rn×d和F∈Rl×d分別表示用戶、項(xiàng)目和用戶屬性的嵌入矩陣,即完全連接層,矩陣U、I和F的初始值是通過(guò)隨機(jī)初始化而得到的,其中d為潛在嵌入空間的維度,m、n和l分別是用戶、項(xiàng)目和用戶屬性的數(shù)量。矩陣U、I和F是通過(guò)模型訓(xùn)練所學(xué)的模型參數(shù)。通過(guò)用戶、項(xiàng)目和用戶屬性的數(shù)值編碼分別取得嵌入矩陣U、I和F對(duì)應(yīng)行向量,得到d維的密集潛在向量表示,分別用uj、ij和f={f1,f2,…,fn}表示,uj、ij和fj分別為矩陣U、I和F的第j行。
在這一部分將介紹如何通過(guò)建模去解決用戶如何根據(jù)其不同特征對(duì)不同項(xiàng)目作出決策。
經(jīng)過(guò)輸入和嵌入層,得到了用戶、項(xiàng)目和用戶屬性的潛在向量u、i和f={f1,f2,…,fn}。如果只是簡(jiǎn)單地將用戶的屬性向量f={f1,f2,…,fn}經(jīng)過(guò)全連接層拼接起來(lái),在與用戶的一般偏好表示uid進(jìn)行拼接得到用戶的潛在空間向量表示[6-7],通過(guò)這樣的模型僅僅是捕獲用戶對(duì)項(xiàng)目的粗粒度偏好,沒(méi)有考慮到用戶是因?yàn)樽陨砭邆涞哪囊稽c(diǎn)屬性導(dǎo)致用戶喜歡這一個(gè)項(xiàng)目,因此通過(guò)這樣的方式得到用戶的表示向量沒(méi)有考慮到用戶的細(xì)粒度偏好的建模。
為了解決上面這一問(wèn)題,在屬性偏好層本文模型將項(xiàng)目嵌入i和用戶的每一個(gè)屬性嵌入fk進(jìn)行交互,如果用戶的某一個(gè)屬性fk越偏好某一個(gè)項(xiàng)目i,則它們?cè)跐撛诳臻g的相似性越高,從而用戶的這個(gè)屬性向量對(duì)這個(gè)項(xiàng)目的傾向性越高。例如屬性年齡6 歲的用戶傾向動(dòng)畫片,職業(yè)IT 的更傾向黑客電影。其描述公式如式(1)所示:
其中:fAI(x,y)表示對(duì)兩個(gè)向量進(jìn)行點(diǎn)擊操作。
在經(jīng)過(guò)屬性偏好層之后,得到了用戶屬性偏好向量的表示h={h1,h2,…,hn}。
在得到用戶的特征表示之后,大多數(shù)模型[11,13-14]都會(huì)進(jìn)行特征交互操作,特征交互的意義在于探索不同的交互特征對(duì)用戶的選擇的影響。然而,對(duì)于兩個(gè)特征向量fi={a1,a2,…,an}和fj={b1,b2,…,bn},大多數(shù)模型都采用內(nèi)積進(jìn)行特征交互,從而得到用戶屬性向量集合h的最終屬性向量表示,如式(2)所示。
這樣的特征交互操作存在一個(gè)問(wèn)題,即對(duì)任意兩個(gè)屬性向量fi和fj,這些模型隱含地假設(shè)嵌入維度彼此獨(dú)立,沒(méi)有探索a1b2的交互帶來(lái)的作用,這違背了潛在維度的語(yǔ)義關(guān)系[6],故本文模型采用外積的交互方法去探索每一個(gè)屬性維度之間的關(guān)聯(lián)性,如式(3)所示:
從式(3)可以看出,本文模型對(duì)任意兩個(gè)屬性向量的不同維度之間進(jìn)行了交互。
對(duì)于任意兩個(gè)偏好特征向量hi和hj,經(jīng)過(guò)式(3)的操作之后,本文模型得到任意兩個(gè)特征向量的外積表示L={Lk|Lk=hi?hj,i,j∈[1,2,…,n]}。集合L中的每一個(gè)元素相當(dāng)于一張“圖片”,通過(guò)將集合L中的每一個(gè)元素進(jìn)行拼接操作,再送入到3DCNN 中,最終得到用戶的屬性向量表示。通過(guò)這樣的方式得到的用戶屬性向量避免了采用內(nèi)積交互假設(shè)嵌入維度彼此獨(dú)立的問(wèn)題。如式(4)所示:
其中:f3DCNN(·)表示立體卷積操作;fu表示最終的用戶屬性向量。
在進(jìn)行3D 卷積操作時(shí),對(duì)于Movielens 數(shù)據(jù)集,因?yàn)槠溆脩魧傩詾? 個(gè),所以本文模型設(shè)置輸入通道數(shù)和輸出通道數(shù)都為1,卷積核kernel_size 的大小為(3,3,3),卷積步長(zhǎng)stride為8;而對(duì)于Book-crossing 數(shù)據(jù)集,因?yàn)槠溆脩魧傩詾? 個(gè),所以設(shè)置輸入通道數(shù)和輸出通道數(shù)都為1,卷積核kernel_size 的大小為(1,1,1),卷積步長(zhǎng)stride 為8。在進(jìn)行CNN 操作時(shí)候,為了防止模型過(guò)擬合情況的發(fā)生,本文模型引入了dropout 函數(shù),在Movielens-100K 和Movielens-1M 和Book-crossing 的dropout 參數(shù)分別為0.07、0.5 和0.2。
注意力機(jī)制[20]是用于對(duì)不同的信息分配不同的權(quán)重,對(duì)于結(jié)果重要的信息分配更多的權(quán)重。基于注意力機(jī)制的特點(diǎn),本文模型利用注意力機(jī)制將立體卷積層獲得的用戶屬性偏好向量fu和用戶id 嵌入得到的用戶一般偏好uid結(jié)合起來(lái),獲得最終的用戶向量urep表示。如式(5)所示。
其中a為注意力分?jǐn)?shù),計(jì)算公式如式(6)所示:
其中:g(·)表示全連接層。
本文模型利用注意力機(jī)制來(lái)結(jié)合這兩個(gè)信息的原因在于:根據(jù)交互數(shù)據(jù)的數(shù)量給予兩種信息不同的權(quán)重[8]。如果用戶和項(xiàng)目的交互數(shù)據(jù)是足夠多的,那么交互信息是更值得挖掘的信息,因此應(yīng)該給交互信息更大的權(quán)重。另一方面,如果一個(gè)用戶在系統(tǒng)中的交互數(shù)據(jù)較少時(shí),應(yīng)該給用戶屬性偏好信息更多的權(quán)重,通過(guò)偏好特征向量挖掘用戶可能喜歡的項(xiàng)目。
通過(guò)注意力機(jī)制層,本文模型得到了用戶的最終表示向量urep,最后,通過(guò)內(nèi)積的計(jì)算方法計(jì)算用戶對(duì)項(xiàng)目i的相對(duì)偏好分?jǐn)?shù)y。y的計(jì)算公式如式(7)所示。
本文模型UAMC 進(jìn)行評(píng)分預(yù)測(cè)任務(wù),因此使用均方根誤差(Root Mean Square Error,RMSE)度量該模型預(yù)測(cè)的分?jǐn)?shù)與真實(shí)分?jǐn)?shù)的差距。RMSE 的公式如式(8)所示。
在進(jìn)行損失訓(xùn)練時(shí),本文模型的損失函數(shù)不僅包含了最終的預(yù)測(cè)評(píng)分,同時(shí)也包含了用戶的一般偏好u對(duì)項(xiàng)目的評(píng)分,即用戶id 嵌入向量對(duì)項(xiàng)目id 嵌入向量的評(píng)分,以及經(jīng)過(guò)立體卷積層的屬性偏好向量fu對(duì)項(xiàng)目的評(píng)分。通過(guò)對(duì)這三個(gè)損失的綜合評(píng)分進(jìn)行最小化訓(xùn)練,用戶向量和用戶特征潛在向量被獨(dú)立地訓(xùn)練,模型的準(zhǔn)確度得到進(jìn)一步提高,因此,本文的損失函數(shù)公式如式(9)所示:
本文從三個(gè)問(wèn)題上對(duì)UAMC 的性能進(jìn)行評(píng)估。
問(wèn)題1:與最先進(jìn)的潛在因子模型相比,本文模型UAMC的性能是否更好。
問(wèn)題2:引入的外積操作在進(jìn)行探索高階特征交互能否提升模型的性能。
問(wèn)題3:Attention 機(jī)制的運(yùn)用是否能夠提升模型的性能。
本文模型是利用用戶屬性和評(píng)分進(jìn)行評(píng)分預(yù)測(cè)任務(wù),為了評(píng)估UAMC 的性能,本文選取了三個(gè)具有評(píng)分以及具有用戶屬性的數(shù)據(jù)集。處理后的數(shù)據(jù)集的統(tǒng)計(jì)如表1 所示。對(duì)于這三個(gè)數(shù)據(jù)集,本文模型按照8∶1∶1 的比例將其分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。每個(gè)數(shù)據(jù)集的詳細(xì)介紹如下:
表1 數(shù)據(jù)集統(tǒng)計(jì)Tab.1 Datasets statistics
1)Movielens-100K,是推薦領(lǐng)域最受歡迎的數(shù)據(jù)集之一,主要是用于電影推薦領(lǐng)域,包含用戶對(duì)電影的評(píng)級(jí)、用戶的屬性信息和項(xiàng)目的屬性信息。數(shù)據(jù)集最初是由Grouplens構(gòu)建的。Movielens-100K 包含了943 位用戶,1 682 部電影以及943 位用戶對(duì)1 682 部電影的100 000 條評(píng)分記錄。在這個(gè)數(shù)據(jù)集中,本文模型所用到的用戶屬性信息有性別、年齡和職業(yè)。
2)Movielens-1M,也是推薦領(lǐng)域最受歡迎的數(shù)據(jù)集之一。Movielens-1M 和Movielens-100K 包含的信息類別是相同的,本文模型所用到的用戶屬性信息和Movielens-100K 相同。相較于第一個(gè)數(shù)據(jù)集,這個(gè)數(shù)據(jù)集包含的評(píng)分信息較多,用戶項(xiàng)目之間的交互更豐富。Movielens-1M 包含了6 040位用戶,3 952 部電影以及它們之間的1 000 000 條評(píng)分記錄。
3)Book-crossing,是關(guān)于用戶對(duì)于圖書評(píng)分的數(shù)據(jù)集,用戶的屬性值有年齡以及地址。它有5 004 位用戶和110 311 本圖書,用戶對(duì)圖書的評(píng)價(jià)記錄只有200 000 條,該數(shù)據(jù)集具有顯式和隱式兩種評(píng)分信息。Book-crossing 數(shù)據(jù)集是最不密集的數(shù)據(jù)集之一。
在評(píng)分預(yù)測(cè)的任務(wù)中,均方根誤差RMSE 和平均絕對(duì)誤差(Mean Absolute Error,MAE)是常用的兩個(gè)評(píng)價(jià)指標(biāo)。RMSE 是用來(lái)衡量觀測(cè)值與真實(shí)值之間的偏差,常用來(lái)作為機(jī)器學(xué)習(xí)模型預(yù)測(cè)結(jié)果衡量的標(biāo)準(zhǔn),如式(8)所示;MAE 是絕對(duì)誤差的平均值,可以更好地反映預(yù)測(cè)值與真實(shí)值誤差的實(shí)際情況,公式如式(10)所示。對(duì)于這兩個(gè)評(píng)價(jià)指標(biāo),值越小越好。
本文模型UAMC 使用了評(píng)分以及用戶屬性信息,因此將UAMC 與使用評(píng)分或者使用評(píng)分和用戶屬性的模型進(jìn)行了比較:
1)MF[4]:在2009 年的Netflix Prize 競(jìng)賽中被提出,它只使用了用戶-物品交互數(shù)據(jù)。MF 被廣泛應(yīng)用于推薦任務(wù),特別是評(píng)級(jí)預(yù)測(cè)任務(wù)中。
2)神經(jīng)網(wǎng)絡(luò)協(xié)同過(guò)濾(Neural Collaborative Filtering,NCF)[21]:是由深度學(xué)習(xí)和矩陣分解兩部分組成的推薦模型,其包含廣義矩陣分解(Generalized Matrix Factorization,GMF)、多層感知機(jī)(Multi-Layer Perceptron,MLP)和融合層三部分,它分別使用GMF 和MLP 兩個(gè)部分對(duì)用戶項(xiàng)目的交互進(jìn)行建模,模型框架簡(jiǎn)單而且通用。
3)NFM[16]:神經(jīng)因子分解機(jī)在二階特征交互中利用了因子分解機(jī)的線性,在高階特征交互中利用了神經(jīng)網(wǎng)絡(luò)的非線性,并且該模型建模時(shí)減少了更多訓(xùn)練參數(shù)的引入。
4)JICO(Joint Interaction with Context Operation for collaborative filtering)[22],是結(jié)合交互信息與上下文信息的上下文感知推薦模型。在兩個(gè)Movielens 數(shù)據(jù)集上用到的上下文信息只有用戶的年齡、性別和職業(yè)。它通過(guò)解決以前的上下文感知推薦模型無(wú)法準(zhǔn)確地捕捉環(huán)境的影響,進(jìn)一步正確地建模用戶/項(xiàng)目和上下文之間的關(guān)系。
5)多分量圖卷積協(xié)同過(guò)濾(Multi-component graph Convolutional Collaborative Filtering,MCCF)模型[23],它的思想是探討用戶-項(xiàng)目二分圖中簡(jiǎn)單邊下的購(gòu)買動(dòng)機(jī)之間的差異。具體來(lái)說(shuō),MCCF 內(nèi)部有兩個(gè)精心設(shè)計(jì)的模塊:decomposer 和combiner。前者首先對(duì)用戶-商品二分圖中的邊進(jìn)行分解,以識(shí)別可能導(dǎo)致購(gòu)買關(guān)系的潛在成分;后者自動(dòng)重組這些潛在的成分,以獲得統(tǒng)一的嵌入預(yù)測(cè)。
6)HGAR[11],是結(jié)合顯式反饋和隱式反饋的推薦模型。輸入的數(shù)據(jù)是用戶-項(xiàng)的交互信息,該模型的核心思想是探索交互信息的多粒度,對(duì)用戶的顯式反饋和隱式反饋進(jìn)行預(yù)測(cè),HGAR 采用奇異值分解模型來(lái)獲取外顯信息,而隱式信息可以通過(guò)深度學(xué)習(xí)的多層感知得到。
本文使用pytorch 實(shí)現(xiàn)本文的模型。在三個(gè)數(shù)據(jù)集上,本文模型對(duì)用戶、項(xiàng)目和用戶屬性采用的嵌入維度為64。在三個(gè)數(shù)據(jù)集上,模型所采用的學(xué)習(xí)率和l2正則化各不相同。在Movielens-100K 數(shù)據(jù)集上,模型所使用的學(xué)習(xí)率和l2正則化分別為2E-4 和5E-5;在Movielens-1M 數(shù)據(jù)集上,模型所使用的學(xué)習(xí)率和l2正則化分別為6E-4 和2E-5;在Bookcrossing 數(shù)據(jù)集上,模型所使用的學(xué)習(xí)率和l2正則化分別為1E-2 和0.1。
4.5.1 UAMC的性能
將本文模型UAMC 和對(duì)比模型在三個(gè)數(shù)據(jù)集上進(jìn)行了比較,結(jié)果見表2。表2 沒(méi)有給出MCCF 在Movielens-1M 和Book-crossing 數(shù)據(jù)集的結(jié)果,因?yàn)檫@兩個(gè)數(shù)據(jù)集相較于MCCF 模型來(lái)說(shuō)是很大的數(shù)據(jù)集,訓(xùn)練時(shí)間過(guò)于長(zhǎng)久;而JICO 模型則是因?yàn)闆](méi)有獲得到它的源碼。從表2 可以看出,本文模型UAMC 在Movielens-100K 和Book-crossing 數(shù)據(jù)集上的兩個(gè)評(píng)價(jià)指標(biāo)都優(yōu)于所有的對(duì)比模型;在Movielens-1M 數(shù)據(jù)集上的MAE 評(píng)價(jià)指標(biāo)相較于JICO 和HGAR 的模型結(jié)果要差一些。在Book-crossing 數(shù)據(jù)集上,可以看出UAMC 在RMSE 和MAE 評(píng)價(jià)指標(biāo)上相較于每一個(gè)對(duì)比模型改進(jìn)的效果較差,相較于僅僅使用評(píng)分信息的MF[4]降低僅為0.39%和1.10%,相較于使用了屬性信息的NFM 降低了0.25%和0.66%;Movielens-100K 相較于MF 降低了1.68%和1.21%,相較于NFM 降低了1.75%和1.97%;Movielens-1M 相較于MF 降低了1.78%和1.57%,相較于NFM 降低了2.78%和2.43%。經(jīng)過(guò)分析得出可能有三點(diǎn)原因:1)Book-crossing 數(shù)據(jù)集本身過(guò)度稀疏;2)數(shù)據(jù)集提供的用戶屬性種類較少,僅有兩種;3)將地址作為用戶的一個(gè)屬性并不能確切地反映用戶的偏好。在Movielens-100K 數(shù)據(jù)集上,本文模型相較于JICO 模型在RMSE 和MAE 的增益為4.82% 和4.78%,在Movielens-1M 數(shù)據(jù)集上,增益為1.02%和-1.77%,雖然本文模型在Movielens-1M 上的MAE 增益為-1.77%,但是總體結(jié)果都是優(yōu)于JICO 模型的。同理,在兩個(gè)數(shù)據(jù)集上的總體結(jié)果優(yōu)于HGAR 模型。本文模型總體優(yōu)于對(duì)比模型的原因在于:1)相較于僅僅使用了用戶項(xiàng)目交互信息的模型,本文模型引入了用戶屬性這一輔助信息,使得用戶的表示更加準(zhǔn)確;2)相較于使用了用戶屬性信息的模型,本文模型在建模時(shí)候考慮了用戶的不同屬性對(duì)用戶決策的影響。
表2 不同模型之間的性能比較Tab.2 Performance comparison of different models
4.5.2 外積操作對(duì)模型的影響
從以前的工作[11-14]可以了解到,探索特征交互對(duì)提升推薦效果是有幫助的,因此這部分將討論使用外積操作進(jìn)行特征高階交互與內(nèi)積操作進(jìn)行特征交互兩種方式,哪一種更能提升模型的性能。為了體現(xiàn)引入的外積操作能夠進(jìn)一步提升推薦效果,將UAMC 上的立體卷積層用內(nèi)積交互代替,并將其命名為UAMC-C(缺失立體卷積層的用戶偏好建模)。在Movielens-100K、Movielens-1M 和Book-crossing 三個(gè)數(shù)據(jù)集上對(duì)UAMC 和UAMC-C 的模型性能進(jìn)行比較,結(jié)果見表3。
表3 引入外積操作對(duì)模型的影響Tab.3 Influence of the introduction of outer product operation on the model
從表3 的結(jié)果可以看出,UAMC 在三個(gè)數(shù)據(jù)集上的RMSE 和MAE 的評(píng)價(jià)指標(biāo)結(jié)果都優(yōu)于UAMC-C。在Movielens-100K 數(shù)據(jù)集上,RMSE 和MAE 的結(jié)果降低了2.29%和2.69%;在Movielens-1M 數(shù)據(jù)集上RMSE 和MAE 的結(jié)果降低了0.71% 和0.87%;在Book-crossing 數(shù)據(jù)集上RMSE 和MAE 的結(jié)果降低了0.11%和0.18%。由此可見,利用外積代替內(nèi)積探索高階交互,考慮到了不同特征之間維度的關(guān)聯(lián),從而對(duì)模型能起到提升推薦精度的作用。
4.5.3 Attention機(jī)制對(duì)模型的影響
根據(jù)第2 章的注意力結(jié)合層可知,本文模型的注意力機(jī)制的作用是根據(jù)交互數(shù)據(jù)的數(shù)量給與兩種信息不同的權(quán)重,從而提升推薦精度。因此為了驗(yàn)證注意力機(jī)制分配權(quán)重對(duì)提升推薦效果的有效性,在這一部分本文進(jìn)行了實(shí)驗(yàn)驗(yàn)證。
本文將UAMC 的注意力機(jī)制去除,對(duì)用戶的屬性信息和交互信息分配相同的權(quán)重,并命名為UAMC-A(缺失注意力結(jié)合層的用戶偏好建模),將其與分配了注意力權(quán)重的UAMC 在兩個(gè)數(shù)據(jù)集上進(jìn)行了對(duì)比,實(shí)驗(yàn)結(jié)果見表4。從表4的結(jié)果可以看出,在模型預(yù)測(cè)的過(guò)程中,利用注意力機(jī)制根據(jù)用戶-項(xiàng)交互信息量的大小分配了權(quán)重的模型UAMC 的結(jié)果明顯優(yōu)于不分配權(quán)重的模型UAMC-A 的結(jié)果。這是因?yàn)槿绻脩艉晚?xiàng)目的交互數(shù)據(jù)是足夠多的,那么交互信息是更值得挖掘的信息,因此模型應(yīng)該給交互信息更多的權(quán)重。另一方面,如果一個(gè)用戶在系統(tǒng)中的交互數(shù)據(jù)較少時(shí),模型應(yīng)該給用戶屬性偏好信息更大的權(quán)重,通過(guò)偏好特征挖掘用戶可能喜歡的項(xiàng)目。
表4 引入Attention對(duì)模型的影響Tab.4 Influence of the introduction of attention on the model
本文提出了基于卷積神經(jīng)網(wǎng)絡(luò)交互的用戶屬性偏好建模的推薦模型(UAMC),該模型從細(xì)粒度的角度建模用戶的不同屬性對(duì)不同項(xiàng)目的偏好,從而學(xué)得了用戶更準(zhǔn)確的潛在向量表示。UAMC 模型對(duì)用戶的每一個(gè)屬性和項(xiàng)目進(jìn)行了交互,為了能夠更好地探索用戶不同的屬性對(duì)選擇不同項(xiàng)目的傾向性,在進(jìn)行特征交互時(shí),本文模型采用外積的交互方式并充分地考慮到了不同特征之間維度的關(guān)聯(lián)性。此外本文模型利用注意力機(jī)制用來(lái)區(qū)分用戶的一般偏好和屬性偏好的重要性,進(jìn)一步提升了推薦效果。本文模型在真實(shí)數(shù)據(jù)集Movielens-100K、Movielens-1M 和Book-crossing 上進(jìn)行了實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明,本文模型優(yōu)于最先進(jìn)的潛在因子模型。