王志寅
(太原師范學(xué)院計算機科學(xué)與技術(shù)系,晉中 030600)
隨著信息技術(shù)的高速發(fā)展,數(shù)據(jù)爆炸帶來的信息過載問題尤為顯著。為了有效解決信息過載問題,方便用戶從海量數(shù)據(jù)中找到其感興趣的內(nèi)容,研究人員提出使用推薦系統(tǒng)的方法來為用戶提供精準的個性化推薦服務(wù)?;趨f(xié)同過濾(collaborative filtering,CF)的推薦算法[1]考慮用戶歷史交互數(shù)據(jù),并根據(jù)用戶之間可能存在的共同偏好進行推薦,在推薦準確性上獲得了顯著的提高,但依然存在冷啟動和稀疏性等問題。為緩解這一問題,通常會將社交網(wǎng)絡(luò)[2]和用戶/項目屬性[3]等輔助信息與推薦系統(tǒng)相融合。
在各類型的輔助信息中,知識圖譜(knowledge graph,KG)作為輔助信息輔助推薦已引起了廣泛的研究,這類方法不僅可以有效緩解冷啟動和稀疏性問題,還能為用戶提供更準確且更具可解釋性的推薦結(jié)果。KG是一種有向異構(gòu)圖,其中節(jié)點對應(yīng)實體,邊對應(yīng)實體之間的關(guān)系,可以用來描述真實世界存在的各種實體或概念,以及他們之間的關(guān)系?;谥R圖譜的推薦系統(tǒng)主要利用KG中豐富的關(guān)系信息挖掘用戶與項目之間可能存在的聯(lián)系,在為用戶提供精準推薦的同時給推薦結(jié)果帶來可解釋性。
目前,基于知識圖譜的推薦系統(tǒng)大體上可以分為基于路徑的方法和基于嵌入的方法。其中,基于路徑的方法[4-6]通過知識圖譜挖掘用戶與物品之間的多種關(guān)系信息,并根據(jù)挖掘路徑的信息構(gòu)造推薦算法。這類方法嚴重依賴于人工設(shè)計的元路徑,存在無法實現(xiàn)端到端的訓(xùn)練,延展性不夠以及信息丟失等問題?;谇度氲姆椒ㄖ饕ㄟ^圖嵌入的方式對實體和關(guān)系進行表征,進而擴充原有物品和用戶表征的語義信息。其中,文獻[7]提出的協(xié)同知識嵌入(collaborative knowledge base embedding,CKE)模型通過在知識圖譜上學(xué)習(xí)物品相關(guān)實體的結(jié)構(gòu)化知識來進一步擴充物品的語義向量,進而實現(xiàn)對用戶的推薦?;谇度氲姆椒軌蚶肒G來輔助推薦系統(tǒng),具有很高的靈活性,但是在嵌入時難以考慮到用戶興趣偏好在實體關(guān)系傳播過程中的影響,忽略了用戶的潛在偏好。
為了充分利用KG中的信息,文獻[8]提出的RippleNet模型首次將路徑信息與實體嵌入表示相結(jié)合,該模型從用戶初始興趣集合出發(fā),沿著知識圖譜進行鄰域多跳傳播來模擬用戶興趣偏好的傳播,能夠不斷自動地發(fā)現(xiàn)用戶潛在的興趣。文獻[9]提出的KGAT推薦模型則將用戶交互歷史和知識圖譜相結(jié)合,以端到端的方式顯式,對圖中的高階關(guān)系進行建模,遞歸地傳播來自鄰居節(jié)點的嵌入,并使用注意力機制來區(qū)分鄰居的重要性,最終通過聚合用戶和物品的嵌入表示來進行推薦。由于該模型在整個知識圖譜上傳播信息,容易引入不相關(guān)的實體,導(dǎo)致最終的用戶和物品表示易受噪聲的影響。針對這一問題,本文基于KGAT模型提出了新的改進方法,開展了如下的工作:
(1)改進注意力得分策略,以使相似實體之間能夠傳遞更多的信息。
(2)針對噪聲影響,研究噪聲過濾策略,以降低信息傳播過程中的噪聲影響,優(yōu)化節(jié)點嵌入。
(3)基于工作(1)和(2),提出改進的KGAT推薦模型,并在兩個公共數(shù)據(jù)集Amazon-Book和Last-FM上分別進行對比實驗,以證明模型的有效性。
基于翻譯模型(Trans系列)的知識表示學(xué)習(xí)是目前對知識圖譜中的實體和關(guān)系進行表征的主要方法,這類方法將KG中的實體和關(guān)系映射到低維空間中來進行計算和推理。
文獻[10]提出了多元關(guān)系數(shù)據(jù)嵌入(TransE)算法,它通過簡單建模將實體和關(guān)系嵌入到低維空間中,解決了已有的一些方法存在的模型復(fù)雜、不易拓展等問題,同時具有很強的可解釋性。
TransE基于實體和關(guān)系的分布式向量表示,將每個三元組實例(h,r,t)中的關(guān)系r看作從實體h到實體t的翻譯(translation),通過不斷調(diào)整h、r和t的向量表示,使h+r盡可能與t相等,即h+r≈t。
目前這種方法相對于其他方法在知識表示學(xué)習(xí)上有更好的表現(xiàn),在后續(xù)的研究中TransE作為知識向量表示的基礎(chǔ),衍生出了很多變體,TransR[11]就是其變體之一。TransR算法中,一個實體具有多個不同的方面,不同關(guān)系關(guān)注實體的不同方面,而不同的關(guān)系又擁有不同的語義空間。TransR的基本思想如圖1所示,對于每個三元組(h,r,t),將實體空間中的實體h和t通過關(guān)系r的投影矩陣Wr投影到r的關(guān)系空間中,分別記為hr和tr,那么會有hr+r≈tr,實體的空間轉(zhuǎn)化公式為
特定關(guān)系的投影可以使擁有這種關(guān)系的頭/尾實體彼此靠近,同時那些沒有這種關(guān)系的實體相互遠離,三元組的得分函數(shù)為
根據(jù)式(2)可知,三元組得分越低,說明映射到r空間的頭實體和尾實體越靠近,三元組更有可能是正確的,反之亦然。
KGAT模型基于協(xié)同知識圖(collaborative knowledge graph,CKG)構(gòu)建,該方法將圖譜關(guān)系信息及用戶交互歷史融合到一個圖空間,這樣就可以融合協(xié)同過濾信息及KG信息,同時也可以通過CKG發(fā)現(xiàn)高階的關(guān)系信息,模型框架如圖2所示。
KGAT模型主要由三部分組成:
(1)嵌入層,保留CKG的結(jié)構(gòu),使用TransR學(xué)習(xí)節(jié)點和邊的向量表示。
(2)注意力嵌入傳播層,通過遞歸傳播節(jié)點鄰居的嵌入信息來更新節(jié)點表示,并在傳播過程中通過注意力機制為鄰居節(jié)點分配不同的權(quán)重,用以區(qū)分鄰居節(jié)點的重要性。
首先,令Nh={(h,r,t)|(h,r,t)∈G}表示h是頭實體的三元組的集合,則傳遞所有以h為頭實體的三元組(h,r,t)的尾向量et的信息為
其中π(h,r,t)是衡量消息(h,r,t)重要程度的權(quán)重,表示有多少信息以r為條件從尾實體向量et傳遞到頭實體向量eh,權(quán)重越大,則傳遞的信息越多,其具體的實現(xiàn)如下:
其次,對注意力得分采用softmax函數(shù)進行標準化,即:
最后,采用雙交互(Bi-Interaction)聚合器聚合所有傳播層的用戶和項目的表示為
其中,W1,W2∈Rd'×d為可訓(xùn)練權(quán)重矩陣,⊙表示元素乘積。雙交互聚合器考慮eh和eNh之間的特征交互,目的是使得傳播的信息更關(guān)注eh和eNh之間的關(guān)聯(lián)性,從而使相似的實體之間傳遞更多的消息。
(3)預(yù)測層,經(jīng)過L層傳播,最終得到用戶節(jié)點u的多個表示形式,即同樣地,可以得到項目節(jié)點i的多個表示形式,即由于不同傳播層的輸出強調(diào)不同階的連通信息,所以采用層聚合機制[12]將每一層的表示聚合成一個向量:
其中‖是拼接操作,通過調(diào)整L來控制嵌入傳播的階數(shù),豐富初始嵌入。最后,對最終的用戶表示e*u和項目表示e*i進行內(nèi)積來預(yù)測它們的匹配得分:
針對KGAT模型在整個知識圖譜上進行傳播,容易引入不相關(guān)的實體的問題,本文對其提出改進,將注意力嵌入傳播層替換為注意力機制嵌入和信息過濾兩個部分,改進后的模型框架如圖3所示。
KGAT模型的主要優(yōu)勢在于不僅利用了圖的鄰近結(jié)構(gòu),還規(guī)定了相鄰節(jié)點的不同重要性,實現(xiàn)了在傳播過程中傳遞更多信息的功能。
由于KGAT模型采用內(nèi)積計算注意力得分,容易導(dǎo)致一些不相似的節(jié)點仍然有較高的注意力得分,違背客觀。因此,對節(jié)點的注意力得分機制進行了改進。首先,在注意力機制嵌入中,節(jié)點在關(guān)系空間r的相似度通過歐式距離計算,并將兩個節(jié)點的相似度作為節(jié)點的注意力得分;其次,結(jié)合TransR算法的思想,即若三元組關(guān)系(h,r,t)能滿足Wreh+er≈Wret,那么所獲得的權(quán)重就越大,由于充分考慮了節(jié)點之間的距離因素,更有利于傳播信息時實體之間的相互靠近。式(4)中的注意力得分π(h,r,t)的改進為
其中dist(X,Y)表示兩個向量之間的歐氏距離。改進后的注意力嵌入機制使在關(guān)系空間r下兩個距離更近的節(jié)點之間具有更高的注意力得分,從而使更相似的實體之間傳遞更多的信息,有效降低了實體所包含的信息的損失。
KGAT模型在整個知識圖譜上傳播信息,容易引入噪聲,從而導(dǎo)致實體的最終表示中包含不相關(guān)的實體的信息,進而直接影響推薦結(jié)果的準確性。改進的KGAT模型通過設(shè)置閾值來過濾注意力得分較小的三元組,旨在使相似度較低的實體不傳播信息,降低KGAT模型在信息更新過程中噪聲的影響,過濾后的三元組集合的注意力得分的標準化采用了softmax函數(shù),即:
其中
表示所有注意力得分不小于閾值的三元組集合,α為注意力得分閾值。
標準化后的注意力得分能夠提示哪些鄰居節(jié)點在傳播中更需要被關(guān)注,并且在執(zhí)行傳播時,能夠提高相似度高的相鄰節(jié)點之間的邊的權(quán)重,進而使模型在傳播時更加關(guān)注得高分的節(jié)點,同時模型的偏好傳播行為更具有可解釋性。
本文使用了兩個公開的數(shù)據(jù)集來驗證方法的有效性:
(1)Amazon-Book是一個圖書評分數(shù)據(jù)集,是產(chǎn)品推薦數(shù)據(jù)集Amazon-review中的一部分。
(2)Last-FM是用戶收聽音樂的數(shù)據(jù)集。取時間戳從2015年1月到2015年6月的數(shù)據(jù)集的子集。
所有數(shù)據(jù)集的統(tǒng)計結(jié)果匯總見表1。
對于每個數(shù)據(jù)集,隨機選取每個用戶交互歷史的80%作為訓(xùn)練集,其余作為測試集。從訓(xùn)練集中,隨機抽取10%的交互歷史作為驗證集來調(diào)優(yōu)超參數(shù)。將觀察到的每個用戶和物品的交互視為一個正項,采用負抽樣策略,將其與一個用戶之前沒有交互過的負項配對。
本文采用兩種廣泛使用的評價指標來評估Top-K推薦和偏好排序的有效性,分別為召回率(recall)和歸一化折損累計增益(normalized discounted cumulative gain,ndcg)。
為了證明本文方法的有效性,用本文提出的改進模型與以下的基線模型進行對比,其對比結(jié)果在表2中呈現(xiàn):
(1)FM[13]是一個基準因子分解模型,以線性的方式學(xué)習(xí)二階特征交互。
(2)NFM[14]是一種將FM包含在神經(jīng)網(wǎng)絡(luò)中的先進的分解模型。
(3)CKE將協(xié)同過濾與結(jié)構(gòu)知識、文本知識和視覺知識統(tǒng)一在一個推薦框架中。
(4)CFKG[15]模 型將TransE應(yīng) 用于包含 用戶、項目、實體和關(guān)系的統(tǒng)一圖上,將推薦任務(wù)轉(zhuǎn)化為(u,Interact,i)三元組的可信性預(yù)測。
(5)MCRec利用基于元路徑的上下文和神經(jīng)共同注意力模型進行Top-N推薦,它提取合格的元路徑作為用戶和項目之間的連接。
(6)RippleNet模型利用水波紋的思想模擬用戶的偏好傳播,不斷挖掘用戶的潛在興趣。
(7)GC-MC[16]采用GCN編碼器對圖結(jié)構(gòu)數(shù)據(jù)進行編碼。
如表2所示,本文提出的改進模型在兩個公共數(shù)據(jù)集上的recall和ndcg指標與基線模型相比都有提高。其中,在Amazon-Book和Last-FM上與基線模型中表現(xiàn)最佳的KGAT模型相比,對應(yīng)的recall有1.54%和1.03%的提升,而對應(yīng)的ndcg有1.68%和1.96%的提升。
表2 實驗結(jié)果對比
為了證明本文模型在注意力嵌入傳播層上改進的有效性,對不同的閾值α,α∈[]0,1,根據(jù)式(11)計算注意力得分,并在Amazon-Book數(shù)據(jù)集上進行對比實驗,實驗結(jié)果如圖4和圖5所示。
首先,從圖中可以看出,當改進后的模型不設(shè)置閾值,即α為0時,對應(yīng)的recall和ndcg分別為0.1501和0.1013,均優(yōu)于KGAT模型的實驗結(jié)果,證明了本文改進注意力機制嵌入的有效性。
其次,從圖中還可以看出,隨著閾值α從0開始增長,對應(yīng)的recall和ndcg指標也隨之提高,但當α增長到一定程度后,性能開始呈現(xiàn)下降趨勢。從圖中可以看到,閾值α為0.4時效果達到最佳。
實驗結(jié)果表明,閾值太小,容易引入不相關(guān)的實體,導(dǎo)致實體的最終嵌入表示受噪聲的影響;閾值太大,過濾的節(jié)點過多,導(dǎo)致不能充分聚合鄰居節(jié)點的信息,實體的最終嵌入表示不能有效表示節(jié)點包含的豐富信息。
本文對KGAT模型進行了改進,通過改變注意力得分機制,降低了信息傳播過程中的損失;通過增加信息過濾策略,降低了噪聲影響,優(yōu)化了節(jié)點嵌入。在兩個公共數(shù)據(jù)集上的實驗對比,證明改進模型是有效的。