易 明,劉 明,馮翠翠
(華中師范大學(xué)信息管理學(xué)院,武漢 430079)
當(dāng)前,個性化推薦的應(yīng)用主要局限在單一領(lǐng)域,即:根據(jù)某一領(lǐng)域(如圖書領(lǐng)域、音樂領(lǐng)域等)的用戶數(shù)據(jù)獲取其興趣偏好,并據(jù)此開展面向該領(lǐng)域的個性化推薦。然而,單一領(lǐng)域的個性化推薦不可避免地受到數(shù)據(jù)“稀疏性”和用戶“冷啟動”等問題的影響。事實上,很多互聯(lián)網(wǎng)平臺所涉及的領(lǐng)域是多樣化的。以豆瓣網(wǎng)為例,它同時涉及書籍、電影、音樂等多個領(lǐng)域,由此會產(chǎn)生不同領(lǐng)域的用戶數(shù)據(jù)。不同領(lǐng)域的用戶數(shù)據(jù)并不都是隨機的,可能會蘊含著許多潛在的模式,例如,喜歡推理類圖書的用戶,可能也對推理類電影非常感興趣。這種在不同領(lǐng)域內(nèi)具有潛在相似的模式使得跨領(lǐng)域推薦成為可能。所謂跨領(lǐng)域推薦就是利用源領(lǐng)域的用戶數(shù)據(jù)實現(xiàn)目標(biāo)領(lǐng)域的個性化推薦,其本質(zhì)就是將源領(lǐng)域已有的知識遷移到目標(biāo)領(lǐng)域,一方面可以緩解目標(biāo)領(lǐng)域數(shù)據(jù)“稀疏性”、用戶“冷啟動”等問題,另一方面可以構(gòu)建更為優(yōu)化的推薦模型?,F(xiàn)有的大部分跨領(lǐng)域推薦的工作都只使用了用戶對物品的評分信息。在領(lǐng)域評分?jǐn)?shù)據(jù)高度稀疏的情況下,僅利用評分信息無法有效識別用戶的真實興趣偏好,尤其是在領(lǐng)域內(nèi)用戶完全沒有數(shù)據(jù)的情況下,很可能導(dǎo)致跨領(lǐng)域推薦知識遷移的偏差以及“負(fù)遷移”的狀況。除了評分信息以外,現(xiàn)實世界還存在大量的物品特征信息,利用這些特征信息可以捕捉用戶高階的潛在偏好,進而提高跨領(lǐng)域推薦中知識遷移的效果。然而,這種復(fù)雜的高階特征關(guān)系往往難以建模??紤]到異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)可以將領(lǐng)域內(nèi)的各種實體映射為低維稠密的向量進行輸出,且能夠捕捉到這種高階相似,對跨領(lǐng)域推薦中知識遷移具有較好的適用性,因此,本文試圖將異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)與跨領(lǐng)域推薦有機融合,并開展相應(yīng)的研究探索。本文的主要貢獻如下:
(1)優(yōu)化了聯(lián)合矩陣分解。傳統(tǒng)的聯(lián)合矩陣分解在跨領(lǐng)域推薦場景中共享了用戶的潛在因子,導(dǎo)致提取到的用戶特征沒有體現(xiàn)出充分的領(lǐng)域性,從而出現(xiàn)“負(fù)遷移”,為此本文利用神經(jīng)網(wǎng)絡(luò)實現(xiàn)聯(lián)合矩陣分解,通過“映射函數(shù)”將用戶特征映射到不同領(lǐng)域,體現(xiàn)領(lǐng)域間的差異性。
(2)提出了一種新的跨領(lǐng)域推薦方法。該方法同時利用評分信息和特征信息,在神經(jīng)網(wǎng)絡(luò)優(yōu)化聯(lián)合矩陣分解的基礎(chǔ)上,融合了異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)的高階特征,從而達到充分利用領(lǐng)域知識的目的,有效緩解了單領(lǐng)域推薦中存在的數(shù)據(jù)“稀疏性”和用戶“冷啟動”問題。
跨領(lǐng)域推薦的實質(zhì)就是借助源領(lǐng)域用戶數(shù)據(jù)優(yōu)化目標(biāo)領(lǐng)域的推薦性能。從目前的研究現(xiàn)狀來看,具體的優(yōu)化路徑主要包括緩解數(shù)據(jù)“稀疏性”和用戶“冷啟動”兩個方面。
在緩解數(shù)據(jù)“稀疏性”問題方面,Berkovsky等[1-2]將多個領(lǐng)域的評分矩陣直接合并,從而在推薦過程中引入了更多的領(lǐng)域信息,進而利用協(xié)同過濾完成跨領(lǐng)域推薦;Li 等[3]對源領(lǐng)域用戶和物品分別進行聚類,通過引入“密碼書”形成聚類后的“濃縮矩陣”,由此將源領(lǐng)域的知識遷移到數(shù)據(jù)稀疏的目標(biāo)領(lǐng)域;Singh 等[4]提出了將相關(guān)聯(lián)的矩陣進行聯(lián)合分解的方法,從而使矩陣分解適用于跨領(lǐng)域推薦,通過聯(lián)合矩陣分解獲取不同領(lǐng)域間的潛在特征,有助于解決目標(biāo)領(lǐng)域的數(shù)據(jù)“稀疏性”;陳文珺等[5]利用領(lǐng)域中的用戶-物品評分矩陣,分別對多領(lǐng)域用戶和物品進行潛在特征提取,并將用戶-物品特征向量分別進行特征聚類,同時對多領(lǐng)域特征矩陣進行領(lǐng)域適應(yīng)融合,得到共享知識模型并進行遷移學(xué)習(xí),提高了目標(biāo)領(lǐng)域推薦性能;Zhu 等[6]提出了一種基于遷移學(xué)習(xí)和深度學(xué)習(xí)的跨領(lǐng)域推薦方法,在評分矩陣分解的基礎(chǔ)上利用深度學(xué)習(xí)映射不同域的特征,并用域內(nèi)評分稀疏性指導(dǎo)參數(shù)的學(xué)習(xí);Gao 等[7]將注意力機制引入跨領(lǐng)域推薦,以項目級注意力層和域級注意力層區(qū)分不同項目以及領(lǐng)域的重要性;Hu 等[8]和 He 等[9]提出的 CoNet(cross networks) 利 用 NCF (neural collaborative filtering)組成三個隱層和兩個交叉單元,其中NCF 是矩陣分解在神經(jīng)網(wǎng)絡(luò)上的廣義擴展,因此,CoNet 充分利用了用戶和物品之間的非線性交互關(guān)系;Vijaiku‐mar 等[10]改進了 CMF (collective matrix factorization),并用堆棧自編碼器優(yōu)化領(lǐng)域內(nèi)用戶和物品的特征表示,使模型同時具有矩陣分解和深度學(xué)習(xí)的優(yōu)點。
在緩解用戶“冷啟動”問題方面,Kazama 等[11]通過構(gòu)建用戶對物品的評分網(wǎng)絡(luò),利用word2vec 得到不同領(lǐng)域用戶的特征向量,然后學(xué)習(xí)一個線性映射函數(shù)將源領(lǐng)域用戶特征映射到目標(biāo)領(lǐng)域,從而可以完成目標(biāo)領(lǐng)域“冷啟動”用戶的推薦;Man 等[12]提出的 EMCDR (embedding and mapping framework for cross-domain recommendation) 算法通過評分矩陣進行矩陣分解得到特征向量,進而利用多層感知機學(xué)習(xí)了重疊數(shù)據(jù)的非線性映射,取得了比之前線性映射更好的效果。
由上文不難發(fā)現(xiàn),目前大多數(shù)跨領(lǐng)域推薦算法主要利用的是評分信息,而對于源領(lǐng)域和目標(biāo)領(lǐng)域所包含的其他特征信息,如電影的導(dǎo)演、圖書的作者等,都沒有充分融入跨領(lǐng)域推薦算法。評分信息的“稀疏性”是個性化推薦中無法避免的問題,過于稀疏的信息會導(dǎo)致用戶興趣識別的偏差,進而降低推薦效果。在跨領(lǐng)域推薦中也是如此,雖然能夠通過知識遷移獲取其他領(lǐng)域的知識,但領(lǐng)域內(nèi)興趣識別的不充分性會增加知識遷移的誤差。解決此問題的關(guān)鍵是將領(lǐng)域內(nèi)實體之間的相似性進行高階擴散,從簡單的一階關(guān)系擴展為高階關(guān)系。特征信息可以作為相似性擴散的橋梁,從不同的特征角度出發(fā),獲取具有不同語義的相似性度量,能夠有效緩解興趣識別偏差問題,有利于提高跨領(lǐng)域推薦知識遷移的準(zhǔn)確性。
網(wǎng)絡(luò)表示學(xué)習(xí)是一種將網(wǎng)絡(luò)中節(jié)點的結(jié)構(gòu)信息和屬性信息用低維稠密向量形式表示的一種技術(shù)。傳統(tǒng)的網(wǎng)絡(luò)表示一般使用高維的稀疏向量,但高維稀疏向量在使用統(tǒng)計學(xué)習(xí)方法時存在諸多局限,學(xué)者們轉(zhuǎn)而探索將網(wǎng)絡(luò)中節(jié)點表示為低維稠密的向量表示的方法[13]。Perozzi 等[14]提出的 DeepWalk 算法通過隨機游走的方式產(chǎn)生訓(xùn)練語料,利用word2vec的思想,學(xué)習(xí)節(jié)點表示。Grover 等[15]在DeepWalk 的基礎(chǔ)上提出了node2vec,并引入了偏置參數(shù),在隨機游走的過程中運用了寬度優(yōu)先搜索和深度優(yōu)先搜索的策略,指導(dǎo)語料的生成。然而,DeepWalk 和node2vec 都只考慮了一階相似性。Tang 等[16]提出的LINE(large-scale information network embedding)算法考慮了二階相似性,認(rèn)為兩個節(jié)點的共享鄰居越多,則兩個節(jié)點存在的相似性越高,并利用不同的目標(biāo)函數(shù)保存網(wǎng)絡(luò)的一階相似性和二階相似性;Wang 等[17]提出的SDNE (structural deep network em‐bedding)算法將有監(jiān)督學(xué)習(xí)的拉普拉斯矩陣和無監(jiān)督學(xué)習(xí)的自編碼器進行結(jié)合,分別捕捉一階相似性和二階相似性,提出了一種半監(jiān)督學(xué)習(xí)方法來學(xué)習(xí)節(jié)點的表示。然而,這些經(jīng)典的網(wǎng)絡(luò)表示學(xué)習(xí)方法都只針對同質(zhì)網(wǎng)絡(luò)。
異質(zhì)信息網(wǎng)絡(luò)是一種特殊類型的網(wǎng)絡(luò),由多種類型的節(jié)點、鏈接關(guān)系以及屬性信息組成,具有大規(guī)模、異質(zhì)性等特點[18]。針對異質(zhì)信息網(wǎng)絡(luò),學(xué)者們提出了相應(yīng)的網(wǎng)絡(luò)表示學(xué)習(xí)方法。Chang 等[19]針對不同類型的節(jié)點進行向量表示,然后將所有的向量映射到相同的空間,從而讓向量有了相同維度的表達。Dong 等[20]提出了metapath2vec 算法,先通過元路徑指導(dǎo)隨機游走,再用Skip-Gram 訓(xùn)練節(jié)點序列產(chǎn)生節(jié)點嵌入向量。在元路徑的基礎(chǔ)上,Zhang等[21]提 出 的 MetaGraph2Vec 算法 ,以 及 Zhao 等[22]提出的FMG(factorization machine with group)算法,利用元圖的方法代替元路徑,彌補了元路徑不能獲取部分語義的缺陷。Fu 等[23]提出了HIN2Vec 算法,采用完全的隨機游走的策略選取訓(xùn)練集,通過神經(jīng)網(wǎng)絡(luò)模型預(yù)測兩個節(jié)點是否存在特定的關(guān)系,同時學(xué)習(xí)異構(gòu)網(wǎng)絡(luò)中節(jié)點和元路徑的向量表示。異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)的優(yōu)越特性使其在各種場景都得到了廣泛的應(yīng)用。例如,劉云楓等[24]構(gòu)建由作者、論文、出版物等節(jié)點組成的異質(zhì)信息網(wǎng)絡(luò),利用元結(jié)構(gòu)提取語義,有效提高了學(xué)者推薦的準(zhǔn)確性;林原等[25]構(gòu)建了作者-作者、作者-機構(gòu)、作者-關(guān)鍵詞、機構(gòu)-關(guān)鍵詞的異質(zhì)信息網(wǎng)絡(luò),利用DeepWalk 得到節(jié)點低維向量,最后通過向量的相似度計算實現(xiàn)合作對象、合作領(lǐng)域挖掘;Zheng 等[26]通過元路徑提取異質(zhì)信息網(wǎng)絡(luò)中的多種相似性,通過將相似性加入損失函數(shù)的正則項,提高了推薦算法的準(zhǔn)確性;Shi 等[27]在傳統(tǒng)矩陣分解的基礎(chǔ)上,加入了異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)的特征向量,取得了比傳統(tǒng)矩陣分解更好的效果;肖璐等[28]用網(wǎng)絡(luò)表示學(xué)習(xí)的方法將網(wǎng)絡(luò)中的知識單元表示成低維稠密的向量,其中知識單元網(wǎng)絡(luò)可以視為一個異質(zhì)信息網(wǎng)絡(luò),最后以丁香園心血管論壇為例,挖掘了社區(qū)網(wǎng)絡(luò)中多元知識的聯(lián)系。
針對當(dāng)前跨領(lǐng)域推薦存在的一些問題,利用異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí),可以得到用戶和物品的嵌入向量,不僅保存了異質(zhì)網(wǎng)絡(luò)的結(jié)構(gòu)特征,而且低維稠密的向量能夠很好地完成推薦任務(wù)。更重要的是,通過異質(zhì)網(wǎng)絡(luò)表示學(xué)習(xí)得到的低維稠密向量包含了領(lǐng)域中豐富的特征信息,將這些特征信息在源領(lǐng)域和目標(biāo)領(lǐng)域加以利用,可以同時達到緩解數(shù)據(jù)“稀疏性”和用戶“冷啟動”的目的。
基于上文的分析,本文提出一種融合異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)的跨領(lǐng)域推薦模型。該模型主要由兩個模塊組成:異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)和評分預(yù)測。其中,異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)模塊提供一個異質(zhì)網(wǎng)絡(luò)表示學(xué)習(xí)框架(如圖1 所示),可以針對源領(lǐng)域異質(zhì)信息網(wǎng)絡(luò)和目標(biāo)領(lǐng)域異質(zhì)信息網(wǎng)絡(luò),通過元路徑、DeepWalk 算法生成網(wǎng)絡(luò)表示學(xué)習(xí)向量,獲取領(lǐng)域內(nèi)的特征信息。評分預(yù)測是跨領(lǐng)域推薦的核心模塊,此部分由一個復(fù)雜的神經(jīng)網(wǎng)絡(luò)架構(gòu)組成,在神經(jīng)網(wǎng)絡(luò)中借用了聯(lián)合矩陣分解(CMF)[4]的思想,以此獲取領(lǐng)域內(nèi)的評分信息。具體來說,神經(jīng)網(wǎng)絡(luò)共享了源領(lǐng)域和目標(biāo)領(lǐng)域的用戶嵌入,用多層感知機(multilayer perceptron,MLP) 將共享用戶嵌入映射到不同領(lǐng)域,一方面體現(xiàn)了用戶在不同領(lǐng)域的差異性,另一方面對于在某一領(lǐng)域有數(shù)據(jù)而在另一領(lǐng)域沒有數(shù)據(jù)的“冷啟動”用戶,可以通過映射函數(shù)將其映射在冷啟動領(lǐng)域,從而完成面向“冷啟動”用戶的推薦。同時,神經(jīng)網(wǎng)絡(luò)融入了源領(lǐng)域和目標(biāo)領(lǐng)域的物品異質(zhì)特征信息,并以損失函數(shù)為依據(jù),采用梯度下降的方法學(xué)習(xí)模型的參數(shù),從而完成最終的評分預(yù)測。
定義異質(zhì)信息網(wǎng)絡(luò)為G=(V,E)。其中,V代表領(lǐng)域內(nèi)節(jié)點集合(如用戶、物品、物品的特征等),E是領(lǐng)域節(jié)點之間邊的集合,每條邊代表各個節(jié)點之間的關(guān)系。網(wǎng)絡(luò)模式是對異構(gòu)信息網(wǎng)絡(luò)的元描述,表示為S= (A,R),其中,A為節(jié)點類型,R為鏈接類型[14]。考慮到異質(zhì)信息網(wǎng)絡(luò)包含有大量復(fù)雜的、異質(zhì)的結(jié)構(gòu)關(guān)系信息,其中的冗余信息(如特征節(jié)點與特征節(jié)點之間的關(guān)系)便成為了節(jié)點表示學(xué)習(xí)的“噪音”。由此,需要引入元路徑過濾掉此類冗余信息,并將異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)問題轉(zhuǎn)換為同質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)問題,在降低學(xué)習(xí)難度的同時有效排除“噪音”,進而利用經(jīng)典的DeepWalk算法進行特征信息的學(xué)習(xí)。
元路徑是在網(wǎng)絡(luò)模式上的一條路徑P=其中,A為節(jié)點類型,R為鏈接類型,R=R1°R2° … °Rl,°表示關(guān)系上的合成算子。給定一條元路徑P,便可計算節(jié)點的連接矩陣,計算方法[22]為
其中,WAi,Aj表示節(jié)點類型Ai到Aj的鄰接矩陣。不同的元路徑會產(chǎn)生不同的連接矩陣,每個連接矩陣都可以視為一個同質(zhì)網(wǎng)絡(luò)。針對每個同質(zhì)網(wǎng)絡(luò),采用經(jīng)典的DeepWalk 算法進行學(xué)習(xí)。DeepWalk 算法在網(wǎng)絡(luò)中隨機游走產(chǎn)生訓(xùn)練語料,然后用Skip-Gram 進行訓(xùn)練,目標(biāo)函數(shù)[14]為
其中,Φ:V→Rd是一個將每個節(jié)點映射到d維空間上的函數(shù);Nv?V表示在給定一個元路徑下節(jié)點v的鄰居。
通過不同元路徑生成的同質(zhì)信息網(wǎng)絡(luò)有著不同的語義信息。這些語義信息是異質(zhì)信息網(wǎng)絡(luò)中所包含信息的子集,是排除了“噪音”信息之后的關(guān)鍵信息。將其輸入DeepWalk 中能夠得到體現(xiàn)各自語義的向量,此時,多個同質(zhì)信息網(wǎng)絡(luò)之間的關(guān)系就演變成了多個向量之間的關(guān)系,需要設(shè)置合理的融合向量的函數(shù)。用戶對不同的語義應(yīng)有不同的偏好,同時,向量之間的融合關(guān)系往往不是簡單的線性關(guān)系,為了更好地擬合這種關(guān)系,個性化非線性的融合方法是相對較優(yōu)的選擇。因此,融合后節(jié)點v的異質(zhì)特征信息向量ev[27]為
評分預(yù)測模塊是一個復(fù)雜的神經(jīng)網(wǎng)絡(luò)架構(gòu),借鑒了CMF 的思想。CMF 是傳統(tǒng)矩陣分解的擴展,在源領(lǐng)域和目標(biāo)領(lǐng)域含有重疊用戶的情況下,將源領(lǐng)域和目標(biāo)領(lǐng)域的評分預(yù)測用共享用戶潛在因子cu、源領(lǐng)域物品潛在因子和目標(biāo)領(lǐng)域物品潛在因子之間的點積進行計算。此時,用戶u對源領(lǐng)域物品i的預(yù)測評分以及對目標(biāo)領(lǐng)域物品j的預(yù)測評分分別為
由式(4)和式(5)不難發(fā)現(xiàn),對于CMF,共享用戶潛在因子cu同時參與兩個領(lǐng)域評分預(yù)測的運算,沒有體現(xiàn)出源領(lǐng)域和目標(biāo)領(lǐng)域的差異性,可能導(dǎo)致“負(fù)遷移”。為此,本文借用CMF 共享用戶特征的思想構(gòu)建神經(jīng)網(wǎng)絡(luò),借用神經(jīng)網(wǎng)絡(luò)強大的靈活性,引入了映射函數(shù)MLP 來體現(xiàn)領(lǐng)域的獨有特征,同時,為了充分利用領(lǐng)域內(nèi)物品特征信息,還對物品異質(zhì)特征信息向量進行聯(lián)合計算,最終完成評分預(yù)測,如圖2 所示。
圖2 融合異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)的神經(jīng)網(wǎng)絡(luò)架構(gòu)
3.2.1 用戶和物品的評分向量表示
建立評分向量查詢層,將用戶和物品的0/1 編碼轉(zhuǎn)換為評分信息向量,即用戶和物品的評分信息表示。以源領(lǐng)域為例,給定一個用戶u和物品i,表 示 它 們 的 0/1 編 碼 , 評 分向量查詢層以參數(shù)矩陣表 示用戶和物品的評分信息向量,其中,d表示向量的維度,|U|和|I|分別表示用戶和物品的數(shù)量。向量查詢操作實現(xiàn)為
其中,cu為共享用戶向量,為源領(lǐng)域物品i的物品評分信息向量,分別代表了用戶和物品的評分特征。
3.2.2 共享用戶嵌入的映射
以源領(lǐng)域為例,在查詢到共享用戶向量cu之后,cu并不直接參與和的點積運算,而是通過MLP 的映射函數(shù)將cu映射到源領(lǐng)域,得到源領(lǐng)域用戶評分信息向量以此突出不同領(lǐng)域的差異性。同時,對于在某一領(lǐng)域完全沒有數(shù)據(jù),而在另一領(lǐng)域有數(shù)據(jù)的用戶,通過映射函數(shù)就可以實現(xiàn)其在“冷啟動”領(lǐng)域的推薦,完成知識的遷移。除此之外,映射函數(shù)的引入拋棄了CMF 中必須是相同維度的前提,增強了模型的靈活性。
同理,對于由公式(3)計算得出的物品i的異質(zhì)特征信息向量ei,MLP 將cu映射到相應(yīng)空間得到與ei進行計算。之所以不在異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)模塊直接學(xué)習(xí)的表示,是因為對于一個領(lǐng)域內(nèi)完全沒有數(shù)據(jù)的用戶來說,直接學(xué)習(xí)會導(dǎo)致模型無法進行“冷啟動”用戶的推薦。綜上,其計算方法為
3.2.3 評分預(yù)測
評分預(yù)測由兩部分組成。第一部分為用戶和物品的評分特征的點積,借鑒了CMF 的思想,代表了用戶和物品評分模式的特征;第二部分為用戶和物品異質(zhì)特征信息向量的點積,物品異質(zhì)特征向量由領(lǐng)域內(nèi)的異質(zhì)信息網(wǎng)絡(luò)表示生成,代表了領(lǐng)域內(nèi)豐富的領(lǐng)域物品特征信息。最終的預(yù)測評分由二者求和計算得出。據(jù)此,用戶u對源領(lǐng)域物品i的預(yù)測評分為
同理,用戶u對目標(biāo)領(lǐng)域物品j的預(yù)測評分r?(t)
u,j為
3.2.4 模型訓(xùn)練
實驗數(shù)據(jù)集來自豆瓣網(wǎng)的電影和圖書兩個領(lǐng)域,主要包括用戶的評分?jǐn)?shù)據(jù)和物品特征信息。其中,評分?jǐn)?shù)據(jù)是用戶對某一物品的評分,評分范圍為1~5;物品屬性主要包括圖書的作者、出版商,以及電影的演員、導(dǎo)演、類型、地區(qū)。用Python 的Scrapy 框架編寫爬蟲程序,采用滾雪球的策略,隨機選取一批種子用戶并抓取其數(shù)據(jù),在此基礎(chǔ)上,從種子用戶的關(guān)注或粉絲列表中獲取更多的用戶,不斷遞增。在獲取數(shù)據(jù)集之后,分別刪除電影和圖書領(lǐng)域評分?jǐn)?shù)量少于10 的用戶;同時,對于那些只在單一領(lǐng)域內(nèi)有評分行為的用戶,無法對其推薦結(jié)果進行驗證,因此將這部分用戶刪除。豆瓣網(wǎng)數(shù)據(jù)集最終的基本統(tǒng)計信息如表1 所示。由于電影領(lǐng)域相比于圖書領(lǐng)域的數(shù)據(jù)稀疏程度較低,因此,將電影領(lǐng)域視為源領(lǐng)域,圖書領(lǐng)域視為目標(biāo)領(lǐng)域。
表1 豆瓣網(wǎng)數(shù)據(jù)集的基本統(tǒng)計信息
實驗主要分為兩個部分。第一部分為推薦效果的實驗,評分?jǐn)?shù)據(jù)不包括在某一領(lǐng)域內(nèi)沒有評分行為的用戶,即全部為“熱啟動”用戶。隨機移除一部分用戶的評分作為測試集,剩下的作為訓(xùn)練集,訓(xùn)練集的比例分別為80%、60%和40%。第二部分為“冷啟動”效果的實驗,將圖書領(lǐng)域視為目標(biāo)領(lǐng)域,隨機選取了一定比例的用戶,保留其電影領(lǐng)域的數(shù)據(jù),移除他們在圖書領(lǐng)域的全部評分?jǐn)?shù)據(jù),作為圖書領(lǐng)域的完全“冷啟動”用戶參與實驗,冷啟動用戶比例分別為10%、30%和50%,即錨用戶比例分別為90%、70%和50%。實驗環(huán)境CPU 為Inter(R) Core(TM) i7-8750H@2.20GHz, GPU 為 NVIDIA GeForce GTX 1060 6G,RAM 為 16G,并采用 Ten‐sorFlow 編寫算法。以上實驗分別做5 次,最終的數(shù)據(jù)結(jié)果為5 次實驗的平均值。
在參數(shù)設(shè)置方面,經(jīng)過多次實驗,最終確認(rèn)參數(shù)為:共享用戶特征向量、源領(lǐng)域和目標(biāo)領(lǐng)域評分信息向量的維度都為64;根據(jù)文獻[12,27],融合后的異質(zhì)特征信息向量的維度為64,MLP 和非線性融合函數(shù)都為包含一層隱藏層的神經(jīng)網(wǎng)絡(luò),隱藏層神經(jīng)元的個數(shù)為128,其中MLP 的隱藏層的激活函數(shù)為tanh,非線性融合函數(shù)隱藏層和輸出層激活函數(shù)都為Sigmoid 函數(shù),學(xué)習(xí)速率為0.0001,正則化參數(shù)λ為0.01,由于學(xué)習(xí)速率較低,迭代次數(shù)為3000 次。
在元路徑的選擇方面,先分別構(gòu)造了圖書領(lǐng)域和電影領(lǐng)域的異質(zhì)網(wǎng)絡(luò)。在圖書領(lǐng)域,提取了以圖書開頭和結(jié)尾的元路徑;同理,在電影領(lǐng)域,提取了以電影開頭和結(jié)尾的元路徑。不同的元路徑代表了不同的語義,例如,元路徑“BUB”表示兩本書被同一用戶閱讀,代表了兩本書在用戶層面的相似性。本實驗所使用的元路徑和代表的語義如表2所示。
表2 豆瓣網(wǎng)數(shù)據(jù)集的元路徑及其語義
為了驗證本文方法的有效性,將選擇一系列對比模型進行效果對比。總體上說,對比模型分為單領(lǐng)域推薦模型和跨領(lǐng)域推薦模型。單領(lǐng)域推薦模型用來證明本文模型可以有效提升推薦效果;跨領(lǐng)域推薦模型則用來證明本文模型能更有效地遷移源領(lǐng)域數(shù)據(jù),從而緩解目標(biāo)領(lǐng)域的數(shù)據(jù)“稀疏性”和用戶“冷啟動”問題。由此,本文選擇了以下6 種模型作為對比模型。
(1) PMF (probabilistic matrix factorization)[29]:概率矩陣分解,經(jīng)典的單領(lǐng)域矩陣分解算法,將某個領(lǐng)域的評分矩陣分解為用戶矩陣和物品矩陣,從而預(yù)測缺失評分。
(2)CDCF-U(user-based cross-domain collabora‐tive filtering)[30]:基于用戶的跨領(lǐng)域協(xié)同過濾模型,將多個領(lǐng)域視為同一領(lǐng)域進行矩陣合并,使用傳統(tǒng)的基于用戶的協(xié)同過濾進行評分的預(yù)測。
(3) CDCF-I(item-based cross-domain collabora‐tive filtering)[30]:基于物品的跨領(lǐng)域協(xié)同過濾模型,與CDCF-U 類似,將多個領(lǐng)域視為同一領(lǐng)域進行矩陣合并,使用傳統(tǒng)的基于物品的協(xié)同過濾進行評分的預(yù)測。
(4)CMF[4]:聯(lián)合矩陣分解,經(jīng)典的跨領(lǐng)域推薦模型,將源領(lǐng)域和目標(biāo)領(lǐng)域的評分矩陣進行聯(lián)合分解,共享不同領(lǐng)域的用戶矩陣,從而預(yù)測缺失評分。
(5)EMCDR[12]:解決“冷啟動”問題的跨領(lǐng)域推薦模型,對用戶評分矩陣進行分解,然后使用非線性映射函數(shù)進行領(lǐng)域間的知識遷移。
(6) NeuCDCF (neural cross-domain collabora‐tive filtering)[10]:一種新的跨領(lǐng)域推薦算法,利用用戶對物品的評分,通過構(gòu)建矩陣分解和深度神經(jīng)網(wǎng)絡(luò)兩個模塊進行評分預(yù)測。
其中,PMF 作為經(jīng)典的單領(lǐng)域推薦方法,相關(guān)的研究成果與應(yīng)用實踐都取得了較好的效果[31],故將其作為對比模型驗證跨領(lǐng)域推薦相比于單領(lǐng)域推薦的優(yōu)越性;CDCF-U 和CDCF-I 將跨領(lǐng)域推薦問題簡單轉(zhuǎn)化為單領(lǐng)域推薦問題,可能導(dǎo)致“負(fù)遷移”,以此作為對比模型,可以有效驗證本文模型的知識遷移能力;CMF 是一種經(jīng)典的跨領(lǐng)域推薦方法,也是本文模型思想的基點,以此作為比對模型來驗證CMF 改進后的推薦能力;EMCDR 是專門用于解決“冷啟動”問題的跨領(lǐng)域方法,可以有效驗證本文模型的用戶“冷啟動”的推薦效果;NeuCDCF 是一種新的跨領(lǐng)域推薦模型,可以進一步檢驗本文模型的跨領(lǐng)域推薦能力。
考慮到本文是對評分進行預(yù)測,故選擇RMSE(root mean squared error) 和MAE(mean absolute er‐ror)作為評價指標(biāo),計算公式分別為
其中,Test 為測試集;ru,i為用戶u對物品i的實際評分;r?u,i為用戶u對物品i的預(yù)測評分。MAE 衡量的是預(yù)測評分與實際評分的絕對誤差的平均值;RMSE 是預(yù)測評分與實際評分之間平方差異的平均值,然后再取平方根。RMSE 和MAE 越小,代表預(yù)測評分與實際評分的差異越小,推薦準(zhǔn)確性也越高。從總體上來說,RMSE 和MAE 的趨勢一致,但RMSE 受異常值影響更大。
1)推薦效果實驗結(jié)果
表3 列出了6 種模型在不同領(lǐng)域和訓(xùn)練集比例下得到的RMSE 和MAE??傮w來看,CDCF-U 模型和CDCF-I 模型取得的推薦效果較差,甚至不如單領(lǐng)域推薦的PMF 模型;CMF 模型雖然能夠在圖書領(lǐng)域超越PMF 模型,但提升幅度并不大,在電影領(lǐng)域還取得了相反的效果;NeuCDCF 是CMF 和堆棧自編碼器的結(jié)合,因此在推薦效果上優(yōu)于CMF,但NeuCDCF 只用了評分信息,無法充分獲取用戶偏好和領(lǐng)域知識。本文模型的推薦效果均優(yōu)于以上方法,與5 種對比模型相比,RMSE 和MAE 降低的百分比如表4 所示。同時,由于本文模型融入了異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)獲得的表示向量,包含豐富的物品特征信息,對于數(shù)據(jù)量較少的物品或用戶來說,可以通過這部分特征信息補充評價數(shù)據(jù)的缺失,使得不同訓(xùn)練集比例下RMSE 和MAE 結(jié)果的變化幅度較小,進一步表明本文模型的優(yōu)越性。
表3 6種模型推薦效果實驗結(jié)果的比較
表4 本文模型與5種對比模型相比推薦效果的RMSE和MAE降低的百分比 %
2)用戶“冷啟動”實驗結(jié)果
表5 列出了6 種模型在用戶“冷啟動”方面的RMSE 和MAE??傮w來看,CDCF-U 模型和CDCF-I模型表現(xiàn)依然較差;CMF 模型本質(zhì)上是一種線性算法,所以在用戶“冷啟動”方面效果不能盡如人意;EMCDR 模型作為非線性映射算法,在兩個領(lǐng)域之間學(xué)習(xí)了一個非線性映射函數(shù),針對“冷啟動”用戶具有較好的應(yīng)用價值;NeuCDCF 在“冷啟動”方面表現(xiàn)優(yōu)異,僅次于本文模型。本文模型在用戶“冷啟動”方面都優(yōu)于以上模型,與5 種對比模型相比,RMSE 和MAE 降低的百分比如表6 所示。同時可以看到,隨著“冷啟動”用戶比例的上升,所有模型的RMSE 和MAE 結(jié)果都有明顯的提升,說明錨用戶的數(shù)量在各個模型中起到了舉足輕重的作用。
表5 6種模型用戶“冷啟動”實驗結(jié)果的比較
表6 本文模型與5種對比模型相比用戶“冷啟動”的RMSE和MAE降低的百分比 %
不同的元路徑代表了領(lǐng)域內(nèi)不同的語義特征。本節(jié)將從推薦效果和用戶“冷啟動”兩個方面探討元路徑對模型的影響。
在推薦效果方面,結(jié)果如圖3 所示??傮w來說,在不同訓(xùn)練集比例下,不管是RMSE 還是MAE,加入元路徑的模型都比不加入元路徑的模型要低,這一結(jié)果符合元路徑能有效提高推薦效果的猜想。但電影領(lǐng)域RMSE 和MAE 的下降幅度比圖書領(lǐng)域大,這是因為電影領(lǐng)域數(shù)據(jù)較為稠密,在加入更多的特征信息后推薦效果能得到較大幅度提升;而圖書領(lǐng)域數(shù)據(jù)相對稀疏,雖然能夠在一定程度上提高推薦效果,但幅度不大。
圖3 是否加入元路徑在推薦效果上的對比
在用戶“冷啟動”方面,將圖書領(lǐng)域的部分用戶設(shè)為完全“冷啟動”用戶,結(jié)果如圖4 所示。與上文類似,RMSE 和MAE 都有一定程度的下降。對于一個在圖書領(lǐng)域完全沒有數(shù)據(jù)的“冷啟動”用戶來說,一方面通過MLP 的映射,將電影領(lǐng)域的知識遷移到圖書領(lǐng)域,可以使用戶在圖書領(lǐng)域也能取得較好的推薦效果;另一方面,元路徑的特征知識也能為冷啟動用戶提供數(shù)據(jù)支持,從而比沒有元路徑的模型效果更好。
圖4 是否加入元路徑在用戶“冷啟動”上的對比
本文模型的特征維度主要包括共享用戶特征嵌入cu的維度(CK)、源領(lǐng)域評分信息向量的維度(SK)、目標(biāo)領(lǐng)域評分信息向量的維度(TK)、源領(lǐng)域異質(zhì)特征信息向量和ei的維度(SHK)、目標(biāo)領(lǐng)域異質(zhì)特征信息向量和ej的維度(THK)。其中,SHK 和THK 的維度根據(jù)文獻[22]設(shè)為64,本節(jié)主要探討CK、SK 和TK 的最優(yōu)參數(shù)設(shè)置。
CK 的維度特征決定了SK 和TK 的特征表示。先將CK、SK 和TK 設(shè)為相同維度,取值范圍為{8,16,32,64,128,256},試圖找出最優(yōu)的CK 值,其結(jié)果如圖5 所示。當(dāng)CK、SK、TK 的維度都為64 時,圖書領(lǐng)域和電影領(lǐng)域的RMSE、MAE 同時達到最小,因此,CK 的最佳維度為64。
圖5 CK、SK、TK取值相同情況下不同領(lǐng)域的RMSE和MAE
在CK 維度為64 的情況下,分別對SK 和TK 的參數(shù)進行調(diào)整,取值范圍為{8,16,32,64,128,256},結(jié)果如圖6、圖7 所示。當(dāng)SK 和TK 同時取值為64時,圖書領(lǐng)域和電影領(lǐng)域的RMSE 和MAE 達到最小。從上述結(jié)果可以發(fā)現(xiàn),不管是共享用戶潛在因子還是不同領(lǐng)域內(nèi)特有的用戶潛在因子,RMSE 和MAE 隨著特征維度的增加均呈現(xiàn)出先上升后下降的趨勢;同時,電影領(lǐng)域相對于圖書領(lǐng)域受到參數(shù)調(diào)整的影響較小,這是由于電影領(lǐng)域評分?jǐn)?shù)據(jù)量較多,數(shù)據(jù)的“稀疏性”不明顯,而圖書領(lǐng)域評分?jǐn)?shù)據(jù)量小,受參數(shù)調(diào)整影響大。
圖6 不同SK、TK取值下電影領(lǐng)域的RMSE和MAE(CK=64)
圖7 不同SK、TK取值下圖書領(lǐng)域的RMSE和MAE(CK=64)
以上實驗所使用的電影、圖書領(lǐng)域的數(shù)據(jù)集相關(guān)性較高,且只針對豆瓣網(wǎng)一個平臺,不足以突現(xiàn)本文模型的普適性。為此,本節(jié)以Amazon 平臺的電影和唱片領(lǐng)域為例,將電影領(lǐng)域作為源領(lǐng)域,唱片領(lǐng)域作為目標(biāo)領(lǐng)域,進一步驗證模型的普適性。Amazon 數(shù)據(jù)集的基本統(tǒng)計信息如表7 所示。
表7 Amazon數(shù)據(jù)集的基本統(tǒng)計信息
在元路徑的選擇方面,考慮到Amazon 數(shù)據(jù)集的特征信息較少,可用的特征信息僅包括品牌、價格、種類,其中價格和種類所包含的標(biāo)簽較少,無法體現(xiàn)出差異性,所以僅使用品牌作為特征信息。本實驗所使用的元路徑和代表的語義如表8所示。
表8 Amazon數(shù)據(jù)集的元路徑及其語義
與上文相同,本實驗也分為推薦效果實驗和用戶“冷啟動”實驗。在推薦效果實驗中,同時刪除電影領(lǐng)域和唱片領(lǐng)域20%的用戶評分?jǐn)?shù)據(jù)作為測試集,剩余80%的評分作為訓(xùn)練集來學(xué)習(xí)模型參數(shù);在用戶“冷啟動”實驗中,隨機挑選20%的用戶,刪除其在唱片領(lǐng)域的所有評分?jǐn)?shù)據(jù),作為唱片領(lǐng)域的完全“冷啟動”用戶參與測試。實驗參數(shù)與第4.2 節(jié)中的設(shè)置相同,最終實驗結(jié)果如圖8、圖9所示。
從圖8、圖9 可以看出,在Amazon 數(shù)據(jù)集上,不管是推薦效果還是用戶“冷啟動”效果,本文模型評分預(yù)測的準(zhǔn)確性都是最高的。對比豆瓣網(wǎng)的電影領(lǐng)域和圖書領(lǐng)域,Amazon 的電影領(lǐng)域和唱片領(lǐng)域關(guān)聯(lián)性明顯更低,且數(shù)據(jù)稀疏程度更高,容易出現(xiàn)“負(fù)遷移”。在推薦效果方面,CMF 完全共享用戶特征的機制導(dǎo)致推薦效果不理想,而NeuCDCF和本文模型都設(shè)置了用戶獨特的領(lǐng)域特征,出現(xiàn)“負(fù)遷移”的可能性更低,因此推薦效果更好;在用戶“冷啟動”方面,EMCDR 作為專門處理“冷啟動”問題的跨領(lǐng)域推薦方法,其前提是要求兩個領(lǐng)域之間的用戶存在一種映射關(guān)系,在電影和唱片領(lǐng)域關(guān)聯(lián)性不大的情況下,用戶行為特征差異也較大,因此EMCDR 擬合出的映射關(guān)系誤差大,導(dǎo)致推薦結(jié)果較差。總的來說,Amazon 數(shù)據(jù)集的實驗結(jié)果充分說明了本文模型的普適性。
圖8 Amazon電影領(lǐng)域和唱片領(lǐng)域的推薦效果對比
圖9 Amazon唱片領(lǐng)域的用戶“冷啟動”效果對比
針對當(dāng)前跨領(lǐng)域推薦存在的相關(guān)問題,本文提出了一種融合異質(zhì)網(wǎng)絡(luò)表示學(xué)習(xí)的跨領(lǐng)域推薦模型。該模型同時利用領(lǐng)域內(nèi)的評分信息和特征信息,采用神經(jīng)網(wǎng)絡(luò)架構(gòu),優(yōu)化了傳統(tǒng)跨領(lǐng)域矩陣分解,利用非線性映射函數(shù)體現(xiàn)不同領(lǐng)域的差異性,同時還將物品屬性特征以異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)的形式融入跨領(lǐng)域推薦中,達到了有效利用領(lǐng)域間豐富特征信息的目的,從而進一步緩解了數(shù)據(jù)“稀疏性”和用戶“冷啟動”的問題。研究結(jié)果表明,本文模型在提高推薦效果和優(yōu)化用戶“冷啟動”方面比現(xiàn)有相關(guān)模型更具有優(yōu)越性和穩(wěn)定性。然而,本文模型也存在一些不足,尤其是在算法設(shè)計過程中,需要學(xué)習(xí)的參數(shù)過多,導(dǎo)致算法時間成本較高。因此,在今后的研究中,應(yīng)繼續(xù)優(yōu)化適用于個性化推薦的異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)方法,在保留異質(zhì)網(wǎng)絡(luò)中信息的基礎(chǔ)上,簡化異質(zhì)信息網(wǎng)絡(luò)表示學(xué)習(xí)的步驟;還可以進一步深入研究多領(lǐng)域推薦方法,將單一的輔助領(lǐng)域擴展到多輔助領(lǐng)域,進而從不同的領(lǐng)域獲取更多的領(lǐng)域知識,增強模型的表達能力。