鄢凡力,胥小波,趙容梅,孫思雨,琚生根*
(1.四川大學(xué)計算機學(xué)院,四川成都 610065;2.中國電子科技集團(tuán)公司第三十研究所,四川成都 610225)
隨著技術(shù)飛速發(fā)展,海量信息在網(wǎng)絡(luò)上生成,信息嚴(yán)重過載。推薦模型作為一種有效的信息過濾機制被廣泛應(yīng)用,其能根據(jù)用戶需求從海量數(shù)據(jù)中篩選出有用內(nèi)容,并推薦給用戶[1]。提高推薦系統(tǒng)的精度對商家、電商平臺和用戶具有重要的商業(yè)和使用價值[2]。傳統(tǒng)的推薦方法,如協(xié)同過濾(CF)[3–5],依賴于歷史用戶交互數(shù)據(jù)[6]對用戶、物品相似性進(jìn)行分析,從而實現(xiàn)推薦[7]。但是對于新出現(xiàn)的用戶和物品,其歷史交互數(shù)據(jù)通常是非常稀缺的,也就是存在冷啟動問題[8]。為了解決冷啟動問題,一個被廣泛采用的方法是引入知識圖譜[9]。知識圖譜具有豐富的實體和相關(guān)關(guān)系信息,能夠增強模型可解釋性?;谥R圖譜的推薦系統(tǒng)也被稱為知識感知推薦(KGR)[10–12]。早期的KGR研究使用不同的知識圖嵌入(KGE)[13–14]模型來預(yù)訓(xùn)練實體嵌入以進(jìn)行物品表示學(xué)習(xí)。近年來,有學(xué)者提出了基于連接的方法,該方法可以進(jìn)一步分為基于路徑的方法[15–17]和基于圖神經(jīng)網(wǎng)絡(luò)(GNN)[18–21]的方法?;诼窂降姆椒ㄍㄟ^捕獲知識圖譜的長程結(jié)構(gòu)來豐富用戶與物品之間的交互,而基于GNN的方法則利用節(jié)點鄰居上的局部聚合信息來生成節(jié)點表示,并將多跳鄰居集成到節(jié)點表示中。雖然基于GNN的模型有效,但它們存在用戶–物品交互稀疏性的固有缺陷[22],這意味著在實際推薦過程中會出現(xiàn)標(biāo)簽不足的問題。
對比學(xué)習(xí)是一種能很好解決以上問題的方案。作為自監(jiān)督學(xué)習(xí)的經(jīng)典方法,對比學(xué)習(xí)實現(xiàn)了從無標(biāo)簽樣本數(shù)據(jù)中學(xué)習(xí)嵌入的目標(biāo)[23]。具體地,對比學(xué)習(xí)通過最大化負(fù)樣本之間的距離、最小化正樣本之間的距離來訓(xùn)練模型,從而實現(xiàn)了無顯式標(biāo)簽的訓(xùn)練。
盡管基于對比學(xué)習(xí)的方法對于解決監(jiān)督信號稀疏問題是有效的,但是現(xiàn)有的方法還存在以下兩個問題[24]:
1)現(xiàn)有的方法普遍使用圖卷積直接聚合節(jié)點的鄰居信息,在面對復(fù)雜網(wǎng)絡(luò)中稠密的節(jié)點時,無法排除其中不必要鄰居節(jié)點的干擾信息。
2)現(xiàn)有的方法對用戶–物品–實體的全局視圖進(jìn)行處理時忽略了局部特征;同時,在全局視圖上使用多跳信息聚合后,堆疊的多個神經(jīng)網(wǎng)絡(luò)層可能使得整個圖的節(jié)點過于平滑。
為了解決以上兩個問題,提出了基于跨視圖對比學(xué)習(xí)的知識感知系統(tǒng)(know ledge–aw are recommender system w ith cross–views contrastive learning,KRSCCL),以充分利用知識感知推薦系統(tǒng)中的用戶–物品交互,實現(xiàn)推薦。
模型首先基于全局和局部兩個視圖生成不同的用戶、物品節(jié)點,全局視圖使用關(guān)系圖注意力網(wǎng)絡(luò)聚合重要信息,局部視圖使用輕量級圖卷積網(wǎng)絡(luò)(Light–GCN)逐層聚合。然后,對兩個視圖下的節(jié)點表示進(jìn)行對比學(xué)習(xí)優(yōu)化,得到最終的節(jié)點表示來進(jìn)行預(yù)測和推薦。
主要貢獻(xiàn)如下:
1)使用關(guān)系圖注意力網(wǎng)絡(luò)有選擇地在鄰居節(jié)點上采集信息,以顯式和端到端的方式實現(xiàn)關(guān)系建模。
2)從用戶–物品–實體圖中考慮了兩種視圖,包括全局視圖、局部視圖。然后,對這兩個視圖進(jìn)行對比學(xué)習(xí),實現(xiàn)表示增強。
3)在3個基線數(shù)據(jù)集上進(jìn)行了廣泛的實驗。結(jié)果證明了KRSCCL的優(yōu)勢,這表明了跨視圖對比學(xué)習(xí)和關(guān)系圖注意力網(wǎng)絡(luò)的有效性。
基于知識圖譜的推薦系統(tǒng),也稱為知識感知推薦,將用戶和物品視為知識圖譜中的頂點,并根據(jù)交互關(guān)系相連。因此,基于GNN的方法非常適合、并已廣泛應(yīng)用于知識感知推薦領(lǐng)域;該方法通過GNN的信息聚合機制,將多跳鄰居的信息聚合到節(jié)點中,建模知識圖譜的遠(yuǎn)程連接。Wang等[19]提出的圖卷積網(wǎng)絡(luò)推薦系統(tǒng)和Wang等[25]提出的標(biāo)簽平滑推薦系統(tǒng)首先利用GCN迭代聚合物品的鄰域信息來得到物品嵌入。Wang等[20]提出的注意力網(wǎng)絡(luò)推薦系統(tǒng)以端到端的方式對知識圖譜注意力網(wǎng)絡(luò)中的連接進(jìn)行建模,利用GCN遞歸地傳播來自節(jié)點鄰居的嵌入。Wang等[21]提出的意圖推薦系統(tǒng)通過對關(guān)系進(jìn)行建模,提出意圖的概念,形成用戶–意圖–物品–實體的信息傳遞路徑。盡管這些方法在有監(jiān)督學(xué)習(xí)方面表現(xiàn)出色,但它們必須依賴于稀疏的交互數(shù)據(jù)集,這限制了推薦效果的提升。
對比學(xué)習(xí)方法可通過拉近錨樣本和正樣本間距離、遠(yuǎn)離錨樣本和負(fù)樣本間距離來學(xué)習(xí)節(jié)點表示方式。谷歌提出的多任務(wù)自監(jiān)督學(xué)習(xí)大規(guī)模項目推薦框架[26]嘗試通過數(shù)據(jù)增強的方法將同一物品變成兩種不同的輸入,并得到兩個嵌入,借助自監(jiān)督損失函數(shù),提升模型對物品特征的判別能力。在傳統(tǒng)的基于協(xié)同過濾的推薦方法中,Wu等[27]提出的自監(jiān)督對比學(xué)習(xí)模型將用戶–物品–實體圖擴(kuò)展(或損壞)為視圖,對原始圖和損壞圖進(jìn)行用戶–物品交互的對比學(xué)習(xí)。Shuai等[28]提出的評論感知模型利用評論構(gòu)建了一個具有特征增強邊的評論感知的用戶–物品圖,并從節(jié)點和邊兩個角度建模并進(jìn)行對比學(xué)習(xí)。這些方法通過對比學(xué)習(xí),挖掘了更加深層次的信息,但缺乏一種結(jié)合細(xì)粒度方式的方法。
提出了KRSCCL模型,如圖1所示,模型包含5個模塊:1)使用關(guān)系圖注意力網(wǎng)絡(luò)聚合用戶–物品–實體信息的全局視圖模塊;2)使用輕量級圖卷積網(wǎng)絡(luò)聚合用戶–物品信息的局部視圖模塊;3)基于全局、局部兩個視圖的對比學(xué)習(xí)模塊;4)對用戶、物品表示進(jìn)行貝葉斯個性化排序(BPR)的預(yù)測推薦模塊;5)實現(xiàn)多任務(wù)聯(lián)合訓(xùn)練的優(yōu)化模塊。
全局視圖包含所有用戶、物品和實體節(jié)點以及它們之間的關(guān)系,提供了所有可用信息。KRSCCL在全局視圖中構(gòu)建了關(guān)系圖注意力網(wǎng)絡(luò),有選擇地聚合節(jié)點之間的信息,并引入了意圖[21]來增強用戶的表示能力。
2.1.1知識圖感知
為了充分利用知識圖譜信息[29–31],本文提出了一種全局視圖下的知識圖感知模塊,通過1階鄰居節(jié)點表示更新節(jié)點表示。將不同節(jié)點之間的關(guān)系視為不同的嵌入表示,通過對每個物品節(jié)點和其連接實體節(jié)點之間的關(guān)系進(jìn)行建模,該模型可以學(xué)習(xí)到每個關(guān)系的權(quán)重,進(jìn)而實現(xiàn)節(jié)點信息的聚合。
圖2為關(guān)系圖注意力的一個實例,展示了不同節(jié)點之間的關(guān)系具有不同權(quán)重。圖2中:節(jié)點“Cast Away”和“Forrest Gump”通過“U.S.”和“Tom Hanks”聯(lián)系起來,每一條邊表示的關(guān)系α代表節(jié)點之間具有不同關(guān)系,不同α具有不同的權(quán)重數(shù)值;α6為“Cast Away”的出品國家是“U.S.”,α4為“Forrest Gump”的出品國家是“U.S.”?!癠.S.”對連接的兩個節(jié)點表示的電影具有不同影響力,α4和α6具有不同權(quán)重。
圖1 KRSCCL模型視圖Fig.1 Illustration of the proposed KRSCCL model
圖2 關(guān)系圖注意力實例Fig.2 Example of relation graph attention
綜上,KRSCCL建立了一種在知識圖譜上的消息聚合機制,用于連接物品及其連接實體,并通過注意力機制生成物品的嵌入。公式如下:
式(1)~(2)中,e v為實體v的初始嵌入,r i,v為物品i關(guān)于實體v不同關(guān)系的嵌入,Ni為物品i相鄰實體集合,ζ(v,r i,v)為知識聚合過程中實體v和特定關(guān)系r i,v相關(guān)性,為物品i的初始嵌入,為物品i在全局視圖(global view)下的最終表示,LeakyReLU為用以處理非線性變換的激活函數(shù)。
2.1.2節(jié)點表示生成
在全局視圖中,KRSCCL通過兩種不同方式分別生成用戶和物品表示。
在生成用戶表示時,引入意圖p的概念,意圖反映用戶在選擇物品時的偏好,被用于衡量用戶對于不同的物品維度的關(guān)注程度[21]。例如,一個用戶可能更關(guān)心某個物品的價格和品牌,而不是其他維度,比如物品的顏色和生產(chǎn)日期。意圖p可以看作是一種對用戶偏好的編碼方式,公式如下所示:
式(3)~(4)中,e p為意圖p的嵌入,e r為關(guān)系r的嵌入,γ(r,p)為一個注意力分?jǐn)?shù)來量化關(guān)系r重要性,wrp是關(guān)系r和意圖p的可訓(xùn)練權(quán)重,R為所有種類的關(guān)系集合,r'為R中的關(guān)系。
要注意的是,意圖p并不是單個用戶獨有的,而是所有用戶共同訓(xùn)練的結(jié)果。意圖p的數(shù)量和每個意圖下r的數(shù)量是人為規(guī)定的,多數(shù)人會基于相同的意圖做出物品的選擇,而對于某一個意圖只需要考慮占比重最大的幾個關(guān)系。意圖表示彼此之間應(yīng)該盡可能不同。因此,應(yīng)該最大化意圖距離相關(guān)性cor(),距離函數(shù)有很多選擇,如余弦距離或歐氏距離[32],采用如下表示:
式(5)~(6)中,p'為和意圖p不同的其他意圖,cov()為兩個意圖表示的距離協(xié)方差,var()為意圖表示的距離方差,LIND為增加意圖獨立性的損失函數(shù)。通過如下公式得到用戶u的最終表示:
式(7)~(8)中,β(u,p)為用戶u關(guān)于意圖p的注意力分?jǐn)?shù),P為所有意圖,Nu為用戶u的所有相鄰物品的集合,|Nu|為用戶u所有相鄰物品的數(shù)量。
和文獻(xiàn)[21]不同的是,KRSCCL不采用多層聚合的方式,KRSCCL只有1跳。原因是圖注意力和圖卷積網(wǎng)絡(luò)的不同,多層聚合會對關(guān)系注意力造成干擾,使實驗效果下降。
過去的模型僅考慮全局視圖下用戶–物品–實體節(jié)點的信息,無法很好地反映用戶和物品之間的局部關(guān)系。為了更全面地進(jìn)行對比學(xué)習(xí),受到文獻(xiàn)[33–35]的啟發(fā),本文提出了細(xì)粒度的局部視圖。
在局部級別的用戶–物品視圖中使用Ligh t–GCN[36]來學(xué)習(xí)用戶和物品表示。Light–GCN是一種遞歸執(zhí)行k次聚合的模型,可以有效地捕捉用戶–物品交互的遠(yuǎn)程連接信息。不需要特征變換和非線性激活函數(shù),Light–GCN使用簡單的消息傳遞和聚合機制,且計算高效[34]。在第k層中,Light–GCN的聚合過程如下所示:
得到全局和局部節(jié)點后,為了進(jìn)一步挖掘兩個視圖的特征信息,KRSCCL對兩個視圖的節(jié)點使用對比學(xué)習(xí)。以物品節(jié)點為例,全局和局部視圖分別產(chǎn)生了物品表示和。為了找到正、負(fù)和錨樣本,兩個視圖內(nèi)的節(jié)點對可以分成3類:同一視圖不同位置節(jié)點對、不同視圖不同位置節(jié)點對和不同視圖同一位置節(jié)點對,分別對應(yīng)圖1的藍(lán)色、紫色和橙色。例如,不同視圖同一位置節(jié)點對()表示從兩個視角看同一個事物的不同內(nèi)容。因此,這樣的節(jié)點對應(yīng)視為正樣本。相反,對于同一視圖不同位置節(jié)點對(),i≠i'和不同視圖不同位置節(jié)點對(),i≠i',它們所指向的是不同的事物,因此視為負(fù)樣本。受文獻(xiàn)[37–38]的啟發(fā),將這些正、負(fù)和錨樣本帶入對比學(xué)習(xí)中,物品對比損失 Li的公式如下:
式中,s為余弦相似度計算,τ為溫度參數(shù),為全局視圖下物品i的嵌入,為在global全局視圖下和物品i位置不同的物品i'的嵌入,為在局部視圖下物品i的嵌入。
同理,KRSCCL使用類似的方法對用戶節(jié)點進(jìn)行跨視圖對比學(xué)習(xí)。在分別得到用戶和物品的對比學(xué)習(xí)損失 Lu和 Li后,最終對比學(xué)習(xí)損失 LCL如下:
在全局視圖下,KRSCCL通過關(guān)系圖注意力網(wǎng)絡(luò)得到全局級用戶表示和全局級物品表示;在局部視圖下,通過輕量級圖卷積網(wǎng)絡(luò)得到局部級用戶表示和局部級物品表示。然后,對圖內(nèi)和圖間節(jié)點對進(jìn)行對比學(xué)習(xí),對節(jié)點表示進(jìn)行優(yōu)化。
為了將推薦、對比學(xué)習(xí)等任務(wù)結(jié)合起來,KRSCCL使用了多任務(wù)訓(xùn)練策略來優(yōu)化整個模型。對于推薦任務(wù),采用BPR損失[39]LBPR來重構(gòu)歷史數(shù)據(jù),使用戶對歷史交互過的物品預(yù)測得分高于未交互過的物品。這種方法可以增強模型對用戶歷史行為的理解,從而更準(zhǔn)確地推薦相關(guān)物品。
式中:O為觀察到的訓(xùn)練數(shù)據(jù)集,包含交互樣本O+和隨機挑選的樣本O–;σ()為sigmoid函數(shù);i+為O+中的正樣本物品;i–為O–中的負(fù)樣本物品。通過將全局和局部層面的對比損失、BPR損失和意圖獨立性損失相結(jié)合,最小化以下?lián)p失 L來學(xué)習(xí)模型參數(shù):
式中,Θ是模型參數(shù)集,δ為平衡對比損失和BPR損失的超參數(shù),β為控制意圖獨立性權(quán)重的超參數(shù), λ為控制正則化項權(quán)重的超參數(shù)。
為了驗證本文模型的效果,進(jìn)行了廣泛的實驗,回答以下研究問題:
1)相對于最先進(jìn)的基線模型,本文模型在推薦任務(wù)上表現(xiàn)如何?
2)本文模型不同模塊如何影響其性能表現(xiàn)?
3)不同的超參數(shù)設(shè)置如何影響本文模型的性能表現(xiàn)?
在評估模型有效性方面,使用了3個不同領(lǐng)域的公開數(shù)據(jù)集:Book–Crossing、MovieLens–1M和Last.FM。這些數(shù)據(jù)集分別來自書籍、電影和音樂領(lǐng)域,并且具有不同的規(guī)模和稀疏性,數(shù)據(jù)集統(tǒng)計見表1。
表1 數(shù)據(jù)集內(nèi)容Tab.1 Statistics of datasets
Book–Crossing收集自書籍交叉社區(qū),該社區(qū)由對各種書籍的評級(范圍從0到10)組成。
MovieLens–1M為電影推薦的數(shù)據(jù)集,包含大約100萬個顯式評分,來自6036個用戶和2445個物品。
Last.FM為一個從Last.FM 在線音樂系統(tǒng)中收集的音樂收聽數(shù)據(jù)集,擁有約2000名用戶。
作者采用RippleNet[40]方法,對3個數(shù)據(jù)集進(jìn)行了統(tǒng)一處理,并將其構(gòu)建成了用戶–關(guān)系–物品的3元組形式。為了構(gòu)建知識圖譜子集,按照3元組格式的要求,將每個子知識圖視為整個KG的子集,并且僅保留置信度大于0.9的3元組。在給定子知識圖的情況下,使用所有有效電影、書籍、音樂的名稱與3元組尾部進(jìn)行匹配,以獲取它們的ID。接下來,將物品ID與所有3元組的頭部進(jìn)行匹配,并從子知識圖中選擇所有匹配良好的3元組。
表1中的稀疏度分別是由交互在用戶–物品交互矩陣中的占比和3元組在物品–實體交互矩陣中的占比計算得來??梢钥闯鲭娪啊⒁魳?、書籍3個數(shù)據(jù)集稀疏度依次下降。
3.1.2評估指標(biāo)
使用訓(xùn)練過的模型對測試集中的每個交互進(jìn)行預(yù)測,并以點擊通過率(CTR)預(yù)測作為實驗的評估標(biāo)準(zhǔn)。為了評估CTR預(yù)測的性能,采用了兩個廣泛使用的指標(biāo),即ROC曲線下方的面積(AUC,記為SAUC)和F1分?jǐn)?shù)。這些指標(biāo)通常用于評估2分類模型的性能,其中,AUC反映了模型在不同閾值下分類正例和負(fù)例的能力,而F1分?jǐn)?shù)則綜合考慮了準(zhǔn)確率和召回率的表現(xiàn),能夠更全面地評估模型的性能。AUC越接近1、F1分?jǐn)?shù)越高,代表模型的性能越好。
為了證明提出的KRSCCL的有效性,本文將KRSCCL與4種類型的推薦系統(tǒng)模型進(jìn)行了比較,分別是:基于CF的模型(BPRMF)、基于嵌入的模型(CKE,RippleNet)、基于路徑的模型(PER)和基于GNN的模型(KGCN,KGNN–LS,KGAT,KGIN,CG–KGR):
BPRMF是一個典型的基于CF的模型,使用成對矩陣分解隱式反饋優(yōu)化BPR損失。
CKE是一種基于嵌入的模型,將結(jié)構(gòu)、文本和視覺知識結(jié)合在一個框架中。
PER是一種典型的基于路徑的模型,它提取基于元路徑的特征來表示用戶和物品之間的連通性。
KGCN是一種基于GNN的模型,通過迭代集成鄰近信息來豐富物品嵌入。
KGNN–LS是一個基于GNN的模型,通過GNN和標(biāo)簽平滑正則化豐富了物品嵌入。
KGAT是一種基于GNN的模型,通過注意機制迭代地集成用戶–物品–實體圖上的鄰居,以獲得用戶、物品表示。
KGIN是一種基于GNN的模型,它在用戶意圖的粒度上分離用戶–物品交互,并在提出的用戶意圖–實體圖上執(zhí)行GNN。
CG–KGR是最新的基于GNN的模型,使用GNN將協(xié)作信號融合為知識聚合。
表2為上述所有模型的實驗結(jié)果。把KRSCCL和最優(yōu)基線模型的實驗結(jié)果(表2中帶*數(shù)值)進(jìn)行比較,有以下觀察的現(xiàn)象與結(jié)論。
KRSCCL在兩個數(shù)據(jù)集上表現(xiàn)良好,高于所有基線模型,在Book–Crossing上僅次于最優(yōu)基線模型;在M ovieLens–1M數(shù)據(jù)集上,其AUC和F1分別高于最優(yōu)基線模型1.51%和2.00%;在Last.FM數(shù)據(jù)集上,其AUC和F1分別高于最優(yōu)基線模型2.35%和5.12%;不過在Book–Crossing數(shù)據(jù)集上提升不明顯,僅在F1上高于最優(yōu)基線模型,而在AUC上明顯弱于CG–KGR。
表2 在AUC和F1上的預(yù)測結(jié)果比較Tab.2 Results of AUC and F1 in CTR prediction
分析認(rèn)為提出模型性能普遍較好的原因是:1)對于數(shù)據(jù)更加稠密(電影、音樂)的數(shù)據(jù)集,KRSCCL的關(guān)系注意力網(wǎng)絡(luò)能有選擇地從鄰居節(jié)點獲取信息,減少了不重要信息的噪聲干擾;2)通過對全局和局部兩個視圖的對比學(xué)習(xí)能更好地挖掘數(shù)據(jù)信息,兼顧粗粒度和細(xì)粒度的信息,生成更強的節(jié)點表示。
分析認(rèn)為KRSCCL在Book–Crossing數(shù)據(jù)集效果不如最優(yōu)基線模型的原因主要是KRSCCL的關(guān)系注意力網(wǎng)絡(luò)的多跳聚合能力不如圖卷積網(wǎng)絡(luò)。在數(shù)據(jù)集特別稀疏的情況下,應(yīng)該直接將數(shù)據(jù)集信息全部聚合,而不是有選擇性地聚合。這樣做不會顯著增加計算時間,但是會有效提升性能。由于關(guān)系注意力網(wǎng)絡(luò)在稀疏數(shù)據(jù)集(Book–Crossing數(shù)據(jù)集)上的表現(xiàn)不佳,導(dǎo)致KRSCCL的性能效果上的表現(xiàn)不佳。解決這一問題將是后續(xù)工作的重點。
圖3為KRSCCL、KGIN及KRSCCL的兩個變體(WKGA、WACL)在AUC和F1上的表現(xiàn),展示了模型中主要模塊對最終性能的貢獻(xiàn)。在WKGA變體中,去除了全局視圖中的知識圖感知模塊KGA,物品–實體通過最簡單的方式進(jìn)行保留;在WACL變體中,去除了跨視圖對比學(xué)習(xí)模塊ACL。
由圖3可知:
1)WKGA變體顯著降低了模型的性能,是效果最差的變體,這證明挖掘圖結(jié)構(gòu)信息對于知識感知推薦的重要性。同時,該模塊也是整個模型唯一利用知識圖譜的模塊,說明了引入知識圖譜的重要性。
2)在WKGA變體的3個數(shù)據(jù)集中,MovieLens–1M數(shù)據(jù)集下降不明顯,而其他數(shù)據(jù)集出現(xiàn)顯著下降。這可能是因為MovieLens–1M數(shù)據(jù)集最稠密,本身就包含豐富的信息。此時,模型仍然保留ACL模塊,使用了對比學(xué)習(xí),從粗粒度和細(xì)粒度角度挖掘數(shù)據(jù)集本身信息,仍然可以生成效果不錯的節(jié)點表示。
3)在WACL變體中,可以看出兩個指標(biāo)均有下降,這證明了ACL模塊的重要性。相比于Book–Crossing數(shù)據(jù)集,另外兩個數(shù)據(jù)集下降不明顯,這說明在稀疏數(shù)據(jù)集上ACL模塊更加重要。這可能是由于在數(shù)據(jù)稀疏的情況下,更加需要深度挖掘圖信息,而對比學(xué)習(xí)在這個過程中起到了關(guān)鍵作用,能更加有效利用現(xiàn)有數(shù)據(jù)生成出更強節(jié)點表示。
4)從圖3中可以直觀地看出,WACL變體仍然在3個數(shù)據(jù)集的多數(shù)指標(biāo)上高于KGIN模型。這可能是因為KRSCCL在面對知識圖譜異構(gòu)網(wǎng)絡(luò)中復(fù)雜節(jié)點和關(guān)系時,排除了不必要信息的干擾,只對重要信息進(jìn)行了聚合。所以在稠密數(shù)據(jù)集上,取得了非常好的實驗結(jié)果。
圖3 消融實驗結(jié)果Fig.3 Effect of ablation study
3.5.1局部圖聚合深度的影響
為了探究局部圖聚合深度對LightGCN模塊的影響,在卷積層數(shù)范圍為{1,2,3,4,5}的模型進(jìn)行了實驗。圖4為MovieLens–1M、Last.FM和Book–Crossing數(shù)據(jù)集上的性能比較結(jié)果。在3個數(shù)據(jù)集上,當(dāng)層數(shù)分別為4、3、3時,KRSCCL呈現(xiàn)出最佳性能。實驗發(fā)現(xiàn):1)隨著聚合層數(shù)的增加,模型效果逐步提升,但達(dá)到最優(yōu)層數(shù)后再增加將導(dǎo)致效果急劇下降;2)在較稀疏的數(shù)據(jù)集Book–Crossing和Last.FM上,選擇較小的聚合層數(shù)也能取得優(yōu)秀的效果,而在交互最稀疏的MovieLens–1M數(shù)據(jù)集中需要更深層次的聚合。
圖4 局部視圖聚合深度的影響Fig.4 Effect of local view aggregation depth
和全局視圖相比,只含有用戶–物品交互信息的局部視圖中的信息更為重要,因此,對其進(jìn)行更深層次的聚合能夠取得更好的效果。但是,當(dāng)聚合層數(shù)過多時,冗余信息會疊加,抵消有效信息的增益,導(dǎo)致效果下降。但是在稀疏數(shù)據(jù)集上,則獲取更多信息更重要。
3.5.2對比損失權(quán)重?的影響
在式(16)定義的總體損失中,權(quán)重參數(shù)?可以平衡BPR損失和對比損失的影響。為了分析系數(shù)?的影響,在0.05~0.15的范圍內(nèi)容改變?,建立不同?下的模型,圖5為?是不同值時模型的AUC分?jǐn)?shù)。由圖5可知:一個合適的?可以有效地提高對比學(xué)習(xí)的表現(xiàn)。隨著?增大,BPR損失占比越來越大,當(dāng)?為0.1時,模型表現(xiàn)最佳。但是?繼續(xù)增大,效果不再能繼續(xù)提高,甚至有所下降。也就是說,當(dāng)?為0.1時,BPR損失和對比損失處于最佳的平衡狀態(tài)。
圖5 權(quán)重?的影響Fig.5 Effect of the weight?
在全局視圖下進(jìn)行多層圖卷積時,節(jié)點的區(qū)分力下降,節(jié)點的表示向量更加趨同,這導(dǎo)致了以GCN為基礎(chǔ)的后續(xù)學(xué)習(xí)任務(wù)變得困難,即過平滑問題。為解決這一問題,本文采用了圖注意力網(wǎng)絡(luò)有選擇地聚合信息,并引入局部視圖強調(diào)1階鄰居信息。通過使用T–SNE對200個物品節(jié)點的嵌入進(jìn)行降維,并將其映射到2維空間中觀察。圖6為在KRSCCL及其去除局部視圖后的變體中,用戶節(jié)點在2維空間中的聚類效果。由圖6可知:用戶節(jié)點在圖6(a)呈現(xiàn)出較為分散的聚類效果,相較于在去除局部視圖后(圖6(b))更具差異性,這表明,KRSCCL成功地緩解了過平滑問題。
圖6 用戶節(jié)點聚類可視化Fig.6 User nodes clustering visualisation
本文提出了一個KRSCCL模型,該模型專注于對比學(xué)習(xí)任務(wù)中的關(guān)系感知推薦,通過自監(jiān)督的方式提高用戶和物品的表示學(xué)習(xí)質(zhì)量。同時,該模型結(jié)合關(guān)系注意力網(wǎng)絡(luò),旨在解決在知識感知推薦中圖神經(jīng)網(wǎng)絡(luò)模型的鄰居節(jié)點聚合和細(xì)粒度信息發(fā)掘的問題。
因此,未來的研究將繼續(xù)探索推薦中的自監(jiān)督學(xué)習(xí),以揭示數(shù)據(jù)實例之間的內(nèi)部關(guān)系,并著重處理好冷啟動問題。引入因果概念,如因果效應(yīng)推理和反事實推理到知識感知推薦中,來發(fā)現(xiàn)和放大偏差[43]。