• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      融合知識圖譜的雙線性圖注意力網(wǎng)絡(luò)推薦算法

      2021-01-11 09:12:02潘承瑞何靈敏胥智杰王修暉宋承文
      關(guān)鍵詞:連通性采集器高階

      潘承瑞,何靈敏,胥智杰,王修暉,宋承文

      1.中國計(jì)量大學(xué) 信息工程學(xué)院,杭州310000

      2.中國計(jì)量大學(xué) 浙江省電磁波信息技術(shù)與計(jì)量檢測重點(diǎn)實(shí)驗(yàn)室,杭州310000

      隨著互聯(lián)網(wǎng)事物的快速發(fā)展,網(wǎng)絡(luò)信息隨之爆炸式增長。為了在海量數(shù)據(jù)中準(zhǔn)確挖掘用戶興趣,推薦算法應(yīng)運(yùn)而生,它能夠根據(jù)用戶的歷史行為,為用戶推薦可能感興趣的事物,以克服信息過載的問題。

      為解決傳統(tǒng)協(xié)同過濾[1]的數(shù)據(jù)稀疏和冷啟動問題,近十年來,在推薦系統(tǒng)中引入輔助信息成為學(xué)術(shù)界的探索方向。知識圖譜[2]作為一種結(jié)構(gòu)化輔助信息,由于其儲存了用戶、物品、屬性之間的關(guān)系,蘊(yùn)含著豐富的語義,所以能提高推薦結(jié)果的準(zhǔn)確性、多樣性和可解釋性[3-5]。具體方法是將用戶-項(xiàng)目交互圖和用戶或項(xiàng)目知識圖譜融合為協(xié)同知識圖——Colloborative Knowledge Graph(CKG)[6],在CKG 上基于用戶的歷史交互記錄,充分挖掘用戶偏好。

      為了在CKG 的網(wǎng)絡(luò)結(jié)構(gòu)中發(fā)掘用戶的潛在興趣,需要建立CKG 中的高階連通性,而建模協(xié)同知識圖的方法,可分為兩類:基于路徑和基于圖嵌入的方法[7]。以上兩種方法,前者將知識圖譜分解為一條條獨(dú)立的線性路徑[8],后者僅獲取用戶或項(xiàng)目的直接鄰居信息,兩種方法都沒有建立圖上的高階連通性。

      為解決現(xiàn)有模型無法捕獲CKG中高階連通性的問題,本文基于近年來在圖數(shù)據(jù)上初步興起的圖注意力網(wǎng)絡(luò)[9],融合知識圖譜,通過圖注意力網(wǎng)絡(luò)的遞歸傳播過程捕獲圖中節(jié)點(diǎn)的高階連通性。雖然圖注意力網(wǎng)絡(luò)具有強(qiáng)大的表示能力,但是在信息傳播和聚合過程中,忽略了鄰居節(jié)點(diǎn)間特征交互的重要性。而因子分解機(jī)FM[10]通過引入二階特征交互獲得的巨大成功啟示人們考慮節(jié)點(diǎn)交互可能帶來的收益,即通過特征交互,用戶的一些潛在偏好能夠被挖掘。因此本文在上述框架基礎(chǔ)上設(shè)計(jì)了一種新的雙線性信息采集器,它明確地建模兩個節(jié)點(diǎn)之間的交互,并聚合所有的交互結(jié)果,以增強(qiáng)中心節(jié)點(diǎn)的表示,最終提出了一個有效的推薦模型:融合知識圖譜的雙線性圖注意力推薦模型——KG-BGAT(Fusion Knowledge Graph and Bilinear Graph Attention Network)。本文的主要貢獻(xiàn)如下:

      (1)將基于協(xié)同過濾的推薦方法和知識圖譜融合到統(tǒng)一的推薦框架中,設(shè)計(jì)了一個端到端的協(xié)同知識圖推薦模型,該模型克服了用戶-項(xiàng)目交互記錄間相互獨(dú)立的弊端,能夠獲取用戶基于項(xiàng)目屬性的協(xié)同信號。

      (2)基于圖注意力網(wǎng)絡(luò),設(shè)計(jì)了雙線性采集器,并結(jié)合線性采集器,遞歸地聚合鄰居節(jié)點(diǎn)的特征交互信息和線性加權(quán)信息。這種顯式地編碼圖中節(jié)點(diǎn)交互關(guān)系和高階關(guān)系的方式,使得模型能夠捕獲協(xié)同知識圖中基于節(jié)點(diǎn)間特征交互的豐富語義和高階連通性。

      1 相關(guān)工作

      Rendle[10]提出的因子分解機(jī)是一種將矩陣分解[11]廣義化的模型。因子分解機(jī)與矩陣分解相比,能夠引入除用戶和項(xiàng)目ID外的輔助信息,更重要的是,因子分解機(jī)引入了特征間的二階交互,使模型具備了生成高維組合特征的能力,大大提高了推薦性能。

      為了融合更多的輔助信息,Zhang 等人[4]提出一種基于嵌入的方法:融合結(jié)構(gòu)化信息——知識圖譜,以及非結(jié)構(gòu)化信息——文本和圖像信息的CKE模型。該模型通過圖嵌入方法編碼知識圖譜信息,驗(yàn)證了引入結(jié)構(gòu)化知識可以提高推薦結(jié)果的準(zhǔn)確性。Sun等[12]提出了一種基于路徑的遞歸知識圖嵌入方法——RKGE,它首先提取知識圖譜中用戶-項(xiàng)目之間的連接路徑,用來表示用戶和項(xiàng)目之間的各種語義關(guān)系,然后通過循環(huán)神經(jīng)網(wǎng)絡(luò)對這些路徑進(jìn)行編碼。

      除了上述單純基于圖嵌入或基于路徑的方法外,近年來開始出現(xiàn)同時融合以上兩種方法的工作,被稱為基于傳播的方法[13]。該方法將節(jié)點(diǎn)嵌入沿圖中的邊進(jìn)行傳播,以捕獲用戶的潛在興趣。如Wang 等[14]提出RippleNet,它將用戶的歷史交互項(xiàng)目作為種子,以類似于水波的形式向外傳播用戶偏好,自動挖掘用戶到候選項(xiàng)的路徑。得益于學(xué)術(shù)界在圖結(jié)構(gòu)數(shù)據(jù)上的探索,近年來出現(xiàn)的圖神經(jīng)網(wǎng)絡(luò)GNN 更擅長學(xué)習(xí)圖結(jié)構(gòu)數(shù)據(jù)。隨后,將知識圖譜與圖卷積網(wǎng)絡(luò)[15]相結(jié)合,提出了知識圖卷積網(wǎng)絡(luò)KGCN[16],該模型首先獲取候選項(xiàng)一個設(shè)定跳數(shù)的鄰居集合,然后由外向內(nèi)的將各個節(jié)點(diǎn)周圍的信息聚合到中心節(jié)點(diǎn),最終聚合到候選項(xiàng)的表示上,由此獲取候選項(xiàng)周圍的鄰近信息。

      圖卷積網(wǎng)絡(luò)中鄰居節(jié)點(diǎn)信息聚合到中心節(jié)點(diǎn)時采用的是均值聚合,考慮到該做法會引入較多噪聲,文獻(xiàn)[9]等提出的圖注意力網(wǎng)絡(luò)GAT使用注意力機(jī)制來替代靜態(tài)歸一化卷積運(yùn)算,使得模型能夠?qū)Σ煌泥従庸?jié)點(diǎn)指定不同的權(quán)值,避免鄰居節(jié)點(diǎn)信息量過大帶來的噪聲影響。

      2 KG-BGAT架構(gòu)

      本文提出的網(wǎng)絡(luò)模型結(jié)合了知識圖譜和圖注意力網(wǎng)絡(luò),在推薦模塊中,引入了電影項(xiàng)目的知識圖譜,將其作為推薦系統(tǒng)的輔助信息,之后基于圖注意力網(wǎng)絡(luò),設(shè)計(jì)了雙線性信息采集器,結(jié)合線性信息采集器,對用戶、項(xiàng)目和知識圖譜中實(shí)體(如電影類型、導(dǎo)演、演員)的交互信息和高階關(guān)系進(jìn)行建模,以捕獲用戶的深層興趣。模型結(jié)構(gòu)如圖1所示,它包含3個主要組件:(1)嵌入層;(2)基于節(jié)點(diǎn)交互和注意力的嵌入傳播層;(3)預(yù)測層。本章將詳細(xì)介紹模型結(jié)構(gòu),在正式介紹模型結(jié)構(gòu)之前,先介紹一下相關(guān)概念和任務(wù)目標(biāo)。

      2.1 相關(guān)概念和任務(wù)目標(biāo)

      2.1.1 協(xié)同知識圖譜

      本文構(gòu)建的協(xié)同知識圖譜是將用戶-項(xiàng)目交互圖G1和項(xiàng)目知識圖譜G2融合為統(tǒng)一的協(xié)同知識圖G。G1的定義為{ }(u,Interact,i)|u∈U,i∈I,U和I分別代表用戶和項(xiàng)目集合;Interact表示用戶u在項(xiàng)目i上有交互記錄。G2由實(shí)體-關(guān)系-實(shí)體的三元組表示,刻畫了現(xiàn)實(shí)世界中項(xiàng)目在其屬性上的相互關(guān)聯(lián),三元組的表現(xiàn)形式為{(h,r,t)|h,t∈E,r∈R} ,其中h、t分別表示頭實(shí)體和尾實(shí)體;r為兩個實(shí)體之間的關(guān)系;E是實(shí)體的集合,在項(xiàng)目知識圖譜G2中代表項(xiàng)目和項(xiàng)目屬性所指向的實(shí)體,例如本文項(xiàng)目知識圖譜中的實(shí)體是電影、電影類型、導(dǎo)演和演員;R為實(shí)體間關(guān)系的集合。

      圖1 KG-BGAT整體框架圖

      構(gòu)建協(xié)同知識圖G時,先分別基于用戶-項(xiàng)目交互歷史和項(xiàng)目知識圖譜構(gòu)建G1、G2,之后以項(xiàng)目為橋梁,將G1、G2整合為一張圖:

      其中,E′=U?E,R′={ }Interact?R。需要注意的是,本文構(gòu)建的協(xié)同知識圖G為無向圖,即R具有正方向和反方向,以此為G中每個節(jié)點(diǎn)采集其所有相鄰節(jié)點(diǎn)的信息。

      2.1.2 任務(wù)目標(biāo)

      本文推薦系統(tǒng)的任務(wù)目標(biāo)如下。

      輸入:協(xié)同知識圖G,G中包含用戶-項(xiàng)目交互圖G1 和項(xiàng)目知識圖譜G2。

      輸出:一個預(yù)測函數(shù),用來計(jì)算用戶u與候選項(xiàng)目i產(chǎn)生交互的概率值。

      本文重點(diǎn)在于如何利用協(xié)同知識圖G捕獲實(shí)體間的特征交互信息,并在此基礎(chǔ)上建立實(shí)體間的高階連通性,以下三節(jié)將從模型結(jié)構(gòu)進(jìn)行介紹。

      2.2 嵌入層

      模型嵌入層是將協(xié)同知識圖G的結(jié)構(gòu)信息進(jìn)行編碼,為圖中的每個實(shí)體和關(guān)系生成低維連續(xù)空間中的嵌入向量,并盡量保持圖的結(jié)構(gòu)信息。知識圖嵌入的主流方法是基于TransE及其變體的平移距離模型,該類嵌入方法使用基于距離的評分函數(shù),被廣泛應(yīng)用于結(jié)合知識圖譜的推薦算法中[4,17-18]。

      平移距離模型主要有TransE、TransH、TransR等,本文采用TransR[19]方法生成嵌入向量,原因在于TransR考慮到相同實(shí)體在不同關(guān)系上應(yīng)有不同的語義,通過額外引入關(guān)系空間,從而在計(jì)算兩個實(shí)體間的距離時,實(shí)現(xiàn)了在特定關(guān)系空間上的考量[7]。嵌入層中生成的表示向量有以下兩點(diǎn)作用:(1)將圖的結(jié)構(gòu)信息注入模型,為推薦系統(tǒng)提供了豐富的輔助信息;(2)在注意力機(jī)制中,通過實(shí)體和關(guān)系的嵌入向量,可以衡量三元組的頭尾實(shí)體在特定關(guān)系r上的相似度,從而控制嵌入傳播層中某一實(shí)體傳遞到另一實(shí)體的信息量。

      TransR的基本方法是:在協(xié)同知識圖G中,在某個特定關(guān)系r上,不斷學(xué)習(xí)三元組(h,r,t)中實(shí)體和關(guān)系的嵌入,使得,這里er是關(guān)系r的嵌入向量,分別是頭實(shí)體和尾實(shí)體在關(guān)系r空間中的嵌入向量。對于任意給定的一個三元組(h,r,t),不管它是否真正在G中存在,用如下距離公式描述其真實(shí)性:

      其中,Mr∈?k×d是關(guān)系r的變換矩陣,用來將實(shí)體從d維的實(shí)體空間投影到k維的關(guān)系空間中;||·||2表示L2正則化,以防止過擬合。這里,得分越低的g(h,r,t)表示給定的三元組越有可能是在G中真實(shí)存在的。

      TransR 的訓(xùn)練考慮到真實(shí)三元組與虛假三元組之間的相對順序,并通過兩兩的排名損失來考量區(qū)別:

      對G中任意一個實(shí)體h,記嵌入層中為該實(shí)體生成的嵌入向量為,上標(biāo)的數(shù)字表示未聚合任何階數(shù)的鄰居信息,是h本身的嵌入向量。

      2.3 基于節(jié)點(diǎn)交互和注意力的嵌入傳播層

      在介紹嵌入傳播層之前,先根據(jù)圖1介紹相關(guān)概念和符號:對協(xié)同知識圖G中的某個中心節(jié)點(diǎn)h,{h|h∈′} ,′為2.1.1 小節(jié)中引入的符號,表示協(xié)同知識圖G中的所有實(shí)體集合,記N(h)為h的鄰居集合,其定義為:N(h)={t|(h,r,t)∈G} ,N(h) 記錄了G中與h相連的所有鄰居節(jié)點(diǎn),不包含h本身;記(h)為包含h的鄰居集合:(h)={h} ?N(h);d(h)表示節(jié)點(diǎn)h的鄰居個數(shù),d(h)=|N(h) |;~(h)為集合(h)中的元素個數(shù),(h)=|(h) |=d(h)+1。

      對于目標(biāo)節(jié)點(diǎn)h,嵌入傳播層旨在將N(h)中的線性加和信息以及N~ (h)中的節(jié)點(diǎn)交互信息迭代地聚合到中心節(jié)點(diǎn)h的表示中,以捕獲h與l階鄰居的高階連通性以及鄰居間的特征交互信息。

      同樣以圖1中的i3節(jié)點(diǎn)為例,先概述嵌入傳播層如何采集并傳播信息:(1)信息采集單元分別使用線性采集器Linear Collector和雙線性采集器Bilinear Collector采集上述兩種信息,線性采集器對N(i3)中的3個節(jié)點(diǎn)做線性加和,記收集的信息為LC(i3),LC(i3)+,其中,π是根據(jù)注意力機(jī)制計(jì)算的系數(shù);雙線性采集器收集N~ (i3)中4 個節(jié)點(diǎn)的兩兩特征交互信息,記收集的信息為BC(i3)系數(shù)取,因?yàn)閺?i3)的6個節(jié)點(diǎn)中任取2個節(jié)點(diǎn)共有6種排列組合情況。信息采集部分的最后是整合上述兩種信息,將整合的鄰居信息記為。(2)將i3本身的表示和做聚合操作,得到i3節(jié)點(diǎn)聚合一階鄰居后的表示。需要指出的是,G中所有節(jié)點(diǎn)同時進(jìn)行以上步驟,在目標(biāo)節(jié)點(diǎn)i3聚合一階鄰居信息得到的同時,N(i3)中的3 個鄰居節(jié)點(diǎn)也聚合了其各自一階鄰居的信息,得到了各自的表示向量:。(3)將(1)和(2)步驟中所有的上標(biāo)l遞增1,獲取聚合i3二階鄰居信息的表示,以此類推,可獲取聚合i3更高階鄰居信息的表示。最終獲取的i3節(jié)點(diǎn)的多個表示、捕獲了不同階的連通性和節(jié)點(diǎn)交互信息。

      下面從中心節(jié)點(diǎn)為h的一般情況描述嵌入傳播層,先介紹一個單層,它主要由三部分組成:信息采集、注意力機(jī)制和信息聚合,之后闡述如何推廣到多層。

      2.3.1 信息采集

      該部分采集的信息分為兩部分:一是N(h)中的線性組合信息;二是N~ (h) 中兩兩節(jié)點(diǎn)間的特征交互信息。本文分別使用線性和雙線性采集器收集上述兩種信息。

      線性采集器:線性采集器Linear Collector(LC)用來采集節(jié)點(diǎn)h的鄰居節(jié)點(diǎn)集合N(h)中所有節(jié)點(diǎn)的線性加和信息,其定義如下:

      其中,π(h,r,t)是線性采集器中的注意力機(jī)制,它是一個數(shù)值標(biāo)量,用來控制鄰居節(jié)點(diǎn)t在關(guān)系r上傳播到中心節(jié)點(diǎn)h的信息量,其計(jì)算過程將在2.3.2小節(jié)中介紹;是嵌入層中得到的鄰居節(jié)點(diǎn)的嵌入向量。線性采集器將h的一階連通性信息注入到LC(h)的表示中,并且通過π(h,r,t)區(qū)分了鄰居節(jié)點(diǎn)的重要性。

      雙線性采集器本文提出了一種新型的雙線性信息采集器Bilinear Collector(BC),用來收集包含h的鄰居節(jié)點(diǎn)集合(h)中,兩兩節(jié)點(diǎn)間的特征交互信息,其定義如下:

      信息整合信息采集的最后階段是對兩個采集器中的信息進(jìn)行匯總,將匯總了h節(jié)點(diǎn)一階鄰居信息的向量表示記為保留了節(jié)點(diǎn)h的一階連通性和一階鄰居交互信息,其定義如下:

      其中,α是超參數(shù),其取值范圍為[0,1],用來控制采用的雙線性采集器和線性采集器的信息量比率。

      G中所有節(jié)點(diǎn)的信息采集過程是同步進(jìn)行的,在獲得的同時,其余所有節(jié)點(diǎn),包括h的所有鄰居節(jié)點(diǎn),也各自獲得了保留了其一階鄰居信息的向量表示。

      2.3.2 線性采集器中的注意力機(jī)制

      本文在線性采集器中引入了注意力機(jī)制。注意力機(jī)制通過上述π(h,r,t)的引入實(shí)現(xiàn),它的計(jì)算公式如下:

      這里,本文選擇tanh 作為非線性激活函數(shù);Mr是嵌入層中生成的關(guān)系r上的變換矩陣。π(h,r,t)的大小取決于嵌入層中,中心節(jié)點(diǎn)h和鄰居節(jié)點(diǎn)t在關(guān)系r上的距離,若h和t相近,則t可以傳播更多的信息到h上。之后,對以h為頭結(jié)點(diǎn)的所有三元組計(jì)算得出的注意力分?jǐn)?shù)使用softmax做歸一化操作:

      當(dāng)信息傳播迭代到更高階時,該機(jī)制使模型將更多的注意力聚焦在部分節(jié)點(diǎn)上,減小了噪聲影響。

      2.3.3 信息聚合

      嵌入傳播的最后階段是聚合h實(shí)體本身的表示向量,和信息采集過程中從其鄰居獲取的表示向量,將其作為實(shí)體h聚合了一階鄰居信息的表示形式,記為,其定義如下:

      (1)加和聚合器取上述兩個向量的和,然后對該結(jié)果做線性變換,W(1)∈?d′×d是可訓(xùn)練的權(quán)重矩陣,d′是設(shè)定的線性變換后的向量維度,b(1)是偏置項(xiàng),W(1)、b(1)的上標(biāo)1 表示生成時,聚合器做線性變換的對應(yīng)參數(shù),Relu是非線性激活函數(shù):

      (2)合并聚合器將上述兩個向量做合并操作:Concatenate(||),之后應(yīng)用線性變換,W(1)∈?d′×2d是權(quán)重矩陣,最后同樣應(yīng)用Relu作為非線性激活函數(shù):

      2.3.4 高階傳播

      通過以上步驟,獲得了實(shí)體h的一階表示,與此同時,N(h)中的每個節(jié)點(diǎn)也獲得了各自的一階表示。接下來要獲取h的高階信息,需要迭代更新eh的表示,通過疊加以上單層的嵌入傳播層實(shí)現(xiàn)。本文將保存實(shí)體h的l階信息的嵌入記為,遞歸更新公式如下:

      f(·)是2.3.3 小節(jié)中的聚合器;是(h)中的節(jié)點(diǎn)在上一步的嵌入傳播過程中獲取的l-1 階表示。通過高階嵌入傳播,G中節(jié)點(diǎn)的高階連通性和節(jié)點(diǎn)交互信息能夠在傳播過程中被捕獲。顯然,高階嵌入傳播將基于屬性的協(xié)作信號無縫地注入到表示學(xué)習(xí)過程中,從而克服了傳統(tǒng)協(xié)同過濾各條交互信息相互獨(dú)立的弊端,而高階交互信息的收集有助于模型挖掘用戶的潛在復(fù)雜偏好。

      2.4 多尺度融合的模型預(yù)測

      經(jīng)過l層的嵌入傳播層后,可以獲得用戶和項(xiàng)目的多尺度表示。對于某個用戶u,多尺度表示為{};對于某個項(xiàng)目i,多尺度表示為{}。受圖像領(lǐng)域的多尺度融合啟發(fā)[20],針對某個特定節(jié)點(diǎn)不同的l階信息,強(qiáng)調(diào)了不同階的連通性信息,因此,本文采用分層聚合機(jī)制,將每一步的表示連接到單個向量中,如下所示:

      不僅可以通過執(zhí)行嵌入傳播來豐富初始嵌入,還可以通過調(diào)整l來控制信息聚合范圍。最后,本文對用戶和物品表示進(jìn)行內(nèi)積,從而預(yù)測它們的匹配分?jǐn)?shù):

      3 實(shí)驗(yàn)與分析

      3.1 實(shí)驗(yàn)設(shè)置

      3.1.1 數(shù)據(jù)集及評價(jià)指標(biāo)

      本文使用的數(shù)據(jù)集是電影推薦場景MovieLens-1M,該數(shù)據(jù)集包含6 040位用戶與3 883部電影項(xiàng)目的100萬的交互記錄,每個用戶至少與20部電影有過歷史交互。

      除了用戶-項(xiàng)目交互數(shù)據(jù)外,本文需要搜集項(xiàng)目的相關(guān)信息以構(gòu)建項(xiàng)目知識圖譜。由于MovieLens-1M中包含電影的類型,所以在IMDb 上爬取了3 745 部電影的導(dǎo)演和演員信息,其中有138 部電影無法在IMDb上檢索到,最終獲取的詳細(xì)數(shù)據(jù)信息見表1。

      表1 數(shù)據(jù)集統(tǒng)計(jì)

      若某用戶在某電影上有過交互記錄,則標(biāo)記為1,否則標(biāo)記為0。本文對每位用戶,選取其標(biāo)記為1 的所有交互記錄的80%用于訓(xùn)練集,其余20%作為測試集中的正樣本,對于訓(xùn)練集中的每個正例交互記錄,本文隨機(jī)抽取一個負(fù)例交互記錄組成完整的訓(xùn)練集。測試時對每個用戶,在完整項(xiàng)目集合上除去該用戶在訓(xùn)練集上的正樣本,對其余的所有項(xiàng)目給出該用戶的預(yù)測評分。

      本文使用了3種評價(jià)指標(biāo):Precision@K、Recall@K、NDCG@K[21],K為推薦列表長度,即為用戶推薦預(yù)測分?jǐn)?shù)最高的K部電影。Precision@K刻畫了用戶u的Top-K推薦列表中的項(xiàng)目是測試集中正樣本的比率;Recall@K刻畫了用戶u在測試集中所有的正樣本出現(xiàn)在Top-K推薦列表中的比率;NDCG@K則刻畫了用戶Top-K推薦列表中正樣本的排序情況,正樣本的排序越靠前,NDCG 的分值則越大。實(shí)驗(yàn)中,K的取值為[1,5,10,20],以衡量不同推薦列表長度下的推薦性能。

      3.1.2 實(shí)驗(yàn)環(huán)境

      硬件環(huán)境為NVIDIA TITAN X 顯卡,128 GB 運(yùn)行內(nèi)存,Intel E5-2678V3 處理器。軟件環(huán)境為Ubuntu16系統(tǒng),Python3.6、Tensorflow1.12.0 和Pytorch1.0 開發(fā)環(huán)境。

      3.2 損失函數(shù)

      模型的損失函數(shù)分為三部分,公式如下:

      LKG是嵌入層損失,在2.2節(jié)中給出;LCF是協(xié)同信號損失,本文采用了BPR[22]損失,BPR 假定被觀測到的用戶與項(xiàng)目間的交互應(yīng)該比未觀測到的交互分配更高的分?jǐn)?shù),其定義如下:

      式中,Ω={(u,i,j)|(u,i)∈I+,(u,j)∈I-}代表訓(xùn)練集,I+代表用戶u與項(xiàng)目i間存在交互的正樣本;I-代表不存在交互的抽樣出的負(fù)樣本;σ(·) 是softplus 非線性激活函數(shù)。

      公式(15)中,Θ={ E,Mr,{(W(l),b(l))|?l∈(1,2,…,L)}}是模型參數(shù)集合。其中,E 是所有實(shí)體和關(guān)系的嵌入向量;Mr是特定關(guān)系r上的變換矩陣;W(l)和b(l)分別代表生成時,聚合器做線性變換對應(yīng)的權(quán)重矩陣和偏置項(xiàng)。λ是L2正則化參數(shù),以防止過擬合。

      3.3 實(shí)驗(yàn)參數(shù)設(shè)置

      為挖掘協(xié)同知識圖中用戶與項(xiàng)目的高階連通性和高階交互特征,本文將模型隱藏層數(shù)設(shè)置為3,三層維度分別為128、64、32,協(xié)同知識圖實(shí)體和關(guān)系空間的嵌入維度均為128,α設(shè)置為0.6。模型采用分批訓(xùn)練,協(xié)同過濾部分批大小為4 096,知識圖譜嵌入部分批大小為8 092,初始學(xué)習(xí)率為0.001,L2正則化參數(shù)設(shè)置為1E-5,最大迭代次數(shù)設(shè)為100 次,訓(xùn)練過程采用早停策略,當(dāng)NDCG@20在連續(xù)的10次迭代中沒有提升時,則停止訓(xùn)練過程。本文使用Adam 優(yōu)化器進(jìn)行學(xué)習(xí)率的自適應(yīng)調(diào)節(jié),并對模型參數(shù)集合Θ(見3.2節(jié))中的各參數(shù)進(jìn)行更新調(diào)整。

      3.4 對比模型

      (1)NeuMF[23]:該方法將MF可建模一階線性特征和深度學(xué)習(xí)可建模高階非線性特征相結(jié)合,分別用廣義矩陣分解和多層感知機(jī)MLP(Multi-Layer Perceptron)捕獲特征間的線性和非線性關(guān)系。

      (2)FM[10]:該模型考慮了輸入之間的二階特征交互。在這里,除了用戶和項(xiàng)目id 外,本文同樣引入項(xiàng)目知識作為輸入特征。

      (3)NFM[24]:該模型將FM 在二階特征交互建模中的線性特性和神經(jīng)網(wǎng)絡(luò)在高階特征交互建模中的非線性特性結(jié)合在一起,使模型有更好的非線性表征能力。

      (4)CKE[4]:通過將包括知識圖譜在內(nèi)的多種輔助信息編碼到最后的物品嵌入中,來增強(qiáng)推薦性能。為公平起見,本文在CKE 模型中僅引入知識圖譜作為輔助信息。

      (5)RKGE[12]:采用遞歸神經(jīng)網(wǎng)絡(luò),在知識圖譜上自動學(xué)習(xí)實(shí)體之間路徑的語義表示,以描述用戶對項(xiàng)目的偏好。

      (6)RippleNet[14]:該模型同樣引入項(xiàng)目知識圖譜作為輔助信息,結(jié)合了基于嵌入和基于路徑的方法,通過在每個用戶的根路徑中添加項(xiàng)目來豐富用戶表示,使用戶興趣在知識圖譜上傳播,以此生成推薦。

      (7)KGCN[16]:將圖卷積網(wǎng)絡(luò)引入知識圖譜,使得知識圖譜中某個實(shí)體周圍的信息能被捕獲并存儲在該實(shí)體中,并且實(shí)體周圍的關(guān)系根據(jù)不同的用戶賦予不同的權(quán)重。

      3.5 推薦性能對比及分析

      本文在MovieLens-1M 數(shù)據(jù)集上,將KG-BGAT 模型與上述多種推薦算法進(jìn)行了對比實(shí)驗(yàn)。為了簡化表格,在3 個評價(jià)指標(biāo)Precision@K、Recall@K、NDCG@K上,本文選擇了K=20的實(shí)驗(yàn)結(jié)果繪制表格,實(shí)驗(yàn)結(jié)果如表2所示。

      表2 推薦模型性能對比

      KG-BGAT_sum代表采用加和聚合器,KG-BGAT_con代表采用合并聚合器,可見合并聚合器在該場景下的推薦效果更優(yōu)。

      在推薦列表長度為20時,本文提出的KG-BGAT與以上6 個基準(zhǔn)模型相比,在3 個指標(biāo)上均取得了最佳效果,采用合并聚合器的KG-BGAT和排名第二的CKE模型比較,在Precision、Recall和NDCG上分別提高了1.9、1.6和2.5個百分點(diǎn),本文提出的推薦模型性能優(yōu)于各種方法的基準(zhǔn)模型。

      KG-BGAT 推薦性能的優(yōu)越性主要原因在以下3點(diǎn):(1)利用圖神經(jīng)網(wǎng)絡(luò),迭代地將鄰居節(jié)點(diǎn)信息聚合到中心節(jié)點(diǎn)的表示中,建立了協(xié)同知識圖中的高階連通性;(2)采用基于TransR的注意力機(jī)制,將關(guān)系納入編碼范圍,將頭尾實(shí)體投影到關(guān)系空間中衡量其相似度,使相似實(shí)體能夠傳播更多的信息到中心節(jié)點(diǎn)中,減小了噪聲影響;(3)顯式注入節(jié)點(diǎn)交互信息,使得模型能夠捕獲基于特征交互的豐富語義,為模型學(xué)習(xí)用戶偏好帶來了更深層次的視角。

      圖2~4是采用合并聚合器的KG-BGAT和其他模型在3個指標(biāo)上的詳細(xì)對比。

      圖2 模型Precision性能對比

      圖3 模型Recall性能對比

      圖4 模型NDCG性能對比

      6個基準(zhǔn)模型中,推薦效果最好的是CKE模型,F(xiàn)M和NFM性能稍弱。CKE由于引入了知識圖譜的結(jié)構(gòu)化信息,取得了最佳推薦效果;FM 和NFM 模型沒有引入知識圖譜,但依然取得了非常不錯的推薦效果,再次證明了基于特征交互的重要性。其余兩個引入知識圖譜的模型——RippleNet和KGCN,在Top-K推薦任務(wù)上表現(xiàn)較差。本文分析原因在于以下三點(diǎn):(1)以上兩種模型都試圖基于傳播的思想建立CKG 中的高階連通性,但在每個hop中,它們都是隨機(jī)選擇固定數(shù)量的鄰居節(jié)點(diǎn)進(jìn)行信息傳遞,使得模型無法捕獲節(jié)點(diǎn)周圍完整的局部信息,同時捕獲到的信息有很大的隨機(jī)性。(2)兩種模型均采用了類似于注意力機(jī)制的用戶偏好機(jī)制,具體做法是:對每個用戶,在每種關(guān)系上學(xué)習(xí)不同的權(quán)重系數(shù),之后在獲取鄰居節(jié)點(diǎn)信息時,基于該用戶對該關(guān)系固定的權(quán)重系數(shù)聚合鄰居信息,本文認(rèn)為這種偏好系數(shù)不利用推薦結(jié)果,因?yàn)橛脩舻钠檬嵌喾N多樣的,固定的偏好系數(shù)不利用挖掘用戶偏好的多樣性。(3)聚合的高階信息是K-hop節(jié)點(diǎn)信息的簡單線性加和,無法獲取豐富語義。

      KG-BGAT 能夠從以上方法脫穎而出,主要得得益于遞歸嵌入傳播過程對節(jié)點(diǎn)周圍局部信息的充分利用和表達(dá),以及該過程中使用的兩種信息采集器和注意力機(jī)制,既充分捕獲了節(jié)點(diǎn)的特征交互信息和高階連通性,同時也避免了噪聲影響。

      KG-BGAT在100次迭代的訓(xùn)練過程中,NDCG@20指標(biāo)變化情況如圖5所示,本文選取FM模型作為對比。

      圖5 模型100次迭代NDCG@20指標(biāo)變化

      圖5 顯示兩個模型均能較快收斂,其中KG-BGAT的最佳性能在第30次迭代,F(xiàn)M的最佳性能在第12次迭代,雖然KG-BGAT 需要花費(fèi)更多的時間來達(dá)到最佳性能,但它的性能更高、更穩(wěn)定,原因在于以下兩點(diǎn):(1)知識圖譜學(xué)習(xí)模塊將輔助信息注入實(shí)體表示,并且該模塊和推薦模塊的交替訓(xùn)練將有助于模型獲取更加準(zhǔn)確的實(shí)體表示;(2)嵌入傳播層中,中心節(jié)點(diǎn)遞歸地和鄰居節(jié)點(diǎn)產(chǎn)生信息交換,使得模型學(xué)習(xí)到的協(xié)同知識圖的拓?fù)浣Y(jié)構(gòu)更加穩(wěn)固,實(shí)體向量表示更加穩(wěn)定。

      3.6 高階連通性和注意力機(jī)制對比實(shí)驗(yàn)

      為了驗(yàn)證高階連通性和注意力機(jī)制對推薦性能是否有益,本文進(jìn)行了如下對比實(shí)驗(yàn):改變嵌入傳播層的層數(shù),并去除了有3層嵌入傳播層的KG-BGAT-3中的注意力機(jī)制,實(shí)驗(yàn)結(jié)果如表3所示。

      表3 嵌入傳播層層數(shù)和注意力機(jī)制的影響

      前4 個模型名稱結(jié)尾的數(shù)字代表嵌入傳播層的層數(shù),嵌入傳播層層數(shù)控制了圖中節(jié)點(diǎn)可以聚合的鄰居節(jié)點(diǎn)的跳數(shù)。其中KG-BGAT-1 與CKE 的推薦結(jié)果相當(dāng),當(dāng)疊加嵌入傳播層層數(shù)時,各項(xiàng)指標(biāo)均得到提升,證明了模型捕獲到的高階連通性確實(shí)有利于改善推薦結(jié)果。最后一個KG-BGAT-3/rem att 是在三層嵌入傳播層模型的基礎(chǔ)上去除了注意力機(jī)制,使得線性信息采集器不再根據(jù)兩個節(jié)點(diǎn)的相似度來采集鄰居信息,π(h,r,t)退化為1/d(h),即每個鄰居節(jié)點(diǎn)傳播到中心節(jié)點(diǎn)的信息量相同??梢钥吹剑陀凶⒁饬C(jī)制的KGBGAT-3 相比,其精確率、召回率、平均折損收益分別下降了1.89、2.24 和1.75 個百分點(diǎn),驗(yàn)證了在圖神經(jīng)網(wǎng)絡(luò)中引入注意力機(jī)制的必要性,即:注意力機(jī)制可以在一定程度上減小不相關(guān)實(shí)體的噪聲影響,從而將關(guān)注點(diǎn)聚焦在某部分?jǐn)?shù)據(jù)上。

      3.7 采集器對比實(shí)驗(yàn)

      為了驗(yàn)證設(shè)計(jì)的雙線性采集器的有效性,本文進(jìn)行了兩種信息采集器效果的對比實(shí)驗(yàn)。

      GAT-LC和GAT-BC分別使用了線性采集器和雙線性采集器,從表4 可以看出,去除任何一種而采用單采集器,推薦性能較使用兩種采集器均有所下降。相對而言,單采集器模型中,雙線性采集器的推薦性能更好,在精確率、召回率和歸一化折損累計(jì)增益3個指標(biāo)上較線性采集器分別高出1.21、0.58、1.35個百分點(diǎn)。實(shí)驗(yàn)驗(yàn)證了本文對于特征交互重要性的想法,顯示了本文設(shè)計(jì)的雙線性采集器的有效性。

      表4 兩種信息采集器效果對比

      同時,本文對式(5)中的α取值進(jìn)行了一組對比實(shí)驗(yàn),探索兩種采集器對推薦結(jié)果的具體影響。從圖6可以看出,從α=0 開始,隨著雙線性采集器信息采集量的增加,精確率也隨之提高,在α=0.6時,精確率達(dá)到最大值;若α繼續(xù)增加,精確率逐漸降低。該實(shí)驗(yàn)結(jié)果說明以下兩點(diǎn):(1)α從0增加時引起精確率隨之提高,證明了設(shè)計(jì)的雙線性采集器的有效性。(2)線性采集器在該推薦場景下同樣可以收集到有用信息,兩種采集器相互協(xié)作更有利于推薦效果。

      圖6 不同α 取值下的Precision@20

      4 結(jié)束語

      本文將知識圖譜引入圖注意力網(wǎng)絡(luò),模型通過設(shè)計(jì)的雙線性采集器和線性采集器相結(jié)合的方法捕獲鄰居節(jié)點(diǎn)信息,并將圖中各節(jié)點(diǎn)嵌入遞歸地傳播到相鄰節(jié)點(diǎn),使得每個節(jié)點(diǎn)都獲取了其周圍節(jié)點(diǎn)基于特征交互的豐富語義,建立了節(jié)點(diǎn)間的高階連通性。KG-BGAT 通過挖掘推薦場景中用戶到項(xiàng)目基于特征交互的高階連通性,使得推薦效果明顯改善,相比于其他基于知識圖譜的先進(jìn)推薦模型,KG-BGAT 既省去了手動設(shè)計(jì)元路徑的勞動密集型過程,又使得用戶到項(xiàng)目的潛在路徑得到充分挖掘,在MovieLens-1M 數(shù)據(jù)集上獲得了較好的推薦效果。

      在未來的工作中,可以考慮將注意力機(jī)制引入到雙線性采集器中,對于圖神經(jīng)網(wǎng)絡(luò)GNN 的研究尚處于早期階段,相信未來對GNN 的更多探索會使推薦場景下的推薦性能得到進(jìn)一步的提升。

      猜你喜歡
      連通性采集器高階
      偏序集及其相關(guān)拓?fù)涞倪B通性?
      COVID-19大便標(biāo)本采集器的設(shè)計(jì)及應(yīng)用
      有限圖上高階Yamabe型方程的非平凡解
      高階各向異性Cahn-Hilliard-Navier-Stokes系統(tǒng)的弱解
      滾動軸承壽命高階計(jì)算與應(yīng)用
      哈爾濱軸承(2020年1期)2020-11-03 09:16:02
      擬莫比烏斯映射與擬度量空間的連通性
      河道-灘區(qū)系統(tǒng)連通性評價(jià)研究
      基于ZigBee的大型公共建筑能耗采集器設(shè)計(jì)
      基于LabVIEW的多數(shù)據(jù)采集器自動監(jiān)控軟件設(shè)計(jì)與開發(fā)
      高穩(wěn)定被動群集車聯(lián)網(wǎng)連通性研究
      科技| 龙川县| 九龙城区| 乌拉特中旗| 黔南| 神农架林区| 平潭县| 郓城县| 景东| 黔西县| 平凉市| 双鸭山市| 海南省| 北海市| 三门峡市| 班玛县| 斗六市| 双城市| 华坪县| 搜索| 怀远县| 昌邑市| 长沙县| 新巴尔虎左旗| 济源市| 栾城县| 滨海县| 舞阳县| 封开县| 松滋市| 昌乐县| 平昌县| 定结县| 平利县| 锡林郭勒盟| 田东县| 京山县| 武夷山市| 卢氏县| 垫江县| 菏泽市|