羅承天,葉 霞
火箭軍工程大學 作戰(zhàn)保障學院,西安 710025
當今互聯(lián)網(wǎng)承載著各種信息資源,其數(shù)據(jù)量呈指數(shù)級增長。面對海量的互聯(lián)網(wǎng)資源,用戶在獲取信息便利性的同時,難以快速準確地選擇出感興趣的內(nèi)容。推薦系統(tǒng)作為解決“信息過載”問題的有效方法[1],已經(jīng)受到大量研究者的關(guān)注和研究,并在各個領(lǐng)域得到廣泛應用,形成了眾多相關(guān)成果。比如電影推薦[2]、新聞推薦[3]和商品推薦[4]等。
推薦算法作為推薦系統(tǒng)的核心,目標是通過學習用戶信息和用戶行為,建模用戶的興趣偏好。其主要可以被分為三類[1]:基于內(nèi)容的推薦方法、基于協(xié)同過濾的推薦方法和混合推薦方法。其中,基于內(nèi)容的推薦是選擇出與用戶偏好項目特征相似的項目[5]。協(xié)同過濾利用相似用戶之間具有相似興趣偏好的特點,來發(fā)現(xiàn)用戶對項目的潛在偏好,優(yōu)點是不需要對項目進行復雜的特征提取[6-7]。協(xié)同過濾僅需要利用用戶的歷史評分數(shù)據(jù),因此簡單有效。但是,也存在數(shù)據(jù)的稀疏問題和冷啟動問題[7]。且推薦算法對捕捉用戶興趣變化的需求已經(jīng)超出了傳統(tǒng)推薦算法的能力。為此,研究者提出混合算法,結(jié)合如用戶社交網(wǎng)絡信息[8-9]和項目屬性[10-11]等輔助信息來解決以上問題。
近年來,將知識圖譜作為輔助信息引入到推薦算法逐漸成為了研究熱點。知識圖譜中節(jié)點表示實體,有向邊表示實體之間的關(guān)系,包含了用戶和項目的信息和關(guān)聯(lián)關(guān)系,可以更好地捕獲用戶偏好。如圖1所示的推薦示例中,向用戶推薦了電影《尖峰時刻》和《功夫》。這是因為用戶喜歡的電影和推薦的電影具有相同的體裁和主演。通過知識圖譜,項目和用戶以不同的潛在關(guān)系關(guān)聯(lián)起來,在有助于提高推薦的準確性的同時,也為推薦結(jié)果提供了更多的可解釋性[12]。目前,學術(shù)界與工業(yè)界的研究人員構(gòu)建了各種結(jié)構(gòu)化的知識圖譜,例如DBpedia[13]、YAGO[14]和Google’s KG[15]等。這使推薦算法連接知識圖譜中的實體和關(guān)系變得更加便利。
圖1 基于知識圖譜的推薦示例Fig.1 Recommendation example based on knowledge graph
本文旨在對基于知識圖譜的推薦算法進行全面的總結(jié)。通過查閱分析相關(guān)文獻,從應用知識圖譜的三種方式:基于嵌入的方法、基于路徑的方法和基于傳播的方法展開介紹。此外,對引入了知識圖譜的推薦應用場景,包括電影、音樂、書籍、新聞和商品,進行分析討論,并收集了常見的數(shù)據(jù)集。除推薦的精確性外,基于知識圖譜的推薦算法還具有良好的可解釋性。本文也將討論不同的算法如何利用知識圖譜進行可解釋的推薦。
本章主要介紹知識圖譜和推薦算法相關(guān)背景知識。
推薦系統(tǒng)解決在“信息過載”情況下,用戶如何高效獲得感興趣項目的信息的問題。如電影[16]、新聞[3]、商品[17]、興趣點(point of interest,POI)[18]、試題[19]、音樂[20]、應用程序[21]等等。推薦系統(tǒng)主要分為數(shù)據(jù)部分和模型部分。推薦算法作為推薦系統(tǒng)的核心,主要解決如何學習用戶和項目的表示及評分函數(shù)的問題,即模型算法如何訓練和預測,并達到更好的推薦效果。推薦算法要處理的問題可以形式化地定義為[1]:給定所有用戶(user)的集合U,所有項目(item)的集合I,在特定場景C(context)下。構(gòu)建一個評分函數(shù)f(U,I,C),預測用戶對特定候選項目的偏好程度,即:
再根據(jù)偏好程度對候選項目進行排序,生成推薦列表。根據(jù)推薦問題的定義,可以得到抽象的推薦系統(tǒng)邏輯框架,如圖2所示,在此基礎上,對個模塊進行細化和擴展,才產(chǎn)生了推薦系統(tǒng)的整個技術(shù)體系。
圖2 推薦系統(tǒng)邏輯框架Fig.2 Logic framework of recommended system
知識圖譜(knowledge graph,KG)最初是Google用于增強其搜索引擎功能的知識庫[15]。本質(zhì)上,知識圖譜是一種揭示實體之間關(guān)系的語義網(wǎng)絡,可以對現(xiàn)實世界的事物及其相互關(guān)系進行形式化地描述[22]。三元組是知識圖譜的一種通用表示方式,可以定義為G=(E,R,S)。其中E={e1,e2,…}表示知識圖譜中所有實體的集合;R={r1,r2,…}表示知識圖譜中所有關(guān)系的集合;S={(h,r,t)}表示三元組的集合,單個三元組由頭實體h、關(guān)系r和尾實體t構(gòu)成。例如(Beijing,capital_of,China)表示北京是中國的首都這一事實。知識圖譜是一種具有多種類型節(jié)點和邊的異構(gòu)圖,所以知識圖譜中的三元組不僅可以用于理解知識實體之間的關(guān)系,也可以存儲知識實體的屬性。
知識圖譜中包含的實體之間豐富的語義關(guān)聯(lián),可為推薦算法提供了潛在的輔助信息來源。引入知識圖譜可以讓推薦算法有以下特點:
(1)精確性。知識圖譜為實體引入了更多的語義關(guān)系,可以深層次地發(fā)現(xiàn)用戶興趣。
(2)多樣性。知識圖譜提供了實體間不同的關(guān)系連接模式,有利于挖掘高階的連接關(guān)系。
(3)可解釋性。知識圖譜可以連接用戶的歷史行為信息和推薦結(jié)果,給出推薦的原因,從而增強用戶對推薦結(jié)果的接受度。
可解釋推薦是指解釋推薦理由問題的推薦算法,在向用戶提供推薦結(jié)果的同時,還提供解釋以闡明推薦的原因[23]。這樣有助于提高推薦算法的多樣性、有效性和準確性,有利于用戶理解并采納推薦結(jié)果[24-25]。
早期的推薦多數(shù)是基于內(nèi)容的推薦或基于協(xié)同過濾的推薦,基于內(nèi)容的推薦方法通過對用戶或者項目的屬性信息進行建模,是基于特征的直觀解釋。而協(xié)同過濾方法得通過用戶的顯性反饋或隱性反饋體現(xiàn)解釋。項目協(xié)同過濾的解釋更直觀,因為用戶熟悉他之前喜歡的項目,用戶更易于理解。用戶協(xié)同過濾的解釋可能不那么有說服力,因為目標用戶可能對其他“相似”的用戶一無所知,這可能會降低解釋的可信度。
傳統(tǒng)的推薦算法所生成的推薦解釋往往只局限于以項目為媒介、以用戶為媒介或者以特征為媒介中的某一種,而對這三類媒介之間的關(guān)聯(lián)挖掘得還不夠。知識圖譜作為擁有知識表示能力的結(jié)構(gòu)化知識庫,包含了關(guān)于用戶和項目的豐富信息,有助于提供有關(guān)推薦項目的知情解釋[26]。通過探索知識圖譜內(nèi)實體的連通性,反映了用戶和項目之間的潛在關(guān)系。知識圖譜上用戶到推薦項目的連接路徑給予了推薦算法推理和解釋的能力。以圖1中為例,因為用戶喜歡喜劇類體裁的電影,連接到推薦項目的路徑如下示例:
(小明,喜歡,大話西游)∧(大話西游,體裁,喜劇片)∧(大話西游,演員,周星馳)?(小明,喜歡,功夫)
這種連通性有助于通過綜合路徑信息捕捉到潛在的用戶與項目交互的可能。顯然,推理挖掘了路徑關(guān)系中的用戶意圖,提供了推薦結(jié)果的解釋。文獻[12]提出一個端到端的框架RippleNet,將知識圖譜融入到推薦算法中。RippleNet以用戶的歷史興趣項目為種子,然后沿著知識圖譜的連接不斷地向外擴散到其他的項目,進行偏好傳播,最后形成用戶對候選項目的偏好分布。該分布可用于預測用戶最終的偏好分數(shù),還可以通過在知識圖譜上查找來自用戶和推薦項目間的路徑來提供解釋。文獻[27]提出了一種新的知識感知路徑循環(huán)網(wǎng)絡模型KPRN,不僅通過組合實體和關(guān)系的語義來生成路徑表示,而且通過利用路徑中的順序依賴項,對路徑進行有效推理,進而推斷用戶項目的交互。該模型通過權(quán)重池操作來區(qū)分不同路徑的權(quán)重,使模型具有一定程度的可解釋性。
引入了知識圖譜的輔助信息,推薦算法可以學習用戶和項目間的潛在連通關(guān)系,從而可以更準確地捕獲用戶偏好,提高推薦效果。本章介紹了基于知識圖譜的推薦算法相關(guān)的研究,根據(jù)應用知識圖譜的不同形式,可分為三類:基于嵌入的方法、基于路徑的方法和基于傳播的方法。此外,如表1所示[3,12,16,20,27-55],將近年來的相關(guān)文獻進行了匯總。
表1 文獻匯總Table 1 Literature summary
基于嵌入的方法使用知識圖譜中的信息來豐富用戶或項目的表示,通過知識圖譜嵌入將知識圖譜中的實體和關(guān)系表征為低維向量,保留了知識圖譜原有的結(jié)構(gòu)。知識圖譜嵌入的方法主要是基于平移距離模型進行特征表示的。
平移距離模型利用基于距離的評分函數(shù),通過兩個實體之間的距離對事實的合理性進行度量。主要包括TransE[56]、TransH[57]、TransR[58]、TransD[59]和TranSparse[60]等。其基本原理是將每個三元組的頭實體、尾實體和關(guān)系嵌入到向量h、t和r中,使之滿足h+r≈t。可以用一個評估函數(shù)計算三元組的真實性,這個函數(shù)被定義為在L1范數(shù)或L2范數(shù)約束下h+r和t之間的距離。其數(shù)學表達式如下:
目標是要使得有關(guān)系的實體之間的距離盡可能小,而不相關(guān)的實體之間的距離盡可能大。
通過Trans系列的嵌入方法學習得到知識圖譜中實體和關(guān)系的表示,可以用來補充用戶和項目的表示。Zhang等[28]提出CKE模型,在協(xié)同過濾框架中聚合了各種類型的輔助信息。通過TransR算法提取結(jié)構(gòu)化項目知識(由項目、關(guān)系及項目屬性組成的知識圖譜)的特征向量xj,自動編碼器提取文本知識的特征向量zt,j和視覺知識的特征向量zv,j,聚合從用戶項目交互矩陣中提取的偏移向量ηj得到項目向量vj的最終表示:
最后偏好分數(shù)通過用戶向量ui和項目向量vj內(nèi)積就可獲得,并根據(jù)以下排名標準給出用戶ui的最終項目推薦:
實驗表明,加入結(jié)構(gòu)化的知識是可以提高推薦性能的。
Wang等[3]提出了一種將知識圖譜表示引入到新聞推薦中的深度知識感知網(wǎng)絡DKN。該模型利用Kim CNN[61]從新聞標題中提取實體,并進行實體鏈接,通過TransD將從原始知識圖譜中提取的實體的關(guān)系鏈接子圖構(gòu)建特征向量,還使用實體的近鄰實體提取實體的上下文信息。最后使用多通道和單詞實體對齊的知識感知卷積神經(jīng)網(wǎng)絡KCNN,將單詞語義和實體信息結(jié)合起來,生成知識感知的嵌入向量。此外,該模型設計了一個注意力模塊捕捉用戶對新聞的動態(tài)偏好,得到歷史記錄對用戶的影響權(quán)重。最后,通過全連接層得到用戶點擊候選新聞的概率。Huang等[16]提出了一個帶有鍵值對記憶網(wǎng)絡(KV-MN)的循環(huán)神經(jīng)網(wǎng)絡模型KSR,其中GRU網(wǎng)絡用于捕獲序列化的用戶偏好,而鍵值對記憶網(wǎng)絡利用TransE學習知識庫信息捕獲屬性級的偏好,通過這種方式可以捕獲細粒度的用戶偏好。該模型解決了循環(huán)神經(jīng)網(wǎng)絡捕獲屬性級或特征級用戶偏好能力有限和可解釋性差的問題。
以上方法僅使用項目及其屬性信息構(gòu)成的項目圖集成到推薦方法中,當將用戶和項目的交互數(shù)據(jù)與知識圖譜一起構(gòu)建用戶項目圖時,需進一步考慮用戶項目圖中邊的關(guān)系來計算偏好分數(shù)。Zhang等[28]提出了CFKG模型,構(gòu)建了一個包括用戶行為和項目信息的用戶項目知識圖譜。在這個用戶項目圖中用戶行為(如購買、收藏)被視為實體之間的關(guān)系,為了學習實體和關(guān)系在圖中的嵌入向量,該模型定義了一個距離函數(shù)d(·),根據(jù)給定的關(guān)系度量兩個實體之間的距離。最后通過計算用戶節(jié)點ui和項目節(jié)點vj在關(guān)系“購買”rbuy上的距離,即d(ui+rbuy,vj),對項目排序,從而生成推薦列表。
除此之外,另一種趨勢是聯(lián)合一些知識圖譜相關(guān)基本任務進行多任務學習和聯(lián)合推薦。Cao等[30]提出的KTUP模型在將知識圖譜用于推薦算法時,考慮到知識圖譜的不完整性,聯(lián)合學習推薦和知識圖譜補全。該方法提出TUP(translation-based user preference)模型聯(lián)合知識圖譜學習,并利用用戶和項目之間的多重隱性關(guān)系,揭示用戶的偏好。提出KTUP(knowledgeenhanced TUP)將TUP和TransH進行聯(lián)合學習,通過轉(zhuǎn)移實體知識和關(guān)系來增強項目和偏好建模。該模型的總體目標函數(shù)如下:
其中Lp是推薦的損失函數(shù);LKG是知識圖譜相關(guān)任務的損失函數(shù);λ是平衡兩個任務的超參數(shù)。Wang等[20]提出的MKR模型,將推薦和知識圖譜特征學習視為兩個分離但是相關(guān)的任務,進行交替式的學習。推薦部分的輸入是用戶和項目的特征表示,輸出為預估點擊率。知識圖譜特征學習部分的輸入為三元組的頭節(jié)點和關(guān)系,輸出為預測的尾節(jié)點。同時這兩個部分通過交叉壓縮單元共享信息,彌補自身的信息稀疏性的不足。該模型完整的損失函數(shù)如下:
其中LRS是推薦的損失函數(shù);LKG是知識圖譜相關(guān)任務的損失函數(shù);LREG是正則項,防止過擬合。
基于嵌入的推薦方法通過構(gòu)建具有多種類型的用戶和項目輔助信息的知識圖譜,豐富項目的表示和對用戶的偏好建模,在知識圖譜中的實體和關(guān)系學習低維特征向量的同時保留了知識圖譜中原有的結(jié)構(gòu)和語義信息,獲得了更好的推薦。缺點是忽略了由路徑連接的實體之間的語義關(guān)聯(lián)。
基于路徑的方法通過構(gòu)建用戶項目圖并利用圖中實體的連接關(guān)系,學習用戶到項目的路徑之間的連接相似性進行推薦。這種方法主要的挑戰(zhàn)是如何設計合理的路徑以及如何為實體間的連接關(guān)系建模。
一些推薦方法將知識圖譜視為一個異構(gòu)信息網(wǎng)絡,然后利用圖中的元結(jié)構(gòu),直接計算路徑的連接相似性來進行推薦。基于元結(jié)構(gòu)的相似性可以作為用戶和項目表示的約束,也可以用于預測用戶對交互歷史中相似用戶或相似項目的興趣。為了測量圖中實體之間的連接相似性,通常使用PathSim[62]方法表示:
其中,p(x,y)是一條實體x到實體y的路徑。Yu等[63]提出的Hete-MF方法提取不同的元路徑并計算每個路徑中的項目相似度,將正則化與矩陣分解方法相結(jié)合,獲得更好的推薦。Luo等[64]提出的Hete-CF同時將用戶間相似度、實體間相似度和用戶與實體間的相似度一起正則化,提高了推薦效果。為了克服元路徑表示能力有限的問題,Zhao等[36]用元圖替換元路徑提出了FMG方法捕獲圖中更豐富的語義,然后使用矩陣分解為每個元圖中用戶和項目學習隱向量。
上述基于元結(jié)構(gòu)的方法存在依賴手動構(gòu)造元結(jié)構(gòu)的問題,元路徑或元圖的選擇需要領(lǐng)域知識,并且對于不同的知識圖譜,元結(jié)構(gòu)的構(gòu)造可能不同。因此,一些方法直接對知識圖譜中的用戶與項目之間的語義路徑進行挖掘,學習路徑的顯式嵌入來生成推薦。
Sun等[37]提出了一種循環(huán)知識圖譜嵌入方法RKGE,該方法通過循環(huán)神經(jīng)網(wǎng)絡自動挖掘用戶和項目之間的路徑關(guān)系,而無需手動定義元結(jié)構(gòu)。循環(huán)神經(jīng)網(wǎng)絡能夠?qū)Σ煌L度的序列進行建模,不僅可以對實體語義進行學習,還能對整個路徑序列進行學習,從而為實體和實體關(guān)系的表示提供統(tǒng)一的學習方法。具體來說,RKGE首先枚舉用戶ui到項目vj的所有路徑P(ui,vj),記作:
其中,s表示的不同實體對之間的路徑數(shù)。這些路徑在序列長度約束下以不同的語義關(guān)系連接ui和vj,以避免引入較遠鄰居,失去語義意義。然后將路徑輸入到一批循環(huán)網(wǎng)絡對其進行編碼,得到每條路徑的嵌入表示hp,每條路徑由一個循環(huán)網(wǎng)絡建模,且每個神經(jīng)網(wǎng)絡共享參數(shù)以避免過擬合。最后通過池化操作區(qū)分不同路徑對于描述用戶對項目偏好的重要性,得到ui和vj之間關(guān)聯(lián)的最終表示:
經(jīng)過池化層之后采用全連接層生成推薦。RKGE首次采用循環(huán)網(wǎng)絡來學習知識圖譜中實體和路徑的語義,可以從不同角度對推薦進行解釋。
類似地,Wang等[27]提出了知識感知路徑循環(huán)網(wǎng)絡模型KPRN。該模型通過實體嵌入和關(guān)系嵌入來構(gòu)造合格的路徑序列,使用LSTM網(wǎng)絡對路徑進行編碼。此外,還根據(jù)每條路徑計算的預測分數(shù)使用平均方式聚合進行池化操作,區(qū)分不同路徑對預測的貢獻,起到注意機制的作用。因此,該模型可以為每個項目提供精確的關(guān)系路徑級解釋。RKGE模型和KPRN模型在前期路徑的提取工作中通過限制路徑的長度來限制路徑的數(shù)量,這有助于減少計算量和忽略過長路徑的噪聲。
Xian等[38]提出的PGPR模型,是一種策略引導路徑推理的方式,并首次在知識圖譜中運用強化學習的方法來完成推薦任務。該模型將推薦問題描述為一個馬爾可夫決策過程,用以找到連接用戶項目對之間的合理路徑,利用強化學習方法,訓練一個智能體(agent)在圖中進行多步路徑推理以發(fā)現(xiàn)用戶感興趣的項目。PGPR模型還設計了軟獎勵策略、用戶條件行為修剪策略和策略引導圖搜索算法保證模型的高效性和多樣性,以及對推薦的推理路徑進行有效采樣。Wang等[41]提出的基于知識圖譜的意圖網(wǎng)絡KGIN,為每個意圖建模為知識圖譜中關(guān)系的組合,以獲得更好的建模能力和可解釋性。此外,該方法設計了一種新的信息聚合方案,遞歸地集成遠程連接的關(guān)系路徑。KGIN通過識別有影響的意圖和關(guān)系路徑,為預測提供了可解釋性。
基于路徑的方法利用知識圖譜的網(wǎng)絡結(jié)構(gòu),利用路徑連接來豐富實體的表示,依賴實體連接關(guān)系進行推薦。使用元結(jié)構(gòu)的推薦方法連接模式?jīng)]有顯式建模,這使得很難了解用戶項目對和連接模式之間的相互影響。因此,直接學習連接用戶和項目間的顯著路徑的嵌入向量對用戶和項目的關(guān)系建模,可以解決依賴元結(jié)構(gòu)構(gòu)造的問題?;诼窂降姆椒ㄔ谔岣咄扑]效果的同時具有良好的可解釋性。
為了充分利用知識圖譜中的信息進行更好地推薦,基于傳播的推薦方法整合了實體和關(guān)系的語義表示以及連接信息?;趥鞑サ耐扑]方法是基于嵌入傳播的思想,聚合知識圖譜中多跳鄰居節(jié)點的嵌入來深化實體表示。然后,獲得用戶和項目的豐富表示,并預測用戶的偏好。
2.3.1 用戶或項目表示的細化
Wang等[12]提出的RippleNet模型引入偏好傳播的概念,不斷自動地發(fā)現(xiàn)用戶的潛在的層級興趣。該模型抽取用戶節(jié)點相連的N-hop實體節(jié)點,并利用這些鄰居實體節(jié)點的嵌入表示更新用戶的嵌入表示,最后通過用戶向量和項目向量的內(nèi)積去預測推薦結(jié)果。在給定知識圖譜G和交互矩陣Y的情況下,用戶u的k-hop相關(guān)實體集定義如下:
其中ε0u=Vu={v|yuv=1}為用戶歷史點擊記錄,也即是種子集合。用戶u的k-hop波紋集定義為以εk-1u中節(jié)點為頭節(jié)點的三元組:
在RippleNet中,項目的表示可以通過嵌入層直接得到,并計算給定用戶u的1-hop波紋集S1u中的每個三元組與項目嵌入向量的歸一化相關(guān)性,相關(guān)性計算公式如下:
然后加權(quán)聚合所有尾節(jié)點的嵌入向量,得到用戶u的歷史偏好關(guān)于v的一階響應,表示用戶偏好經(jīng)過第一輪傳播后的結(jié)果:
重復上述過程,就是不斷向外層傳播用戶偏好的過程。最終融合它的所有階數(shù)的響應計算用戶u關(guān)于項目v的特征:
最后的偏好預測計算如下:
其中,σ(·)是一個sigmoid函數(shù)。通過這種方式,Ripple-Net模型沿著知識圖譜中的路徑傳播用戶對歷史興趣的偏好。
類似于RippleNet模型的偏好傳播機制,Tang等[46]提出AKUPM模型,它根據(jù)用戶的點擊歷史來建模用戶。AKUPM首先通過TransR得到用戶歷史行為信息中關(guān)聯(lián)實體的嵌入表示,在每個傳播過程中,該模型通過自注意力層學習實體之間的關(guān)系,并學習實體在涉及不同的關(guān)系時表現(xiàn)出不同的特征。最后,再通過注意力機制聚合不同階數(shù)的鄰域嵌入以獲得最終的用戶表示。Li等[65]提出的RCoLM模型以AKUPM為主干,聯(lián)合訓練知識圖譜補全任務和推薦任務,捕捉到兩項任務的互補信息,以促進兩項任務的相互增強。
該類模型雖然通過偏好傳播的方式提高了推薦效果,但是存在忽視關(guān)系重要性、帶來計算負擔和冗余的問題。Wang等[44]提出的KGCN模型結(jié)合知識圖譜和圖卷積神經(jīng)網(wǎng)絡,能很好地捕捉局部鄰域信息和考慮鄰居節(jié)點權(quán)重以實現(xiàn)推薦。該模型通過對知識圖譜中候選項目的鄰居節(jié)點進行采樣,然后對每個實體迭代地采樣鄰居節(jié)點,利用鄰居節(jié)點信息的線性組合來刻畫結(jié)點v的鄰域信息:
其中,N(v)表示和v直接相連的實體集合;πur表示用戶u與某個關(guān)系r的關(guān)系分數(shù),可通過歸一化用戶關(guān)系分數(shù)計算得到。為了防止不同實體N(v)大小產(chǎn)生的差異和提高計算效率,該模型為每個實體均勻地采樣固定大小的鄰居節(jié)點作為實體v的鄰域表示,且滿足:
S(v)就是實體v的感受野,即對每一個結(jié)點v,只選取K個鄰居進行計算。最后,將實體表示v與鄰域表示聚合得到最終的嵌入向量表示。
然而,KGCN容易過度擬合,因為用戶交互數(shù)據(jù)是整個模型的唯一數(shù)據(jù)來源。因此,在KGCN的基礎上,Wang等[66]又提出KGCN-LS模型,增加了標簽平滑度正則項,來對損失函數(shù)進行約束。標簽平滑度機制在計算用戶關(guān)系分數(shù)時構(gòu)造交互標簽。標簽傳播模塊和偏好傳播模塊聯(lián)合訓練,進一步提高了推薦結(jié)果。
這些方法以用戶或項目的知識圖譜為基礎,同時利用實體嵌入和高階連接信息,但在傳播過程中只有用戶或項目的表示得到了更新優(yōu)化。
2.3.2 協(xié)同用戶項目表示
RippleNet模型及其擴展側(cè)重于在項目知識圖譜上使用嵌入傳播機制,在基于用戶項目知識圖譜中嵌入傳播機制的探索中,Wang等[45]提出KGAT模型,引入?yún)f(xié)同知識圖譜的方法,將用戶和項目知識編碼為一個統(tǒng)一的關(guān)系圖G,通過嵌入傳播直接對用戶和項目之間的高階關(guān)系建模。該模型首先應用TransR獲得實體的嵌入表示,遞歸地傳播來自實體鄰居節(jié)點的嵌入,增強當前節(jié)點的嵌入。在信息傳播中,使用Nh={(h,r,t)|(h,r,t)∈G}表示以實體h為頭節(jié)點的三元組集合,則實體h鄰域的一階線性組合計算如下:
其中π(h,r,t)控制三元組每次傳播的衰減因子,表示有多少信息從t經(jīng)過r傳向h。將實體和鄰域表示聚合就得到了實體的一階表示:
進一步聚合高階的鄰居傳播,在第l步中,實體h的l階表示為:
經(jīng)過L層后,采用層聚合機制將每一階的表示連接成一個向量作為實體的最終表示:
其中e(0)h表示實體初始表示;“||”表示連接操作。該模型不僅可以通過嵌入傳播來豐富初始嵌入,還可以通過調(diào)整L來增強傳播和控制規(guī)模。
為了進一步考慮項目側(cè)鄰居和用戶側(cè)鄰居之間的交互作用,Qu等[47]提出KNI模型,因為用戶和項目共享交互模式,使得用戶嵌入和項目嵌入的細化過程不分離。Zhao等[48]提出的IntentGC模型利用圖中豐富的用戶相關(guān)行為獲得更好的推薦。為了提高效率,該模型將用戶項目圖拆分為用戶圖和項目圖,還設計了一個更快的圖卷積網(wǎng)絡來更新實體的高階表示。為了解決在傳播過程中引入不相關(guān)鄰居的問題,Sha等[51]提出的HAKG模型通過在用戶項目對的子圖中傳播信息來學習用戶和候選項目的增強表示。該模式首先使用TransR對圖中的實體嵌入進行預訓練,然后使用距離感知抽樣策略保留最短K條路徑構(gòu)建用戶項目對的高階子圖,接下來,該模型在子圖中通過基于注意的圖神經(jīng)網(wǎng)絡使用關(guān)系感知傳播來自鄰居的信息,以最終表示該用戶項目對。HAKG在子圖的構(gòu)造中過濾掉了圖中相關(guān)性較低的實體,便于挖掘高階用戶項關(guān)系進行推薦,同時減少了計算開銷。
上述方法主要關(guān)注于如何有效地編碼知識圖譜中知識的關(guān)聯(lián)關(guān)系,Wang等[50]提出的CKAN協(xié)同知識感知注意網(wǎng)絡模型通過協(xié)同信息與知識關(guān)聯(lián)組合一起細化用戶和項目的表示,突出了用戶項目交互中潛在的重要的協(xié)同信號。CKAN由異構(gòu)傳播層、知識感知注意嵌入層和預測層組成,在知識圖譜中嵌入傳播前先使用協(xié)同傳播策略顯式編碼兩種信息,即用戶由交互過的項目表示,項目由交互過的用戶表示,項目和用戶的表示分別如下:
接下來在知識圖譜中沿鏈路傳播,可以得到初始實體集擴展的三元組表示:
然后使用知識感知的注意力嵌入方法進行多跳傳播得到多層的用戶和項目表示。
CKAN使用協(xié)同傳播豐富了用戶和項目的0-hop的嵌入表示,然而忽略多跳的波紋集中實體的關(guān)系和沒有區(qū)分不同波紋集的重要性。因此,Xu等[55]提出了協(xié)同知識感知圖注意網(wǎng)絡模型,使用知識感知圖注意網(wǎng)絡提取多跳波紋集中實體的拓撲鄰近結(jié)構(gòu),然后學習高階實體表示,從而生成精細的ripple集嵌入。
此外,為了在提供精確推薦的同時生成類人語義的解釋,Lyu等[54]提出的KEGNN模型將外部知識庫中的語義知識用于用戶、項目和用戶項目交互三方的表示學習,并利用知識增強的語義嵌入來初始化所構(gòu)建用戶行為圖中的實體和關(guān)系。KEGNN設計了一個用戶行為學習和推理模塊,并利用GRU生成器和復制模式生成文本解釋,生成的解釋說明了用戶對評級商品的選擇和購買原因。
通過協(xié)同表示用戶和項目能在更大程度上探索高階連接模式,但缺點是會帶來不相關(guān)的實體,這可能會誤導用戶在聚合過程中的興趣。
基于傳播的推薦方法受益于知識圖譜的語義表示和路徑關(guān)聯(lián),利用嵌入傳播的思想來增強知識圖譜中具有多跳鄰居節(jié)點的用戶或項目的表示?;趥鞑サ耐扑]方法的傳播過程可以被視為在知識圖譜中發(fā)現(xiàn)用戶的偏好模式,這些方法結(jié)合了基于嵌入的方法和基于路徑的方法的優(yōu)勢,兼具準確性和可解釋性。
基于嵌入的方法使用知識圖譜嵌入對知識圖譜進行學習,以獲得實體和關(guān)系的嵌入,并進一步將其集成到推薦模型中。然而,在這種方法中實體間的語義關(guān)聯(lián)被忽略?;诼窂降姆椒ɡ糜脩繇椖繄D挖掘路徑連接相似性,通過預定義元結(jié)構(gòu)或自動挖掘路徑連接關(guān)系?;诼窂降姆椒ㄟ€可以為用戶提供對結(jié)果的解釋。此外,稀疏數(shù)據(jù)集場景可能無法提供足夠的路徑來挖掘連接關(guān)系?;趥鞑サ姆椒葘崿F(xiàn)了對于知識圖譜結(jié)構(gòu)中路徑的連接關(guān)系的利用,又通過嵌入的思想學習實體和關(guān)系的特征表示,以充分利用雙方的信息。此外,基于傳播的推薦方法還具有解釋推薦過程的能力。表2簡要說明了三種類型方法的優(yōu)缺點。
表2 三種類型方法的比較Table 2 Comparison of three types of methods
知識圖譜所為提供給知識圖譜的額外信息,在提高推薦算法的同時,可以自然地合并到不同應用的推薦算法中。不同的場景下應用數(shù)據(jù)集展示了知識圖譜作為輔助信息的有效性。本節(jié)簡要介紹不同數(shù)據(jù)集,并根據(jù)數(shù)據(jù)集對這些方法進行分類,這有助于幫助研究人員尋找合適的數(shù)據(jù)集來測試他們的推薦方法。根據(jù)表3中總結(jié)的數(shù)據(jù)集對基于知識圖譜的推薦方法進行分組。通常,這些數(shù)據(jù)集可以分為以下應用場景:
表3 應用不同數(shù)據(jù)集的文獻Table 3 Literature using different datasets
(1)電影。電影領(lǐng)域知識通過提取電影類型、演員和導演等很容易映射到外部知識庫。最常用的數(shù)據(jù)集是從MovieLens網(wǎng)站收集的MovieLens數(shù)據(jù)集,包括MovieLens-100K、MovieLens-1M和MovieLens-20這三個不同評級數(shù)量的數(shù)據(jù)集,其中包含了包括電影屬性、用戶信息、用戶打分數(shù)據(jù)和標簽數(shù)據(jù)等內(nèi)容。通常在MovieLens上通過DBpedia知識圖譜進行匹配以豐富實體表示。除了MovieLens數(shù)據(jù)集,還有從中國豆瓣電影網(wǎng)上收集的DoubanMovie,通過與中文百科知識圖譜匹配維護電影標簽。在電影數(shù)據(jù)中,知識圖譜上關(guān)于電影的特征信息能有效地提升推薦效果。
(2)書籍。類似于電影場景,書籍的外部知識也非常豐富。通常使用的公共可用數(shù)據(jù)集是Book-Crossing和Amazon-Book,它們都包含用戶信息、書籍屬性和用戶評分信息。Amazon-Book還多了與用戶購買行為相關(guān)的信息。此外,一些方法還采用Intent Book和DBbook2014等數(shù)據(jù)集。
(3)音樂。音樂推薦也是場景的推薦任務。Last.FM是最流行的音樂推薦數(shù)據(jù)集,該數(shù)據(jù)集包含來自于Last.FM在線音樂網(wǎng)站的用戶信息、音樂屬性和用戶收聽記錄。另一個流行的數(shù)據(jù)集KKBox發(fā)布于WSDM挑戰(zhàn)賽,該數(shù)據(jù)集包含音樂描述和收聽記錄,規(guī)模相對較為稀疏。
(4)商品。電商網(wǎng)站的內(nèi)容展示高度依賴商品的推薦結(jié)果。但與其他場景相比,商品推薦領(lǐng)域的數(shù)據(jù)集非常大且稀疏。其主要的研究數(shù)據(jù)是從電商網(wǎng)站Amazon和Taobao上收集的,包含了用戶和商品的各類屬性信息以及用戶交互、評論和購買等各種行為信息。
(5)新聞。新聞推薦具有時效性和內(nèi)容高度濃縮,且依賴于文本信息,因此具有一定的挑戰(zhàn)性。在應用知識圖譜到新聞的推薦場景中時,需要先提取內(nèi)容中的實體,并映射到知識圖譜。最受歡迎的數(shù)據(jù)集是Bing-News,其中包含用戶點擊信息和新聞內(nèi)容特征等,通常使用一些通用型知識圖譜如Wikidata和Microsoft Satori進行實體關(guān)聯(lián)。
通過在三個公開數(shù)據(jù)集MovieLens-20M、Book-Crossing和Last.FM上進行的模擬實驗,選取了部分源碼公開的推薦方法并對其模型的預測性進行評價。采用AUC和F1作為模型的性能評價指標,AUC的定義為ROC曲線下的面積,AUC越大,表明方法效果越好。F1分數(shù)是精準率(precision)與召回率(recall)的調(diào)和均值,取值范圍是從0到1,值越大表明方法越理想。如表4展示了不同算法在三個公開數(shù)據(jù)集上的性能表現(xiàn)。
表4 不同算法的性能對比Table 4 Performance comparison of different methods
在實驗中,對于測試集中的每個用戶,將沒有與之交互的項目視為負項目,然后計算出用戶對除了在訓練集中的正項目外的所有項目的偏好得分。此外,將數(shù)據(jù)集按照6∶2∶2的比例劃分為訓練集、驗證集和測試集。模擬了原模型的具體實驗環(huán)境,如深度學習框架等。具體的實驗超參數(shù)設置如下:
在CKE中,三個數(shù)據(jù)集的嵌入維度分別設置為64、64和128。在KSR中,項目嵌入大小設置為256,網(wǎng)絡隱藏層大小設置為256,鍵向量和值向均設為50。在KGIN中,將嵌入維度固定為64,用戶的意圖數(shù)量固定為4,將聚合層的數(shù)量固定為3。在RippleNet中,嵌入維度d和傳播跳數(shù)H,對于MovieLens-20M,設置d=16和H=2;對于Last.FM和Book-Crossing,設置d=8和H=3。在KGCN中,對于MovieLens-20M,嵌入維度d為62,感受野深度H為2,鄰居采樣大小為4,而對于Last.FM和Book-Crossing,分別設置為d=16,H=1和K=8以及d=64,H=1和K=8。在KGAT中,將嵌入維度固定為64,模型的嵌入傳播層數(shù)設置為4。在CKAN中,對于MovieLens-20M嵌入維度設置為64,Last.FM和Book-Crossing中嵌入維度設置為128。對于知識傳播層數(shù)的深度L分別設置為1、3和2。在CKGAT中,嵌入維度設置為64,波紋集最大跳數(shù)L和相鄰實體數(shù)量K在MovieLens-20M中分別為2和4,在Last.FM設置L=3和K=3,對Book-Crossing設置L=2和K=4。其他參數(shù)與原始論文中報告的相同,或與代碼中的默認值相同。
在以上的討論中,基于知識圖譜的推薦算法展示了在精確性、多樣性和可解釋性方面的優(yōu)勢,且應用場景廣闊。本章將討論一些具有挑戰(zhàn)性的未來研究的問題:
(1)動態(tài)推薦
知識圖譜包含著豐富的用戶行為信息和項目特征信息,但在用戶長期歷史行為中普遍存在隱式和嘈雜的偏好信號,這無疑會降低用戶真實興趣的建模效果。且在類似新聞要求時效性的場景中,用戶的興趣偏好很容易轉(zhuǎn)移。因此與傳統(tǒng)的靜態(tài)推薦相比,捕獲用戶在發(fā)展過程中的動態(tài)偏好并預測用戶的行為意圖,能更好地提高用戶體驗。Zhang等[67]提出了一種用于基于會話的推薦的動態(tài)和靜態(tài)偏好的圖神經(jīng)網(wǎng)絡模型DSGNN,綜合考慮了有向圖和無向圖捕獲的用戶意圖并通過門控網(wǎng)絡組合。聯(lián)合建模長短期興趣的解決方案能捕獲短期興趣的轉(zhuǎn)移和避免長期興趣的遺忘,但長期和短期興趣的劃分與整合仍然具有挑戰(zhàn)性。
(2)跨領(lǐng)域推薦
知識圖譜作為一種有效的輔助數(shù)據(jù)能解決冷啟動問題,但這也僅適用于在單一領(lǐng)域已經(jīng)穩(wěn)定積累數(shù)據(jù)信息的推薦場景??珙I(lǐng)域推薦旨在從一個信息豐富的源領(lǐng)域向目標領(lǐng)域遷移知識來緩解目標領(lǐng)域的冷啟動問題,能更好地使用數(shù)據(jù)充足的領(lǐng)域數(shù)據(jù)幫助數(shù)據(jù)不足的領(lǐng)域進行更好的推薦。Liu等[68]提出的跨領(lǐng)域知識圖交叉嵌入方法通過分析同一領(lǐng)域項目之間的關(guān)聯(lián)以及不同領(lǐng)域項目之間的相互作用,研究了基于跨領(lǐng)域知識圖譜嵌入的多領(lǐng)域項目推薦。該方法借助包含豐富信息的知識圖譜,能有效地推薦多個領(lǐng)域的項目。但由于商業(yè)隱私政策,不同的領(lǐng)域不能完全共享數(shù)據(jù),跨域推薦在工業(yè)上的應用還不成熟。
(3)多模態(tài)知識圖譜推薦
多模態(tài)知識圖譜在傳統(tǒng)知識圖譜的基礎上,引入不同模態(tài)的實體或?qū)嶓w屬性,同時也帶來了不同模態(tài)間的語義關(guān)聯(lián)。引入文本或視覺數(shù)據(jù)的多模態(tài)知識圖譜可以提供更多的輔助信息,從而解決數(shù)據(jù)稀疏和冷啟動問題。Tao等[69]提出的多模態(tài)知識感知強化學習網(wǎng)絡MKRLN通過在多模態(tài)知識圖譜中提供實際路徑來關(guān)聯(lián)推薦和解釋性。該方法通過組合實體的結(jié)構(gòu)和視覺信息來生成路徑表示,但現(xiàn)有方法多將文本模態(tài)和視覺模態(tài)分別建模學習,將多模態(tài)信息和實體信息直接拼接到一起作為新實體集成到推薦還存在一定的挑戰(zhàn)。
引入知識圖譜的推薦算法提高了推薦算法的精確性、多樣性和可解釋性,擁有傳統(tǒng)推薦算法所不具備的優(yōu)勢。本文調(diào)研了應用知識圖譜的推薦算法的相關(guān)研究,回顧了知識圖譜和推薦算法的基本知識,并簡要說明了推薦算法的可解釋性之后,總結(jié)了近年來基于知識圖譜的推薦算法的不同應用方式。最后展望了該領(lǐng)域的潛在研究方向,希望能促進該領(lǐng)域的發(fā)展。