劉慧婷 李茵捷 郭玲玲 陳庚 趙鵬 韓宇晨
(安徽大學 計算機科學與技術學院,安徽 合肥 230601)
隨著電子商務中用戶和商品數(shù)量的爆炸式增長,推薦系統(tǒng)在幫助人們克服信息超載、促進電子商務公司銷售方面發(fā)揮著越來越重要的作用。在不同的推薦策略中,協(xié)同過濾(CF)由于其有效性和快捷性,在過去的幾十年中得到了廣泛的研究[1- 3]。一些傳統(tǒng)的CF方法從用戶的使用習慣(如用戶-項目的歷史交互)中學習用戶的偏好,進而完成推薦,但在用戶和項目交互稀疏的情況下性能較差[4]。
為了解決傳統(tǒng)CF方法面臨的稀疏性問題,一些改進的CF方法開始利用并且有效整合其他輔助信息。Koren等[5]把基于模型的CF方法和基于鄰居的CF方法有效整合在一起完成推薦,在使用評分矩陣的同時,使用了用戶的隱式反饋,如用戶的瀏覽歷史、搜索模式甚至鼠標的移動軌跡等。為了更加有效地整合多方面的輔助信息,有研究提出了混合推薦方法。常見的混合推薦方法是將輔助信息與用戶ID、項目ID轉換成一個通用的特征向量,并將它們輸入到監(jiān)督學習(SL)模型來預測評分。這種混合推薦方法已經(jīng)得到了廣泛的應用,代表性的模型有Wide&Deep[6]、xDeepFM[7]等。
根據(jù)評分信息與輔助信息之間是否存在雙向交互,混合推薦模型分為松耦合和緊耦合兩種方式。Sevil等[8]提出了一種松耦合推薦算法,該算法優(yōu)先處理輔助信息,然后將處理后的輔助信息傳遞給CF模型。由于信息的流向是單向的,評分信息無法指導輔助信息特征的提取。在這種方式下,通常需要依賴人工提取特征來提高推薦的性能。相反,在緊耦合方法[9]中,評分信息可以指導特征的學習,提取的特征可以進一步提高CF模型的預測能力。通過二者的雙向交互,緊耦合方法可以自動地從輔助信息中學習特征,從而緩解CF模型面臨的評分稀疏問題。因此,緊耦合方法常常優(yōu)于松耦合方法。協(xié)同主題回歸(CTR)[10]和協(xié)同深度學習(CDL)[11]是近年來具代表性的緊耦合推薦方法。然而,上述方法都只能處理單一類型的輔助信息。隨著電子商務的迅速發(fā)展,輔助信息的類型越來越多,因此開發(fā)一種通用的方法來處理這些不同的輔助信息,變得越來越重要。
異構信息網(wǎng)絡(HIN)由于其在建模數(shù)據(jù)異構性方面的靈活性而被用于推薦系統(tǒng)中表示豐富的輔助信息[12- 13],HIN中連接節(jié)點對的關系序列元路徑則被廣泛用于提取輔助信息的結構特征[14]。可以通過定義一條元路徑(如User→ Movie→Type→Movie)來表達用戶對某一類型電影的偏好。構建不同的推薦元路徑,則可以有效地整合更多的信息,表達不同的語義。最近,一些文獻研究了基于HIN的個性化推薦方法。PathSim模型[14]可度量不同實體之間的相似性,首先計算不同元路徑實例的數(shù)量,然后除以一個標準化項得到起始節(jié)點和終止節(jié)點之間的相似矩陣。FMG[13]利用與文獻[14]相同的方法獲得相似矩陣,然后將相似矩陣分解為用戶和項目特征向量。文獻[15]設計了一種基于元路徑的隨機游走模型HERec來獲得不同節(jié)點序列的網(wǎng)絡嵌入,再將嵌入與擴展的矩陣因子分解模型進行聯(lián)合優(yōu)化完成評分預測任務。文獻[16]利用模型層的元學習捕獲異構信息網(wǎng)絡的語義,解決了推薦任務中的冷啟動問題。
雖然上述方法在一定程度上提高了推薦系統(tǒng)的性能,但現(xiàn)有的HIN方法存在如下不足:①沒有考慮不同元路徑對用戶、項目特征建模貢獻程度的差異性;②沒有將異構輔助信息與CF模型進行緊耦合。近年來注意力機制被提出并已在多種機器學習任務中證明了其有效性,如圖像字幕[17- 18]和機器翻譯[19]。有研究者將注意力機制應用于推薦系統(tǒng)中,Li等[20]采用注意力機制對用戶的順序行為進行建模,以捕捉用戶的偏好。Wang等[21]提出了一種基于分層注意的異構圖神經(jīng)網(wǎng)絡,通過學習的兩層注意力分數(shù)指導基于元路徑的相鄰節(jié)點的特征聚合。
針對上述問題和注意力機制的有效性,本文提出了一種基于HIN的緊耦合推薦模型。對于給定的一個目標用戶或項目,本文首先使用基于優(yōu)先級的抽樣技術選擇元路徑中高質量的路徑實例,并聚合各個路徑實例得到不同元路徑的顯式嵌入,然后基于注意力機制得到聚合元路徑的嵌入,最后將聚合元路徑嵌入與CF模型緊耦合完成推薦。
異構信息網(wǎng)絡[22]表示為G={V,E},由對象集V和鏈接集E組成。HIN也與對象類型映射函數(shù)φ:V→A和鏈接類型映射函數(shù) ∮:E→R相對應。A和R表示預定義的對象和鏈接類型的集合,其中|A|+|R|>2。圖1給出了一個用HIN表示的電影推薦實例,由圖中可以看出,HIN包含多種類型的實體,實體之間由不同類型的關系相互連接。為了更好地理解網(wǎng)絡中的對象類型和鏈接類型,文獻[23- 24]提出網(wǎng)絡模式的概念,用于描述網(wǎng)絡的元結構。
圖1 異構信息網(wǎng)絡表示的電影推薦實例
對于使用對象類型映射φ:V→A和鏈接類型映射 ∮:E→R的異構信息網(wǎng)絡G={V,E},網(wǎng)絡模式是它的元模板,記為S=(A,R)。它是一個定義在對象類型A上的有向圖,邊是來自R的關系。
例1圖2(b)為圖1中電影推薦系統(tǒng)實例對應的網(wǎng)絡模式,網(wǎng)絡由多種類型的對象(如用戶(U)、用戶組(G)、電影(M)、導演(D)、電影類型(T))及其語義關系(如用戶與電影的關系(U-M)、電影與導演的關系(M-D)、電影和電影類型的關系(M-T))構成。
圖2 數(shù)據(jù)集中的網(wǎng)絡模式
在HIN中,兩個對象可以通過不同的語義路徑連接,這些語義路徑被定義為元路徑。
給定一條元路徑,該元路徑下存在多條具體的路徑,稱為路徑實例,用p表示。
例2圖1中的用戶u1和電影m2可以通過多條元路徑進行連接,以u1作為起始節(jié)點,有u1-m1-u2-m2(UMUM)和u1-m1-t1-m2(UMTM),以m2作為起始節(jié)點,有m2-d1-m1-u1(MDMU)和m2-u2-m1-u1(MUMU),它們分別構成了u1和m2的路徑實例,代表u1和m2各自的偏好。
在推薦系統(tǒng)中,各種信息都可以被建模為G={V,E}。本文的HIN中包含兩種實體(即用戶和項目)以及它們之間的評分關系。令U?V,I?V,R?E,其中U和I分別表示用戶集和項目集,三元組〈u,i,ru,i〉表示用戶u對i的評分為ru,i。給定一個HIN,G={V,E},推薦的目標是預測一個用戶u對項目i的評分(項目i未被用戶u評分)。
本文提出的緊耦合推薦模型HTCRec如圖3所示,該模型主要由3部分組成:①對評分矩陣進行分解,生成用戶u和項目i的潛在向量xu、yi;②利用HIN獲得用戶和項目輔助信息的單一元路徑嵌入,并基于注意力機制、用戶和項目的潛在向量(xu、yi)學習用戶和項目輔助信息嵌入cu和ci;③通過用戶和項目輔助信息(cu和ci)與用戶和項目潛在向量(xu、yi)之間的相互影響,完成推薦模型HTCRec的訓練,實現(xiàn)評分預測。圖3中上方虛線框是矩陣分解和評分預測部分,下方虛線框是用戶和項目輔助信息的提取、學習部分,兩部分之間的信息進行雙向交互。
圖3 基于異構信息網(wǎng)絡嵌入的緊耦合推薦模型
矩陣分解(MF)是一種有效的協(xié)同過濾方法[4],給定由m個用戶u和n個項目i組成的原始評分矩陣R∈Rm×n,可以將其分解為低秩矩陣U∈Rm×d和V∈Rn×d,分別代表m個用戶和n個項目的潛在向量集合,d表示潛在向量的維度。潛在因子模型(LFM)是一類主要基于矩陣分解技術的算法,本文的推薦模型使用LFM作為評分預測組件,預測用戶u對項目i的評分:
(1)
式中,bu和bi分別是用戶u、項目i的偏差項,μ是全局平均評分。LFM方法的評分預測損失函數(shù)可以表示為式(2),通過最小化該損失函數(shù)可以學習到用戶u和項目i的潛在向量xu、yi。
(2)
因為用戶u和項目i的輔助信息的學習過程是相似的,本文中僅對用戶u的輔助信息嵌入生成過程進行闡述。
2.2.1 基于元路徑的嵌入
從多個元路徑中獲得路徑實例的嵌入矩陣的集合后,本文依照以下層次結構來學習輔助信息的嵌入表示:路徑實例的潛在嵌入→單一元路徑嵌入→聚合元路徑嵌入(即輔助信息的嵌入表示)。
hp=CNN(Cp;Θ)
(3)
式中,Cp為路徑實例p的矩陣,Θ為CNN中的所有相關參數(shù)。
(4)
式中的最大池化操作是針對前k個路徑實例嵌入來執(zhí)行的,它的目標是從多個路徑實例中捕獲重要的維度特性。
2.2.2 基于注意力機制的改進聚合元路徑嵌入
利用2.2.1節(jié)方法得到單一元路徑的嵌入表示后,傳統(tǒng)的元路徑聚合方法通常是使用平均池化操作來得到聚合元路徑的嵌入,具體形式如下:
(5)
式中,cu是用戶u的聚合元路徑嵌入,也是用戶u的輔助信息嵌入表示,Pu是u的所有不同的元路徑的集合。在這種傳統(tǒng)的元路徑聚合方法中,每條元路徑都受到同等的關注,元路徑的表示完全依賴于生成的路徑實例。它沒有考慮到所涉及的用戶和項目,因此缺乏在不同交互場景中從元路徑捕獲不同語義的能力。
直觀地說,用戶或者項目可能對不同元路徑有不同的偏好,如果能夠改進聚合元路徑嵌入的方法,就可以得到更有效的輔助信息的嵌入表示。受計算機視覺和自然語言處理中注意力機制的啟發(fā)[17,20],本文基于注意力機制來實現(xiàn)這一目標。通過注意力機制,用戶u的輔助信息cu的提取和學習組件的框架如圖4所示。
圖4 用戶u的輔助信息cu的提取和學習組件的框架圖
(6)
(7)
本文通過使用Softmax函數(shù)對所有元路徑上的注意力分數(shù)進行歸一化,得到不同元路徑的注意力權值:
(8)
(9)
對于項目i,其輔助信息ci的提取學習過程是相似的。
受到協(xié)同過濾(DCF)[27]框架的啟發(fā),本文將2.1節(jié)的矩陣分解部分與2.2節(jié)的輔助信息學習組件相結合,提出了一種緊耦合混合推薦模型HTCRec,利用評分矩陣和輔助信息,將矩陣分解和輔助信息的嵌入學習緊密聯(lián)系起來。
給定用戶-項目評分ru,i、用戶輔助信息cu和項目輔助信息ci,本文從評分和輔助信息中聯(lián)合學習用戶u和項目i的潛在因子,損失函數(shù)為
ζ=ζMF+ζ(u,cu)+ζ(i,ci)
(10)
(11)
(12)
(13)
為驗證HTCRec模型的有效性,本文將在兩個真實數(shù)據(jù)集(MovieLens 1m和Douban數(shù)據(jù)集)上進行實驗,并與目前常用的推薦方法進行對比分析。
MovieLens 1m數(shù)據(jù)集包含了用戶對電影的評分和一些電影的屬性信息,Douban數(shù)據(jù)集則包含用戶對電影的評分、電影屬性和一些用戶屬性。評分的范圍從1到5,評分越高意味著用戶越喜歡這部電影。兩個數(shù)據(jù)集的統(tǒng)計信息如表1所示(其中稠密度表示已有用戶-項目評分在所有用戶項目關系中的比值),網(wǎng)絡模式如圖2所示。
表1 兩個數(shù)據(jù)集的統(tǒng)計信息
本文使用均方根誤差(RMSE)和平均絕對誤差(MAE)來衡量不同模型的推薦性能,RMSE和MAE的定義如下:
(14)
(15)
式中,Dtest是評分記錄的測試集。RMSE和MAE的值越小,推薦模型的性能越好。
本文使用的對比算法如下:
(1)PMF[28],這是一個經(jīng)典的概率矩陣分解模型,僅通過顯式地將評分矩陣分解為兩個低維矩陣來進行推薦。
(2)RegSVD[4],這是采用L2正則化的基本矩陣分解,僅使用用戶-項目評分矩陣進行推薦。
(3)CDL[11],它通過使用項目的輔助信息,集成了矩陣分解和深度特征學習來提高評分預測的準確性。
(4)DCF[27],它同時使用了用戶和項目的輔助信息,集成了矩陣分解和深度特征學習來提高評分預測的準確性。
(5)HeteMF[29],這是一種基于MF的推薦方法,利用HIN中的元路徑計算出實體之間的相似度。
(6)SemRec[30],它是基于加權元路徑的推薦模型,通過元路徑的加權計算用戶相似度矩陣,并結合從不同元路徑獲得的結果進行評分預測。
(7)NeuACF[31],它先通過不同的元路徑分別提取用戶和項目的不同方面級的相似矩陣,然后將這些矩陣輸入深度神經(jīng)網(wǎng)絡學習方面級潛在因子,最后融合方面級潛在因子進行推薦。
PMF和RegSVD是傳統(tǒng)的基于矩陣分解的CF模型,僅使用了用戶-項目的歷史交互;CDL和DCF 在使用用戶-項目交互的基礎上,利用了用戶或者項目屬性充當輔助信息與矩陣分解結合;HeteMF、SemRec、NeuACF使用了HIN充當輔助信息,該類輔助信息考慮了用戶、項目屬性之間的關系。
對于兩個數(shù)據(jù)集所選擇的元路徑(見表2),本文對不同的用戶和項目分別只選擇最多四步的短元路徑,因為太長的元路徑很可能會引入噪聲語義信息[30]。在HTCRec模型中,本文采用高斯分布隨機初始化模型參數(shù),利用Adam優(yōu)化器對模型進行優(yōu)化,設置批處理大小為256,學習率為0.001,正則化參數(shù)設置為λx=λy=1、λΘu=λΘi=0.005、λb=0.000 1和λβ=0.05。此外,抽樣的路徑實例數(shù)為5。所有方法的潛在因子的維度k=10。
表2 兩個數(shù)據(jù)集選擇的元路徑
3.5.1 推薦模型性能的比較
為了比較不同數(shù)據(jù)稀疏度下的實驗結果,本文對每個數(shù)據(jù)集進行了隨機分割,分別選取其中80%、60%、40%、20%的數(shù)據(jù)用于訓練,余下的20%、40%、60%、80%數(shù)據(jù)用于測試。每個比率都重復進行5次實驗,取5次測試的平均RMSE和MAE值,結果如表3所示。從表中可以看出:
(1)HTCRec模型的推薦性能始終優(yōu)于所有對比模型。這是因為HTCRec模型采用了注意力機制和緊耦合的方式,利用了網(wǎng)絡的異構信息來提高推薦性能。此外,在訓練數(shù)據(jù)較少的情況下,該模型的優(yōu)勢更加明顯。例如,對于Douban數(shù)據(jù)集,相比于PMF模型,在訓練數(shù)據(jù)為80%的情況下,HTCRec模型的RMSE提升了6%;而在訓練數(shù)據(jù)為20%的情況下,HTCRec模型的RMSE提升了17%。
對于不同的數(shù)據(jù)集,Douban數(shù)據(jù)集的評分稀疏度比MovieLens 1m要高得多。在訓練數(shù)據(jù)為20%的情況,在MovieLens 1m 數(shù)據(jù)集中, HTCRec模型的RMSE相對于PMF提升了5%,而在Douban數(shù)據(jù)集中,HTCRec模型的RMSE相對于PMF模型提升得更高??梢?,在數(shù)據(jù)集稀疏度較高的情況下,本文提出的模型的優(yōu)越性更加顯著。這是因為訓練數(shù)據(jù)越稀疏,通過矩陣分解部分和異構信息特征提取部分的雙向交互,從輔助信息中學習的特征對稀疏評分數(shù)據(jù)的影響越大,稀疏問題解決得越明顯。
(2)基于HIN的HeteMF、SemRec、NeuACF和HTCRec模型的推薦性能優(yōu)于傳統(tǒng)的基于MF的PMF和RegSVD模型,也優(yōu)于沒有考慮屬性關系的CDL、DCF模型,這驗證了異構信息對于提高推薦模型性能的有效性。
(3)與同樣基于HIN的HeteMF、SemRec和NeuACF模型相比,HTCRec模型采用了一種更有效的方法來利用HIN改進推薦系統(tǒng),提供了更好的輔助信息提取方法。另外,在訓練數(shù)據(jù)較少的情況下,HTCRec模型的優(yōu)越性更加顯著。例如,在訓練數(shù)據(jù)為20%的情況下,在MovieLens 1m 數(shù)據(jù)集中,HTCRec模型的RMSE相比于SemRec模型提升了1.2%,而在評分稀疏度較高的Douban數(shù)據(jù)集中,HTCRec模型的RMSE相比于SemRec模型提升了9%??梢?,數(shù)據(jù)集稀疏度越高,HTCRec模型相對于對比模型的改進率越高。
表3 8種模型在兩個數(shù)據(jù)集上的實驗結果
3.5.2 注意力機制和緊耦合對模型性能的影響
為了驗證HTCRec模型中注意力機制和緊耦合方式的有效性,本文提出了HTCRec模型的兩種不同的變體HTCRec-tc(使用松耦合的方式進行推薦)和HTCRec-att(僅僅使用傳統(tǒng)的元路徑聚合方法來獲得聚合元路徑的嵌入)。
HTCRec及其兩個變體HTCRec-tc、HTCRec-att在不同數(shù)據(jù)集上的預測結果如表4所示。對于緊耦合模型HTCRec,一方面評分信息可以指導HIN從用戶或項目的輔助信息中學習特征;另一方面,HIN從輔助信息中提取的特征可以進一步提高潛在因子模型的預測能力。通過二者的雙向交互,模型HTCRec可以自動地從輔助信息中學習特征,從而平衡評分和輔助信息之間的相互影響。例如,對于Douban數(shù)據(jù)集,在訓練數(shù)據(jù)為20%的情況下,相比于HTCRec-tc模型,HTCRec模型的RMSE提升了1.6%。對于注意力機制,每個元路徑的重要性應該依賴于特定的交互,而不能平等對待,忽略這種影響可能無法充分利用不同元路徑上的語義信息。實驗結果表明,使用了注意力機制的模型能夠更好地利用聚合元路徑的嵌入進行推薦。例如,對于Douban數(shù)據(jù)集,在訓練數(shù)據(jù)為20%的情況下,相比于HTCRec-att模型,HTCRec模型的RMSE提升了2.2%。
表4 在兩個數(shù)據(jù)集上注意機制和緊耦合方式對3種模型性能的影響
3.5.3 每條元路徑的注意力權值
對于兩個實驗數(shù)據(jù)集中給定的幾條元路徑,根據(jù)式(6)-(8)可以計算其注意力權值,得到MovieLens 1m數(shù)據(jù)集中元路徑UMUM、UMTM、UMDM、MUMU、MTMU、MDMU的注意力權值分別為0.30、0.48、0.22、0.21、0.55、0.24,Douban數(shù)據(jù)集中元路徑UGUM、UMUM、UMDM、UMTM、MAMU、MDMU、MTMU、MUMU的注意力權值分別為0.16、0.11、0.38、0.35、0.35、0.12、0.38、0.15 ??梢钥闯?,每條元路徑的注意力權值各不相同。這說明獲取用戶或者項目的輔助信息嵌入表示時,需要考慮每條元路徑的不同貢獻程度,也證明了本文模型利用注意力機制聚合元路徑的合理性。
3.5.4 不同元路徑對模型的影響
為了進一步分析不同元路徑對推薦性能的影響,本實驗逐步將這些元路徑合并到所提出的推薦模型HTCRec中,并檢查推薦模型的性能變化,結果如圖5所示。從圖中可以看出,HTCRec模型的推薦性能總體上隨著元路徑的加入而提高,以用戶類型和項目類型開始的元路徑都有助于提高模型的推薦性能。同時,不同的元路徑對推薦性能有著不同的影響。從圖5中還可以發(fā)現(xiàn),當添加UMTM或MTMU時,HTCRec模型在兩個數(shù)據(jù)集上的評分預測性能有了明顯的提升,3.5.3節(jié)給出了不同元路徑的權值,這里可以看出,不同元路徑的權值會導致不同的實驗結果,元路徑權值越大,對模型性能的影響越大。但是,使用更多的元路徑并不能一直帶來推薦效果的改進,而且性能略有波動,其原因是一些元路徑可能包含有噪聲或與現(xiàn)有元路徑?jīng)_突的信息。另外,只要合并少量元數(shù)據(jù),模型就可以快速獲得相對較好的評分預測性能。這也證實了之前的發(fā)現(xiàn)[14]:少量高質量的元路徑能夠帶來較大的性能改進。因此,如前所述,可以通過選擇一些有效的元路徑來控制模型的復雜性。
圖5 逐漸添加元路徑時HTCRec模型的RMSE值的變化
3.5.5 正則化參數(shù)對模型的影響
本文將正則化參數(shù)λx和λy的值分別從0.1開始變化到10,然后觀察在MovieLens 1m數(shù)據(jù)集上HTCRec模型的RMSE值的變化:當λx分別取0.1、0.5、1.0、10.0時,HTCRec模型的RMSE分別為0.873 9、0.869 1、0.852 1、0.856 3;當λy分別取0.1、0.5、1.0、10.0時,HTCRec模型的RMSE分別為0.881 1、0.872 5、0.852 1、0.853 3??梢钥闯?,當λx或者λy為1時,評分預測的性能達到較為理想的水平。
3.5.6 潛在因子的個數(shù)對模型的影響
對于基于矩陣分解的方法,一個重要的參數(shù)是潛在因子的個數(shù)。當潛在因子個數(shù)取5、10、20、30、40時, HTCRec模型在MovieLens 1m數(shù)據(jù)集上的RMSE值分別為0.860 3、0.859 9、0.854 7、0.865 3,在Douban數(shù)據(jù)集上的RMSE值分別為0.721 3、0.715 8、0.717 5、0.735 1??梢钥闯?,潛在因子個數(shù)為10時可以獲得最好的推薦性能,這表明潛在因子個數(shù)應該設置為一個較小的數(shù)字。
本文提出了基于異構信息網(wǎng)絡的具有注意力機制的深度緊耦合推薦模型HTCRec,有效地利用了HIN中的輔助信息進行推薦。該模型首先利用評分矩陣的矩陣分解獲得用戶和項目的潛在向量,然后基于注意力機制調用并聚合元路徑及其路徑實例,將目標用戶或項目的輔助信息用各自的聚合元路徑的嵌入進行表示,最后通過顯式地將元路徑合并到緊耦合交互模型中來完成評分預測任務。實驗結果表明, HTCRec模型較其他常用推薦模型具有更好的推薦性能,有效地緩解了數(shù)據(jù)稀疏問題。本文中元路徑的選擇是手動設置的,今后可以考慮開發(fā)一種更有效的方法來自動選擇HIN中的最優(yōu)元路徑,或者進一步考慮如何處理HIN中更復雜的結構模式,如元圖。