邢長征,劉義海,郭亞蘭,郭家隆
遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和網(wǎng)絡(luò)信息的不斷增多,用戶很難在海量數(shù)據(jù)中選擇自己需要的信息,為了提升用戶對(duì)信息資源的利用率,精準(zhǔn)地為用戶提供有效信息,推薦系統(tǒng)已經(jīng)廣泛應(yīng)用于互聯(lián)網(wǎng)上各種推薦場景。一個(gè)完整的推薦系統(tǒng)一般由用戶、物品以及推薦載體共同組成,通過推薦算法分析出用戶可能感興趣的物品,并將推薦結(jié)果展示在推薦載體上,同時(shí),推薦算法也可以利用用戶獲得推薦結(jié)果后的反饋信息,對(duì)算法參數(shù)進(jìn)行調(diào)整,提高后續(xù)推薦的質(zhì)量。
為了更好地解決推薦過程中的數(shù)據(jù)稀疏及冷啟動(dòng)的問題,近年來將知識(shí)圖譜作為輔助信息融入推薦算法的方法[1]引起了國內(nèi)外的關(guān)注,知識(shí)圖譜可以將推薦系統(tǒng)中的實(shí)體通過實(shí)體之間的關(guān)系建立連接,依據(jù)數(shù)據(jù)自身存在的拓?fù)潢P(guān)系挖掘更多的用戶或項(xiàng)目的隱藏特征。現(xiàn)如今,推薦算法中對(duì)知識(shí)圖譜的處理方法可以大體分為設(shè)計(jì)元路徑[2]、使用注意力機(jī)制分配節(jié)點(diǎn)權(quán)重[3]選取固定的節(jié)點(diǎn)接受域[4]和設(shè)計(jì)多圖對(duì)比學(xué)習(xí)[5]等方法。設(shè)計(jì)元路徑的方法可以考慮到知識(shí)圖譜中的多元關(guān)系,在個(gè)性化推薦方面表現(xiàn)優(yōu)異,但是元路徑設(shè)計(jì)依賴于對(duì)知識(shí)圖譜結(jié)構(gòu)的考察,不同的知識(shí)圖譜需要設(shè)計(jì)不同的元路徑,存在元路徑設(shè)置困難、普適性較差的問題。依賴注意力機(jī)制分配權(quán)重的方法使用注意力機(jī)制區(qū)分鄰居節(jié)點(diǎn)的重要性,普適性相對(duì)較強(qiáng),但是在處理知識(shí)圖譜和模型訓(xùn)練時(shí)復(fù)雜度較高,存在模型訓(xùn)練開銷過高、訓(xùn)練成本過大的問題。選取固定接受域的方法可以有效控制模型的訓(xùn)練成本,但是接受域設(shè)置方面同樣存在困難,在接受域設(shè)置過大時(shí),會(huì)受到過遠(yuǎn)距離節(jié)點(diǎn)產(chǎn)生的噪聲干擾從而影響模型性,在接受域設(shè)置過小時(shí),會(huì)產(chǎn)生知識(shí)圖譜中的數(shù)據(jù)資源利用不足的問題,最終影響的推薦結(jié)果。建立多圖進(jìn)行對(duì)比學(xué)習(xí)可以將知識(shí)圖譜細(xì)化,在每個(gè)圖內(nèi)進(jìn)行交互對(duì)比學(xué)習(xí),在知識(shí)圖譜特征挖掘方面表現(xiàn)優(yōu)異,但是在多圖建立方面復(fù)雜度過高,在知識(shí)圖譜處理方面會(huì)耗費(fèi)大量時(shí)間,在規(guī)模較大的數(shù)據(jù)集上并不適用。
針對(duì)上述問題,本文提出了一種基于距離策略的知識(shí)圖譜圖卷積推薦算法。該算法將知識(shí)圖譜中的節(jié)點(diǎn)劃分為中心節(jié)點(diǎn)和輔助信息,使用了距離策略重構(gòu)知識(shí)圖譜,通過優(yōu)化實(shí)體、關(guān)系鄰接矩陣來縮減知識(shí)圖譜處理和模型訓(xùn)練的開銷,并建立了新的鄰域聚合結(jié)構(gòu)處理知識(shí)圖譜中的信息,依據(jù)距離-影響力函數(shù)縮減知識(shí)圖譜中遠(yuǎn)距離鄰居節(jié)點(diǎn)的影響,不必再進(jìn)行接受域的相關(guān)設(shè)置,避免了遠(yuǎn)距離節(jié)點(diǎn)對(duì)模型造成的干擾和近距離節(jié)點(diǎn)資源利用不足的問題,在知識(shí)圖譜和模型訓(xùn)練時(shí)模型造成的開銷遠(yuǎn)低于其他方法,提高了模型的訓(xùn)練效率和普適性,更具有實(shí)際應(yīng)用的價(jià)值。
知識(shí)圖譜的嵌入方法分為兩類[6]:基于翻譯的模型如TransE[7]、TransR[8]、TransH[9]等;語 義 匹 配 模 型,如RESCAL[10]、DistMult[11]等。采用知識(shí)圖譜嵌入的方法可以在知識(shí)圖譜內(nèi)部完成特定的任務(wù),例如推理、預(yù)測、分類等,然而推薦領(lǐng)域需要利用已經(jīng)對(duì)項(xiàng)目實(shí)體構(gòu)建好的知識(shí)圖譜為模型提供更多有效的輔助信息,例如知識(shí)圖譜中代表輔助信息的節(jié)點(diǎn)和代表節(jié)點(diǎn)關(guān)系的邊,以上知識(shí)圖譜嵌入的方法并不適用。
參考知識(shí)圖譜嵌入方法對(duì)知識(shí)圖譜中的數(shù)據(jù)結(jié)構(gòu)處理,目前基于知識(shí)圖譜輔助的推薦算法可以劃分為三種:基于嵌入的方法[12]、基于路徑的方法[13]和統(tǒng)一的方法[14]?;谇度氲姆椒ㄒ话阒苯永脕碜灾R(shí)圖譜的信息,將高維知識(shí)圖譜中的實(shí)體和關(guān)系降維,將低維的向量化結(jié)果以輔助信息的方式嵌入訓(xùn)練模型,這類方法的優(yōu)點(diǎn)是數(shù)據(jù)降維處理簡單,訓(xùn)練開銷較低,但是該方法忽略了知識(shí)圖譜的連通性,對(duì)知識(shí)圖譜中關(guān)聯(lián)關(guān)系的提取能力較弱,而且對(duì)數(shù)據(jù)噪聲的處理能力不足,會(huì)影響推薦效果?;诼窂降姆椒ㄍㄟ^知識(shí)圖譜中的圖節(jié)點(diǎn)連通路徑計(jì)算模型中用戶和項(xiàng)目的相似度完成推薦,利用知識(shí)圖譜將用戶與實(shí)體通過不同類型的關(guān)系連接,考慮到了知識(shí)圖內(nèi)數(shù)據(jù)關(guān)系的問題,有較強(qiáng)的可解釋性,但是該方法在建立模型前需要依據(jù)知識(shí)圖譜的結(jié)構(gòu)設(shè)計(jì)元路徑,元路徑設(shè)置的困難也導(dǎo)致模型通常不具備普適性。統(tǒng)一的方法是前兩種方法的融合,有設(shè)計(jì)接受域、建立多圖進(jìn)行對(duì)比學(xué)習(xí)和用注意力機(jī)制分配權(quán)重等多種方式,在挖掘用戶潛在偏好、提取鄰居節(jié)點(diǎn)特征信息上有著出色的表現(xiàn),但是該方法目前也存在接受域設(shè)計(jì)缺少普適性、建立多圖的復(fù)雜度較高、模型訓(xùn)練開銷過高等問題。本文提出的D-KGCN 是一種基于統(tǒng)一的方法,通過對(duì)知識(shí)圖譜進(jìn)行重構(gòu),解決了知識(shí)圖譜中過遠(yuǎn)的輔助信息對(duì)實(shí)體信息的干擾,同時(shí)設(shè)計(jì)了基于距離策略的鄰域聚合結(jié)構(gòu),通過減少聚合的階數(shù)來達(dá)到縮短訓(xùn)練開銷的目的。
隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,能獲取到的數(shù)據(jù)不斷增多,這就意味著數(shù)據(jù)的維度和結(jié)構(gòu)更加復(fù)雜化。圖卷積神經(jīng)網(wǎng)絡(luò)(GCN)模型在處理多維且不規(guī)則的空間結(jié)構(gòu)數(shù)據(jù)上有著出色表現(xiàn),在推薦領(lǐng)域上,使用GCN模型可以在處理多維數(shù)據(jù)的同時(shí),考慮到數(shù)據(jù)之間的語義關(guān)聯(lián)關(guān)系,高效學(xué)習(xí)數(shù)據(jù)的特征信息和結(jié)構(gòu)信息。一般來說,GCN 可以分為譜方法和非譜方法,譜方法[15]表示圖結(jié)構(gòu)并在譜域定義卷積,通過圖傅里葉變換和卷積定理定義卷積完成卷積運(yùn)算,但是由于其卷積濾波未局限于頂點(diǎn)域,所以不適用于推薦領(lǐng)域。非譜方法[16]也叫空間方法,它直接對(duì)原始的圖進(jìn)行操作,并在目標(biāo)頂點(diǎn)上定義節(jié)點(diǎn)組進(jìn)行卷積,在推薦領(lǐng)域上,可以對(duì)多維且同構(gòu)的數(shù)據(jù)進(jìn)行充分且高效的利用。為了使用鄰居節(jié)點(diǎn)包含的信息并且共享節(jié)點(diǎn)之間的權(quán)值,非譜方法一般從同構(gòu)圖中提取局部連通數(shù)區(qū)域或是選取固定大小的鄰域集合。KGCN 模型[17]是一種非譜方法的知識(shí)圖卷積推薦模型,它將重點(diǎn)放在對(duì)異構(gòu)圖的處理上,使用選取固定接受域的方法在異構(gòu)圖中高效提取信息。然而,類似的做法在處理拓?fù)浣Y(jié)構(gòu)過于復(fù)雜或者過于簡單的節(jié)點(diǎn)時(shí)會(huì)造成信息資源的浪費(fèi)或重復(fù)使用,在接受域設(shè)置上需要手動(dòng)設(shè)置聚合的階數(shù)和選取聚合的節(jié)點(diǎn)數(shù)。D-KGCN模型在KGCN模型的基礎(chǔ)上進(jìn)行了改動(dòng),在圖卷積運(yùn)算部分重新設(shè)計(jì)了節(jié)點(diǎn)聚合方法,利用經(jīng)過重構(gòu)的知識(shí)圖譜生成用戶與項(xiàng)目屬性之間的鄰接矩陣,在知識(shí)圖譜利用方面,無論是簡單還是復(fù)雜的數(shù)據(jù)集同樣適用,與改動(dòng)之前相比更具有普適性。
本文研究的主要問題是:在利用知識(shí)圖譜作為輔助信息的推薦領(lǐng)域中,如何挖掘用戶對(duì)實(shí)體的某些輔助信息的潛在興趣,并通過分析用戶的潛在興趣,挖掘用戶未直接接觸過但與該輔助信息相關(guān)聯(lián)的實(shí)體,從而對(duì)用戶進(jìn)行推薦。為解決這一問題,首先將用戶與其交互過項(xiàng)目之間的隱式反饋?zhàn)鳛橥扑]結(jié)果,例如點(diǎn)贊、評(píng)分、點(diǎn)擊、瀏覽等行為;其次,根據(jù)已有的推薦結(jié)果,為該項(xiàng)目實(shí)體的輔助信息分配權(quán)重;最后,根據(jù)輔助信息的權(quán)重求出用戶選擇某個(gè)實(shí)體的概率,對(duì)用戶未交互過的實(shí)體進(jìn)行預(yù)測。
將M個(gè)用戶組成的集合U={u1,u2,…,uM}與N個(gè)項(xiàng)目組成的集合V={v1,v2,…,vN}之間存在的隱式交互組成一個(gè)交互矩陣Y。用戶-項(xiàng)目交互矩陣的形式為Y∈RM×N,yuv表示矩陣中用戶u與項(xiàng)目v的交互信息,當(dāng)yuv=1 時(shí)表示用戶u與項(xiàng)目v存在例如評(píng)分、點(diǎn)擊、瀏覽、購買等隱式的交互,不存在交互則yuv=0。
為了豐富項(xiàng)目實(shí)體所包含的信息,將項(xiàng)目實(shí)體與其相關(guān)的輔助信息通過關(guān)聯(lián)關(guān)系聯(lián)系起來構(gòu)建成知識(shí)圖譜G。將G={(v,r,m)|v,m∈E,r∈R}中的數(shù)據(jù)定義為三元組,其中v代表項(xiàng)目實(shí)體,m代表輔助信息,r表示實(shí)體與輔助信息的關(guān)聯(lián)關(guān)系;E是所有實(shí)體組成的集合,R是實(shí)體中所有關(guān)系組成的集合。
在知識(shí)圖譜中,節(jié)點(diǎn)由實(shí)體和輔助信息共同表示,兩節(jié)點(diǎn)之間的邊由實(shí)體與輔助信息的關(guān)系表示,由于節(jié)點(diǎn)之間的關(guān)系的多樣性,知識(shí)圖譜中的信息在結(jié)構(gòu)上存在很大差異,導(dǎo)致知識(shí)圖譜存在異構(gòu)性。要利用知識(shí)圖譜中豐富的節(jié)點(diǎn)信息和異構(gòu)的圖譜信息,需要為實(shí)體生成實(shí)體鄰接矩陣、關(guān)系鄰接矩陣,但是直接對(duì)知識(shí)圖譜求鄰接矩陣的復(fù)雜度為O((v+m)2),在大規(guī)模知識(shí)圖譜的使用中需要耗費(fèi)大量運(yùn)算時(shí)間。
為解決這一問題,D-KGCN通過重構(gòu)知識(shí)圖譜優(yōu)化生成的鄰接矩陣,具體做法是將項(xiàng)目實(shí)體節(jié)點(diǎn)v視為中心節(jié)點(diǎn),輔助信息m視為鄰居節(jié)點(diǎn),依據(jù)知識(shí)圖譜中的信息為每一個(gè)中心節(jié)點(diǎn)和與其相關(guān)聯(lián)的輔助信息生成一個(gè)子圖,在子圖中,對(duì)距中心節(jié)點(diǎn)過遠(yuǎn)的輔助信息進(jìn)行一個(gè)初步的裁剪,最后依據(jù)所有子圖重新生成鄰接矩陣。
對(duì)中心節(jié)點(diǎn)vx來說,有著最大影響力的信息應(yīng)該是與其直接相連的一階鄰居節(jié)點(diǎn)與邊,因?yàn)檫@些信息與vx有著直接的關(guān)聯(lián)關(guān)系,并且高階鄰居節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)的影響力應(yīng)該隨著距離的增加而減弱,例如電影《傲慢與偏見》中,一階鄰居節(jié)點(diǎn)包括主演凱拉·奈特莉,當(dāng)推薦的項(xiàng)目是電影時(shí),主演應(yīng)該有著較強(qiáng)的影響力,與凱拉·奈特莉直接相連的二階鄰居節(jié)點(diǎn)包括其自身信息,如國籍、好友或者搭檔等,如果二階的鄰居節(jié)點(diǎn)僅與一階節(jié)點(diǎn)有著直接的關(guān)聯(lián)關(guān)系,與中心節(jié)點(diǎn)并無直接連接,那么演員國籍等二階節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)《傲慢與偏見》的影響力就應(yīng)該小于直接參演電影的凱拉·奈特莉,而三階以上的節(jié)點(diǎn)可能包含與其同國籍的演員、好友的個(gè)人信息等信息,這些信息與電影《傲慢與偏見》的交集相對(duì)不大,對(duì)電影的影響力顯然應(yīng)該小于直接參演的演員和演員自身信息。以此類推,距離中心節(jié)點(diǎn)越遠(yuǎn)的節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)的影響力就越小,那么在劃分子圖時(shí),初步截取掉距離中心節(jié)點(diǎn)距離過遠(yuǎn)的節(jié)點(diǎn)和邊,可以在降低模型復(fù)雜度的同時(shí)減少無效信息的干擾。
在劃分子圖時(shí),為了盡可能保留子圖的拓?fù)浣Y(jié)構(gòu),將子圖Gvx依據(jù)中心節(jié)點(diǎn)vx的一階關(guān)系數(shù)劃分成n個(gè)分支,每個(gè)分支包含中心節(jié)點(diǎn)、中心節(jié)點(diǎn)的某個(gè)一階鄰居節(jié)點(diǎn)和該一階鄰居節(jié)點(diǎn)之后的所有輔助信息節(jié)點(diǎn),用深度優(yōu)先算法求出子圖Gvx在第n個(gè)分支上的最大深度maxvxn、最小深度minvxn:
在每個(gè)子圖中,按照此方式對(duì)每個(gè)分支進(jìn)行裁剪,并依照裁剪后的知識(shí)圖譜構(gòu)建新的鄰接矩陣。
這樣做的目的是在對(duì)子圖進(jìn)行裁剪的同時(shí),盡可能保留每個(gè)子圖的拓?fù)浣Y(jié)構(gòu),在對(duì)信息比較豐富的中心節(jié)點(diǎn)進(jìn)行裁剪時(shí),可以截取掉過遠(yuǎn)的輔助信息,在對(duì)信息數(shù)目稀疏的節(jié)點(diǎn)進(jìn)行裁剪時(shí),將lvxn設(shè)置為向上取整,確保不會(huì)對(duì)稀疏的分支進(jìn)行過度裁剪。知識(shí)圖譜中的數(shù)據(jù)以三元組的形式存儲(chǔ),對(duì)知識(shí)圖譜劃分和裁剪的復(fù)雜度是O(v+m)。在子圖上求實(shí)體鄰接矩陣E~ 和關(guān)系鄰接矩陣R~ 的復(fù)雜度為O(v∑l2),復(fù)雜度遠(yuǎn)小于直接對(duì)知識(shí)圖譜求鄰接矩陣O((v+m)2)。
在得到鄰接矩陣后,模型按照以下形式進(jìn)行訓(xùn)練:
其中,Au為鄰接矩陣,Du為用戶鄰接矩陣的三角對(duì)稱矩陣。在得到實(shí)體的向量矩陣后,知識(shí)圖譜中鄰居節(jié)點(diǎn)的向量可以通過鄰域聚合來表示中心實(shí)體的向量。
為了保證推薦系統(tǒng)具有個(gè)性化推薦的功能,同時(shí)利用知識(shí)圖譜中節(jié)點(diǎn)的邊信息,在利用知識(shí)圖譜中的輔助信息為用戶進(jìn)行推薦的時(shí)候首先將用戶與實(shí)體的關(guān)系考慮在內(nèi),例如在挑選電影時(shí),有的用戶更看重主演,有的用戶更看重電影類型,建立用戶與實(shí)體之間關(guān)系的評(píng)分來對(duì)節(jié)點(diǎn)進(jìn)行監(jiān)督。
通過一個(gè)內(nèi)積函數(shù)f()· 表示用戶與實(shí)體關(guān)系的分?jǐn)?shù)Sru,u表示用戶向量,r表示知識(shí)圖譜中的關(guān)系向量,用戶-實(shí)體關(guān)系的分?jǐn)?shù)表示為:
其中,rv,m表示實(shí)體v與輔助信息m的關(guān)系,R~(v)表示實(shí)體v的關(guān)系矩陣。
在圖卷積中,設(shè)計(jì)了距離策略來設(shè)置鄰居節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)的影響,優(yōu)先保證一階鄰居節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)的影響力,對(duì)于其他高階節(jié)點(diǎn),通過設(shè)計(jì)距離影響力函數(shù)來完成知識(shí)圖譜中特征向量的聚合。
對(duì)實(shí)體v的聚合操作不再通過設(shè)置鄰居節(jié)點(diǎn)的階數(shù)進(jìn)行,而是分為兩部分。第一部分將中心節(jié)點(diǎn)的一階鄰居節(jié)點(diǎn)聚合成M1;第二部分將子圖中除一階鄰居節(jié)點(diǎn)外的節(jié)點(diǎn)聚合按照距離影響成M2。
用E1(v)表示中心節(jié)點(diǎn)的一階鄰接矩陣,因?yàn)橐浑A鄰域?qū)χ行墓?jié)點(diǎn)的影響力最大,M1表示為:
其中,rv,m表示實(shí)體節(jié)點(diǎn)v與輔助信息m的關(guān)系。
子圖中除一階鄰域以外的鄰居節(jié)點(diǎn),采用根據(jù)拓?fù)浣Y(jié)構(gòu)統(tǒng)一聚合的方式,同時(shí)考慮節(jié)點(diǎn)影響力與節(jié)點(diǎn)自身階數(shù)的關(guān)系,通過建立距離影-響力函數(shù)P(x)=exp(-x)表示影響力隨階數(shù)增加而下降,其中x表示該節(jié)點(diǎn)據(jù)中心節(jié)點(diǎn)的距離,依據(jù)已經(jīng)形成的實(shí)體鄰接矩陣E,M2可表示為:
節(jié)點(diǎn)的影響力設(shè)置如圖1所示。該圖表示,對(duì)于中心節(jié)點(diǎn)v1來說,其一階輔助信息節(jié)點(diǎn)v2、v3的影響力僅與節(jié)點(diǎn)之間的關(guān)系r13、r14有關(guān),但是在二階輔助信息及更高階輔助信息節(jié)點(diǎn)的影響力設(shè)置上,除了節(jié)點(diǎn)之間的關(guān)系,還與該輔助信息節(jié)點(diǎn)距離中心節(jié)點(diǎn)的位置有關(guān)。例如對(duì)二階輔助信息節(jié)點(diǎn)v5來說,P135表示該節(jié)點(diǎn)在分支v1→v3→v5上與中心節(jié)點(diǎn)之間的距離影響力,其對(duì)中心節(jié)點(diǎn)的實(shí)際影響力表示為r35·P135。
圖1 節(jié)點(diǎn)影響力設(shè)置Fig.1 Node influence setting
與按階聚合的方式相比,本文在鄰域聚合階段的時(shí)間復(fù)雜度從O(mk)變成了O(m2),k表示鄰域中要聚合的輔助信息節(jié)點(diǎn)的最大階數(shù),這樣做的好處是,在進(jìn)行聚合操作時(shí)不必根據(jù)知識(shí)圖譜的拓?fù)浣Y(jié)構(gòu)調(diào)整模型的接受域,無論是結(jié)構(gòu)復(fù)雜或結(jié)構(gòu)簡單的知識(shí)圖譜同樣可以使用這種聚合方法,不同于KGCN模型需要依據(jù)知識(shí)圖譜設(shè)計(jì)接受域的方法和其他需要設(shè)計(jì)元路徑的方法,也不必像KGAT 模型在鄰居節(jié)點(diǎn)之間耗費(fèi)大量時(shí)間使用注意力機(jī)制分配權(quán)重,使用距離策略的聚合方法無疑更具有普適性。
最后一步是將實(shí)體v和其近鄰表示M1(v)與M2(v)聚合成單個(gè)向量,這需要先計(jì)算三個(gè)向量的總和,然后對(duì)齊進(jìn)行非線性變化:
其中,W和b分別是訓(xùn)練模型時(shí)變換的權(quán)重和偏置,σ為非線性激活函數(shù),模型使用的是ReLU函數(shù)。模型流程如圖2所示。
圖2 D-KGCN流程圖Fig.2 Flow chat of D-KGCN
在處理知識(shí)圖譜G時(shí),通過重構(gòu)知識(shí)圖譜優(yōu)化鄰接矩陣的生成(第1~7 行),首先通過DFS 算法求出第k個(gè)實(shí)體節(jié)點(diǎn)的第i分支上的最大和雖小深度(第4 行),然后依據(jù)深度屬性設(shè)置子圖裁剪規(guī)則(第5行),最后返回所有實(shí)體構(gòu)成子圖的集合{G~ }。
在圖卷積運(yùn)算的過程中,首先為每個(gè)子圖生成關(guān)系鄰接矩陣和實(shí)體鄰接矩陣(第12行),設(shè)立用戶-實(shí)體關(guān)系的評(píng)分,并將其標(biāo)準(zhǔn)化(第13、14行)。在用戶-關(guān)系評(píng)分的監(jiān)督下將一階鄰居節(jié)點(diǎn)聚合成M1(第15行),將子圖中除一階鄰居節(jié)點(diǎn)以外的鄰居節(jié)點(diǎn)統(tǒng)一聚合,根據(jù)其在實(shí)體鄰接矩陣中的位置設(shè)立了一個(gè)模擬影響力和距離之間關(guān)系的函數(shù)P(x)=exp(-x),將其與鄰居節(jié)點(diǎn)和用戶-關(guān)系評(píng)分聚合成M2(第16 行),通過聚合函數(shù)將該實(shí)體節(jié)點(diǎn)的向量表示、一階鄰域表示和高階鄰域表示聚合成實(shí)體的最終表示vu(第17行),將u和vu一起輸入函數(shù)f:?d×?d→?來求得最終的預(yù)測概率:
為了評(píng)估模型的有效性,在兩種推薦場景下的三個(gè)數(shù)據(jù)集及其對(duì)應(yīng)的知識(shí)圖譜上進(jìn)行了實(shí)驗(yàn)。分別是兩個(gè)來源相同,但是規(guī)模不同的電影場景:MoveLens-1M、MoveLens-20M;一個(gè)音樂場景:Last.FM。
這三個(gè)數(shù)據(jù)集都是公開的,并且在規(guī)模大小和數(shù)據(jù)集的密度方面均不相同,用戶-項(xiàng)目交互數(shù)據(jù)集中的項(xiàng)目實(shí)體在知識(shí)圖譜中都能找到與其關(guān)聯(lián)的實(shí)體,知識(shí)圖譜中的其他實(shí)體均視為項(xiàng)目實(shí)體的輔助信息,并且每個(gè)項(xiàng)目實(shí)體在知識(shí)圖譜中最少存在一個(gè)語義關(guān)聯(lián)關(guān)系。數(shù)據(jù)集和知識(shí)圖譜的具體信息如表1所示。
表1 數(shù)據(jù)集和知識(shí)圖譜的基本數(shù)據(jù)Table 1 Basic data of dataset and KG
三個(gè)數(shù)據(jù)集中:(1)MovieLens-1M 數(shù)據(jù)集,知識(shí)圖譜數(shù)中的實(shí)體關(guān)系數(shù)目較少,拓?fù)浣Y(jié)構(gòu)也相對(duì)簡單,適合驗(yàn)證小規(guī)模且知識(shí)圖譜結(jié)構(gòu)簡單情況下模型的效果;(2)MovieLens-20M數(shù)據(jù)集,知識(shí)圖譜的信息相對(duì)豐富,適合測試模型在大規(guī)模數(shù)據(jù)集中的性能,另外,為了驗(yàn)證在距離策略在縮短訓(xùn)練時(shí)間和提升訓(xùn)練效果上的有效性,在該數(shù)據(jù)集上額外進(jìn)行消融實(shí)驗(yàn);(3)Last.FM 數(shù)據(jù)集,知識(shí)圖譜的關(guān)系數(shù)目相對(duì)較多,形成的拓?fù)浣Y(jié)構(gòu)相對(duì)復(fù)雜,以此數(shù)據(jù)集來驗(yàn)證模型在小規(guī)模且知識(shí)圖譜結(jié)構(gòu)相對(duì)復(fù)雜的數(shù)據(jù)集中模型的有效性。
將D-KGCN模型與以下模型進(jìn)行對(duì)比實(shí)驗(yàn):
RippleNet[18]:RippleNet 是一種類似記憶網(wǎng)絡(luò)的方法,它通過將用戶的偏好在記憶網(wǎng)絡(luò)中傳播來獲取用戶感興趣的項(xiàng)目屬性,將知識(shí)圖譜節(jié)點(diǎn)向量化,進(jìn)而獲取用戶與項(xiàng)目的特征向量。
MKR[19]:MKR 設(shè)計(jì)了一個(gè)聯(lián)系用戶與實(shí)體之間的交叉壓縮單元來完成用戶與實(shí)體之間的高階交互,其對(duì)知識(shí)圖譜中的全部信息與用戶信息進(jìn)行考慮。
KGCN:KGCN使用圖卷積的形式將知識(shí)圖譜中的實(shí)體與關(guān)系考慮到訓(xùn)練模型中,采用固定的接受域進(jìn)行知識(shí)圖譜的異構(gòu)信息特征提取。
KGAT[20]:KGAT 模型使用結(jié)合知識(shí)圖譜的注意力網(wǎng)絡(luò)模型,通過挖掘知識(shí)圖譜中的高階關(guān)系,將知識(shí)圖譜與推薦系統(tǒng)結(jié)合,在對(duì)知識(shí)圖譜向量化的過程中使用了TransR模型。
KGIC:KGIC模型在知識(shí)感知學(xué)習(xí)的基礎(chǔ)上提出了一種多層次交互式對(duì)比學(xué)習(xí)機(jī)制,將知識(shí)圖譜分為局部信息和非局部信息,并在二者之間使用圖神經(jīng)網(wǎng)絡(luò)編碼器進(jìn)行交互式對(duì)比學(xué)習(xí),提出了一種新的知識(shí)圖譜近鄰實(shí)體聚合方式。
MCCLK[21]:MCCLK模型同樣在知識(shí)感知學(xué)習(xí)的基礎(chǔ)上提出,通過將知識(shí)圖譜劃分為全局結(jié)構(gòu)圖、局部協(xié)作圖和語義圖三個(gè)圖進(jìn)行對(duì)比學(xué)習(xí)完成對(duì)知識(shí)圖譜的向量化表示,語義圖。
D-KGCN 模型的代碼是在Python 3.6、TensorFlow 1.15.0、Numpy 1.19.5和Scikit-learn 0.24.2下實(shí)現(xiàn)的。在D-KGCN模型中,g和f被設(shè)置為內(nèi)積函數(shù),ReLU和tanh分別是?的非最后一層聚合器和最后一層聚合器。模型的超參數(shù)是通過優(yōu)化驗(yàn)證集的AUC 指標(biāo)來確定的,D-KGCN模型僅需要調(diào)整用戶部分的訓(xùn)練超參數(shù),知識(shí)圖譜部分的超參數(shù),例如知識(shí)圖譜鄰居節(jié)點(diǎn)選取數(shù)目、節(jié)點(diǎn)接受域深度等不必再設(shè)置,最后通過RMS 優(yōu)化器對(duì)可訓(xùn)練參數(shù)進(jìn)行優(yōu)化。每個(gè)訓(xùn)練場景的訓(xùn)練集、驗(yàn)證集和測試集的比例都為6∶2∶2,每個(gè)實(shí)驗(yàn)重復(fù)三次,取平均值。
對(duì)比實(shí)驗(yàn)中,使用原始數(shù)據(jù)集,依照表2 的超參數(shù)進(jìn)行訓(xùn)練。
表2 對(duì)比實(shí)驗(yàn)參數(shù)設(shè)置Table 2 Comparison test parameter setting
消融實(shí)驗(yàn)中,以KGCN 模型為基線模型,設(shè)計(jì)了三個(gè)對(duì)比實(shí)驗(yàn)。第一個(gè)實(shí)驗(yàn)驗(yàn)證在三個(gè)數(shù)據(jù)集中,通過重構(gòu)知識(shí)圖譜生成鄰接矩陣與知識(shí)圖譜部分不作任何處理在兩種方式在時(shí)間上耗費(fèi)上的差別。第二個(gè)實(shí)驗(yàn)驗(yàn)證在同時(shí)使用重構(gòu)知識(shí)圖譜生成鄰接矩陣的情況下,2 階鄰域聚合結(jié)構(gòu)在選取不同數(shù)目的節(jié)點(diǎn)聚合與M-KGCN 模型的兩段式聚合結(jié)構(gòu)在訓(xùn)練時(shí)間和推薦效果的差別。第三個(gè)實(shí)驗(yàn)主要驗(yàn)證使用固定接受域和使用距離策略在訓(xùn)練時(shí)間和推薦效果的差別。
在每個(gè)實(shí)驗(yàn)場景中評(píng)估模型:
(1)在實(shí)驗(yàn)中采取點(diǎn)擊率(CRT)預(yù)測,通過已經(jīng)訓(xùn)練好的模型來預(yù)測測試集中數(shù)據(jù),為了計(jì)算最終推薦結(jié)果中正樣本在負(fù)樣本之前的概率,采用AUC 指標(biāo)來評(píng)估模型,其中R為推薦的項(xiàng)目集合:
同時(shí),用模型每輪訓(xùn)練所耗費(fèi)的平均時(shí)間來衡量模型的訓(xùn)練成本。
Time=(total time)/epoch
(2)在Top-K推薦中,對(duì)數(shù)據(jù)集通過已經(jīng)訓(xùn)練好的模型對(duì)測試集中用戶選擇概率最高的K個(gè)項(xiàng)目進(jìn)行Recall@K評(píng)估:
其中K=1,2,5,10,20,50,100。
(3)在消融實(shí)驗(yàn)中,第一個(gè)實(shí)驗(yàn)通過對(duì)比三個(gè)模型處理知識(shí)圖譜所耗費(fèi)的時(shí)間評(píng)估,第二個(gè)和第三個(gè)實(shí)驗(yàn)通過對(duì)比模型的AUC數(shù)值和平均每輪訓(xùn)練耗費(fèi)時(shí)間評(píng)估。
(4)為了驗(yàn)證不同優(yōu)化器對(duì)模型推薦效果和時(shí)間性能的影響,通過建立優(yōu)化器影響實(shí)驗(yàn)測試模型在使用不同優(yōu)化器時(shí)的AUC值和Time值進(jìn)行評(píng)估。
3.5.1 對(duì)比實(shí)驗(yàn)
本小節(jié)將介紹不同模型和D-KGCN 模型的對(duì)比結(jié)果。表3為模型在數(shù)據(jù)集的CTR預(yù)測結(jié)果,圖3~圖5是模型在三個(gè)數(shù)據(jù)的Top@K召回率折線圖。
表3 CTR預(yù)測的AUC和Time結(jié)果Table 3 Results of AUC and Time in CTR prediction
圖3 MovieLens-1M的top@K召回率Fig.3 Recall@K in MovieLens-1M
從表3 中可以看出在推薦場景下,D-KGCN 模型模型較其他模型在訓(xùn)練時(shí)間上的開銷更低,這是因?yàn)镈-KGCN 模型的時(shí)間復(fù)雜度主要由處理知識(shí)圖譜部分和知識(shí)圖譜卷積部分組成,處理知識(shí)圖譜部分的開銷主要集中在對(duì)知識(shí)圖譜的重構(gòu)和鄰接矩陣的構(gòu)建上,其時(shí)間復(fù)雜度為O(v∑l2),其中v是項(xiàng)目實(shí)體總數(shù),l是圖譜裁剪深度,重構(gòu)后的知識(shí)圖譜舍棄了距中心節(jié)點(diǎn)過遠(yuǎn)的輔助信息節(jié)點(diǎn),縮減了鄰接矩陣的維度,在處理知識(shí)圖譜和模型訓(xùn)練時(shí)可也節(jié)省大量時(shí)間;知識(shí)圖譜卷積部分的復(fù)雜度主要集中在鄰居節(jié)點(diǎn)聚合方面,其復(fù)雜度為O(m2),其中m是重構(gòu)后圖譜中輔助信息的總數(shù),m的數(shù)目遠(yuǎn)遠(yuǎn)小于原知識(shí)圖譜中輔助信息的數(shù)目,在知識(shí)圖譜卷積部分同樣可以節(jié)省大量時(shí)間開銷。與D-KGCN模型相比,RippleNet 模型的復(fù)雜度主要在于創(chuàng)建ripple集O(n3)和在ripple集中傳播用戶偏好O(n3),該模型的訓(xùn)練時(shí)間約是D-KGCN模型的30~70倍;KGCN模型的復(fù)雜度主要在于圖卷積部分的鄰居節(jié)點(diǎn)的聚合方面,其復(fù)雜度依賴于模型的接受域設(shè)置,總的時(shí)間復(fù)雜度為O(nk),其中k是模型的接受域?qū)訑?shù)超參數(shù),該模型的訓(xùn)練時(shí)間約是D-KGCN 模型的2~20 倍;KGAT 模型的訓(xùn)練開銷主要集中在協(xié)作知識(shí)圖譜訓(xùn)練和用注意力機(jī)制分配鄰居節(jié)點(diǎn)權(quán)重上,模型總的復(fù)雜度為O(n3),該模型的訓(xùn)練時(shí)間約是D-KGCN 模型的290~20 000 倍;MKR模型的復(fù)雜度主要在于其設(shè)置的交叉壓縮單元低層和高層中的矩陣運(yùn)算,總的模型復(fù)雜度為O(L·n)+O(H·n),其中L和H是模型中低層和高層的層數(shù)超參數(shù),該模型的訓(xùn)練時(shí)間約是D-KGCN 模型的1.5 倍;KGIC 模型的復(fù)雜度主要在于其構(gòu)造用戶潛在實(shí)體集O(n4),復(fù)雜度過高導(dǎo)該模型其僅能在MovieLens-1M 和Last.FM 兩個(gè)較小的數(shù)據(jù)集中取得實(shí)驗(yàn)結(jié)果,在這兩個(gè)數(shù)據(jù)集上的訓(xùn)練時(shí)間約是D-KGCN 模型的400~3 000 倍;MCCLK的復(fù)雜度主要集中在創(chuàng)建三個(gè)協(xié)作圖及其對(duì)比學(xué)習(xí)中,其復(fù)雜度為O(n3),在對(duì)MovieLens-20M進(jìn)行的實(shí)驗(yàn)中,因?yàn)槟P蛥?shù)需要的存儲(chǔ)空間超過40 GB,試驗(yàn)機(jī)無法滿足條件,在MovieLens-1M 和Last.FM 兩個(gè)數(shù)據(jù)集上的訓(xùn)練時(shí)間約是D-KGCN模型的90~500倍。
在MovieLens-1M 數(shù)據(jù)集中,知識(shí)圖譜中的實(shí)體關(guān)系數(shù)目較少,拓?fù)浣Y(jié)構(gòu)也相對(duì)簡單,適合驗(yàn)證小規(guī)模數(shù)據(jù)集下模型的效果,D-KGCN模型在訓(xùn)練時(shí)造成的開銷不但最低,AUC指數(shù)較其他表現(xiàn)最好的KGIC模型還提升了0.008,這是因?yàn)镈-KGCN 模型在操作知識(shí)圖譜時(shí),對(duì)輔助信息稀疏的節(jié)點(diǎn)不會(huì)過度裁剪,能夠最大可能性保留中心節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu),同時(shí)也不會(huì)造成額外開銷,相比之下,使用注意力機(jī)制和網(wǎng)絡(luò)傳播的KGAT和RippleNet 模型在處理知識(shí)圖譜時(shí)操作過于繁瑣,抵抗知識(shí)圖譜中數(shù)據(jù)產(chǎn)生的噪聲能力也相對(duì)較差。采用知識(shí)感知學(xué)習(xí)的KGIC 和MCCLK 模型需要?jiǎng)?chuàng)建多個(gè)額外的輔助圖進(jìn)行對(duì)比訓(xùn)練,訓(xùn)練開銷遠(yuǎn)高于D-KGCN模型。
對(duì)于MovieLens-20M 數(shù)據(jù)集來說,知識(shí)圖譜的信息相對(duì)豐富,適合測試模型在大規(guī)模數(shù)據(jù)集中的性能,從表3 中可以看出D-KGCN 模型在AUC 指標(biāo)上領(lǐng)先效果第二好的KGAT 模型0.012,同時(shí)時(shí)間耗費(fèi)遠(yuǎn)小于KGAT 模型。MKR 模型雖然訓(xùn)練開銷排在第二位,但是其推薦能力最終會(huì)完全喪失,這是因?yàn)槠湓O(shè)計(jì)的交叉壓縮單元并沒有處理噪聲的能力,隨著數(shù)據(jù)的增多,產(chǎn)生的干擾會(huì)嚴(yán)重影響推薦效果。而D-KGCN 模型通過距離-影響力函數(shù)聚合知識(shí)圖譜上的輔助信息,極大地減少了距離中心節(jié)點(diǎn)過遠(yuǎn)的無用節(jié)點(diǎn)帶來的干擾,同時(shí),分兩段聚合的方式還節(jié)省了大量的訓(xùn)練時(shí)間??梢钥闯鯠-KGCN 模型更能適應(yīng)大規(guī)模的數(shù)據(jù)集。
對(duì)Last.FM 數(shù)據(jù)集來說,其知識(shí)圖譜的關(guān)系數(shù)目相對(duì)較多,形成的拓?fù)浣Y(jié)構(gòu)相對(duì)復(fù)雜,適合驗(yàn)證小規(guī)模且知識(shí)圖譜結(jié)構(gòu)相對(duì)復(fù)雜的數(shù)據(jù)集中模型的有效性。
D-KGCN 在AUC 指標(biāo)上落后于KGIC 和MCCLK模型,這說明D-KGCN模型在稀疏且關(guān)系復(fù)雜的數(shù)據(jù)集中,對(duì)關(guān)系的提取和應(yīng)用能力欠佳,仍然存在提升的空間,但是其訓(xùn)練開銷遠(yuǎn)遠(yuǎn)低于KGIC 和MCCLK 模型。KGCN模型依賴于鄰域聚合結(jié)構(gòu),在數(shù)據(jù)集中需要考察知識(shí)圖譜的拓?fù)浣Y(jié)構(gòu)來設(shè)計(jì)鄰域聚合結(jié)構(gòu),在Last.FM數(shù)據(jù)集上表現(xiàn)相對(duì)不佳,普適性相對(duì)較差,D-KGCN 在KGCN模型基礎(chǔ)上做出了改進(jìn),在沒有增加訓(xùn)練開銷的基礎(chǔ)上,提升了0.037的AUC值,提高了模型的普適性,且更具有實(shí)際應(yīng)有的價(jià)值。
圖3、圖4分別是模型在MovieLens-1M、MovieLens-20M 數(shù)據(jù)集上進(jìn)行Top-K推薦的Recall@K折線圖。如圖所示,D-KGCN 模型在K為任意值時(shí)均處于優(yōu)勢地位,在最終Recall@K的結(jié)果上,D-KGCN模型在效果上分別超過效果第二好的其他模型29.70%、12.10%,這說明模型在數(shù)據(jù)相對(duì)密集且關(guān)系相對(duì)簡單和數(shù)據(jù)相對(duì)稀疏且關(guān)系相對(duì)復(fù)雜的模型上都能取得不錯(cuò)的推薦效果,證明了模型的有效性。圖5是模型在Last.FM數(shù)據(jù)集上進(jìn)行Top-K推薦的Recall@K折線圖,D-KGCN 模型模型在最終Recall@K的結(jié)果上落后效果最好的MCCLK模型8.9%,說明模型在數(shù)據(jù)稀疏且關(guān)系復(fù)雜的數(shù)據(jù)集中仍然存在提升的空間,需要加強(qiáng)稀疏數(shù)據(jù)集中的關(guān)系提取能力。綜合模型在三個(gè)數(shù)據(jù)集上的推薦效果和訓(xùn)練開銷來看,本文提出的與距離策略的知識(shí)圖譜網(wǎng)絡(luò)圖卷積推薦算法是可用的。
圖4 MovieLens-20M的top@K召回率Fig.4 Recall@K in MovieLens-20M
圖5 Music的top@K召回率Fig.5 Recall@K in Music
3.5.2 消融實(shí)驗(yàn)
表4 是在知識(shí)圖譜處理時(shí)是否使用重構(gòu)生成鄰接矩陣在三個(gè)數(shù)據(jù)集上的時(shí)間性能耗費(fèi),從表中可以看出在三個(gè)數(shù)據(jù)集上,使用知識(shí)圖譜重構(gòu)的方法相比未作處理的方法的時(shí)間,是其1/3~1/2,證明了重構(gòu)知識(shí)圖譜在時(shí)間性能上的優(yōu)勢。
表4 知識(shí)圖譜處理時(shí)間耗費(fèi)Table 4 Knowledge graph processing time consumption單位:s
為了驗(yàn)證模型的距離策略的有效性,在使用重構(gòu)知識(shí)圖譜生成鄰接矩陣的基礎(chǔ)上,將基于距離策略的聚合方式與選取固定節(jié)點(diǎn)迭代聚合方式進(jìn)行對(duì)比,用MvieLens-20M 作為實(shí)驗(yàn)數(shù)據(jù)集,選取固定節(jié)點(diǎn)的聚合方式的接受域?yàn)?,用n表示聚合結(jié)構(gòu)每層選取的節(jié)點(diǎn)數(shù)目。
表5顯示了在選取固定節(jié)點(diǎn)進(jìn)行聚合時(shí),最終的推薦結(jié)果和訓(xùn)練耗費(fèi)時(shí)間相差不大,而且在選取固定節(jié)點(diǎn)值增大時(shí),模型的推薦效果沒有明顯提升,這說明了同階節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)的影響力有限,聚合的數(shù)目對(duì)模型的推薦效果影響不大,使用距離策略的D-KGCN模型雖然在聚合時(shí)間上略高于選取固定節(jié)點(diǎn)聚合的方法,但是最終的AUC 值提升了0.011~0.013,這是由于基于距離策略的聚合結(jié)構(gòu)不但聚合同階的鄰居節(jié)點(diǎn),還將高階的鄰居節(jié)點(diǎn)按照距離影響力聚合,考慮的信息更全面,最終的推薦效果也更好。
表5 不同聚合結(jié)構(gòu)的AUC和Time對(duì)比Table 5 Results of AUC and Time in different aggregation structures
D-KGCN 模型是在KGCN 模型基礎(chǔ)上改動(dòng)的,表6是在同樣使用了裁剪策略優(yōu)化鄰接矩陣生成的情況下,D-KGCN 模型和接受域?yàn)楣潭ㄖ禃r(shí)的KGCN 模型的實(shí)驗(yàn)結(jié)果對(duì)比,用H表示接受域設(shè)置的值,H=0 時(shí)表示模型僅聚合中心節(jié)點(diǎn),不考慮鄰居節(jié)點(diǎn)帶來的影響,此時(shí)模型的訓(xùn)練開銷最低,推薦的AUC 值達(dá)到了0.969,這說明了中心節(jié)點(diǎn)對(duì)推薦模型的影響力起決定性作用,隨著接受域擴(kuò)大,當(dāng)接受域H=2 時(shí)模型的推薦效果達(dá)到了KGCN 模型的最大值,這證明了前兩階輔助信息確實(shí)能起到提升推薦效果的作用,當(dāng)H=3是,推薦的結(jié)果開始下降,說明了高階鄰居節(jié)點(diǎn)已經(jīng)對(duì)模型的推薦效果產(chǎn)生了干擾,直到H=4 時(shí),數(shù)據(jù)產(chǎn)生的噪聲導(dǎo)致模型完全喪失推薦性能,而D-KGCN 模型依靠距離策略,縮減高階鄰居節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)的影響力,在推薦的AUC 值上比固定接受域H=2 時(shí)提升了0.011,時(shí)間也縮短了1/2 以上,足以證明D-KGCN 模型的有效性。
表6 不同接受域的AUC和Time對(duì)比Table 6 Results of AUC and Time in different acceptance domains
3.5.3 優(yōu)化器影響實(shí)驗(yàn)
使用四個(gè)優(yōu)化器在三個(gè)數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),驗(yàn)證不同優(yōu)化器對(duì)模型AUC 和訓(xùn)練開銷的影響,結(jié)果如表7所示。
表7 優(yōu)化器影響實(shí)驗(yàn)Table 7 Optimizer influence experiment
通過表7 可以看出模型的訓(xùn)練開銷與優(yōu)化器之間聯(lián)系不大,但是不同的優(yōu)化器對(duì)模型的推薦效果影響很大,RMS 優(yōu)化器在處理梯度時(shí)用平方梯度的移動(dòng)均值代替平方梯度的總和,對(duì)小批量數(shù)據(jù)設(shè)置更為適應(yīng),在優(yōu)化器實(shí)驗(yàn)中的各個(gè)數(shù)據(jù)集上表現(xiàn)最佳。Adam 優(yōu)化器在處理梯度時(shí)不但使用動(dòng)量作為參數(shù)更新方向,而且可以自適應(yīng)調(diào)整學(xué)習(xí)率,在優(yōu)化器影響實(shí)驗(yàn)的表現(xiàn)上也取得了不錯(cuò)的效果。Adagrad 學(xué)習(xí)率衰減用了所有的梯度,如果在經(jīng)過一定次數(shù)的迭代依然沒有找到最優(yōu)點(diǎn)時(shí),累加的梯度幅值是越來越大的,導(dǎo)致學(xué)習(xí)率越來越小,很難再繼續(xù)找到最優(yōu)點(diǎn),在模型中使用Adagrad 優(yōu)化器會(huì)導(dǎo)致模型最終喪失推薦性能。Gradient Descent 優(yōu)化器的實(shí)現(xiàn)非常簡單,但是在收斂性方面難以保障,使用該優(yōu)化器并不能使D-KGCN 模型收斂。
本文提出的D-KGCN 推薦模型,是一種能夠依據(jù)實(shí)體在知識(shí)圖譜中的拓?fù)浣Y(jié)構(gòu),高效地利用知識(shí)圖譜中異構(gòu)信息的推薦模型。D-KGCN 模型在時(shí)間和性能上取得優(yōu)勢主要有兩個(gè)原因,第一是依據(jù)節(jié)點(diǎn)的拓?fù)浣Y(jié)構(gòu),對(duì)知識(shí)圖譜進(jìn)行了初步的裁剪,首先避免了距離過遠(yuǎn)的節(jié)點(diǎn)對(duì)中心節(jié)點(diǎn)的干擾,優(yōu)化了知識(shí)圖譜生成的鄰接矩陣和關(guān)系矩陣;第二點(diǎn)是依據(jù)距離策略提出了新的鄰域聚合方式,在聚合操作時(shí),首先聚合中心節(jié)點(diǎn)的一階輔助信息節(jié)點(diǎn),然后將其他輔助信息節(jié)點(diǎn)通過距離-影響力衰減函數(shù)聚合,依據(jù)用戶-關(guān)系評(píng)分、距離-影響力衰減函數(shù)完成對(duì)知識(shí)圖譜的向量化處理。最終經(jīng)過在三個(gè)真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn),驗(yàn)證了模型在不同規(guī)模、稀疏度的數(shù)據(jù)集上的推薦質(zhì)量和訓(xùn)練效率,在MovieLen-20M數(shù)據(jù)集是進(jìn)行消融實(shí)驗(yàn),驗(yàn)證了知識(shí)圖譜重構(gòu)和使用距離策略的有效性。在未來會(huì)進(jìn)一步改進(jìn)知識(shí)圖譜中鄰居節(jié)點(diǎn)的選擇函數(shù)和邊信息的使用方法,以提升模型在小規(guī)模且關(guān)系復(fù)雜的數(shù)據(jù)提取能力,進(jìn)而得到更好的推薦性能和解釋性;也會(huì)嘗試將模型拓展并應(yīng)用在其他領(lǐng)域,如餐飲、新聞、視頻等推薦領(lǐng)域。