時間:2023-03-31 10:42:01
序論:好文章的創(chuàng)作是一個不斷探索和完善的過程,我們?yōu)槟扑]一篇知識圖譜圖卷積網(wǎng)絡(luò)推薦算法范例,希望它們能助您一臂之力,提升您的閱讀品質(zhì),帶來更深刻的閱讀感受。
隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展和網(wǎng)絡(luò)信息的不斷增多,用戶很難在海量數(shù)據(jù)中選擇自己需要的信息,為了提升用戶對信息資源的利用率,精準的為用戶提供有效信息,推薦系統(tǒng)已經(jīng)廣泛應(yīng)用于互聯(lián)網(wǎng)上各種推薦場景。一個完整的推薦系統(tǒng)一般由用戶、物品以及推薦載體共同組成,通過推薦算法分析出用戶可能感興趣的物品,并將推薦結(jié)果展示在推薦載體上,同時,推薦算法也可以利用用戶獲得推薦結(jié)果后的反饋信息,對算法參數(shù)進行調(diào)整,提高后續(xù)推薦的質(zhì)量。為了更好的解決推薦過程中的數(shù)據(jù)稀疏及冷啟動的問題,近年來將知識圖譜作為輔助信息融入推薦算法的方法[1]引起了國內(nèi)外的關(guān)注,知識圖譜可以將推薦系統(tǒng)中的實體通過實體之間的關(guān)系建立連接,依據(jù)數(shù)據(jù)自身存在的拓撲關(guān)系挖掘更多的用戶或項目的隱藏特征?,F(xiàn)如今,推薦算法中對知識圖譜的處理方法可以大體分為設(shè)計元路徑[2]、使用注意力機制分配節(jié)點權(quán)重[3]選取固定的節(jié)點接受域[4]、和設(shè)計多圖對比學(xué)習(xí)[5]等方法。設(shè)計元路徑的方法可以考慮到知識圖譜中的多元關(guān)系,在個性化推薦方面表現(xiàn)優(yōu)異,但是元路徑設(shè)計依賴于對知識圖譜結(jié)構(gòu)的考察,不同的知識圖譜需要設(shè)計不同的元路徑,存在元路徑設(shè)置困難、普適性較差的問題。依賴注意力機制分配權(quán)重的方法使用注意力機制區(qū)分鄰居節(jié)點的重要性,普適性相對較強,但是在處理知識圖譜和模型訓(xùn)練時復(fù)雜度較高,存在模型訓(xùn)練開銷過高、訓(xùn)練成本過大的問題。選取固定接受域的方法可以有效控制模型的訓(xùn)練成本,但是接受域設(shè)置方面同樣存在困難,在接受域設(shè)置過大時,會受到過遠距離節(jié)點產(chǎn)生的噪聲干擾從而影響模型性,在接受域設(shè)置過小時,會產(chǎn)生知識圖譜中的數(shù)據(jù)資源利用不足的問題,最終影響的推薦結(jié)果。建立多圖進行對比學(xué)習(xí)可以將知識圖譜細化,在每個圖內(nèi)進行交互對比學(xué)習(xí),在知識圖譜特征挖掘方面表現(xiàn)優(yōu)異,但是在多圖建立方面復(fù)雜度過高,在知識圖譜處理方面會耗費大量時間,在規(guī)模較大的數(shù)據(jù)集上并不適用。針對上述問題,本文提出了一種基于距離策略的知識圖譜圖卷積推薦算法。該算法將知識圖譜中的節(jié)點劃分為中心節(jié)點和輔助信息,使用了距離策略重構(gòu)知識圖譜,通過優(yōu)化實體、關(guān)系鄰接矩陣來縮減知識圖譜處理和模型訓(xùn)練的開銷,并建立了新的鄰域聚合結(jié)構(gòu)處理知識圖譜中的信息,依據(jù)距離-影響力函數(shù)縮減知識圖譜中遠距離鄰居節(jié)點的影響,不必再進行接受域的相關(guān)設(shè)置,避免了遠距離節(jié)點對模型造成的干擾和近距離節(jié)點資源利用不足的問題,在知識圖譜和模型訓(xùn)練時模型造成的開銷遠低于其他方法,提高了模型的訓(xùn)練效率和普適性,更具有實際應(yīng)用的價值。
1相關(guān)工作
1.1基于知識圖譜的推薦算法
知識圖譜的嵌入方法分為兩類[6]:基于翻譯的模型如TransE[7],TransR[8],TransH[9]等;語義匹配模型,如RESCAL[10]、DistMult[11]等。采用知識圖譜嵌入的方法可以在知識圖譜內(nèi)部完成特定的任務(wù),例如推理、預(yù)測、分類等,然而推薦領(lǐng)域需要利用已經(jīng)對項目實體構(gòu)建好的知識圖譜為模型提供更多有效的輔助信息,例如知識圖譜中代表輔助信息的節(jié)點和代表節(jié)點關(guān)系的邊,以上知識圖譜嵌入的方法并不適用。參考知識圖譜嵌入方法對知識圖譜中的數(shù)據(jù)結(jié)構(gòu)處理,目前基于知識圖譜輔助的推薦算法可以劃分為三種:基于嵌入的方法[12]、基于路徑的方法[13]和統(tǒng)一的方法[14]?;谇度氲姆椒ㄒ话阒苯永脕碜灾R圖譜的信息,將高維知識圖譜中的實體和關(guān)系降維,將低維的的向量化結(jié)果以輔助信息的方式嵌入訓(xùn)練模型,這類方法的優(yōu)點是數(shù)據(jù)降維處理簡單,訓(xùn)練開銷較低,但是該方法忽略了知識圖譜的連通性,對知識圖譜中關(guān)聯(lián)關(guān)系的提取能力較弱,而且對數(shù)據(jù)噪聲的處理能力不足,會影響推薦效果?;诼窂降姆椒ㄍㄟ^知識圖譜中的圖節(jié)點連通路徑計算模型中用戶和項目的相似度完成推薦,利用知識圖譜將用戶與實體通過不同類型的關(guān)系連接,考慮到了知識圖內(nèi)數(shù)據(jù)關(guān)系的問題,有較強的的可解釋性,但是該方法在建立模型前需要依據(jù)知識圖譜的結(jié)構(gòu)設(shè)計元路徑,元路徑設(shè)置的困難也導(dǎo)致模型通常不具備普適性。統(tǒng)一的方法是前兩種方法的融合,有設(shè)計接受域、建立多圖進行對比學(xué)習(xí)和用注意力機制分配權(quán)重等多種方式,在挖掘用戶潛在偏好、提取鄰居節(jié)點特征信息上有著出色的表現(xiàn),但是該方法目前也存在接受域設(shè)計缺少普適性、建立多圖的復(fù)雜度較高、模型訓(xùn)練開銷過高等問題。本文提出的D-KGCN是一種基于統(tǒng)一的方法,通過對知識圖譜進行重構(gòu),解決了知識圖譜中過遠的輔助信息對實體信息的干擾,同時設(shè)計了基于距離策略的鄰域聚合結(jié)構(gòu),通過減少聚合的階數(shù)來達到縮短訓(xùn)練開銷的目的。1.2基于圖卷積網(wǎng)絡(luò)的推薦算法隨著網(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ù)據(jù)之間的語義關(guān)聯(lián)關(guān)系,高效的學(xué)習(xí)數(shù)據(jù)的特征信息和結(jié)構(gòu)信息。一般來說,GCN可以分為譜方法和非譜方法,譜方法[15]表示圖結(jié)構(gòu)并在譜域定義卷積,通過圖傅里葉變換和卷積定理定義卷積完成卷積運算,但是由于其卷積濾波未局限于頂點域,所以不適用于推薦領(lǐng)域。非譜方法[16]也叫空間方法,它直接對原始的圖進行操作,并在目標頂點上定義節(jié)點組進行卷積,在推薦領(lǐng)域上,可以對多維且同構(gòu)的數(shù)據(jù)進行充分且高效的利用。為了使用鄰居節(jié)點包含的信息并且共享節(jié)點之間的權(quán)值,非譜方法一般從同構(gòu)圖中提取局部連通數(shù)區(qū)域或是選取固定大小的鄰域集合。KGCN模型[17]是一種非譜方法的知識圖卷積推薦模型,它將重點放在對異構(gòu)圖的處理上,使用選取固定接受域的方法在異構(gòu)圖中高效提取信息。然而,類似的做法在處理拓撲結(jié)構(gòu)過于復(fù)雜或者過于簡單的節(jié)點時會造成信息資源的浪費或重復(fù)使用,在接受域設(shè)置上需要手動設(shè)置聚合的階數(shù)和選取聚合的節(jié)點數(shù)。D-KGCN模型在KGCN模型的基礎(chǔ)上進行了改動,在圖卷積運算部分重新設(shè)計了節(jié)點聚合方法,利用經(jīng)過重構(gòu)的知識圖譜生成用戶與項目屬性之間的鄰接矩陣,在知識圖譜利用方面,無論是簡單還是復(fù)雜的數(shù)據(jù)集同樣適用,與改動之前相比更具有普適性。
2.D-KGCN模型
2.1問題描述
本文研究的主要問題是:在利用知識圖譜作為輔助信息的推薦領(lǐng)域中,如何挖掘用戶對實體的某些輔助信息的潛在興趣,并通過分析用戶的潛在興趣,挖掘用戶未直接接觸過但與該輔助信息相關(guān)聯(lián)的實體,從而對用戶進行推薦。為解決這一問題,首先將用戶與其交互過項目之間的隱式反饋作為推薦結(jié)果,例如點贊、評分、點擊、瀏覽等行為;其次,根據(jù)已有的推薦結(jié)果,為該項目實體的輔助信息分配權(quán)重;最后,根據(jù)輔助信息的權(quán)重求出用戶選擇某個實體的概率,對用戶未交互過的實體進行預(yù)測。將M個用戶組成的集合12{,,...,}MU?uuu與N個項目組成的集合12{,,...,}NV?vvv之間存在的隱式交互組成一個交互矩陣Y。用戶-項目交互矩陣的形式為MNYR??,uvy表示矩陣中用戶u與項目v的交互信息,當(dāng)1uvy?時表示用戶u與項目v存在例如評分、點擊、瀏覽、購買等隱式的交互,不存在交互則0uvy?。
2.2知識圖譜
為了豐富項目實體所包含的信息,將項目實體與其相關(guān)的輔助信息通過關(guān)聯(lián)關(guān)系聯(lián)系起來構(gòu)建成知識圖譜G。將G?{(v,r,m)|v,m?E,r?R}中的數(shù)據(jù)定義為三元組,其中v代表項目實體,m代表輔助信息,r表示實體與輔助信息的關(guān)聯(lián)關(guān)系;E是所有實體組成的集合,R是實體中所有關(guān)系組成的集合。在知識圖譜中,節(jié)點由實體和輔助信息共同表示,兩節(jié)點之間的邊由實體與輔助信息的關(guān)系表示,由于節(jié)點之間的關(guān)系的多樣性,知識圖譜中的信息在結(jié)構(gòu)上存在很大差異,導(dǎo)致知識圖譜存在異構(gòu)性。要利用知識圖譜中豐富的節(jié)點信息和異構(gòu)的圖譜信息,需要為實體生成實體鄰接矩陣、關(guān)系鄰接矩陣,但是直接對知識圖譜求鄰接矩陣的復(fù)雜度為2O((v?m)),在大規(guī)模知識圖譜的使用中需要耗費大量運算時間。為解決這一問題,D-KGCN通過重構(gòu)知識圖譜優(yōu)化生成的鄰接矩陣,具體做法是將項目實體節(jié)點v視為中心節(jié)點,輔助信息m視為鄰居節(jié)點,依據(jù)知識圖譜中的信息為每一個中心節(jié)點和與其相關(guān)聯(lián)的輔助信息生成一個子圖,在子圖中,對距中心節(jié)點過遠的輔助信息進行一個初步的裁剪,最后依據(jù)所有子圖重新生成鄰接矩陣。對中心節(jié)點xv來說,有著最大影響力的信息應(yīng)該是與其直接相連的一階鄰居節(jié)點與邊,因為這些信息與xv有著直接的關(guān)聯(lián)關(guān)系,并且高階鄰居節(jié)點對中心節(jié)點的影響力應(yīng)該隨著距離的增加而減弱,例如電影《傲慢與偏見》中,一階鄰居節(jié)點包括主演凱拉·奈特莉,當(dāng)推薦的項目是電影時,主演應(yīng)該有著較強的影響力,與凱拉·奈特莉直接相連的二階鄰居節(jié)點包括其自身信息,如國籍、好友或者搭檔等,如果二階的鄰居節(jié)點僅與一階節(jié)點有著直接的關(guān)聯(lián)關(guān)系,與中心節(jié)點并無直接連接,那么演員國籍等二階節(jié)點對中心節(jié)點《傲慢與偏見》的影響力就應(yīng)該小于直接參演電影的凱拉·奈特莉,而三階以上的節(jié)點可能包含與其同國籍的演員、好友的個人信息等信息,這些信息與電影《傲慢與偏見》的交集相對不大,對電影的影響力顯然應(yīng)該小于直接參演的演員和演員自身信息。以此類推,距離中心節(jié)點越遠的節(jié)點對中心節(jié)點的影響力就越小,那么在劃分子圖時,初步截取掉距離中心節(jié)點距離過遠的節(jié)點和邊,可以在降低模型復(fù)雜度的同時減少無效信息的干擾。在劃分子圖時,為了盡可能保留子圖的拓撲結(jié)構(gòu),將子圖xvG依據(jù)中心節(jié)點xv的一階關(guān)系數(shù)劃分成n個分支,每個分支包含中心節(jié)點、中心節(jié)點的某個一階鄰居節(jié)點和該一階鄰居節(jié)點之后的所有輔助信息節(jié)點,用深度優(yōu)先算法求出子圖xvG在第n個分支上的最大深度maxxnv、最小深度minxnv:max,min()(1)xnxnxnvvv?DFSG設(shè)置子圖xv在第n個分支上保存節(jié)點的最大深度xnvl為:ln(maxmin)(2)xnxnxnvvvl??在每個子圖中,按照此方式對每個分支進行裁剪,并依照裁剪后的知識圖譜構(gòu)建新的鄰接矩陣。這樣做的目的是在對子圖進行裁剪的同時,盡可能保留每個子圖的拓撲結(jié)構(gòu),在對信息比較豐富的中心節(jié)點進行裁剪時,可以截取掉過遠的輔助信息,在對信息數(shù)目稀疏的節(jié)點進行裁剪時,將xnvl設(shè)置為向上取整,確保不會對稀疏的分支進行過度裁剪。知識圖譜中的數(shù)據(jù)以三元組的形式存儲,對知識圖譜劃分和裁剪的復(fù)雜度是O(v?m)。在子圖上求實體鄰接矩陣E和關(guān)系鄰接矩陣R的復(fù)雜度為2O(v?l),復(fù)雜度遠小于直接對知識圖譜求鄰接矩陣2O((v?m))。2.3知識圖譜卷積網(wǎng)絡(luò)在得到鄰接矩陣后,模型按照以下形式進行訓(xùn)練:1/21/21=(),(0,1)(3)luuullHDADHWl其中uA為鄰接矩陣,uD為用戶鄰接矩陣的三角對稱矩陣。在得到實體的向量矩陣后,知識圖譜中鄰居節(jié)點的向量可以通過鄰域聚合來表示中心實體的向量。為了保證推薦系統(tǒng)具有個性化推薦的功能,同時利用知識圖譜中節(jié)點的邊信息,在利用知識圖譜中的輔助信息為用戶進行推薦的時候首先將用戶與實體的關(guān)系考慮在內(nèi),例如在挑選電影時,有的用戶更看重主演,有的用戶更看重電影類型,建立用戶與實體之間關(guān)系的評分來對節(jié)點進行監(jiān)督。通過一個內(nèi)積函數(shù)f表示用戶與實體關(guān)系的分數(shù)ruS,u表示用戶向量,r表示知識圖譜中的關(guān)系向量,用戶-實體關(guān)系的分數(shù)表示為:=(,)(4)ruSfur同時,為了使數(shù)據(jù)集中的用戶-實體關(guān)系評分統(tǒng)一將用戶關(guān)系評分規(guī)范化為v,mruS:,,,()exp()(5)exp()vmvmvmrruuruvRvSSS其中,v,mr表示實體v與輔助信息m的關(guān)系,R(v)表示實體v的關(guān)系矩陣。在圖卷積中,設(shè)計了距離策略來設(shè)置鄰居節(jié)點對中心節(jié)點的影響,優(yōu)先保證一階鄰居節(jié)點對中心節(jié)點的影響力,對于其他高階節(jié)點,通過設(shè)計距離影響力函數(shù)來完成知識圖譜中特征向量的聚合。對實體v的聚合操作不再通過設(shè)置鄰居節(jié)點的階數(shù)進行,而是分為兩部分。第一部分將中心節(jié)點的一階鄰居節(jié)點聚合成1M;第二部分將子圖中除一階鄰居節(jié)點外的節(jié)點聚合按照距離影響成2M。用1E(v)表示中心節(jié)點的一階鄰接矩陣,因為一階鄰域?qū)χ行墓?jié)點的影響力最大,1M表示為:,11()()(6)vmrumEvMvSm其中,v,mr表示實體節(jié)點v與輔助信息m的關(guān)系。子圖中除一階鄰域以外的鄰居節(jié)點,采用根據(jù)拓撲結(jié)構(gòu)統(tǒng)一聚合的方式,同時考慮節(jié)點影響力與節(jié)點自身階數(shù)的關(guān)系,通過建立距離影-響力函數(shù)P(x)?exp(?x)表示影響力隨階數(shù)增加而下降,其中x表示該節(jié)點據(jù)中心節(jié)點的距離,依據(jù)已經(jīng)形成的實體鄰接矩陣E,2M可表示為:,21()()(7)vvmilruiiMvPxSm息節(jié)點2v、3v的影響力僅與節(jié)點之間的關(guān)系13r、14r有關(guān),但是在二階輔助信息及更高階輔助信息節(jié)點的影響力設(shè)置上,除了節(jié)點之間的關(guān)系,還與該輔助信息節(jié)點距離中心節(jié)點的位置有關(guān)。例如對二階輔助信息節(jié)點5v來說,135P表示該節(jié)點在分135vvv上與中心節(jié)點之間的距離影響力,其對中心節(jié)點的實際影響力表示為35135rP?。與按階聚合的方式相比,本文在鄰域聚合階段的時間復(fù)雜度從()kOm變成了2O(m),k表示鄰域中要聚合的輔助信息節(jié)點的最大階數(shù),這樣做的好處是,在進行聚合操作時不必根據(jù)知識圖譜的拓撲結(jié)構(gòu)調(diào)整模型的接受域,無論是結(jié)構(gòu)復(fù)雜或結(jié)構(gòu)簡單的知識圖譜同樣可以使用這種聚合方法,不同于KGCN模型需要依據(jù)知識圖譜設(shè)計接受域的方法和其他需要設(shè)計元路徑的方法,也不必像KGAT模型在鄰居節(jié)點之間耗費大量時間使用注意力機制分配權(quán)重,使用距離策略的聚合方法無疑更具有普適性。最后一步是將實體v和其近鄰表示1M(v)與2M(v)聚合成單個向量,這需要先計算三個向量的總和,然后對齊進行非線性變化:12agg(W?(v?M(v)?M(v))?b)(8)其中W和b分別是訓(xùn)練模型時變換的權(quán)重和偏置,為非線性激活函數(shù),模型使用的是ReLU函數(shù)。模型流程如圖2所示2.4D-KGCN算法在處理知識圖譜G時,通過重構(gòu)知識圖譜優(yōu)化鄰接矩陣的生成(第1-7行),首先通過DFS算法求出第k個實體節(jié)點的第i分支上的最大和雖小深度(第4行),然后依據(jù)深度屬性設(shè)置子圖裁剪規(guī)則(第5行),最后返回所有實體構(gòu)成子圖的集合{G}。在圖卷積運算的過程中,首先為每個子圖生成關(guān)系鄰接矩陣和實體鄰接矩陣(第12行),設(shè)立用戶-實體關(guān)系的評分,并將其標準化(第13-14行)。在用戶-關(guān)系評分的監(jiān)督下將一階鄰居節(jié)點聚合成1M(第15行),將子圖中除一階鄰居節(jié)點以外的鄰居節(jié)點統(tǒng)一聚合,根據(jù)其在實體鄰接矩陣中的位置設(shè)立了一個模擬影響力和距離之間關(guān)系的函數(shù)P(x)?exp(?x),將其與鄰居節(jié)點和用戶-關(guān)系評分聚合成2M(第16行),通過聚合函數(shù)將該實體節(jié)點的向量表示、一階鄰域表示和高階鄰域表示聚合成實體的最終表示uv(第17行),將u和uv一起輸入函數(shù):ddf來求得最終的預(yù)測概率:(9)uyfuv在訓(xùn)練的過程中,為了提升模型的計算效率,使用負采樣策略進行訓(xùn)練,損失函數(shù)為:2~()2:11((,)(,))(10)uiiuvTuvuvvPvuvuvuvyiLHyyHyy公式的前半部分是考慮了負采樣分布的交叉熵損失函數(shù),其中,H為交叉熵損失函數(shù),uT為用戶的負樣本數(shù),并且{:1}uuvTvyP是服從均勻分布的負抽樣分布;后半部分的22是L2正則化,作用是減輕過擬合。
3實驗
3.1數(shù)據(jù)集
為了評估模型的有效性,在兩種推薦場景下的三個數(shù)據(jù)集及其對應(yīng)的知識圖譜上進行了實驗。分別是兩個來源相同,但是規(guī)模不同的電影場景:MoveLines-1M、MoveLines-20M;一個音樂場景:Last.FM。這三個數(shù)據(jù)集都是公開的,并且在規(guī)模大小和數(shù)據(jù)集的密度方面均不相同,用戶-項目交互數(shù)據(jù)集中的項目實體在知識圖譜中都能找到與其關(guān)聯(lián)的實體,知識圖譜中的其它實體均視為項目實體的輔助信息,并且每個項目實體在知識圖譜中最少存在一個語義關(guān)聯(lián)關(guān)系。數(shù)據(jù)集和知識圖譜的具體信息如表1所示:三個數(shù)據(jù)集中:(1)MovieLines-1M數(shù)據(jù)集中,知識圖譜數(shù)中的實體關(guān)系數(shù)目較少,拓撲結(jié)構(gòu)也相對簡單,適合驗證小規(guī)模且知識圖譜結(jié)構(gòu)簡單情況下模型的效果。(2)MovieLines-20M數(shù)據(jù)集中,知識圖譜的信息相對豐富,適合測試模型在大規(guī)模數(shù)據(jù)集中的性能,另外,為了驗證在距離策略在縮短訓(xùn)練時間和提升訓(xùn)練效果上的有效性,在該數(shù)據(jù)集上額外進行消融實驗。(3)Last.FM數(shù)據(jù)集中,知識圖譜的關(guān)系數(shù)目相對較多,形成的拓撲結(jié)構(gòu)相對復(fù)雜,以此數(shù)據(jù)集來驗證模型在小規(guī)模且知識圖譜結(jié)構(gòu)相對復(fù)雜的數(shù)據(jù)集中模型的有效性。
3.2對比模型
將D-KGCN模型與以下模型進行對比實驗:RippleNet[18]:RippleNet是一種類似記憶網(wǎng)絡(luò)的方法,它通過將用戶的偏好在記憶網(wǎng)絡(luò)中傳播來獲取用戶感興趣的項目屬性,將知識圖譜節(jié)點向量化,進而獲取用戶與項目的特征向量。MKR[19]:MKR設(shè)計了一個聯(lián)系用戶與實體之間的交叉壓縮單元來完成用戶與實體之間的高階交互,其對知識圖譜中的全部信息與用戶信息進行考慮。KGCN:KGCN使用圖卷積的形式將知識圖譜中的實體與關(guān)系考慮到訓(xùn)練模型中,采用固定的接受域進行知識圖譜的異構(gòu)信息特征提取。KGAT[20]:KGAT模型使用結(jié)合知識圖譜的注意力網(wǎng)絡(luò)模型,通過挖掘知識圖譜中的高階關(guān)系,將知識圖譜與推薦系統(tǒng)結(jié)合,在對知識圖譜向量化的過程中使用了TransR模型。KGIC:KGIC模型在知識感知學(xué)習(xí)的基礎(chǔ)上提出了一種多層次交互式對比學(xué)習(xí)機制,將知識圖譜分為局部信息和非局部信息,并在二者之間使用圖神經(jīng)網(wǎng)絡(luò)編碼器進行交互式對比學(xué)習(xí),提出了一種新的知識圖譜近鄰實體聚合方式。MCCLK[21]:MCCLK模型同樣在知識感知學(xué)習(xí)的基礎(chǔ)上提出,通過將知識圖譜劃分為全局結(jié)構(gòu)圖、局部協(xié)作圖和語義圖三個圖進行對比學(xué)習(xí)完成對知識圖譜的向量化表示,語義圖。
3.3實驗設(shè)置
D-KGCN模型的代碼是在Python3.6、TensorFlow1.15.0、Numpy1.19.5和Scikit-learn0.24.2下實現(xiàn)的。在D-KGCN模型中,g和f被設(shè)置為內(nèi)積函數(shù),ReLU和tanh分別是?的非最后一層聚合器和最后一層聚合器。模型的超參數(shù)是通過優(yōu)化驗證集的AUC指標來確定的,D-KGCN模型僅需要調(diào)整用戶部分的訓(xùn)練超參數(shù),知識圖譜部分的超參數(shù),例如知識圖譜鄰居節(jié)點選取數(shù)目、節(jié)點接受域深度等不必再設(shè)置,最后通過RMS優(yōu)化器對可訓(xùn)練參數(shù)進行優(yōu)化。每個訓(xùn)練場景的訓(xùn)練集、驗證集和測試集的比例都為6:2:2,每個實驗重復(fù)三次,取平均值。對比實驗中,使用原始數(shù)據(jù)集,依照表2的超參數(shù)進行訓(xùn)練。三個對比實驗。第一個實驗驗證在三個數(shù)據(jù)集中,通過重構(gòu)知識圖譜生成鄰接矩陣與知識圖譜部分不作任何處理在兩種方式在時間上耗費上的差別。第二個實驗驗證在同時使用重構(gòu)知識圖譜生成鄰接矩陣的情況下,2階鄰域聚合結(jié)構(gòu)在選取不同數(shù)目的節(jié)點聚合與M-KGCN模型的兩段式聚合結(jié)構(gòu)在訓(xùn)練時間和推薦效果的差別。第三個實驗主要驗證使用固定接受域和使用距離策略在訓(xùn)練時間和推薦效果的差別。
3.4評估指標
在每個實驗場景中評估模型:(1)在實驗中采取點擊率(CRT)預(yù)測,通過已經(jīng)訓(xùn)練好的模型來預(yù)測測試集中數(shù)據(jù),為了計算最終推薦結(jié)果中正樣本在負樣本之前的概率,采用AUC指標來評估模型,其中R為推薦的項目集合:112()rRnRnrRAUCRnR同時,用模型每輪訓(xùn)練所耗費的平均時間來衡量模型的訓(xùn)練成本。Time?(totaltime)/epoch(2)在Top-K推薦中,對數(shù)據(jù)集通過已經(jīng)訓(xùn)練好的模型對測試集中用戶選擇概率最高的K個項目進行Recall@K評估:()()Re@()uuRuTucallkTu其中K=1,2,5,10,20,50,100。(3)在消融實驗中,第一個實驗通過對比三個模型處理知識圖譜所耗費的時間評估,第二個和第三個實驗通過對比模型的AUC數(shù)值和平均每輪訓(xùn)練耗費時間評估。(4)為了驗證不同優(yōu)化器對模型推薦效果和時間性能的影響,通過建立優(yōu)化器影響實驗測試模型在使用不同優(yōu)化器時的AUC值和Time值進行評估。
3.5實驗結(jié)果及分析
3.5.1對比實驗
本節(jié)將介紹不同模型和D-KGCN模型的對比結(jié)果。表3為模型在數(shù)據(jù)集的CTR預(yù)測結(jié)果,圖3、圖4、圖5是模型在三個數(shù)據(jù)的Top@K召回率折線圖。從表3中可以看出在推薦場景下,D-KGCN模型模型較其他模型在訓(xùn)練時間上的開銷更低,這是因為D-KGCN模型的時間復(fù)雜度主要由處理知識圖譜部分和知識圖譜卷積部分組成,處理知識圖譜部分的開銷主要集中在對知識圖譜的重構(gòu)和鄰接矩陣的構(gòu)建上,其時間復(fù)雜度為2O(v?l),其中v是項目實體總數(shù),l是圖譜裁剪深度,重構(gòu)后的知識圖譜舍棄了距中心節(jié)點過遠的輔助信息節(jié)點,縮減了鄰接矩陣的維度,在處理知識圖譜和模型訓(xùn)練時可也節(jié)省大量時間;知識圖譜卷積部分的復(fù)雜度主要集中在鄰居節(jié)點聚合方面,其復(fù)雜度為2O(m),其中m是重構(gòu)后圖譜中輔助信息的總數(shù),m的數(shù)目遠遠小于原知識圖譜中輔助信息的數(shù)目,在知識圖譜卷積部分同樣可以節(jié)省大量時間開銷。與D-KGCN模型相比,RippleNet模型的復(fù)雜度主要在于創(chuàng)建ripple集3O(n)和在ripple集中傳播用戶偏好3O(n),該模型的訓(xùn)練時間約是D-KGCN模型的30到70倍;KGCN模型的復(fù)雜度主要在于圖卷積部分的鄰居節(jié)點的聚合方面,其復(fù)雜度依賴于模型的接受域設(shè)置,總的時間復(fù)雜度為()kOn,其中k是模型的接受域?qū)訑?shù)超參數(shù),該模型的訓(xùn)練時間約是D-KGCN模型的2到20倍;KGAT模型的訓(xùn)練開銷主要集中在協(xié)作知識圖譜訓(xùn)練和用注意力機制分配鄰居節(jié)點權(quán)重上,模型總的復(fù)雜度為3O(n),該模型的訓(xùn)練時間約是D-KGCN模型的290到20000倍;MKR模型的復(fù)雜度主要在于其設(shè)置的交叉壓縮單元低層和高層中的矩陣運算,總的模型復(fù)雜度為O(Ln)O(Hn),其中L和H是模型中低層和高層的層數(shù)超參數(shù)嗎,該模型的訓(xùn)練時間約是D-KGCN模型的1.5倍;KGIC模型的復(fù)雜度主要在于其構(gòu)造用戶潛在實體集4O(n),復(fù)雜度過高導(dǎo)該模型其僅能在MovieLines-1M和Last.FM兩個較小的數(shù)據(jù)集中取得實驗結(jié)果,在這兩個數(shù)據(jù)集上的訓(xùn)練時間約是D-KGCN模型的400到3000倍;MCCLK的復(fù)雜度主要集中在創(chuàng)建三個協(xié)作圖及其對比學(xué)習(xí)中,其復(fù)雜度為3O(n),在對MovieLines-20M進行的實驗中,因為模型參數(shù)需要的存儲空間超過40G,試驗機無法滿足條件,在MovieLines-1M和Last.FM兩個數(shù)據(jù)集上的訓(xùn)練時間約是D-KGCN模型的90到500倍。在MovieLens-1M數(shù)據(jù)集中,知識圖譜中的實體關(guān)系數(shù)目較少,拓撲結(jié)構(gòu)也相對簡單,適合驗證小規(guī)模數(shù)據(jù)集下模型的效果,D-KGCN模型在訓(xùn)練時造成的開銷不但最低,AUC指數(shù)較其它表現(xiàn)最好的KGIC模型還提升了0.8%,這是因為D-KGCN模型在操作知識圖譜時,對輔助信息稀疏的節(jié)點不會過度裁剪,能夠最大可能性保留中心節(jié)點的拓撲結(jié)構(gòu),同時也不會造成額外開銷,相比之下,使用注意力機制和網(wǎng)絡(luò)傳播的KGAT和RippleNet模型在處理知識圖譜時操作過于繁瑣,抵抗知識圖譜中數(shù)據(jù)產(chǎn)生的噪聲能力也相對較差。采用知識感知學(xué)習(xí)的KGIC和MCCLK模型需要創(chuàng)建多個額外的輔助圖進行對比訓(xùn)練,訓(xùn)練開銷遠高于D-KGCN模型。對于MovieLines-20M數(shù)據(jù)集來說,知識圖譜的信息相對豐富,適合測試模型在大規(guī)模數(shù)據(jù)集中的性能,從表3中可以看出D-KGCN模型在AUC指標上領(lǐng)先效果第二好的KGAT模型1.2%,同時時間耗費遠小于KGAT模型。MKR模型雖然訓(xùn)練開銷排在第二位,但是其推薦能力最終會完全喪失,這是因為其設(shè)計的交叉壓縮單元并沒有處理噪聲的能力,隨著數(shù)據(jù)的增多,產(chǎn)生的干擾會嚴重影響推薦效果。而D-KGCN模型通過距離-影響力函數(shù)聚合知識圖譜上的輔助信息,極大的減少了距離中心節(jié)點過遠的無用節(jié)點帶來的干擾,同時,分兩段聚合的方式還節(jié)省了大量的訓(xùn)練時間??梢钥闯鯠-KGCN模型更能適應(yīng)大規(guī)模的數(shù)據(jù)集。對Last.FM數(shù)據(jù)集來說,其知識圖譜的關(guān)系數(shù)目相對較多,形成的拓撲結(jié)構(gòu)相對復(fù)雜,適合驗證小規(guī)模且知識圖譜結(jié)構(gòu)相對復(fù)雜的數(shù)據(jù)集中模型的有效性。D-KGCN在AUC指標上落后于KGIC和MCCLK模型,這說明D-KGCN模型在稀疏且關(guān)系復(fù)雜的數(shù)據(jù)集中,對關(guān)系的提取和應(yīng)用能力欠佳,仍然存在提升的空間,但是其訓(xùn)練開銷遠遠低于KGIC和MCCLLK模型。KGCN模型依賴于鄰域聚合結(jié)構(gòu),在數(shù)據(jù)集中需要考察知識圖譜的拓撲結(jié)構(gòu)來設(shè)計鄰域聚合結(jié)構(gòu),在Last.FM數(shù)據(jù)集上表現(xiàn)相對不佳,普適性相對較差,D-KGCN在KGCN模型基礎(chǔ)上做出了改進,在沒有增加訓(xùn)練開銷的基礎(chǔ)上,提升了3.7%的AUC值,提高了模型的普適性,且更具有實際應(yīng)有的價值。圖3、圖4分別是模型在MovieLens-1M、MovieLens-20M數(shù)據(jù)集上進行Top-k推薦的Recall@K折線圖。如圖所示,D-KGCN模型在K為任意值時均處于優(yōu)勢地位,在最終Recall@K的結(jié)果上,D-KGCN模型在效果上分別超過效果第二好的其它模型29.70%、12.10%,這說明模型在數(shù)據(jù)相對密集且關(guān)系相對簡單和數(shù)據(jù)相對稀疏且關(guān)系相對復(fù)雜的模型上都能取得不錯的推薦效果,證明了模型的有效性。圖5是模型在Last.FM數(shù)據(jù)集上進行Top-k推薦的Recall@K折線圖,D-KGCN模型模型在最終Recall@K的結(jié)果上落后效果最好的MCCKL模型8.9%,說明模型在數(shù)據(jù)稀疏且關(guān)系復(fù)雜的數(shù)據(jù)集中仍然存在提升的空間,需要加強稀疏數(shù)據(jù)集中的關(guān)系提取能力。綜合模型在三個數(shù)據(jù)集上的推薦效果和訓(xùn)練開銷來看,本文提出的及與距離策略的知識圖譜網(wǎng)絡(luò)圖卷積推薦算法是可用的。
3.5.2消融實驗
表4是在知識圖譜處理時是否使用重構(gòu)生成鄰接矩陣在三個數(shù)據(jù)集上的時間性能耗費,從表中可以看出在三個數(shù)據(jù)集上,使用知識圖譜重構(gòu)的方法比未作處理的方法可以節(jié)省2~3倍的時間,證明了重構(gòu)知識圖譜在時間性能上的優(yōu)勢。為了驗證模型的距離策略的有效性,在使用重構(gòu)知識圖譜生成鄰接矩陣的基礎(chǔ)上,將基于距離策略的聚合方式與選取固定節(jié)點迭代聚合方式進行對比,用MvieLens-20M作為實驗數(shù)據(jù)集,選取固定節(jié)點的聚合方式的接受域為2,用n表示聚合結(jié)構(gòu)每層選取的節(jié)點數(shù)目。表5顯示了在選取固定節(jié)點進行聚合時,最終的推薦結(jié)果和訓(xùn)練耗費時間相差不大,而且在選取固定節(jié)點值增大時,模型的推薦效果沒有明顯提升,這說明了同階節(jié)點對中心節(jié)點的影響力有限,聚合的數(shù)目對模型的推薦效果影響不大,使用距離策略的D-KGCN模型雖然在聚合時間上略高于選取固定節(jié)點聚合的方法,但是最終的AUC值提升了1.1%~1.3%,這是由于基于距離策略的聚合結(jié)構(gòu)不但聚合同階的鄰居節(jié)點,還將高階的鄰居節(jié)點按照距離影響力聚合,考慮的信息更全面,最終的推薦效果也更好。D-KGCN模型是在KGCN模型基礎(chǔ)上改動的,表6是在同樣使用了裁剪策略優(yōu)化鄰接矩陣生成的情況下,D-KGCN模型和接受域為固定值時的KGCN模型的實驗結(jié)果對比,用H表示接受域設(shè)置的值,H=0時表示模型僅聚合中心節(jié)點,不考慮鄰居節(jié)點帶來的影響,此時模型的訓(xùn)練開銷最低,推薦的AUC值達到了0.969,這說明了中心節(jié)點對推薦模型的影響力起決定性作用,隨著接受域擴大,當(dāng)接受域H=2時模型的推薦效果達到了KGCN模型的最大值,這證明了前兩階輔助信息確實能起到提升推薦效果的作用,當(dāng)H=3是,推薦的結(jié)果開始下降,說明了高階鄰居節(jié)點已經(jīng)對模型的推薦效果產(chǎn)生了干擾,直到H=4時,數(shù)據(jù)產(chǎn)生的噪聲導(dǎo)致模型完全喪失推薦性能,而D-KGCN模型依靠距離策略,縮減高階鄰居節(jié)點對中心節(jié)點的影響力,在推薦的AUC值上比固定接受域H=2時提升
3.5.3優(yōu)化器影響實驗
使用四個優(yōu)化器在三個數(shù)據(jù)集上進行實驗,驗證不同優(yōu)化器對模型AUC和訓(xùn)練開銷的影響,結(jié)果如表7所示。通過表三可以看出模型的訓(xùn)練開銷與優(yōu)化器之間聯(lián)系不大,但是不同的優(yōu)化器對模型的推薦效果影響很大,RMS優(yōu)化器在處理梯度時用平方梯度的移動均值代替平方梯度的總和,對小批量數(shù)據(jù)設(shè)置更為適應(yīng),在優(yōu)化器實驗中的各個數(shù)據(jù)集上表現(xiàn)最佳。Adam優(yōu)化器在處理梯度時不但使用動量作為參數(shù)更新方向,而且可以自適應(yīng)調(diào)整學(xué)習(xí)率,在優(yōu)化器影響實驗的表現(xiàn)上也取得了不錯的效果。Adagrad學(xué)習(xí)率衰減用了所有的梯度,如果在經(jīng)過一定次數(shù)的迭代依然沒有找到最優(yōu)點時,累加的梯度幅值是越來越大的,導(dǎo)致學(xué)習(xí)率越來越小,很難再繼續(xù)找到最優(yōu)點,在模型中使用Adagrad優(yōu)化器會導(dǎo)致模型最終喪失推薦性能。GradientDescent優(yōu)化器的實現(xiàn)非常簡單,但是在收斂性方面難以保障,使用該優(yōu)化器并不能使D-KGCN模型收斂。
4結(jié)束語
本文提出的D-KGCN推薦模型,是一種能夠依據(jù)實體在知識圖譜中的拓撲結(jié)構(gòu),高效地利用知識圖譜中異構(gòu)信息的推薦模型。D-KGCN模型在時間和性能上取得優(yōu)勢主要有兩個原因,第一是依據(jù)節(jié)點的拓撲結(jié)構(gòu),對知識圖譜進行了初步的裁剪,首先避免了距離過遠的節(jié)點對中心節(jié)點的干擾,優(yōu)化了知識圖譜生成的鄰接矩陣和關(guān)系矩陣;第二點是依據(jù)距離策略提出了新的鄰域聚合方式,在聚合操作時,首先聚合中心節(jié)點的一階輔助信息節(jié)點,然后將其他輔助信息節(jié)點通過距離-影響力衰減函數(shù)聚合,依據(jù)用戶-關(guān)系評分、距離-影響力衰減函數(shù)完成對知識圖譜的向量化處理。最終經(jīng)過在三個真實數(shù)據(jù)集上的實驗,驗證了模型在不同規(guī)模、稀疏度的數(shù)據(jù)集上的推薦質(zhì)量和訓(xùn)練效率,在MovieLen-20M數(shù)據(jù)集是進行消融實驗,驗證了知識圖譜重構(gòu)和使用距離策略的有效性。在未來會進一步改進知識圖譜中鄰居節(jié)點的選擇函數(shù)和邊信息的使用方法,以提升模型在小規(guī)模且關(guān)系復(fù)雜的數(shù)據(jù)提取能力,進而得到更好的推薦性能和解釋性;也會嘗試將模型拓展并應(yīng)用在其它領(lǐng)域,如餐飲、新聞、視頻等推薦領(lǐng)域。
參考文獻:
[4]舒世泰,李松,郝曉紅,張麗平.知識圖譜嵌入技術(shù)研究進展[J].計算機科學(xué)與探索,2021,15(11):2048-2062.
作者:邢長征 劉義海 郭亞蘭 郭家隆 單位:遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,