高 仰,劉 淵+
1.江南大學(xué)人工智能與計(jì)算機(jī)學(xué)院,江蘇無(wú)錫214122
2.江蘇省媒體設(shè)計(jì)與軟件技術(shù)重點(diǎn)實(shí)驗(yàn)室(江南大學(xué)),江蘇無(wú)錫214122
在這個(gè)信息技術(shù)和互聯(lián)網(wǎng)高速發(fā)展的信息爆炸時(shí)代,可供選擇的商品和服務(wù)也隨之急劇增多,然而人的興趣偏好各不相同,并且有些用戶(hù)對(duì)自己的隱性需求并不明確,為了更好地幫助用戶(hù)快速發(fā)現(xiàn)自己喜歡的商品,為了更精準(zhǔn)地幫助商家推送自己的商品,推薦系統(tǒng)應(yīng)運(yùn)而生。推薦系統(tǒng)是一種信息過(guò)濾系統(tǒng),用于預(yù)測(cè)用戶(hù)對(duì)物品的評(píng)分或喜好程度,通過(guò)構(gòu)建用戶(hù)模型,推薦對(duì)象模型,推薦算法模型,把用戶(hù)模型中興趣需求信息和推薦對(duì)象模型中的特征信息匹配,同時(shí)使用相應(yīng)的推薦算法進(jìn)行計(jì)算篩選,找到用戶(hù)可能感興趣的推薦對(duì)象推給用戶(hù)。傳統(tǒng)的推薦方法可分為:基于內(nèi)容的推薦方法,為用戶(hù)推薦跟他的歷史興趣偏好相似的物品;基于協(xié)同過(guò)濾推薦方法,通過(guò)對(duì)用戶(hù)歷史行為數(shù)據(jù)的挖掘,發(fā)現(xiàn)用戶(hù)的偏好,基于不同的偏好對(duì)用戶(hù)進(jìn)行群組劃分并推薦品味相似的物品;混合推薦方法則是將前面的方法結(jié)合起來(lái)推薦,從而起到取長(zhǎng)補(bǔ)短的推薦效果。
近年來(lái),深度學(xué)習(xí)已經(jīng)成為互聯(lián)網(wǎng)大數(shù)據(jù)和人工智能的一個(gè)熱潮。深度學(xué)習(xí)通過(guò)組合底層特征形成更加稠密的高層語(yǔ)義抽象,從而自動(dòng)發(fā)現(xiàn)數(shù)據(jù)的分布式特征表示,很好地解決了傳統(tǒng)機(jī)器學(xué)習(xí)中需要人工設(shè)計(jì)特征的問(wèn)題[1]。由于深度學(xué)習(xí)的天然優(yōu)勢(shì),使得其成為了推薦系統(tǒng)領(lǐng)域的主流研究方向,但發(fā)展時(shí)間較短,仍然存在可改進(jìn)和提升的地方。深度學(xué)習(xí)技術(shù)應(yīng)用于推薦系統(tǒng)不僅能學(xué)習(xí)用戶(hù)或物品的潛在特征表示,而且可以學(xué)習(xí)用戶(hù)與物品之間的復(fù)雜的線性交互特征,進(jìn)而深入地分析用戶(hù)偏好[2]。隨著信息技術(shù)的高速發(fā)展,互聯(lián)網(wǎng)中有越來(lái)越多的數(shù)據(jù)能夠被感知獲取,其中包括用戶(hù)的社交關(guān)系、物品的文本和標(biāo)簽等屬性信息以及用戶(hù)和物品的交互信息等,這些多源異構(gòu)數(shù)據(jù)蘊(yùn)含著豐富的用戶(hù)個(gè)性化需求信息,充分分析利用這些輔助信息可以有效緩解冷啟動(dòng)與數(shù)據(jù)稀疏問(wèn)題,從而為用戶(hù)提供更加良好的推薦服務(wù)。因此,如何高效利用這些輔助信息來(lái)增強(qiáng)推薦性能越來(lái)越受到研究者的重視。
基于以上背景及現(xiàn)狀,本文通過(guò)分析社交關(guān)系數(shù)據(jù)、物品屬性數(shù)據(jù)這些輔助信息來(lái)豐富用戶(hù)和物品的特征表示,從而緩解推薦系統(tǒng)所面臨的冷啟動(dòng)和數(shù)據(jù)稀疏問(wèn)題。人是社會(huì)性動(dòng)物,人們更愿意接納熟人和所信任人的推薦,更愿意嘗試熟人所嘗試的物品,在推薦系統(tǒng)中,用戶(hù)的社交關(guān)系數(shù)據(jù)反映了其熟人和信任人連接狀態(tài),分析社交關(guān)系數(shù)據(jù)可以豐富用戶(hù)的特征表示,挖掘用戶(hù)的潛在偏好。另外,海量的被推薦物品包含許多標(biāo)簽、文本,這些輔助信息反映了物品的內(nèi)容、類(lèi)別甚至在一定程度上反映了相似程度,將這些輔助信息采用知識(shí)圖譜的形式構(gòu)建成圖,可以輔助分析物品的潛在聯(lián)系,有利于推薦結(jié)果的發(fā)散。本文擬通過(guò)引入并高效合理應(yīng)用大量輔助信息,來(lái)緩解推薦的冷啟動(dòng)和數(shù)據(jù)稀疏問(wèn)題,提升推薦效果。
社交關(guān)系數(shù)據(jù)屬于圖數(shù)據(jù),它包含著豐富的關(guān)系型信息,反映了用戶(hù)的信任關(guān)系,圖神經(jīng)網(wǎng)絡(luò)是圖數(shù)據(jù)中相鄰節(jié)點(diǎn)間信息傳播和聚合的重要技術(shù),可以有效地將深度學(xué)習(xí)的理念應(yīng)用于非歐幾里德空間的數(shù)據(jù)上[3]。采用圖卷積神經(jīng)網(wǎng)絡(luò)分析提取社交網(wǎng)絡(luò)數(shù)據(jù),是從社交關(guān)系的角度計(jì)算用戶(hù)的相似度,分析得到的用戶(hù)信任關(guān)系和用戶(hù)相似度可以豐富用戶(hù)的表示向量,從而提升推薦效果。知識(shí)圖譜是一種用圖模型來(lái)描述知識(shí)和建模世界萬(wàn)物之間的關(guān)聯(lián)關(guān)系的技術(shù)方法。知識(shí)圖譜可以用于表示推薦系統(tǒng)中繁雜的物品和屬性之間的語(yǔ)義關(guān)系,通過(guò)知識(shí)圖譜表示學(xué)習(xí)分析物品屬性知識(shí)圖譜,是從物品屬性的角度計(jì)算物品的相似度,分析得到的蘊(yùn)含物品屬性的物品表示向量,可以緩解冷啟動(dòng)與數(shù)據(jù)稀疏問(wèn)題并增強(qiáng)推薦系統(tǒng)的性能。
該文采用深度學(xué)習(xí)的方法,使用圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取用戶(hù)社交網(wǎng)絡(luò)數(shù)據(jù),得到用戶(hù)的特征向量,使用基于語(yǔ)義的匹配模型來(lái)提取由物品屬性構(gòu)建的知識(shí)圖譜,從而得到物品的向量表示,最后使用得到的用戶(hù)和物品表示向量計(jì)算得到推薦列表。本文主要貢獻(xiàn)如下:
(1)提出了一種改良的圖卷積神經(jīng)網(wǎng)絡(luò)方法,用以挖掘用戶(hù)的社交關(guān)系數(shù)據(jù),該方法采用圖中心性作為概率對(duì)節(jié)點(diǎn)鄰居進(jìn)行采樣,使用word2vec 模型思想生成虛擬鄰居以緩解社交數(shù)據(jù)的稀疏性,采用注意力機(jī)制對(duì)節(jié)點(diǎn)鄰居進(jìn)行聚合。
(2)為了豐富物品的語(yǔ)義表示,采用基于語(yǔ)義的匹配模型來(lái)提取物品屬性構(gòu)建的知識(shí)圖譜,采用多任務(wù)學(xué)習(xí)技術(shù)訓(xùn)練推薦模塊和知識(shí)圖譜表示學(xué)習(xí)模塊。
(3)結(jié)合上述方法,提出了一種融合社交關(guān)系和知識(shí)圖譜的混合推薦框架,在多個(gè)數(shù)據(jù)集上進(jìn)行了大量的實(shí)驗(yàn),驗(yàn)證了其性能優(yōu)勢(shì)。
隨著計(jì)算機(jī)的出現(xiàn)和機(jī)器計(jì)算時(shí)代的到來(lái),圖作為一種能夠有效且抽象地表達(dá)信息和數(shù)據(jù)中的實(shí)體以及實(shí)體之間關(guān)系的重要數(shù)據(jù)結(jié)構(gòu)被廣泛應(yīng)用[3]。圖神經(jīng)網(wǎng)絡(luò)(graph neural network,GNN)的研究主要是集中在相鄰節(jié)點(diǎn)信息的傳播與聚合上。其中,圖卷積神經(jīng)網(wǎng)絡(luò)是研究時(shí)間最長(zhǎng)、研究成果最多的,按照特征空間的不同,圖卷積神經(jīng)網(wǎng)絡(luò)主要分為頻域和空間域兩個(gè)類(lèi)型。頻域的圖卷積神經(jīng)網(wǎng)絡(luò)[4]基于圖信號(hào)處理問(wèn)題,將卷積層定義為一個(gè)濾波器,通過(guò)濾波器去除噪聲信號(hào)從而得到輸入信號(hào)的分類(lèi)結(jié)果?;诳臻g的圖卷積神經(jīng)網(wǎng)絡(luò)[5]通過(guò)計(jì)算中心單一節(jié)點(diǎn)與鄰節(jié)點(diǎn)之間的卷積,來(lái)表示鄰節(jié)點(diǎn)間信息的傳遞和聚合,并作為特征域的新的節(jié)點(diǎn)表示。文獻(xiàn)[6]提出的基于圖結(jié)構(gòu)的傳播卷積神經(jīng)網(wǎng)絡(luò)(diffusionconvolutional neural networks,DCNN)通過(guò)傳播卷積的方式,擴(kuò)散性地掃描圖結(jié)構(gòu)中的每一個(gè)頂點(diǎn),替代了一般圖卷積神經(jīng)網(wǎng)絡(luò)基于矩陣特征的卷積形式;針對(duì)大型圖數(shù)據(jù),文獻(xiàn)[7]引入聚合函數(shù)的概念定義圖卷積,提出了一種批量訓(xùn)練算法GraphSAGE(graph sample and aggregate);為了進(jìn)一步提升圖神經(jīng)網(wǎng)絡(luò)的性能,文獻(xiàn)[8]提出的圖注意力網(wǎng)絡(luò)(graph attention networks,GAT)聚合節(jié)點(diǎn)鄰居信息的時(shí)候使用注意力機(jī)制來(lái)確定每個(gè)鄰居節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)的重要性,從而更準(zhǔn)確地聚合鄰居。文獻(xiàn)[9]提出了一個(gè)多通道超圖卷積網(wǎng)絡(luò)(multi-channel hypergraph convolutional network,MHCN),利用高階用戶(hù)關(guān)系來(lái)增強(qiáng)社交推薦。圖卷積神經(jīng)網(wǎng)絡(luò)在社交網(wǎng)絡(luò)這類(lèi)圖數(shù)據(jù)上具有強(qiáng)大的嵌入表示能力,能夠挖掘用戶(hù)之間的信任關(guān)系,從而能夠幫助推薦系統(tǒng)分析用戶(hù)潛在偏好。
隨著人工智能技術(shù)的發(fā)展和應(yīng)用,知識(shí)圖譜現(xiàn)已被廣泛應(yīng)用于智能搜索、個(gè)性化推薦等領(lǐng)域。知識(shí)圖譜通常以三元組的形式存儲(chǔ)實(shí)體及其關(guān)系,每一個(gè)三元組都由一個(gè)頭實(shí)體、關(guān)系和尾實(shí)體構(gòu)成,三元組不僅可以幫助理解知識(shí)實(shí)體之間的關(guān)系,也可以存儲(chǔ)知識(shí)實(shí)體的屬性[10]。將知識(shí)圖譜引入到推薦系統(tǒng)不僅有利于信息的挖掘和推薦結(jié)果的發(fā)散,還可以增強(qiáng)推薦的可解釋性?,F(xiàn)有的基于知識(shí)圖譜的推薦方法可以被分為兩類(lèi):基于嵌入的方法和基于路經(jīng)的方法?;谇度氲姆椒ㄖ饕ㄟ^(guò)圖嵌入的方法對(duì)實(shí)體和關(guān)系進(jìn)行表征,進(jìn)而擴(kuò)充原有用戶(hù)和物品的表征的語(yǔ)義信息[10]。具體可分為基于距離的翻譯模型[11]、基于語(yǔ)義的匹配模型[12]。Wang 等[13]提出了一種KGCN(knowledge graph convolutional networks)模型,它利用圖神經(jīng)網(wǎng)絡(luò)分析知識(shí)圖譜得到物品實(shí)體的表示向量,輔助推薦;文獻(xiàn)[14]采用TransE(translating embedding)技術(shù)提取知識(shí)圖譜得到實(shí)體和關(guān)系的表示向量,從而豐富物品的語(yǔ)義表示;另外,基于路徑的方法[15]主要是挖掘基于圖譜用戶(hù)、物品之間多種連接關(guān)系作為樣本,訓(xùn)練得到可以預(yù)測(cè)連接關(guān)系的模型。本文采用基于嵌入的知識(shí)圖譜表示學(xué)習(xí)方法挖掘物品屬性數(shù)據(jù)輔助推薦。
隨著推薦技術(shù)的發(fā)展和對(duì)推薦算法的研究,現(xiàn)如今已有許多研究成果,其中,基于內(nèi)容的推薦方法[16]是推薦引擎出現(xiàn)之初,應(yīng)用最為廣泛的方法,根據(jù)推薦物品或內(nèi)容的元數(shù)據(jù),發(fā)現(xiàn)物品或者內(nèi)容的相關(guān)性,然后基于用戶(hù)以往的喜好記錄,向用戶(hù)推薦相似的物品;協(xié)同過(guò)濾推薦方法[17]是根據(jù)用戶(hù)對(duì)物品或者信息的偏好,發(fā)現(xiàn)物品或者內(nèi)容本身的相關(guān)性,或者是發(fā)現(xiàn)用戶(hù)的相關(guān)性,然后基于這些關(guān)聯(lián)性進(jìn)行推薦;此外,混合推薦技術(shù)[18]將現(xiàn)有的推薦方法組合,取長(zhǎng)補(bǔ)短,從而獲得更好的推薦效果。
隨著深度學(xué)習(xí)技術(shù)的發(fā)展,神經(jīng)網(wǎng)絡(luò)已經(jīng)應(yīng)用到各種推薦場(chǎng)景,由于深度學(xué)習(xí)具有很強(qiáng)的特征提取能力,并且越來(lái)越多可用于增強(qiáng)推薦性能的輔助信息可被采集,因此越來(lái)越多的研究者使用深度學(xué)習(xí)技術(shù)提取文本、標(biāo)簽、社交關(guān)系等輔助信息來(lái)產(chǎn)生更加有效特征表示,以提高推薦性能[19]。文獻(xiàn)[20]和文獻(xiàn)[21]分別將經(jīng)典的卷積神經(jīng)網(wǎng)絡(luò)和循環(huán)神經(jīng)網(wǎng)絡(luò)引入到推薦算法中,用于分析物品的標(biāo)簽、描述文本等輔助信息,從而提升推薦的準(zhǔn)確性,這類(lèi)模型通過(guò)重點(diǎn)分析物品的輔助信息來(lái)豐富物品的特征表示,在一定程度上緩解數(shù)據(jù)稀疏問(wèn)題,但是往往忽略了輔助信息和物品之間的關(guān)聯(lián)關(guān)系,且可擴(kuò)展性差。針對(duì)這一問(wèn)題,文獻(xiàn)[13]和文獻(xiàn)[22]引入知識(shí)圖譜技術(shù)分析物品的輔助信息。文獻(xiàn)[13]提出的KGCN 模型使用用戶(hù)和物品的輔助信息構(gòu)建知識(shí)圖譜,清晰地表征了用戶(hù)和物品與這些輔助信息之間的語(yǔ)義關(guān)系,采用基于嵌入的圖卷積神經(jīng)網(wǎng)絡(luò)分析知識(shí)圖譜得到用戶(hù)和物品向量表示生成推薦。文獻(xiàn)[22]采用物品的輔助信息構(gòu)建知識(shí)圖譜,并使用多任務(wù)學(xué)習(xí)的方式將知識(shí)圖譜學(xué)習(xí)任務(wù)學(xué)習(xí)到的蘊(yùn)含物品屬性的物品表示向量融入到推薦任務(wù)中,從而增強(qiáng)推薦性能。為了構(gòu)建更加精準(zhǔn)的用戶(hù)畫(huà)像,緩解推薦系統(tǒng)的稀疏性和冷啟動(dòng)問(wèn)題,研究者們提出將社交關(guān)系數(shù)據(jù)引入推薦算法。文獻(xiàn)[23]提出的SocialMF(social matrix factorization)模型利用矩陣分解技術(shù)分析社交網(wǎng)絡(luò)的信任傳播,從而提高推薦的準(zhǔn)確性。文獻(xiàn)[24]提出的深度影響力傳播模型(influence diffusion neural network,DiffNet),模擬用戶(hù)受社交網(wǎng)絡(luò)中鄰居影響遞歸擴(kuò)散的過(guò)程,從而得到更加精準(zhǔn)的用戶(hù)表示向量以提升推薦的準(zhǔn)確度。文獻(xiàn)[25]提出的GraphRec(graph neural network framework for social recommendations)模型使用圖神經(jīng)網(wǎng)絡(luò)挖掘用戶(hù)的社交網(wǎng)絡(luò)得到用戶(hù)的一個(gè)特征表示,同樣使用圖神經(jīng)網(wǎng)絡(luò)分析用戶(hù)-物品交互網(wǎng)絡(luò)得到用戶(hù)和物品的特征表示,將兩個(gè)用戶(hù)特征表示進(jìn)行拼接得到最終用戶(hù)特征表示,最后使用用戶(hù)和物品的特征表示生成推薦;上述融合社交關(guān)系的模型以及SoRec[26]、TrustSVD[27]、DICER[28]、DGRec[29]、EATNN[30]等模型大多忽略了社交關(guān)系數(shù)據(jù)的稀疏特性,并且大多只考慮了社交關(guān)系數(shù)據(jù),沒(méi)有同時(shí)融合物品相關(guān)的輔助數(shù)據(jù)。
從上述分析可以得出,知識(shí)圖譜技術(shù)可以在清晰表征大量物品輔助信息的同時(shí),也可以表示物品和對(duì)應(yīng)輔助信息的語(yǔ)義關(guān)系,因此采用知識(shí)圖譜技術(shù)分析物品的輔助信息可以有效幫助推薦算法利用物品輔助信息提升推薦性能。另外現(xiàn)有的融合社交關(guān)系的推薦算法大多忽略了社交數(shù)據(jù)的稀疏性且少有推薦算法同時(shí)也融合物品輔助信息。針對(duì)上述現(xiàn)有方法的不足,本文采用圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取社交關(guān)系這種圖結(jié)構(gòu)的輔助信息,創(chuàng)新地使用圖中心性作為概率對(duì)節(jié)點(diǎn)鄰居采樣來(lái)過(guò)濾鄰居,采用word2vec思想生成虛擬鄰居來(lái)緩解社交數(shù)據(jù)的稀疏性,通過(guò)分析用戶(hù)之間的社交記錄,挖掘用戶(hù)之間的信任關(guān)系,得到用戶(hù)的表示向量。由于物品屬性等輔助信息反映了物品的內(nèi)容、類(lèi)別等語(yǔ)義信息,本文采用基于語(yǔ)義的匹配模型來(lái)提取物品屬性等輔助信息構(gòu)建的知識(shí)圖譜,得到物品的表示向量,最后通過(guò)得到的蘊(yùn)含社交關(guān)系的用戶(hù)表示向量和蘊(yùn)含物品屬性信息的物品表示向量生成推薦。
在推薦系統(tǒng)中,假設(shè)有用戶(hù)集合U={u1,u2,…}和物品集合V={v1,v2,…}。用戶(hù)通過(guò)平臺(tái)與物品交互,包括點(diǎn)擊行為、瀏覽行為或評(píng)分行為,系統(tǒng)會(huì)生成一個(gè)交互矩陣Y={yuv|u∈U,v∈V},其中yuv的值為1 代表用戶(hù)u和物品v之間存在交互,反之,yuv的值為0則表示用戶(hù)u和物品v之間沒(méi)有交互過(guò)。采用(ui,uj)這樣的關(guān)系對(duì)表示用戶(hù)社交關(guān)系S中用戶(hù)ui關(guān)注用戶(hù)uj。采用(h,r,t)三元組表示知識(shí)圖譜G中大量的實(shí)體-關(guān)系-實(shí)體三元組,其中,h∈ε,r∈R,t∈ε分別代表三元組中的頭、關(guān)系、尾,且ε、R分別代表知識(shí)圖譜的實(shí)體和關(guān)系集合。給定交互矩陣Y,社交關(guān)系S和知識(shí)圖譜G,模型旨在預(yù)測(cè)用戶(hù)u對(duì)他未有過(guò)交互的物品v的興趣。模型旨在構(gòu)建一個(gè)預(yù)測(cè)函數(shù)=F(u,v;Θ),其中代表用戶(hù)u將會(huì)訪問(wèn)物品v的概率,Θ代表函數(shù)F的相關(guān)參數(shù)。
在實(shí)際生活中,人們選擇物品時(shí)習(xí)慣傾聽(tīng)朋友的意見(jiàn),這一現(xiàn)象表明,挖掘蘊(yùn)含豐富用戶(hù)關(guān)聯(lián)信息的社交數(shù)據(jù)可以更好地構(gòu)建用戶(hù)畫(huà)像,從而更精準(zhǔn)地向用戶(hù)生成推薦,對(duì)于社交關(guān)系數(shù)據(jù)的分析應(yīng)該更注重影響力的傳播,故本文采用圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)挖掘用戶(hù)之間的潛在聯(lián)系,分析用戶(hù)之間的信任關(guān)系;另外,物品的輔助數(shù)據(jù)包含豐富的語(yǔ)義信息,知識(shí)圖譜可以將這些輔助數(shù)據(jù)高效地組織表示起來(lái),挖掘物品輔助信息構(gòu)建的知識(shí)圖譜可以構(gòu)建更加豐富精準(zhǔn)的物品特征表示,對(duì)于物品的屬性數(shù)據(jù)的分析應(yīng)該更注重物品與物品、物品和屬性之間的語(yǔ)義關(guān)系,故采用知識(shí)圖譜表示學(xué)習(xí)的方式來(lái)挖掘物品之間的潛在聯(lián)系。挖掘社交關(guān)系數(shù)據(jù)和物品的屬性數(shù)據(jù)這些輔助信息可以較好地緩解推薦系統(tǒng)所面臨的數(shù)據(jù)稀疏、冷啟動(dòng)問(wèn)題。基于以上思路,本文提出了MSAKR(multi-task feature learning approach for social relationship and knowledge graph enhanced recommendation)模型。該模型通過(guò)圖卷積神經(jīng)網(wǎng)絡(luò)提取用戶(hù)之間的社交關(guān)系,采用中心性鄰居提取器篩選鄰居,利用虛擬鄰居提取器生成虛擬鄰居,采用注意力機(jī)制聚集鄰居,最終得到用戶(hù)的特征向量;其次,采用多任務(wù)學(xué)習(xí)和基于語(yǔ)義匹配的模型來(lái)提取由物品屬性構(gòu)建的知識(shí)圖譜,得到物品的向量表示;最后,根據(jù)得到的用戶(hù)和物品特征向量計(jì)算生成推薦。MSAKR 模型結(jié)構(gòu)如圖1 所示。左側(cè)推薦模塊的輸入為評(píng)分矩陣Y和社交關(guān)系S,物品表示向量經(jīng)過(guò)交叉壓縮單元(CCv)、多層神經(jīng)網(wǎng)絡(luò)(multilayer perceptron,MLP)得到vout,用戶(hù)表示向量經(jīng)過(guò)中心性鄰居提取器(central neighbor extractor,CNE)得到按照中心性作為概率采樣的鄰居,經(jīng)過(guò)虛擬鄰居提取器得到虛擬鄰居,用戶(hù)和得到的鄰居作為圖卷積神經(jīng)網(wǎng)絡(luò)模塊(graph convolutional network,GCN)的輸入得到新的用戶(hù)表示向量ugcn,再經(jīng)過(guò)多層神經(jīng)網(wǎng)絡(luò)(MLP)得到uout,最終通過(guò)預(yù)測(cè)函數(shù)(prediction function,PF)得到用戶(hù)u對(duì)物品v的預(yù)測(cè)評(píng)分;右側(cè)知識(shí)圖譜表示學(xué)習(xí)模塊的輸入為物品屬性知識(shí)圖譜,圖譜中的頭實(shí)體、關(guān)系表示向量經(jīng)過(guò)交叉壓縮單元(CCv)、多層神經(jīng)網(wǎng)絡(luò)(MLP)得到預(yù)測(cè)的尾實(shí)體,通過(guò)相似度度量函數(shù)對(duì)比和經(jīng)過(guò)多層神經(jīng)網(wǎng)絡(luò)(MLP)得到的尾實(shí)體tv,從而擬合知識(shí)圖譜中實(shí)體-關(guān)系-實(shí)體這樣的三元組;推薦模塊和知識(shí)圖譜表示學(xué)習(xí)模塊通過(guò)交叉壓縮單元相互聯(lián)系,多任務(wù)學(xué)習(xí),最終得到一個(gè)能夠預(yù)測(cè)評(píng)分的函數(shù)=F(u,v;Θ)。
圖1 MSAKR 模型結(jié)構(gòu)Fig.1 Framework of MSAKR
本文采用基于空間的圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)挖掘社交關(guān)系數(shù)據(jù)中用戶(hù)之間的潛在聯(lián)系,采用節(jié)點(diǎn)中心性對(duì)節(jié)點(diǎn)的鄰居進(jìn)行采樣,采用word2vec 思想生成虛擬鄰居來(lái)緩解社交數(shù)據(jù)的稀疏性問(wèn)題,其中中心性采樣得到的鄰居和生成的虛擬鄰居共同視為節(jié)點(diǎn)采樣所得的鄰居參與圖卷積神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,使用注意力機(jī)制來(lái)對(duì)鄰居進(jìn)行聚集,最終得到用戶(hù)的表示向量。
2.3.1 中心性鄰居提取器
中心性是圖分析中一個(gè)常用的概念,用以表達(dá)圖中一個(gè)頂點(diǎn)在整個(gè)網(wǎng)絡(luò)中所在中心的程度,也稱(chēng)之為中心度。在現(xiàn)實(shí)生活中,人們往往更容易聽(tīng)取有影響力人的意見(jiàn),其中影響力在圖數(shù)據(jù)結(jié)構(gòu)中可通過(guò)中心度來(lái)體現(xiàn)。根據(jù)測(cè)定中心性方法的不同,可分為度中心性、接近中心性、中介中心性等。本文采用度中心性(degree centrality,DEG)對(duì)圖節(jié)點(diǎn)的鄰居進(jìn)行采樣,度量度中心性的公式為:
其中,CDEG(vi)表示節(jié)點(diǎn)vi的度中心性,deg(vi)表示節(jié)點(diǎn)vi的度,n表示圖的節(jié)點(diǎn)數(shù)。得到各個(gè)節(jié)點(diǎn)的中心性后,對(duì)節(jié)點(diǎn)鄰居的中心性進(jìn)行歸一化,以歸一化后的數(shù)值為概率對(duì)鄰居進(jìn)行采樣。如圖2,對(duì)鄰居節(jié)點(diǎn)的采樣數(shù)為2,其中深色節(jié)點(diǎn)為按照中心性進(jìn)行歸一化概率采樣被選中節(jié)點(diǎn)。
圖2 圖卷積示意圖Fig.2 Schematic diagram of GCN
2.3.2 虛擬鄰居提取器
社交關(guān)系數(shù)據(jù)普遍非常稀疏,有些節(jié)點(diǎn)可能沒(méi)有直接相連的鄰居,社交關(guān)系數(shù)據(jù)的稀疏性問(wèn)題是將社交數(shù)據(jù)應(yīng)用到推薦系統(tǒng)的重大挑戰(zhàn),本文采用word2vec 的思想為節(jié)點(diǎn)生成虛擬鄰居以緩解社交關(guān)系數(shù)據(jù)的稀疏性,word2vec是從大量文本語(yǔ)料中以無(wú)監(jiān)督的方式學(xué)習(xí)語(yǔ)義知識(shí)的一種模型,它被大量地用在自然語(yǔ)言處理中,隨后Embedding 的思想被廣泛應(yīng)用到機(jī)器學(xué)習(xí)領(lǐng)域。在自然語(yǔ)言處理中word2vec 是針對(duì)句子,對(duì)句子中的詞生成Embedding,本文將訪問(wèn)過(guò)同一個(gè)物品的所有用戶(hù)視為一個(gè)“句子”,對(duì)“句子”中的“詞”也就是單個(gè)用戶(hù)生成Embedding,即通過(guò)word2vec 思想從用戶(hù)物品的交互數(shù)據(jù)中得到用戶(hù)的Embedding,把原來(lái)高維稀疏的數(shù)據(jù)映射到低維稠密的向量空間中,這樣就可以用低維向量來(lái)表示用戶(hù),進(jìn)而通過(guò)計(jì)算兩個(gè)低維向量之間的相似度來(lái)衡量?jī)蓚€(gè)用戶(hù)之間的相似性,本文采用標(biāo)準(zhǔn)化內(nèi)積的方式來(lái)計(jì)算用戶(hù)的相似度。
其中,σ代表Sigmoid函數(shù),最后按照相似度排序,取出和用戶(hù)向量相似度高的用戶(hù)作為該用戶(hù)的虛擬鄰居。
該計(jì)算相似度的過(guò)程類(lèi)似于協(xié)同過(guò)濾的思想,把user 看作word2vec 中的word,將訪問(wèn)過(guò)同一物品的用戶(hù)集合視為句子,這樣可以將沒(méi)有直接關(guān)聯(lián),但是行為相似度很高的用戶(hù)也采樣為虛擬鄰居關(guān)系,以緩解社交關(guān)系數(shù)據(jù)非常稀疏這一問(wèn)題。如圖3 所示,用戶(hù)a 與用戶(hù)b 購(gòu)買(mǎi)了多個(gè)相同的物品,他們應(yīng)該具有很高的相似度,同時(shí)用戶(hù)a 關(guān)注了多個(gè)其他用戶(hù),而用戶(hù)b 卻沒(méi)有關(guān)注任何用戶(hù),不利于從社交關(guān)系的角度為用戶(hù)b 生成推薦,因此采用word2vec 的思想分析用戶(hù)的行為記錄,將和用戶(hù)b 相似度高的用戶(hù)(例如用戶(hù)a)提取出來(lái)作為用戶(hù)b 的虛擬鄰居,一方面緩解了社交數(shù)據(jù)稀疏性這一問(wèn)題,另一方面從用戶(hù)行為的角度豐富了用戶(hù)的鄰居。
圖3 社交關(guān)系示例Fig.3 Example of social relationships
2.3.3 注意力機(jī)制聚集層
常用的圖節(jié)點(diǎn)鄰居進(jìn)行聚合的方式有Mean、LSTM(long short-term memory)、Pooling,本文采用self-attention 的方式來(lái)對(duì)圖節(jié)點(diǎn)的鄰居進(jìn)行聚合。self-attention 可以在充分考慮各鄰居對(duì)中心節(jié)點(diǎn)影響的同時(shí),也能區(qū)分哪些鄰居更為重要。該層的輸入為鄰居節(jié)點(diǎn)的特征向量集合h={h1,h2,…,hN},hi∈Rd與中心節(jié)點(diǎn)特征向量hC,其中N為節(jié)點(diǎn)鄰居數(shù),d為節(jié)點(diǎn)特征向量的維度,經(jīng)聚集得到新的中心節(jié)點(diǎn)特征向量hC′,如圖2。
該層先對(duì)鄰居節(jié)點(diǎn)的特征向量進(jìn)行非線性變換:
其中,aT∈R2d為權(quán)重向量,||為拼接操作。再采用Softmax 函數(shù)進(jìn)行標(biāo)準(zhǔn)化:
中心節(jié)點(diǎn)hC的N個(gè)鄰居節(jié)點(diǎn)經(jīng)過(guò)self-attention聚集之后得到特征向量hagg,如下:
最終聚集得到新的中心節(jié)點(diǎn)特征向量hC′為:
其中,W、b分別為參數(shù)矩陣和偏置。
本文采用基于語(yǔ)義匹配的知識(shí)圖譜學(xué)習(xí)模型來(lái)挖掘物品屬性數(shù)據(jù),從而找出物品之間的潛在聯(lián)系,知識(shí)圖譜模塊和推薦模塊采用交叉壓縮單元進(jìn)行連接,采用多任務(wù)學(xué)習(xí)的方式訓(xùn)練得到物品的表示向量。如圖4 所示,電影數(shù)據(jù)集包括導(dǎo)演、體裁、演員等關(guān)系信息,此處以導(dǎo)演、演員兩種關(guān)系為例,其中電影a 與電影b 由同一導(dǎo)演a 執(zhí)導(dǎo),電影c 由導(dǎo)演b 執(zhí)導(dǎo),在只考慮導(dǎo)演這一類(lèi)關(guān)系時(shí),電影a 與電影b 的相似度應(yīng)該大于電影a 與電影c 的相似度;同理,電影a的主演是演員a,電影b 與電影c 的主演是同一演員b,在只考慮主演這一類(lèi)關(guān)系時(shí),電影a 與電影b 的相似度應(yīng)該小于電影b 與電影c 的相似度。知識(shí)圖譜學(xué)習(xí)模塊可以綜合考慮多類(lèi)關(guān)系,生成精準(zhǔn)全面的物品表示向量。
圖4 知識(shí)圖譜關(guān)系示例Fig.4 Example of knowledge graph relations
2.4.1 交叉壓縮單元
多任務(wù)學(xué)習(xí)中的交叉壓縮單元的處理思想來(lái)源于MKR[22]模型,可多層疊加使用,其結(jié)構(gòu)如圖5 所示。MKR 模型里的多任務(wù)學(xué)習(xí)思路可以很好地將知識(shí)圖譜學(xué)習(xí)任務(wù)和推薦任務(wù)融合訓(xùn)練,能夠更加充分地利用知識(shí)圖譜來(lái)提升推薦性能。這一思路的核心思想在于推薦物品和知識(shí)圖譜的實(shí)體有交叉,通過(guò)交叉壓縮單元將知識(shí)圖譜學(xué)習(xí)到的實(shí)體表示向量反饋到推薦模塊中輔助推薦。
圖5 交叉壓縮單元示意圖Fig.5 Schematic diagram of cross&compress unit
交叉壓縮單元用于連接推薦模塊和知識(shí)圖譜表示學(xué)習(xí)模塊,該單元的輸入為推薦模塊的物品特征向量vin和知識(shí)圖譜特征學(xué)習(xí)模塊的實(shí)體特征向量hin,輸出為交叉融合后的vout和hout。
對(duì)于一個(gè)物品v和知識(shí)圖譜里對(duì)應(yīng)的實(shí)體h,首先構(gòu)建交叉矩陣C∈Rd×d,其中d為物品和實(shí)體對(duì)應(yīng)向量v和h的維度。
物品v和實(shí)體h經(jīng)過(guò)交叉壓縮單元的輸出為:
2.4.2 基于神經(jīng)網(wǎng)絡(luò)的語(yǔ)義匹配模型
本文采用基于神經(jīng)網(wǎng)絡(luò)的語(yǔ)義匹配模型中的神經(jīng)關(guān)聯(lián)模型(neural association model,NAM)分析提取物品屬性知識(shí)圖譜。對(duì)于一個(gè)知識(shí)圖譜三元組,該模型首先將頭實(shí)體的表示向量和關(guān)系表示向量作為神經(jīng)網(wǎng)絡(luò)輸入,經(jīng)過(guò)多層神經(jīng)網(wǎng)絡(luò)得到一個(gè)隱藏層的輸出,最后通過(guò)匹配這個(gè)隱藏層的輸出和尾實(shí)體的表示向量來(lái)給出分?jǐn)?shù)。頭實(shí)體表示向量hin先經(jīng)過(guò)交叉壓縮單元得到hout,與關(guān)系表示向量r拼接,再經(jīng)過(guò)MLP 得到隱藏層輸出t^,最后采用相似度度量函數(shù)匹配輸出的隱藏層和尾實(shí)體表示向量,并給出分?jǐn)?shù)。
其中,CCv代表交叉壓縮單元,MLP 為多層感知機(jī),相似度度量函數(shù)為:
其中,σ為Sigmoid 函數(shù),采用標(biāo)準(zhǔn)化內(nèi)積的方法來(lái)計(jì)算相似度。
2.5.1 推薦模型
MSAKR 模型的推薦模塊輸入為描述用戶(hù)和物品的特征向量u和v。給定用戶(hù)的特征向量u,經(jīng)過(guò)GCN 和MLP 處理后的uout為:
給定物品的特征向量v,經(jīng)過(guò)交叉壓縮單元和MLP 處理后為vout:
通過(guò)以上得到的uout和vout,計(jì)算用戶(hù)u對(duì)物品v的興趣概率公式為:
2.5.2 優(yōu)化算法
損失函數(shù)為:
其中,?為交叉熵?fù)p失函數(shù);λ為正則化項(xiàng)系數(shù);LRS是衡量推薦模型的損失值;LKG為衡量知識(shí)圖譜表示學(xué)習(xí)模塊中物品-關(guān)系-實(shí)體擬合程度的損失值。
MSAKR 模型的參數(shù)優(yōu)化過(guò)程如算法1 所示。算法1 中,第1 到3 行是數(shù)據(jù)準(zhǔn)備階段,先構(gòu)建用戶(hù)社交關(guān)系的有向圖,計(jì)算各節(jié)點(diǎn)的中心性,并按中心性對(duì)節(jié)點(diǎn)鄰居進(jìn)行采樣,使用word2vec 思想生成用戶(hù)表示向量,提取和用戶(hù)相似度高的節(jié)點(diǎn)作為該用戶(hù)的虛擬鄰居,得到用戶(hù)關(guān)系的鄰接矩陣。第5 到9 行是推薦階段,該階段的輸入為評(píng)分矩陣和用戶(hù)關(guān)系的鄰接矩陣。第10 到14 行是物品-關(guān)系-實(shí)體三元組擬合階段,該階段的輸入為知識(shí)圖譜數(shù)據(jù)G。在各個(gè)階段把輸入數(shù)據(jù)輸入模型按照公式正向傳播,隨后對(duì)推薦模塊使用Adam(adaptive moment estimation)優(yōu)化算法,對(duì)知識(shí)圖譜學(xué)習(xí)模塊使用隨機(jī)梯度下降(stochastic gradient descent,SGD)優(yōu)化算法,反向傳播更新模型參數(shù)Θ,多次迭代最終輸出推薦預(yù)測(cè)函數(shù)=F(u,v;Θ)。
算法1MSAKR
輸入:交互矩陣Y,知識(shí)圖譜G,社交關(guān)系S。
輸出:預(yù)測(cè)函數(shù)=F(u,v;Θ)。
1.初始化模型參數(shù)
2.構(gòu)建物品屬性知識(shí)圖譜,構(gòu)建社交關(guān)系有向圖
3.按中心性提取鄰居節(jié)點(diǎn),生成虛擬鄰居,得到最終的用戶(hù)關(guān)系鄰接矩陣
4.for 訓(xùn)練迭代次數(shù)do
5.//推薦任務(wù)
6.whilei+batchSize<len(Y) do
7.將Y、S中的miniBatch 傳入推薦模塊
8.使用Adam 算法,通過(guò)式(2)~(6)、(13)、(14)、(17)更新F的參數(shù)
9.i+=batchSize
10.end while
11.//知識(shí)圖譜表示學(xué)習(xí)任務(wù)
12.whilei+batchSize<len(G) do
13.將G中的miniBatch 傳入知識(shí)圖譜模塊
14.使用SGD 算法,通過(guò)式(7)~(12),(15)、(16)、(17)更新F的參數(shù)
15.i+=batchSize
16.end while
17.end for
為了驗(yàn)證提出的MSAKR 模型的推薦性能,在相同的實(shí)驗(yàn)環(huán)境下,進(jìn)行以下對(duì)比分析實(shí)驗(yàn)。
豆瓣電影評(píng)分?jǐn)?shù)據(jù)集:豆瓣網(wǎng)是國(guó)內(nèi)著名的社區(qū)網(wǎng)站,提供關(guān)于書(shū)籍、電影、電視、音樂(lè)、游戲、舞臺(tái)劇等作品的信息,集品味系統(tǒng)、表達(dá)系統(tǒng)和交流系統(tǒng)于一體,其海量的用戶(hù)和點(diǎn)評(píng)記錄為本文提供了可靠的數(shù)據(jù)支撐,具有較強(qiáng)的工程應(yīng)用意義。本文爬取了100 多萬(wàn)條評(píng)分記錄,評(píng)分范圍1~5 分,60 多萬(wàn)條社交用戶(hù)相互關(guān)注的記錄,7 萬(wàn)多條電影的屬性信息,包括電影題材、導(dǎo)演、主演等。
Yelp 數(shù)據(jù)集:Yelp 是美國(guó)最大點(diǎn)評(píng)網(wǎng)站,囊括各地餐館、購(gòu)物中心、酒店、旅游等領(lǐng)域的商戶(hù),用戶(hù)可以在Yelp 網(wǎng)站中給商戶(hù)打分,提交評(píng)論,交流購(gòu)物體驗(yàn)等。Yelp 公開(kāi)數(shù)據(jù)集被廣泛應(yīng)用于推薦系統(tǒng)中,該數(shù)據(jù)集包含100 萬(wàn)條評(píng)分記錄,評(píng)分范圍1~5,同時(shí)也包含大量的商戶(hù)的屬性信息和用戶(hù)的社交信息。
對(duì)于豆瓣電影評(píng)分?jǐn)?shù)據(jù)集,將評(píng)分大于等于3 視為正樣例,并且從豆瓣網(wǎng)爬取各個(gè)電影的詳細(xì)信息(例如電影體裁、電影主演、電影導(dǎo)演等信息)來(lái)構(gòu)建物品屬性知識(shí)圖譜,爬取用戶(hù)之間的關(guān)注信息來(lái)構(gòu)建用戶(hù)社交網(wǎng)絡(luò)。對(duì)于Yelp 數(shù)據(jù)集,將評(píng)分大于等于3 視為正樣例,該公開(kāi)數(shù)據(jù)集同時(shí)提供了商戶(hù)的詳細(xì)信息(例如商鋪所在城市、商鋪種類(lèi)等)和用戶(hù)的社交關(guān)系(例如朋友信息等),可用以構(gòu)建商戶(hù)屬性知識(shí)圖譜和用戶(hù)的社交網(wǎng)絡(luò)。各數(shù)據(jù)集的詳細(xì)數(shù)據(jù)見(jiàn)表1。
表1 數(shù)據(jù)集詳細(xì)數(shù)據(jù)Table 1 Basic statistics for datasets
采用以下幾個(gè)對(duì)比模型:
(1)MF[31]:最簡(jiǎn)單形式的矩陣分解模型,通過(guò)分解評(píng)分矩陣學(xué)習(xí)模型參數(shù)。
(2)EATNN[30]:Chen 等提出的一個(gè)高效自適應(yīng)遷移神經(jīng)網(wǎng)絡(luò),融合了社交信息來(lái)改善推薦效果。
(3)KGCN[13]:Wang 等提出的一種使用圖神經(jīng)網(wǎng)絡(luò)分析輔助信息構(gòu)建的知識(shí)圖譜的推薦模型。
(4)MKR[22]:Wang 等提出的一種使用知識(shí)圖譜分析輔助信息的多任務(wù)學(xué)習(xí)推薦模型。
(5)MSAKR:本文提出的融合社交關(guān)系和知識(shí)圖譜的推薦算法。
實(shí)驗(yàn)將數(shù)據(jù)集過(guò)濾并序列化后,按照6∶2∶2 將數(shù)據(jù)集劃分為訓(xùn)練集、驗(yàn)證集和測(cè)試集。采用ROC曲線下方面積大小(area under curve,AUC)和準(zhǔn)確率(accuracy,ACC)作為CTR(click through rate)預(yù)測(cè)實(shí)驗(yàn)的評(píng)估指標(biāo),采用預(yù)測(cè)率(precision)、召回率(recall)和歸一化折損累計(jì)增益(normalized discounted cumulative gain,NDCG)作為T(mén)op-K推薦實(shí)驗(yàn)的評(píng)估指標(biāo)。設(shè)置用戶(hù)和物品表示向量的維度d為32,batch_size 為128,正則化項(xiàng)系數(shù)λ為1E-6,圖卷積神經(jīng)網(wǎng)絡(luò)的鄰居聚集層數(shù)為2,各節(jié)點(diǎn)鄰居采樣總數(shù)η為8,虛擬鄰居采樣數(shù)占比γ為0.2,個(gè)數(shù)為小數(shù)時(shí)向上取整,推薦模塊的優(yōu)化器采用Adam,學(xué)習(xí)率為0.000 01,知識(shí)圖譜表示學(xué)習(xí)模塊的優(yōu)化器采用SGD,學(xué)習(xí)率為0.001。實(shí)驗(yàn)驗(yàn)證得出,本文提出的模型在交叉壓縮單元層數(shù)為1 時(shí),各項(xiàng)評(píng)價(jià)指標(biāo)效果更好,故在MSAKR 模型上交叉壓縮單元層數(shù)設(shè)置為1,評(píng)分指標(biāo)公式如下:
其中,TP(true positive)表示正樣本被預(yù)測(cè)為正;TN(true negative)表示負(fù)樣本被預(yù)測(cè)為負(fù);FP(false positive)表示負(fù)樣本被預(yù)測(cè)為正;FN(false negative)表示正樣本被預(yù)測(cè)為負(fù),P為正樣本數(shù)量,N為負(fù)樣本數(shù)量。AUC 被定義為ROC(receiver operating characteristic curve)曲線下方的面積。ROC 曲線的橫坐標(biāo)為假陽(yáng)率(false positive rate,F(xiàn)PR),縱坐標(biāo)為真陽(yáng)率(true positive rate,TPR),得到ROC 曲線,然后對(duì)ROC 曲線的橫軸做積分便可計(jì)算得到AUC 的值。IDCG(ideal discounted cumulative gain)為最理想的推薦排序結(jié)果按照DCG(discounted cumulative gain)公式計(jì)算的結(jié)果。
3.3.1 各參數(shù)對(duì)算法的影響
首先分析了不同的參數(shù)d和參數(shù)η在CTR 預(yù)測(cè)中對(duì)AUC 和ACC 的影響。參數(shù)d代表用戶(hù)物品表示向量的維度,d越大,表示用戶(hù)和物品的向量就越復(fù)雜。MSAKR 模型在豆瓣數(shù)據(jù)集上,AUC 和ACC評(píng)價(jià)指標(biāo)隨參數(shù)d的變化如圖6(a)。從圖中可以看出當(dāng)d=32,AUC 和ACC 評(píng)估指標(biāo)取得了最好的結(jié)果,表示用戶(hù)和物品的向量如果太簡(jiǎn)單會(huì)導(dǎo)致向量無(wú)法全面地描述用戶(hù)和物品,反之如果太復(fù)雜會(huì)導(dǎo)致模型很難收斂。MSAKR 模型中的參數(shù)η表示節(jié)點(diǎn)鄰居采樣總數(shù),η越大,表示可以影響用戶(hù)的鄰居節(jié)點(diǎn)越多,其中η包含中心性采樣的鄰居節(jié)點(diǎn)和生成的虛擬節(jié)點(diǎn)。MSAKR 模型在豆瓣數(shù)據(jù)集上,AUC和ACC 評(píng)價(jià)指標(biāo)隨參數(shù)η的變化如圖6(b)。從圖中可以看出當(dāng)η=8,AUC 和ACC 評(píng)估指標(biāo)取得了最好的結(jié)果,表示節(jié)點(diǎn)鄰居采樣總數(shù)的η如果太小會(huì)導(dǎo)致模型不能全面地提取鄰居對(duì)中心節(jié)點(diǎn)的影響,反之如果太大會(huì)引入噪聲鄰居節(jié)點(diǎn),導(dǎo)致效果變差。
圖6 參數(shù)d、η 對(duì)模型的影響Fig.6 Influence of parameter d, η on model
3.3.2 CTR 預(yù)測(cè)對(duì)比
分析了所有模型在CTR 預(yù)測(cè)上的性能表現(xiàn),各模型在兩個(gè)數(shù)據(jù)集上的AUC 和ACC 結(jié)果如表2。其中在豆瓣數(shù)據(jù)集上,提出的MSAKR 模型較融合知識(shí)圖譜的MKR 模型在AUC 評(píng)估指標(biāo)上提升了0.013 0,在ACC 評(píng)估指標(biāo)上提升了0.023 9,較融合社交關(guān)系的EATNN 模型在AUC 評(píng)估指標(biāo)上提升了0.058 6,在ACC 評(píng)估指標(biāo)上提升了0.021 1;在Yelp 數(shù)據(jù)集上,提出的MSAKR 模型較融合知識(shí)圖譜的KGCN 模型在AUC 評(píng)估指標(biāo)上提升了0.017 9,在ACC 評(píng)估指標(biāo)上提升了0.013 6,較融合社交關(guān)系的EATNN 模型在AUC 評(píng)估指標(biāo)上提升了0.034 1,在ACC 評(píng)估指標(biāo)上提升了0.009 8。從實(shí)驗(yàn)結(jié)果可以看出本文提出的MSAKR,在CTR 預(yù)測(cè)上優(yōu)于傳統(tǒng)的推薦算法和單一融合社交關(guān)系或物品屬性的算法,可見(jiàn)使用圖卷積神經(jīng)網(wǎng)絡(luò)提取社交關(guān)系和使用知識(shí)圖譜表示學(xué)習(xí)提取物品屬性信息可以有效地提升推薦性能;采用圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取社交關(guān)系這種圖結(jié)構(gòu)的輔助信息,可以有效地模擬用戶(hù)影響力的傳播,從用戶(hù)社交關(guān)系角度挖掘用戶(hù)的偏好;其次,采用知識(shí)圖譜表示學(xué)習(xí)提取物品屬性信息,有助于構(gòu)建精準(zhǔn)全面的物品特征向量,從而提升推薦性能。另外,對(duì)比模型中的MKR 模型和本文提出的MSAKR 模型在結(jié)構(gòu)上的區(qū)別僅僅是有無(wú)改良的圖卷積神經(jīng)網(wǎng)絡(luò)模型,因此可以構(gòu)成針對(duì)改良的圖卷積神經(jīng)網(wǎng)絡(luò)分析社交關(guān)系模塊的消融實(shí)驗(yàn)。從表2 的實(shí)驗(yàn)結(jié)果來(lái)看,加入改良的圖卷積神經(jīng)網(wǎng)絡(luò)的MSAKR 模型在兩個(gè)數(shù)據(jù)集的CTR預(yù)測(cè)實(shí)驗(yàn)中,AUC、ACC指標(biāo)均有所提升,從而驗(yàn)證了本文提出的改良圖卷積神經(jīng)網(wǎng)絡(luò)模塊的優(yōu)勢(shì)。
3.3.3 Top-K 預(yù)測(cè)對(duì)比
針對(duì)豆瓣數(shù)據(jù)集,取η=8,d=32,各個(gè)模型Top-K推薦的預(yù)測(cè)率和召回率結(jié)果如圖7,預(yù)測(cè)率代表預(yù)測(cè)的K個(gè)物品中預(yù)測(cè)正確的比例,反映了推薦的查準(zhǔn)率。圖7(a)表示K在不同取值時(shí),各模型在豆瓣數(shù)據(jù)集上的預(yù)測(cè)率折線圖,從圖中可以看出MSAKR模型在預(yù)測(cè)率上較其他模型有較大提升,其中在K=5時(shí),提出的模型較EATNN 模型提升6.73%,較KGCN模型提升15.62%,較MKR 模型提升了23.33%,較MF 模型提升了11.39%。圖7(b)表示K在不同取值時(shí),各模型在豆瓣數(shù)據(jù)集上的召回率折線圖,召回率表示樣本中的正例有多少被預(yù)測(cè)正確了,反映了推薦的查全率。從圖中可以看出提出的MSAKR模型在召回率上較其他模型有較大的提升,其中在K=5 時(shí),提出的模型較EATNN 模型提升10.13%,較KGCN 模型提升27.94%,較MKR模型提升19.17%,較MF模型提升42.62%,這表明,本文提出的MSAKR 算法在預(yù)測(cè)率和召回率指標(biāo)上具有優(yōu)越性。
圖7 豆瓣數(shù)據(jù)集上各模型Top-K 推薦效果Fig.7 Top-K recommendation effect of each model on Douban dataset
各模型在NDCG 指標(biāo)的結(jié)果如表3,NDCG 是一種衡量排序質(zhì)量的評(píng)價(jià)指標(biāo),反映推薦模型能否將用戶(hù)最喜歡的物品優(yōu)先推薦給用戶(hù)的能力。從表3可以看出,提出的MSAKR 模型在K=1,5,10,20 較其他模型均取得了最好的結(jié)果,其中在K=5 時(shí),提出的模型較EATNN 模型提升25.70%,較KGCN 模型提升19.19%,較MKR 模型提升5.93%,較MF 模型提升13.76%。另外,對(duì)比模型中的MKR 模型和本文提出的MSAKR 模型構(gòu)成針對(duì)改良的圖卷積神經(jīng)網(wǎng)絡(luò)分析社交關(guān)系模塊的消融實(shí)驗(yàn),從實(shí)驗(yàn)結(jié)果可以得出,加入改良的圖卷積神經(jīng)網(wǎng)絡(luò)的MSAKR 模型在Top-K預(yù)測(cè)實(shí)驗(yàn)中,預(yù)測(cè)率、召回率、NDCG 指標(biāo)均有較大提升,從而驗(yàn)證了本文提出的改良圖卷積神經(jīng)網(wǎng)絡(luò)模塊對(duì)于幫助提升推薦性能的優(yōu)勢(shì)。從圖7 和表3可以得出,模型MF 忽略了用戶(hù)之間的社交關(guān)系和物品的屬性信息,由于評(píng)分?jǐn)?shù)據(jù)稀疏問(wèn)題導(dǎo)致模型MF在Top-K推薦中表現(xiàn)不佳;模型MKR 和模型KGCN融合了物品屬性知識(shí)圖譜,但未考慮用戶(hù)受社交網(wǎng)絡(luò)中鄰居的影響,導(dǎo)致學(xué)習(xí)到的用戶(hù)特征向量不夠精準(zhǔn)全面,從而影響推薦效果;模型EATNN 融合了用戶(hù)的社交關(guān)系數(shù)據(jù),但是社交關(guān)系數(shù)據(jù)比較稀疏,并且未考慮物品的屬性信息,導(dǎo)致學(xué)習(xí)到的物品表示向量不夠準(zhǔn)確,從而影響推薦效果;本文提出的MSAKR 模型采用改良的圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取社交關(guān)系,采用word2vec 的思想為節(jié)點(diǎn)生成虛擬鄰居以緩解社交關(guān)系數(shù)據(jù)的稀疏性,采用基于語(yǔ)義的匹配模型來(lái)挖掘物品屬性知識(shí)圖譜;采用多任務(wù)學(xué)習(xí)的方式,聯(lián)合訓(xùn)練推薦模塊和知識(shí)圖譜表示學(xué)習(xí)模塊。分別從用戶(hù)受鄰居影響的角度挖掘用戶(hù)的偏好和從物品屬性的角度挖掘物品的潛在聯(lián)系,從而得到全面且準(zhǔn)確的用戶(hù)和物品表示向量,同時(shí)社交關(guān)系數(shù)據(jù)和物品屬性信息這些輔助信息可以較好地緩解評(píng)分?jǐn)?shù)據(jù)的稀疏性,因此提出的MSAKR 模型較其他基準(zhǔn)模型在Top-K推薦上有較大的提升;此外,從表3 可以得出,提出的MSAKR 模型比基準(zhǔn)模型在NDCG 指標(biāo)有較大提升,表明提出的模型能夠?qū)⒂脩?hù)最喜歡的物品排在前面推薦給用戶(hù),可以大大提升用戶(hù)的體驗(yàn)。
表3 各模型不同K 取值的NDCG 結(jié)果Table 3 Result of NDCG of each model with different K
3.3.4 冷啟動(dòng)及虛擬鄰居提取器模塊對(duì)比實(shí)驗(yàn)
冷啟動(dòng)是推薦系統(tǒng)面臨的重要挑戰(zhàn)之一,針對(duì)豆瓣數(shù)據(jù)集,設(shè)置用戶(hù)冷啟動(dòng)實(shí)驗(yàn),將數(shù)據(jù)集分為訓(xùn)練集和測(cè)試集,保證測(cè)試集中的用戶(hù)不出現(xiàn)在訓(xùn)練集中,經(jīng)實(shí)驗(yàn)得到冷啟動(dòng)各模型的NDCG 結(jié)果如表4。從表中可以看出,提出的MSAKR 模型在冷啟動(dòng)實(shí)驗(yàn)中較其他基準(zhǔn)模型有較大提升,其中在K=5 時(shí),提出的模型較EATNN 模型提升65.45%,較KGCN 模型提升68.31%,較MKR 模型提升120.87%,較MF 模型提升29.02%。本文提出的MSAKR 模型可通過(guò)用戶(hù)社交關(guān)系數(shù)據(jù),得到新用戶(hù)關(guān)注人的表示向量,通過(guò)圖卷積神經(jīng)網(wǎng)絡(luò)得到新用戶(hù)的表示向量,該向量蘊(yùn)含新用戶(hù)鄰居的偏好,實(shí)際意義為新用戶(hù)的偏好和其關(guān)注的人的偏好相似;在得到新用戶(hù)的偏好后,模型可以從物品的內(nèi)容和屬性角度,采用知識(shí)圖譜技術(shù)深度挖掘物品之間的潛在聯(lián)系,向用戶(hù)推薦其可能感興趣的物品??梢缘贸鯩SAKR 模型在用戶(hù)冷啟動(dòng)實(shí)驗(yàn)上較其他基準(zhǔn)模型有較大的提升。為進(jìn)一步驗(yàn)證虛擬鄰居提取模塊的優(yōu)勢(shì),設(shè)置如下對(duì)比實(shí)驗(yàn),設(shè)置模型MSAKR 的鄰居采樣總數(shù)為6,虛擬鄰居占比為0,得到模型MSAKR(-),也就讓虛擬鄰居不參加圖神經(jīng)網(wǎng)絡(luò)的訓(xùn)練,兩模型的結(jié)果對(duì)比如表5。從表中可以得出去除虛擬鄰居提取模塊的模型在多個(gè)指標(biāo)略低于原模型,在真實(shí)的應(yīng)用場(chǎng)景中,有的用戶(hù)的鄰居很多,有的用戶(hù)的鄰居個(gè)數(shù)極少甚至為0,存在嚴(yán)重的“長(zhǎng)尾效應(yīng)”,虛擬鄰居提取器的引入,可以將用戶(hù)行為相似度高的用戶(hù)視為虛擬鄰居,從而緩解社交數(shù)據(jù)的稀疏性,同時(shí)將用戶(hù)行為相似度高的鄰居偏好融合到中心節(jié)點(diǎn)用戶(hù)中,有助于構(gòu)建更加精準(zhǔn)的用戶(hù)特征向量,提升推薦性能。
表4 冷啟動(dòng)下各模型不同K 取值的NDCG 結(jié)果Table 4 Result of NDCG of each model with different K in cold start
表5 MSAKR 模型與MSAKR(-)模型的各項(xiàng)指標(biāo)對(duì)比Table 5 Comparison of result between MSAKRand MSAKR(-)
由于現(xiàn)有的融合了社交關(guān)系的推薦算法大多忽略了社交數(shù)據(jù)的稀疏性,且少有同時(shí)融合物品的輔助信息,不能同時(shí)充分挖掘社交關(guān)系和物品屬性數(shù)據(jù)來(lái)增強(qiáng)推薦性能。本文采用改良的圖卷積神經(jīng)網(wǎng)絡(luò)來(lái)提取社交關(guān)系這種圖結(jié)構(gòu)的輔助信息;采用word2vec 的思想為節(jié)點(diǎn)生成虛擬鄰居以緩解社交關(guān)系數(shù)據(jù)的稀疏性的問(wèn)題;采用知識(shí)圖譜表示學(xué)習(xí)來(lái)挖掘物品屬性知識(shí)圖譜;采用多任務(wù)學(xué)習(xí)的方式,聯(lián)合訓(xùn)練推薦模塊和知識(shí)圖譜表示學(xué)習(xí)模塊。此外,對(duì)比了一種傳統(tǒng)推薦算法,一種融合社交關(guān)系的推薦算法,兩種融合知識(shí)圖譜的推薦算法,在豆瓣和Yelp 這兩個(gè)真實(shí)的數(shù)據(jù)集上的大量實(shí)驗(yàn)結(jié)果驗(yàn)證了MSAKR 算法的準(zhǔn)確性和優(yōu)越性。但是本文采用的知識(shí)圖譜學(xué)習(xí)算法只是簡(jiǎn)單表示學(xué)習(xí),沒(méi)有利用知識(shí)圖譜強(qiáng)大的推理能力,同時(shí)采用社交關(guān)系輔助推薦,雖然提升了推薦準(zhǔn)確性,但是由于采用的圖卷積神經(jīng)網(wǎng)絡(luò),訓(xùn)練時(shí)間長(zhǎng),由于神經(jīng)網(wǎng)絡(luò)是黑盒的,并沒(méi)有利用社交關(guān)系數(shù)據(jù)提升推薦結(jié)果的可解釋性。