胡婷婷,黃 剛,吳長(zhǎng)旺
(南京郵電大學(xué) 計(jì)算機(jī)學(xué)院、軟件學(xué)院、網(wǎng)絡(luò)空間安全學(xué)院,江蘇 南京 210023)
信息技術(shù)以及互聯(lián)網(wǎng)環(huán)境的不斷發(fā)展使得信息過載問題亟待解決,個(gè)性化推薦作為大數(shù)據(jù)時(shí)代的產(chǎn)物,發(fā)揮的作用越來越重要。為了幫助用戶在海量數(shù)據(jù)中挑選出自己感興趣的內(nèi)容,提高用戶體驗(yàn),推薦系統(tǒng)[1]在電影[2]、廣告[3]、新聞[4]等推薦場(chǎng)景中得到了廣泛應(yīng)用。雖然關(guān)于推薦系統(tǒng)的研究以及應(yīng)用已取得極大的進(jìn)展,但還是面臨著諸多挑戰(zhàn),比如常見的數(shù)據(jù)稀疏性以及冷啟動(dòng)[5]問題。傳統(tǒng)的推薦算法主要分為基于協(xié)同過濾[6]的推薦算法、基于內(nèi)容的推薦算法以及混合推薦算法,這些算法更加側(cè)重于挖掘用戶與物品之間的靜態(tài)相關(guān)性,但忽略了隨著時(shí)間的推進(jìn)而導(dǎo)致的用戶興趣的衰減以及偏好的動(dòng)態(tài)變化。
隨著技術(shù)的不斷發(fā)展,互聯(lián)網(wǎng)上越來越多的數(shù)據(jù)能夠被感知獲取,比如用戶評(píng)論的文本、社交信息、圖像以及項(xiàng)目屬性,研究者通過加入這些輔助信息來提高推薦性能。知識(shí)圖譜旨在描述真實(shí)世界中客觀存在的各種實(shí)體及其關(guān)系,構(gòu)成了一張巨大的語義網(wǎng)絡(luò)圖,將各種輔助信息融入推薦算法中,包含豐富的物品信息,便于緩解推薦的數(shù)據(jù)稀疏以及冷啟動(dòng)問題。同時(shí)知識(shí)圖譜[7]具有以下特征:(1)精確性:知識(shí)圖譜中物品之間豐富的語義相關(guān)信息有助于探索各物品之間的潛在聯(lián)系從而提高推薦準(zhǔn)確性;(2)多樣性:知識(shí)圖譜中各個(gè)類別的關(guān)系可以挖掘用戶潛在興趣,合理地發(fā)散推薦結(jié)果,提高推薦結(jié)果的多樣性;(3)可解釋性:知識(shí)圖譜可以連接用戶的歷史點(diǎn)擊記錄和推薦記錄,為推薦結(jié)果提供可解釋性。雖然知識(shí)圖譜有上述優(yōu)點(diǎn),但是知識(shí)圖譜具有高維性以及異構(gòu)性,如何高效地利用知識(shí)圖譜進(jìn)行推薦仍然是一個(gè)巨大的挑戰(zhàn)。基于嵌入方法是一種可行的解決方案,通過將知識(shí)圖譜中的實(shí)體或者關(guān)系映射到連續(xù)的低維向量空間中,得到實(shí)體或者關(guān)系的表征來擴(kuò)充用戶以及物品之間的語義信息。一些典型的知識(shí)圖譜嵌入方法主要分為兩類:基于翻譯的模型,比如TransE[8]、TransR[9]、TransH[10]、TransD[11]等;語義匹配模型,如DistMult[12]、CompLex[13]等。但它們更適合知識(shí)圖譜的補(bǔ)全等知識(shí)圖內(nèi)的應(yīng)用,并不適用于推薦。為了更加充分利用知識(shí)圖內(nèi)的有效信息,提出了用圖神經(jīng)網(wǎng)絡(luò)來挖掘知識(shí)圖譜中的潛在特征,以此來提取用戶與項(xiàng)目之間不同的特征關(guān)系。Wang等人提出了KGAT[14](Knowledge Graph Attention Network)方法,該方法將用戶-物品二部圖與知識(shí)圖譜融合在一起,形成一種新的網(wǎng)絡(luò)結(jié)構(gòu),并從該網(wǎng)絡(luò)結(jié)構(gòu)中遞歸鄰居傳播學(xué)習(xí)節(jié)點(diǎn)嵌入,并通過注意力機(jī)制區(qū)分各鄰居嵌入的重要性。Wang等人提出了RippleNet[15]與KGCN[16]方法,其中RippleNet在知識(shí)圖譜中以用戶交互過的物品為中心,逐層向外進(jìn)行擴(kuò)散,實(shí)現(xiàn)用戶特征的提取。KGCN旨在通過項(xiàng)目節(jié)點(diǎn)的鄰居與項(xiàng)目節(jié)點(diǎn)的聚合得到項(xiàng)目的個(gè)性化特征。但是上述方法僅僅只能聚合一端鄰居而無法有效確定目標(biāo)物品與目標(biāo)用戶之間的關(guān)系。
基于上述研究,該文提出了一種融合知識(shí)圖卷積網(wǎng)絡(luò)與用戶偏好的雙端鄰居推薦算法。在用戶端及物品端同時(shí)進(jìn)行特征向量的提取,從而進(jìn)一步提升推薦的性能。此方法將知識(shí)圖譜視作有權(quán)圖,通過注意力機(jī)制將關(guān)系變?yōu)闄?quán)重,此權(quán)重可以理解為該關(guān)系影響用戶行為的偏好程度,之后從知識(shí)圖譜的中心出發(fā),迭代地向鄰部擴(kuò)張,之后通過鄰居聚合或拼接聚合的方式得到物品的特征向量。其中對(duì)于用戶特征的提取是通過用戶偏好在知識(shí)圖譜中的擴(kuò)散過程實(shí)現(xiàn),最后讓用戶興趣傳播與物品特征聚合交替進(jìn)行,共享當(dāng)前已知信息,從而優(yōu)化推薦結(jié)果。
KGCN(KnowledgeGraph Convolutional Networks)模型是知識(shí)圖譜與圖神經(jīng)網(wǎng)絡(luò)結(jié)合的典型案例。其中心思想就是利用圖神經(jīng)網(wǎng)絡(luò)的消息傳遞機(jī)制與基本推薦思想相結(jié)合進(jìn)行訓(xùn)練,從而得到知識(shí)圖譜結(jié)構(gòu)的數(shù)據(jù)特征。如圖1(a)所示,以目標(biāo)物品為中心向外層進(jìn)行擴(kuò)散,向外擴(kuò)散的過程可以視為在知識(shí)圖譜中以目標(biāo)物品作為起點(diǎn)進(jìn)行廣度優(yōu)先遍歷。因?yàn)槊總€(gè)擴(kuò)散的路徑只有關(guān)系存在不同,計(jì)算對(duì)應(yīng)路徑的權(quán)重時(shí)僅考慮關(guān)系對(duì)于用戶的重要性,例如,一個(gè)用戶可能看重電影的主演明星,而另一個(gè)用戶可能更關(guān)注電影的類型。因此,路徑的方向?qū)⒉辉僦匾?,所以將知識(shí)圖譜視為無向圖。然后將擴(kuò)散得到的節(jié)點(diǎn)再向內(nèi)聚合,再將目標(biāo)物品本身的嵌入向量與其周圍的嵌入向量再進(jìn)行一次消息聚合,以及走一次或者多次全連接層的操作得到物品的特征向量。KGCN[16]模型如圖1(b)所示,整個(gè)模型以用戶id以及物品id作為輸入,第一次聚合選擇遍歷深度為1的實(shí)體,第二次聚合選擇遍歷深度為2的實(shí)體,在知識(shí)圖譜上進(jìn)行多層聚合得到物品特征向量,將其與嵌入向量表示的用戶特征向量計(jì)算得到用戶對(duì)物品的預(yù)測(cè)興趣值。涉及的概念如下:
N(v)表示知識(shí)圖譜中的實(shí)體v直接相連的實(shí)體集合。rei,ej表示知識(shí)圖譜中實(shí)體ei與ej的關(guān)系向量。
(1)
(2)
(3)
(4)
(5)
(6)
(7)
根據(jù)公式(1)~公式(5),如圖1(a)所示,不斷從外向內(nèi)聚合,將節(jié)點(diǎn)的信息聚合到物品節(jié)點(diǎn)。最終形成物品節(jié)點(diǎn)的向量表示vu。
(a)知識(shí)圖譜
(b)KGCN模型
知識(shí)圖譜中包含大量的實(shí)體間的相互關(guān)系,通過對(duì)知識(shí)圖譜中復(fù)雜的聯(lián)系進(jìn)行研究,進(jìn)而可得到用戶潛在的興趣與偏好。例如:某個(gè)用戶已經(jīng)觀看過《長(zhǎng)津湖》這部電影,他可能是主演吳京的粉絲,又或者他喜歡導(dǎo)演陳凱歌的風(fēng)格,也可能是喜歡看戰(zhàn)爭(zhēng)片,然而吳京還出演過其他更多優(yōu)秀的作品,導(dǎo)演陳凱歌也不只執(zhí)導(dǎo)過這一部電影,戰(zhàn)爭(zhēng)片也包含其他優(yōu)秀的作品。在知識(shí)圖譜中與電影《長(zhǎng)津湖》相關(guān)的實(shí)體,用戶可能都感興趣。而RippleNet[15]的核心思想就是根據(jù)用戶的歷史記錄來挖掘用戶對(duì)于知識(shí)圖譜實(shí)體中的潛在高階偏好。將用戶點(diǎn)擊過的實(shí)體作為“種子”,沿著知識(shí)圖譜的邊在知識(shí)圖中進(jìn)行擴(kuò)散,此擴(kuò)散是一個(gè)逐漸衰減的過程,類似于水中的漣漪,進(jìn)而擴(kuò)散得到的節(jié)點(diǎn)與用戶興趣有關(guān),可用來加強(qiáng)用戶興趣的表征。如圖2所示,整個(gè)模型以用戶id以及物品id作為輸入,首先在知識(shí)圖譜上進(jìn)行多層傳播提取用戶特征,再通過計(jì)算得到的用戶特征向量與嵌入的物品向量得出用戶對(duì)物品的預(yù)測(cè)興趣值。
圖2 RippleNet模型
模型通過輸入用戶u以及候選的物品v,得到用戶u點(diǎn)擊物品v的概率值。其中物品向量v隨機(jī)初始化即可,而用戶向量u的計(jì)算方式如下:
(8)
(9)
(10)
該算法通過融合知識(shí)圖卷積以及用戶偏好同時(shí)在物品端以及用戶端進(jìn)行交替特征提取,最后基于二者向量?jī)?nèi)積衡量用戶對(duì)物品的評(píng)分??傮w框架如圖3所示。
圖3 模型框架
(11)
其中,超參數(shù)β用來控制在知識(shí)圖譜中每一跳輸出的權(quán)重,此池化操作可以用來區(qū)分每一跳對(duì)于用戶偏好輸出的重要性,因?yàn)椋?/p>
(12)
當(dāng)β為0時(shí),表示最大池化;當(dāng)β趨近于無窮時(shí),表示平均池化。可以通過控制β的大小來調(diào)整在知識(shí)圖譜中每一跳對(duì)于用戶偏好的比重。
該算法融合知識(shí)圖卷積網(wǎng)絡(luò)和用戶偏好,通過在用戶端以及物品端交替進(jìn)行個(gè)性化特征的提取,算法流程如圖4所示。
圖4 算法流程
具體實(shí)現(xiàn)步驟為:
(1)獲取輸入數(shù)據(jù)并對(duì)輸入數(shù)據(jù)進(jìn)行預(yù)處理,以得到交互矩陣和知識(shí)圖譜,交互矩陣中包括用戶和用戶的歷史點(diǎn)擊對(duì)象,知識(shí)圖譜包括與歷史點(diǎn)擊對(duì)象對(duì)應(yīng)的用戶節(jié)點(diǎn)。
(2)在知識(shí)圖譜上對(duì)用戶節(jié)點(diǎn)的鄰居信息進(jìn)行融合,以得到用戶個(gè)性化特征。
(3)知識(shí)圖譜中包括物品節(jié)點(diǎn)的鄰居信息,對(duì)物品節(jié)點(diǎn)的鄰居信息進(jìn)行聚合,以得到物品個(gè)性化特征。
(4)對(duì)用戶個(gè)性化特征和物品個(gè)性化特征進(jìn)行交替特征提取,分別得到用戶特征向量和物品特征向量。
交替進(jìn)行步驟2和步驟3,使得用戶個(gè)性化特征的波形與物品個(gè)性化特征的波形可以進(jìn)一步產(chǎn)生干涉效應(yīng),更深入地發(fā)掘用戶的興趣分布和物品特征的關(guān)系,得到用戶特征向量和物品特征向量。
(5)對(duì)用戶特征向量和物品特征向量進(jìn)行內(nèi)積運(yùn)算,并通過預(yù)測(cè)函數(shù)來預(yù)測(cè)用戶的偏好,具體的,可通過以下兩種預(yù)測(cè)函數(shù)中的一種來預(yù)測(cè)用戶的偏好。
為了更好地評(píng)估提出的算法,一個(gè)包含用戶交互信息以及用戶輔助信息的數(shù)據(jù)集是十分必要的。采集的數(shù)據(jù)集是MovieLens-1M以及Book-Crossing。MovieLens-1M數(shù)據(jù)集中包含6 040名用戶對(duì)3 706部電影的100萬條評(píng)分,其中每個(gè)用戶評(píng)分過的電影條目數(shù)均大于20。Book-Crossing數(shù)據(jù)集來自Book-Crossing市場(chǎng),包含100萬個(gè)書籍評(píng)分信息,并且包含書籍輔助信息27萬多條。對(duì)應(yīng)于數(shù)據(jù)集的知識(shí)圖譜數(shù)據(jù)是從KGCN[16]公開的預(yù)處理知識(shí)圖譜獲得,該知識(shí)圖譜信息來自 Microsoft Satori,兩個(gè)數(shù)據(jù)集經(jīng)過預(yù)處理后的統(tǒng)計(jì)數(shù)據(jù)如表1所示。
表1 兩個(gè)數(shù)據(jù)集的統(tǒng)計(jì)數(shù)據(jù)
為了驗(yàn)證提出的基于知識(shí)圖譜的推薦模型的有效性,選取了一些目前最具有代表性的推薦模型進(jìn)行比較:
MKR[17]:通過一個(gè)交叉壓縮單元交替學(xué)習(xí)目標(biāo)物品與知識(shí)圖譜中實(shí)體的共同潛在語義表示來進(jìn)行推薦,豐富物品端的表示。在實(shí)驗(yàn)中,迭代次數(shù)設(shè)為10。
KGCN[16]:用圖卷積網(wǎng)絡(luò)的方法在知識(shí)圖譜中聚合物品的輔助信息,豐富物品端的表示,得到用戶對(duì)物品的偏好概率。
RippleNet[15]:根據(jù)用戶的歷史記錄,挖掘用戶對(duì)于知識(shí)圖譜實(shí)體中的潛在高階偏好。
對(duì)于每個(gè)數(shù)據(jù)集,按照6∶2∶2 的比例隨機(jī)構(gòu)成訓(xùn)練集、驗(yàn)證集和測(cè)試集,每個(gè)實(shí)驗(yàn)重復(fù)3次,取平均性能值。在實(shí)驗(yàn)中,本模型相對(duì)于每個(gè)數(shù)據(jù)集的超參數(shù)對(duì)照如表2所示。
表2 超參數(shù)取值
其中,d表示嵌入維度;H-u以及K-u分別表示提取用戶特征時(shí)在知識(shí)圖譜上遍歷的深度和鄰居采樣數(shù);H-i以及K-i分別表示提取物品特征時(shí)在知識(shí)圖譜上遍歷的深度和鄰居采樣數(shù);λ表示正則化的參數(shù);batch表示梯度下降時(shí)每批的數(shù)據(jù)量;η表示訓(xùn)練速率。
采用AUC和F1來評(píng)價(jià)模型的性能。其中F1為:
(13)
其中,precision為準(zhǔn)確率,recall為召回率。F1是同時(shí)考慮了準(zhǔn)確率與召回率的指標(biāo)。AUC的物理意義為任取一對(duì)正例和負(fù)例,其中正例得分大于負(fù)例得分的概率,AUC越大,表明方法效果越好。AUC可通過對(duì)ROC曲線下各部分的面積求和而得,當(dāng)測(cè)試集中正負(fù)樣本數(shù)量相差很大時(shí),ROC曲線仍然能保持不變,因此AUC可以有效地測(cè)試模型的效果。
將提出的模型與不同模型進(jìn)行了對(duì)比,表3表示各模型在不同數(shù)據(jù)集下的AUC以及F1的指標(biāo)結(jié)果。
表3 指標(biāo)對(duì)比實(shí)驗(yàn)
從實(shí)驗(yàn)結(jié)果中可以看出,文中模型的實(shí)驗(yàn)結(jié)果是普遍優(yōu)于基準(zhǔn)實(shí)驗(yàn)的,在MovieLens-1M以及Book-Crossing兩個(gè)數(shù)據(jù)集上性能都有所提升。其中MKR模型僅僅使用知識(shí)圖譜嵌入的思想而未能充分利用知識(shí)圖譜路徑信息來進(jìn)行推薦,因此難以達(dá)到最佳性能。RippleNet模型通過模擬用戶偏好在知識(shí)圖譜上進(jìn)行廣泛傳播得到用戶潛在興趣,但未充分利用待推薦物品在知識(shí)圖譜上的信息,從而導(dǎo)致物品特征的缺失。KGCN模型通過知識(shí)圖卷積網(wǎng)絡(luò)來提取物品的特征向量,但未充分利用用戶的歷史點(diǎn)擊項(xiàng)目來挖掘潛在的用戶偏好,導(dǎo)致用戶特征的丟失。相比于以上模型,文中模型有效利用了待推薦項(xiàng)目的圖譜信息,并根據(jù)用戶的歷史交互對(duì)象在知識(shí)圖譜中的傳播得到準(zhǔn)確的用戶興趣表示,物品端與用戶端的在知識(shí)圖譜中交替進(jìn)行,共享當(dāng)前已知信息。實(shí)驗(yàn)結(jié)果表明文中模型有較好的推薦性能。
在超參數(shù)調(diào)節(jié)實(shí)驗(yàn)中,研究各個(gè)超參數(shù)的取值對(duì)文中模型的推薦結(jié)果的影響:
(1)維度d的取值分別為2、4、8、16、32、64,在MovieLens-1M上對(duì)應(yīng)的AUC取值如圖5所示。根據(jù)實(shí)驗(yàn)發(fā)現(xiàn),在MovieLens-1M數(shù)據(jù)集上維度取值為16最佳,根據(jù)折線圖可以看出,當(dāng)維度小于16時(shí),推薦質(zhì)量會(huì)隨著維度的增長(zhǎng)而提升,這是因?yàn)榫S度過小所容納的信息也會(huì)相對(duì)較少。當(dāng)維度大于16之后,推薦質(zhì)量開始逐漸降低,這是因?yàn)樵诰S度過大的時(shí)候,會(huì)引入更多的噪音,導(dǎo)致訓(xùn)練的時(shí)候易出現(xiàn)過擬合,求出的解不夠泛化。
圖5 維度d對(duì)推薦質(zhì)量的影響
(2)用戶特征提取以及物品特征提取時(shí)遍歷的深度分別取值1、2、3、4時(shí),在MovieLens-1M數(shù)據(jù)集上用戶端以及物品端對(duì)應(yīng)的AUC值如圖6和圖7所示。根據(jù)折線圖可以看出,隨著遍歷深度的增加,推薦效果首先呈現(xiàn)上升的趨勢(shì),到一定點(diǎn)之后呈現(xiàn)下降趨勢(shì)。這是因?yàn)樵谔崛∠鄳?yīng)特征時(shí),若遍歷深度過低,會(huì)使得推薦算法無法充分利用知識(shí)圖譜中的信息,影響推薦效果;若遍歷深度過高,離目標(biāo)物品較遠(yuǎn)的實(shí)體的引入會(huì)造成噪音效果,不利于推薦模型的表現(xiàn),從而影響推薦質(zhì)量。還可以看出,用戶特征提取深度(H-u)以及物品特征提取深度(H-i)都取值為2可使推薦效果達(dá)到最高。
圖6 遍歷深度H-u對(duì)推薦質(zhì)量的影響
圖7 遍歷深度H-i對(duì)推薦質(zhì)量的影響
(3)對(duì)用戶特征提取的實(shí)體采樣數(shù)在取值為2、4、8、16、32、64以及物品特征提取的實(shí)體采樣數(shù)在取值為2、4、8、16時(shí),在MovieLens-1M數(shù)據(jù)集上用戶端及物品端對(duì)應(yīng)的AUC取值如圖8和圖9所示。由折線圖可以看出實(shí)體采樣數(shù)太小時(shí),知識(shí)圖譜中所能提供的有價(jià)值的信息無法被充分挖掘。而實(shí)體采樣數(shù)過大時(shí),則會(huì)引起更多噪音,從而降低推薦質(zhì)量,不利于模型的表現(xiàn)。從實(shí)驗(yàn)數(shù)據(jù)可發(fā)現(xiàn),在MovieLens-1M數(shù)據(jù)集上提取用戶特征時(shí)的實(shí)體采樣數(shù)K-u取值為16且提取物品特征時(shí)的實(shí)體采樣數(shù)K-i取值為16時(shí)推薦質(zhì)量達(dá)到最高。
圖8 采樣數(shù)K-u對(duì)推薦質(zhì)量的影響
圖9 采樣數(shù)K-i對(duì)推薦質(zhì)量的影響
提出了一種基于知識(shí)圖卷積與用戶偏好的雙端鄰居推薦算法。該算法將知識(shí)圖譜作為輔助信息,利用知識(shí)圖卷積網(wǎng)絡(luò)模型提取出有個(gè)性化的物品特征向量,通過RippleNet模型在知識(shí)圖譜傳播捕獲用戶偏好信息,找到用戶的潛在興趣,最終得到用戶的個(gè)性化向量表示??紤]到上述兩個(gè)推薦模型結(jié)構(gòu)相似,因此聯(lián)合用戶興趣傳播與物品特征聚合的過程,在知識(shí)圖譜上交替進(jìn)行用戶端與物品端的特征提取。這種新的結(jié)構(gòu)使兩側(cè)的特征提取過程統(tǒng)一,使得用戶端與物品端的波形進(jìn)一步產(chǎn)生干涉效應(yīng),更深入挖掘知識(shí)圖譜中用戶的興趣分布與物品特征之間的關(guān)系,提高推薦效果。通過實(shí)驗(yàn)證明了該模型的優(yōu)越性。未來研究中還可以挖掘知識(shí)圖譜中每個(gè)實(shí)體的屬性,類似于物品標(biāo)簽,可進(jìn)一步提升推薦算法的質(zhì)量。
計(jì)算機(jī)技術(shù)與發(fā)展2022年10期