秦倩倩,張志軍,袁衛(wèi)華,桑 勝,胡海星,王宜貴
(山東建筑大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,山東 濟(jì)南 250101)
近年來(lái),推薦系統(tǒng)在為用戶推薦個(gè)性化項(xiàng)目信息方面發(fā)揮著越來(lái)越重要的作用。基于深度學(xué)習(xí)的推薦系統(tǒng)能夠有效挖掘用戶和項(xiàng)目之間的非線性關(guān)系[1],將復(fù)雜的抽象信息編碼為更高層次的數(shù)據(jù)表達(dá),在一定程度上緩解冷啟動(dòng)問題和數(shù)據(jù)稀疏問題,實(shí)現(xiàn)高質(zhì)量的推薦。目前基于深度學(xué)習(xí)的推薦研究主要集中在同質(zhì)信息網(wǎng)絡(luò)領(lǐng)域,隨著推薦系統(tǒng)的發(fā)展,越來(lái)越多的專家和學(xué)者通過在模型中增加一些輔助信息,如位置信息[2]等,來(lái)提高推薦系統(tǒng)的性能?;诋愘|(zhì)信息網(wǎng)絡(luò)(Heterogeneous Information Networks,HIN)的推薦系統(tǒng)逐漸成為研究熱點(diǎn)。
異質(zhì)信息網(wǎng)絡(luò)通常采用元路徑[3]為對(duì)象建立關(guān)系序列,為推薦任務(wù)捕獲更豐富的語(yǔ)義信息?;诋愘|(zhì)信息網(wǎng)絡(luò)的排序模型HeteRS[4]采用多變量馬爾可夫鏈學(xué)習(xí)不同類型節(jié)點(diǎn)之間的影響,將推薦問題視為依賴于查詢的節(jié)點(diǎn)鄰近問題,建立用戶偏好模型,但傳統(tǒng)方式處理異質(zhì)信息的效率較低;FMG[5]對(duì)于每個(gè)元圖[3]產(chǎn)生的相似性,采用矩陣分解的方法生成用戶和項(xiàng)目的嵌入表達(dá),對(duì)于不同元圖的特征,采用因子分解機(jī)自動(dòng)選擇有用的特征;HERec[6]模型采用基于元路徑的隨機(jī)游走方式學(xué)習(xí)節(jié)點(diǎn)序列嵌入,并結(jié)合矩陣分解框架實(shí)現(xiàn)商品推薦,然而,這種元路徑的隨機(jī)游走方式在選擇節(jié)點(diǎn)序列時(shí)存在隨機(jī)性;MCRec[7]模型提出用戶-元路徑-項(xiàng)目的三元神經(jīng)交互模型,采用優(yōu)先級(jí)方式選擇元路徑節(jié)點(diǎn)序列,從基于元路徑的上下文中挖掘和提取重要信息;EHCF[8]是一種不采用負(fù)采樣策略的高效異質(zhì)協(xié)同過濾推薦方法,該方法可以更細(xì)粒度地建模用戶-項(xiàng)目關(guān)系并學(xué)習(xí)模型參數(shù)。以上方法利用不同的推薦方法學(xué)習(xí)用戶-項(xiàng)目之間的關(guān)系,但主要存在以下三方面不足:第一,現(xiàn)有的方法在生成用戶和項(xiàng)目的嵌入表達(dá)時(shí)未對(duì)用戶和項(xiàng)目信息進(jìn)行深層次處理;第二,在基于元路徑上下文提取元路徑交互信息時(shí),忽略了元路徑語(yǔ)義的整體性特征;第三,在用戶、項(xiàng)目和元路徑特征拼接時(shí)未考慮降低冗余信息對(duì)推薦效果的影響。針對(duì)以上不足,該文提出了融合元路徑與改進(jìn)協(xié)同注意力的推薦模型MICA,該模型主要包括基于k-最大池化的協(xié)同注意力模塊、基于元路徑上下文的交互模塊、基于注意力的特征拼接模塊和輸出模塊。主要工作如下:
(1)在基于k-最大池化的協(xié)同注意力模塊中,MICA以用戶和項(xiàng)目相互增強(qiáng)的方式區(qū)分用戶和項(xiàng)目的重要性,基于k-最大池化計(jì)算鄰居注意力特征向量得到用戶和項(xiàng)目協(xié)同注意力嵌入表達(dá),緩解了最大池化操作在協(xié)同注意力機(jī)制中帶來(lái)的特征信息丟失問題。
(2)在基于元路徑上下文的交互模塊中,元路徑信息經(jīng)過CNN(Convolutional Neural Network)處理,提取路徑序列顯著性特征和路徑序列完整性特征,通過注意力機(jī)制學(xué)習(xí)用戶和項(xiàng)目在元路徑交互中的重要性,得到基于注意力的元路徑上下文嵌入表達(dá),克服了元路徑最大池化操作抽取特征不充分的問題。
(3)基于注意力的特征拼接模塊從用戶、項(xiàng)目協(xié)同注意力嵌入表達(dá),元路徑上下文嵌入表達(dá)中計(jì)算注意力權(quán)重區(qū)分重要特征,降低冗余特征對(duì)推薦系統(tǒng)性能的影響。
在兩個(gè)真實(shí)的數(shù)據(jù)集上進(jìn)行了大量實(shí)驗(yàn)。實(shí)驗(yàn)結(jié)果表明,與其他基準(zhǔn)模型相比,MICA具有較好的推薦效果,證明了模型結(jié)合用戶、項(xiàng)目協(xié)同注意力表達(dá)及元路徑上下文表達(dá)實(shí)現(xiàn)top-N推薦的有效性。
在基于深度學(xué)習(xí)的推薦算法中,He等人[9]提出了一個(gè)基于深度神經(jīng)網(wǎng)絡(luò)的協(xié)同過濾框架NCF,該框架結(jié)合矩陣分解和多層感知機(jī)建模用戶和項(xiàng)目之間的復(fù)雜交互;Guo等人[10]提出的DeepFM模型用因子分解機(jī)學(xué)習(xí)特征間的低階特性,用深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)特征間的高階組合;神經(jīng)圖協(xié)同過濾推薦框架NGCF[11]利用用戶-項(xiàng)目圖結(jié)構(gòu)傳播嵌入,構(gòu)建高階關(guān)系。以上方法進(jìn)一步證明了深度學(xué)習(xí)在推薦領(lǐng)域中的重要性。
由于注意力機(jī)制的優(yōu)點(diǎn),許多工作[1,12]開始將注意力機(jī)制引入到推薦中。Yuan等人[12]提出了一種基于注意力機(jī)制的上下文感知順序推薦模型ACA-GRU,利用注意力機(jī)制區(qū)分評(píng)分序列中每個(gè)項(xiàng)目的重要性;Duan等人[13]提出了一個(gè)雙注意力自編碼器的推薦模型,同時(shí)提取用戶和項(xiàng)目的重要信息,并將自編碼器與概率矩陣分解相結(jié)合,利用深度學(xué)習(xí)提高推薦效果;鄭誠(chéng)等人[14]將評(píng)分信息分別送入基于自編碼器的協(xié)同過濾模型和融合了注意力機(jī)制的協(xié)同過濾模型中,不僅可以挖掘用戶的整體偏好,而且還可以挖掘物品之間的局部依賴信息。以上方法利用注意力機(jī)制的優(yōu)點(diǎn),提取不同方面的重要特征信息用于推薦。
盡管上述工作在推薦系統(tǒng)領(lǐng)域取得了不錯(cuò)的效果,但其都是基于同質(zhì)信息網(wǎng)絡(luò),而現(xiàn)實(shí)生活中大多事物是由多種類型的節(jié)點(diǎn)和邊組成,因此,異質(zhì)信息網(wǎng)絡(luò)成為目前研究的熱點(diǎn)。
目前,基于異質(zhì)信息網(wǎng)絡(luò)的方法通過計(jì)算元路徑相似性學(xué)習(xí)用戶和項(xiàng)目的表達(dá)。Sun等人[15]提出了PathSim方法來(lái)評(píng)估異質(zhì)信息網(wǎng)絡(luò)中基于對(duì)稱路徑的相同類型對(duì)象間的相似性,但其計(jì)算較為復(fù)雜;Tao等人[16]提出了一種基于半對(duì)稱加權(quán)元路徑的相似性度量方法PW-PathSim,計(jì)算兩個(gè)實(shí)體間的相關(guān)性,并將用戶和項(xiàng)目的相似性與矩陣分解相結(jié)合進(jìn)行推薦;張杰等人[17]采用隨機(jī)游走學(xué)習(xí)對(duì)稱元路徑中用戶的偏好,采用注意力機(jī)制融合偏好權(quán)重,并將其集成到矩陣分解中。這些基于路徑相似性的方法都取得了不錯(cuò)的效果,但這些方法不適用于不采用對(duì)稱路徑的網(wǎng)絡(luò)中。
Metapath2vec[18]針對(duì)不同類型的節(jié)點(diǎn)隨機(jī)游走以得到更充分的語(yǔ)義關(guān)系;Wang等人[19]假設(shè)用戶或項(xiàng)目在不同元路徑下有共同特征,利用所有元路徑學(xué)習(xí)統(tǒng)一的用戶和項(xiàng)目表達(dá);Yan等人[20]使用了輔助信息將標(biāo)簽信息整合到推薦中,但該方法忽略了節(jié)點(diǎn)的異質(zhì)性;趙金龍等人[21]提出了保持語(yǔ)義關(guān)系與結(jié)構(gòu)拓?fù)涞漠愘|(zhì)信息網(wǎng)絡(luò)表示方法,設(shè)計(jì)了基于元路徑的隨機(jī)游走策略獲取異質(zhì)信息網(wǎng)絡(luò)中的節(jié)點(diǎn)序列;Hu等人[22]采用了協(xié)同注意力機(jī)制學(xué)習(xí)用戶和項(xiàng)目的重要特征信息,但其最大池化操作會(huì)丟失部分重要特征信息。以上基于異質(zhì)信息網(wǎng)絡(luò)的推薦方法在用戶和項(xiàng)目交互中往往只關(guān)注最重要的特征,如使用最大池化操作,這會(huì)帶來(lái)部分重要信息丟失問題,限制了推薦系統(tǒng)性能的提升。
MICA的模型結(jié)構(gòu)如圖1所示,模型由基于k-最大池化的協(xié)同注意力模塊、基于元路徑上下文的交互模塊、基于注意力的特征拼接模塊和輸出模塊四部分組成?;趉-最大池化的協(xié)同注意力模塊先通過查找層得到低維稠密向量,再經(jīng)過多層感知機(jī)MLP(Multi-Layer Perceptron)學(xué)習(xí)用戶和項(xiàng)目的抽象特征,計(jì)算用戶-項(xiàng)目協(xié)同注意力矩陣,然后結(jié)合k-最大池化與協(xié)同注意力機(jī)制分別提取前k個(gè)項(xiàng)目和用戶的重要信息,以便最大程度地獲取鄰居信息,最后得到用戶和項(xiàng)目嵌入表達(dá)?;谠窂缴舷挛牡慕换ツK首先將數(shù)據(jù)集中的4類路徑通過SVDFeature[23]路徑采樣,然后將采樣得到的元路徑實(shí)體節(jié)點(diǎn)序列輸入到CNN中提取路徑特征,利用最大池化和平均池化操作計(jì)算路徑序列顯著性特征和路徑序列完整性特征,最后通過兩層注意力網(wǎng)絡(luò)生成路徑嵌入表達(dá)?;谧⒁饬Φ奶卣髌唇幽K將用戶和項(xiàng)目協(xié)同注意力嵌入表達(dá)與元路徑上下文嵌入表達(dá)進(jìn)行拼接,通過注意力機(jī)制提取重要特征抑制噪聲,最終通過輸出模塊實(shí)現(xiàn)top-N推薦。
圖1 MICA的整體框架
表1總結(jié)了文中用到的主要符號(hào)及其含義。
表1 文中用到的主要符號(hào)
2.2.1 基于k-最大池化的協(xié)同注意力模塊
用戶和項(xiàng)目的原始嵌入。對(duì)于每個(gè)用戶u和項(xiàng)目v,建立查找層轉(zhuǎn)換成低維的稠密向量,即pu∈RLu×1和qv∈RLv×1,Lu表示與用戶具有交互關(guān)系的項(xiàng)目數(shù),Lv表示與項(xiàng)目具有交互關(guān)系的用戶數(shù)。該層對(duì)應(yīng)了兩個(gè)參數(shù)矩陣,即P∈R|u|×d和Q∈R|v|×d,d表示嵌入表達(dá)維度,|u|和|v|分別表示用戶u和項(xiàng)目v的總數(shù)目。因此,用戶和項(xiàng)目的原始嵌入信息表示為矩陣:
Uu=Look-up(P,pu)
(1)
Vv=Look-up(Q,qv)
(2)
其中,Uu∈Rd×Lu和Vv∈Rd×Lv分別對(duì)應(yīng)圖1中用戶和項(xiàng)目的原始嵌入。
基于k-最大池化的協(xié)同注意力機(jī)制。在與用戶具有交互關(guān)系的項(xiàng)目列表中,每個(gè)項(xiàng)目對(duì)該用戶最終推薦的作用并不是相同的,與項(xiàng)目具有交互關(guān)系的用戶列表亦是如此,因此,文中采用協(xié)同注意力機(jī)制[22],以相互增強(qiáng)的方式選擇較為重要的項(xiàng)目和用戶。對(duì)于給定Uu和Vv,計(jì)算其協(xié)同注意力矩陣M∈RLu×Lv,M中的每一項(xiàng)Mi,j由用戶、注意力矩陣A和與該用戶具有交互關(guān)系的項(xiàng)目共同確定。Mi,j按照如下公式計(jì)算:
(3)
(4)
(5)
使用最大池化抽取顯著性鄰居特征會(huì)帶來(lái)部分重要特征丟失的問題,因此,對(duì)于協(xié)同注意力矩陣M,文中定義k-最大池化操作,采用最大池化抽取矩陣M第i行的前k個(gè)最大元素,得到用戶的鄰居注意力特征向量aui,同樣,抽取矩陣M第j列的前k個(gè)最大元素,得到項(xiàng)目的鄰居注意力特征向量avj,公式計(jì)算如下:
(6)
(7)
(8)
(9)
uu=Uuau
(10)
vv=Vvav
(11)
其中,aui和avj分別表示用戶u的第i個(gè)鄰居注意力特征向量,項(xiàng)目v的第j個(gè)鄰居注意力權(quán)重向量,通過公式(8)和(9)定義的歸一化操作分別得到用戶u和項(xiàng)目v的鄰居注意力特征表達(dá)au∈RLu×1和av∈R1×Lv,基于公式(10)和(11)篩選用戶u和項(xiàng)目v的協(xié)同注意力嵌入表達(dá)uu∈R1×d,vv∈R1×d。
2.2.2 基于元路徑上下文的交互模塊
基于元路徑上下文的交互模塊包括路徑節(jié)點(diǎn)序列采樣、元路徑表達(dá)和基于注意力的元路徑上下文嵌入表達(dá)。
路徑節(jié)點(diǎn)序列采樣。同MCRec[7],文中采用SVDFeature采樣策略。對(duì)于給定的元路徑(如UMUM),該元路徑對(duì)應(yīng)多條路徑節(jié)點(diǎn)序列,如u1-m2-u2-m1,…,ui′-m1-u2-mj′。以u(píng)1-m2-u2-m1為例,計(jì)算出u1與m2、m2與u2以及u2與m1的兩兩相似性,對(duì)相似性求平均,根據(jù)平均相似性對(duì)所有的候選路徑節(jié)點(diǎn)序列排序,保留平均相似性最高的K個(gè)路徑節(jié)點(diǎn)序列,文中在3.2.2節(jié)中對(duì)參數(shù)K進(jìn)行了實(shí)驗(yàn)分析。
元路徑表達(dá)。將采樣得到的路徑節(jié)點(diǎn)序列送入CNN進(jìn)行特征提取,CNN由卷積層和池化層組成,卷積層通過卷積運(yùn)算可以產(chǎn)生新的特征,池化層可以分別抽取最大特征和平均特征,能夠有效得到其對(duì)應(yīng)的路徑節(jié)點(diǎn)序列表達(dá)。對(duì)于元路徑ρ,其路徑節(jié)點(diǎn)序列為p,采用CNN學(xué)習(xí)其嵌入表達(dá)hp:
hp=f(Conv1D(W,Cp,″valid″)+d)
(12)
元路徑的節(jié)點(diǎn)序列經(jīng)過CNN處理后,其特征映射中的神經(jīng)元個(gè)數(shù)并沒有顯著減少,因此需要進(jìn)一步抽取特征,降低特征維度。為了抽取路徑序列表達(dá)中的顯著特征,文中采用最大池化計(jì)算其重要維度特征;同時(shí),為了保證元路徑語(yǔ)義特征的完整性,采用平均池化來(lái)保留路徑序列的整體性特征。通過提取路徑序列顯著性特征和完整性特征,既能得到元路徑最重要的語(yǔ)義信息,又能夠保留整體語(yǔ)義信息,通過增加元路徑語(yǔ)義信息量來(lái)提高上下文表達(dá),緩解文獻(xiàn)[7]中只采用最大池化操作帶來(lái)的語(yǔ)義丟失問題。
元路徑ρ的最終表達(dá)cρ計(jì)算如下所示:
(13)
(14)
(15)
基于注意力的元路徑上下文嵌入表達(dá)。每種元路徑所體現(xiàn)的語(yǔ)義不同,用戶對(duì)不同的元路徑有不同的偏好,因此,通過注意力機(jī)制學(xué)習(xí)用戶和項(xiàng)目在元路徑交互的重要性。文中采用兩層架構(gòu)實(shí)現(xiàn)注意力機(jī)制,利用softmax歸一化得到注意力權(quán)重aρ,將其與元路徑的嵌入cρ相乘計(jì)算加權(quán)和得到基于注意力的元路徑上下文嵌入表達(dá)cu→v,計(jì)算如下所示:
(16)
(17)
(18)
2.2.3 基于注意力的特征拼接模塊
將用戶和項(xiàng)目的協(xié)同注意力嵌入表達(dá)uu、vv和元路徑上下文嵌入表達(dá)cu→v進(jìn)行拼接,如公式(19)所示:
hu,v=uu⊕vv⊕cu→v
(19)
其中,⊕表示向量的拼接操作。通過拼接操作得到的hu,v會(huì)存在一些冗余信息,為了提高推薦精度,文中采用注意力機(jī)制進(jìn)行特征區(qū)分,其過程如下所示:
za=f(W(2)f(W(1)hu,v+b(1))+b(2))
(20)
αu,v=softmax(za)
(21)
zu,v=hu,vαu,v
(22)
其中,hu,v∈R1×3d為拼接后的嵌入,W(1)∈R3d×d和b(1)∈Rd×1為第一層的權(quán)重矩陣和偏置項(xiàng),W(2)∈Rd×1和b(2)∈R1×1為第二層的權(quán)重矩陣和偏置項(xiàng)。
2.2.4 輸出模塊
(23)
其中,激活函數(shù)采用ReLU,輸入為zu,v∈R1×3d,W(1)∈R3d×d和b(1)∈Rd×1分別為第一層的權(quán)重矩陣和偏置項(xiàng),W(2)∈Rd×1和b(2)∈R1×1分別為第二層的權(quán)重矩陣和偏置項(xiàng)。
使用隱式反饋計(jì)算損失函數(shù),借鑒文獻(xiàn)[7,9],通過負(fù)采樣技術(shù)來(lái)學(xué)習(xí)該模型的參數(shù),讓每個(gè)訓(xùn)練樣本只修改一小部分權(quán)重而不是全部權(quán)重,所以,交互(u,v)的優(yōu)化目標(biāo)如下所示:
(24)
其中,第一項(xiàng)和第二項(xiàng)建模了觀察到的交互和從噪聲分布Pneg抽樣得到的負(fù)樣本。Pneg設(shè)置為均勻分布。
3.1.1 數(shù)據(jù)集
該文分別在Movielens和Yelp數(shù)據(jù)集上評(píng)估了MICA模型的有效性。Movielens被廣泛應(yīng)用于評(píng)估協(xié)同過濾算法,將評(píng)分視為用戶與項(xiàng)目之間的一次交互;Yelp是一個(gè)商業(yè)數(shù)據(jù)集,它包含用戶對(duì)業(yè)務(wù)的評(píng)分以及業(yè)務(wù)的相關(guān)信息。這兩個(gè)數(shù)據(jù)集的詳細(xì)描述如表2所示,表中第3-5列分別表示實(shí)體A、實(shí)體B和兩個(gè)實(shí)體之間交互的數(shù)量,表中第6列和第7列分別表示使用的元路徑及其語(yǔ)義描述。其中,元路徑語(yǔ)義描述中的字母是為了方便區(qū)分。
表2 數(shù)據(jù)集描述
3.1.2 評(píng)價(jià)指標(biāo)和參數(shù)設(shè)置
(1)評(píng)價(jià)指標(biāo)。
采用留一法來(lái)評(píng)價(jià)推薦性能[9],對(duì)于每個(gè)數(shù)據(jù)集,隨機(jī)選擇80%的數(shù)據(jù)作為訓(xùn)練集,剩余20%作為測(cè)試集。對(duì)于測(cè)試集中的每一個(gè)正樣本,隨機(jī)抽取100個(gè)與目標(biāo)用戶沒有交互記錄的負(fù)樣本。評(píng)價(jià)指標(biāo)采用準(zhǔn)確率(Prec@N)、召回率(Recall@N)和歸一化折損累計(jì)增益(NDCG@N),這些指標(biāo)值越大,效果越好。
(2)參數(shù)設(shè)置。
使用Adam算法優(yōu)化模型,設(shè)置學(xué)習(xí)率lr的取值集合為[0.000 1,0.000 5,0.001,0.005],dropout的取值集合為[0.1,0.3,0.5,0.7,0.9],用戶和項(xiàng)目嵌入維度的取值集合為[64,128,256,512],k-最大池化中k的范圍為[1,10],路徑節(jié)點(diǎn)序列個(gè)數(shù)K的取值集合為[1, 3, 5, 7, 9]。最后學(xué)習(xí)率設(shè)置為0.001,dropout設(shè)置為0.5,CNN的卷積核大小kernel_size設(shè)置為3,用戶和項(xiàng)目的嵌入維度latent_dim設(shè)置為256,k-最大池化中的參數(shù)k設(shè)置為7,路徑節(jié)點(diǎn)序列個(gè)數(shù)K設(shè)置為5。
3.1.3 基準(zhǔn)模型
選用的基準(zhǔn)模型如下所示:
BPR[24]:這是經(jīng)典的貝葉斯個(gè)性化排序模型,該模型采用最小化隱式反饋成對(duì)排序損失,實(shí)現(xiàn)top-N推薦。
MF[25]:這是一種標(biāo)準(zhǔn)的矩陣分解方法,為了實(shí)現(xiàn)top-N推薦,文中用交叉熵?fù)p失來(lái)代替原本的損失函數(shù)。
NeuMF[9]:這是僅使用隱式反饋的top-N推薦神經(jīng)網(wǎng)絡(luò)方法,該方法由廣義矩陣分解和多層感知機(jī)組成。
NGCF[11]:這是一種神經(jīng)圖協(xié)同過濾推薦框架,該框架利用用戶-項(xiàng)目的圖結(jié)構(gòu)建模高階關(guān)系。
SVDFeaturemp:SVDFeature[23]是一種基于特征的矩陣分解模型。該變體利用Metapath2vec++[18]提取用戶和商品的節(jié)點(diǎn)表達(dá)作為SVDFeature的特征,應(yīng)用隨機(jī)游走策略和skip-gram,采用非均勻負(fù)采樣技術(shù)進(jìn)行優(yōu)化。
HeteRS[4]:這是一種基于異質(zhì)信息網(wǎng)絡(luò)的排序方法,它采用多變量馬爾可夫鏈建模用戶偏好,但未考慮用戶和項(xiàng)目的重要特征。
FMGrank:FMG[5]是一種基于異質(zhì)信息網(wǎng)絡(luò)的評(píng)分預(yù)測(cè)模型,利用MF方法生成用戶和項(xiàng)目的嵌入表達(dá),利用FM方法自動(dòng)選擇有效元圖,文中將其優(yōu)化目標(biāo)修改為成對(duì)排序損失以實(shí)現(xiàn)top-N推薦。
MCRec[7]:這是一種基于元路徑的三元神經(jīng)交互模型,能夠?qū)W習(xí)用戶、物品和基于元路徑上下文的有效表達(dá)。
LGRec[22]:這是一種融合局部信息和全局信息的異質(zhì)信息網(wǎng)絡(luò)推薦方法,利用協(xié)同注意力機(jī)制分別為用戶和項(xiàng)目建模局部信息,通過多標(biāo)簽分類問題學(xué)習(xí)用戶和項(xiàng)目的關(guān)系表示。
EHCF[8]:這是一種不使用負(fù)采樣的高效協(xié)同過濾推薦方法,可以更細(xì)粒度地建模用戶-項(xiàng)目關(guān)系。
3.2.1 不同方法的性能比較
MICA在兩個(gè)數(shù)據(jù)集上與其他模型的性能比較如表3所示,實(shí)驗(yàn)結(jié)果表明:
表3 不同方法在兩個(gè)數(shù)據(jù)集上的性能比較
(1)MICA在兩個(gè)數(shù)據(jù)集上性能均優(yōu)于其他基準(zhǔn)模型,這說明在異質(zhì)信息網(wǎng)絡(luò)中,基于k-最大池化的協(xié)同注意力機(jī)制結(jié)合提取路徑序列顯著性特征和完整性特征得到的元路徑上下文嵌入表達(dá)能夠提升推薦系統(tǒng)性能,表明所提模型的有效性。
(2)對(duì)比基于協(xié)同過濾和基于異質(zhì)信息網(wǎng)絡(luò)這兩類方法,大多數(shù)基于異質(zhì)信息網(wǎng)絡(luò)的方法(SVDFeaturemp、FMGrank和MCRec)優(yōu)于基于協(xié)同過濾的方法(BPR和MF),這說明異質(zhì)信息網(wǎng)絡(luò)能更有效地提取特征信息。
另外,NeuMF和NGCF在基于協(xié)同過濾方法中效果較好,這說明采用深度學(xué)習(xí)算法可以提高推薦效果。
(3)在基于異質(zhì)信息網(wǎng)絡(luò)的方法中,EHCF效果最好,MCRec和LGRec模型次之,這表明基于元路徑的上下文信息在推薦中能夠挖掘更豐富的語(yǔ)義信息;FMGrank性能僅次于MCRec與LGRec模型,但優(yōu)于SVDFeaturemp,這表明元圖在捕獲元路徑語(yǔ)義關(guān)系方面的有效性;MICA優(yōu)于EHCF,證明在異質(zhì)信息網(wǎng)絡(luò)中,采用深度學(xué)習(xí)方法優(yōu)于傳統(tǒng)協(xié)同過濾方法。
3.2.2 參數(shù)對(duì)模型性能的影響
為了驗(yàn)證參數(shù)對(duì)模型的影響,選擇三個(gè)關(guān)鍵參數(shù),即用戶和項(xiàng)目的嵌入維度、k-最大池化的參數(shù)k和路徑節(jié)點(diǎn)序列個(gè)數(shù)K,實(shí)驗(yàn)結(jié)果如圖2所示。對(duì)于圖2(a),隨著用戶和項(xiàng)目的嵌入維度不斷增大,性能越來(lái)越好,當(dāng)嵌入維度為256時(shí),性能最優(yōu),但當(dāng)維度為512時(shí),效果下降,這說明嵌入維度過小或過大會(huì)帶來(lái)欠擬合和過擬合的問題。對(duì)于圖2(b),k為7時(shí)效果較好,這說明抽取用戶和項(xiàng)目的前k個(gè)鄰居信息的可行性,不僅可以保留鄰居的重要信息,還可以有效減少信息丟失,在數(shù)據(jù)集Movielens上表現(xiàn)出的效果較為顯著。對(duì)于圖2(c),當(dāng)K為5時(shí),模型取得的效果最優(yōu),這說明當(dāng)路徑節(jié)點(diǎn)序列K為1或3時(shí),依據(jù)相似性排序得到的路徑節(jié)點(diǎn)序列個(gè)數(shù)相對(duì)較少,無(wú)法充分挖掘節(jié)點(diǎn)序列信息;當(dāng)K為7或9時(shí),隨著序列個(gè)數(shù)的增多,序列的相似性會(huì)依次降低,而相似性低的序列可能會(huì)引入不必要的噪聲,降低模型效果。因此,MICA選取用戶和項(xiàng)目的嵌入維度為256、k-最大池化參數(shù)為7和路徑節(jié)點(diǎn)序列K為5作為最終的參數(shù)值。
圖2 參數(shù)對(duì)MICA的影響
3.2.3 消融實(shí)驗(yàn)
為了證明MICA各模塊的有效性,設(shè)置了5個(gè)變體模型:
(1)no_kcoatt:MICA的協(xié)同注意力機(jī)制未使用基于k-最大池化操作;
(2)no_avg&max:基于元路徑上下文的交互模塊中未使用平均池化和最大池化;
(3)no_avg:基于元路徑上下文的交互模塊中使用了最大池化,但未使用平均池化;
(4)no_max:基于元路徑上下文的交互模塊中使用了平均池化,但未使用最大池化;
(5)no_att:基于注意力的特征拼接模塊中未使用注意力機(jī)制。
從圖3可以看出,各個(gè)模型的性能排序?yàn)椋篗ICA>no_att>no_kcoatt>no_avg>no_max>no_avg&max,從比較結(jié)果可以看出,在兩個(gè)數(shù)據(jù)集中,MICA可以提高推薦效果。首先,采用基于k-最大池化的協(xié)同注意力機(jī)制以相互增強(qiáng)的方式分別得到用戶和項(xiàng)目的鄰居注意力特征表達(dá);其次,在卷積層之后采用平均池化進(jìn)行路徑序列完整性特征提取(no_max)效果不如路徑序列顯著性特征提取(no_avg)模型,但結(jié)合平均池化與最大池化(no_kcoatt),既可以保留顯著性特征,也可以保留完整性特征,提高了推薦性能;最后,使用基于注意力的特征拼接模塊(MICA)性能優(yōu)于不使用注意力機(jī)制的對(duì)應(yīng)模塊(no_att),這表明拼接之后存在冗余特征,利用注意力機(jī)制可以篩選重要特征信息。
圖3 各個(gè)變體與MICA的性能對(duì)比
3.2.4 不同模型中不同dropout值的影響
MCRec和MICA在不同dropout取值時(shí)的對(duì)比結(jié)果如圖4所示。從圖中可以看出,MICA表現(xiàn)出較好的效果,在Yelp數(shù)據(jù)集中尤為明顯。當(dāng)dropout為0.5時(shí),MCRec和MICA都表現(xiàn)出較好的效果,當(dāng)dropout為0.3和0.7時(shí),推薦性能次之,而0.1和0.9時(shí)效果最差,這說明隨機(jī)丟棄的神經(jīng)元過少或過多會(huì)帶來(lái)過擬合和欠擬合問題,影響推薦效果。
圖4 不同dropout取值在MCRec和MICA中Prec@10的對(duì)比
3.2.5 不同元路徑的影響
為了分析異質(zhì)信息網(wǎng)絡(luò)中不同元路徑對(duì)最終推薦性能的影響,以NeuMF模型為基準(zhǔn)模型(該模型是不含異質(zhì)信息的神經(jīng)協(xié)同過濾模型),在兩個(gè)數(shù)據(jù)集中逐步加入元路徑,結(jié)果如圖5所示。
圖5 不斷加入元路徑時(shí),MICA的性能變化
從圖中可以看出,未加入元路徑時(shí)NeuMF在Prec@10指標(biāo)表現(xiàn)優(yōu)于MICA,當(dāng)不斷加入元路徑時(shí),MICA的性能逐漸提高,這說明有效利用異質(zhì)信息網(wǎng)絡(luò)元路徑可以融入更多上下文信息,提高推薦效果。此外,加入不同元路徑對(duì)MICA性能提升幅度不同,這說明不同元路徑表達(dá)的語(yǔ)義信息不同,比如,在Movielens數(shù)據(jù)集中,添加元路徑UMTM時(shí),可以看到模型的性能有明顯的提升,而在Yelp數(shù)據(jù)集中,添加元路徑UBCaB和UBCiB效果提升較為顯著。
針對(duì)現(xiàn)有模型的不足,提出了一種融合元路徑與改進(jìn)協(xié)同注意力的推薦模型,為了使模型達(dá)到最優(yōu)的效果,提出了基于k-最大池化的協(xié)同注意力機(jī)制,有效避免了信息丟失;提出了同時(shí)提取路徑序列顯著性特征和完整性特征保留元路徑語(yǔ)義信息,并利用注意力機(jī)制有效緩解用戶、項(xiàng)目和元路徑拼接帶來(lái)的特征冗余問題,提高推薦性能。
由于選擇元路徑需要一定的經(jīng)驗(yàn)知識(shí),目前在異質(zhì)信息網(wǎng)絡(luò)中選擇元路徑仍需手動(dòng)選擇,所以,未來(lái)將考慮如何自動(dòng)選擇元路徑,從而更加擬合現(xiàn)有模型。