張明星,張驍雄,劉姍姍,田 昊,3,楊琴琴,3
1.南京信息工程大學 電子與信息工程學院,南京 210044
2.國防科技大學 第六十三研究所,南京 210007
3.南京信息工程大學 計算機學院、軟件學院、網絡空間安全學院,南京 210044
互聯(lián)網的快速發(fā)展給人們的生活帶來便利的同時也引起了信息過載[1],用戶很難從海量信息中獲取真正感興趣的內容。為了增強用戶體驗,推薦系統(tǒng)被廣泛應用于視頻[2]、音樂[3]、新聞[4]、商品[5]等各種推薦場景。
推薦系統(tǒng)旨在為用戶篩選可能感興趣的項目,傳統(tǒng)的協(xié)同過濾算法的實現(xiàn)需要利用用戶和項目之間的交互信息。在現(xiàn)實生活中,這些交互信息相對于海量的用戶、項目數(shù)據(jù)是相當匱乏的,尤其是電商領域,這給推薦系統(tǒng)帶來了數(shù)據(jù)稀疏問題。此外,傳統(tǒng)推薦算法對新用戶或新項目進行推薦時很難達到理想效果,即存在冷啟動問題。
研究者通過引入輔助信息來解決推薦系統(tǒng)中普遍存在的數(shù)據(jù)稀疏和冷啟動問題,例如文本[6]、圖像[7]、標簽[8]、知識圖譜(knowledge graph,KG)[9]等。在這些輔助信息中,知識圖譜不僅能夠緩解以上問題,同時能夠增強推薦的整體性能。具體地,利用知識圖譜的推薦系統(tǒng)研究意義如下:
(1)建立目標項目與KG 中實體的聯(lián)系,從而緩解傳統(tǒng)算法中的數(shù)據(jù)稀疏和冷啟動問題;
(2)利用KG 中不同項目間的語義相關性,挖掘項目間的潛在聯(lián)系,提高推薦結果的準確性;
(3)挖掘KG 項目的屬性對用戶的潛在興趣建模,更全面地理解用戶需求,豐富推薦內容的多樣性;
(4)利用KG中關系路徑連接用戶的歷史興趣和推薦項目,增強用戶對推薦結果的滿意度。
鑒于知識圖譜對推薦系統(tǒng)具有重要意義,而傳統(tǒng)綜述工作[10-11]缺乏對最新算法性能的比較,本文對該領域最新研究進展進行綜述。其特點主要體現(xiàn)在:分析研究現(xiàn)狀時,討論不同類型技術存在的問題和挑戰(zhàn),并總結現(xiàn)有的改進方案,最后采用定量的方法進行性能比較;介紹應用場景時,總結相關數(shù)據(jù)集,針對不同推薦場景的特點討論其對應的算法方案,并對比不同算法在應用過程中的優(yōu)缺點。
本文首先從推薦系統(tǒng)和知識圖譜兩方面進行背景介紹,通過闡述傳統(tǒng)推薦算法存在的問題,進一步說明知識圖譜引入到推薦系統(tǒng)中的重要性,隨后給出利用知識圖譜的推薦系統(tǒng)問題定義。
推薦系統(tǒng)是一種篩選信息的方法,通過用戶-項目的歷史交互信息理解項目屬性和用戶偏好,并基于捕獲的用戶偏好為用戶推薦可能感興趣的項目。按照不同的算法分類,可以將推薦系統(tǒng)分為基于內容的推薦、基于協(xié)同過濾的推薦以及混合推薦[12]。
基于內容的推薦算法從項目的輔助信息中提取屬性,并通過用戶歷史興趣項目的特征獲取用戶表示。該方法通過計算項目之間的相似性,可以為用戶推薦與曾經喜歡過的項目相似的新項目,但存在新用戶的冷啟動問題。此外提取項目屬性是一個復雜的過程,并直接影響推薦結果的準確性[10];推薦項目之間相似性較高,缺乏多樣性,很難達到讓用戶滿意的效果。
基于協(xié)同過濾的推薦算法主要包含了兩類技術,即基于內存的協(xié)同過濾和基于模型的協(xié)同過濾[13]。基于內存的協(xié)同過濾利用用戶-項目交互信息學習不同用戶之間的相似性,并向目標用戶推薦與其相似的用戶所喜歡的項目。此外,一些方法考慮學習項目之間的相似性,并根據(jù)用戶的歷史偏好為用戶推薦相似項目。基于內存的協(xié)同過濾方法避免了項目特征的提取過程,但所利用的用戶-項目的交互信息在現(xiàn)實環(huán)境中非常稀疏。基于模型的協(xié)同過濾方法利用機器學習的思想建立推理模型,從而預測用戶對項目的評分,例如矩陣分解模型[14]將用戶-項目的交互矩陣分解成用戶矩陣和項目矩陣,通過矩陣乘法運算預測每個用戶對不同項目的評分。這類方法通過少量交互信息構建推薦系統(tǒng)模型,從而有效緩解數(shù)據(jù)稀疏問題。
混合推薦算法一方面可以融合多種技術,例如文獻[15]將深度學習應用于混合推薦,將深度學習與機器學習模型相結合,從多個角度學習用戶和項目之間的交互,從而更全面地理解用戶偏好,增強模型的泛化能力;另一方面可以融合多方面信息,文獻[16]通過將知識圖譜中結構化信息與文本信息結合來豐富項目的語義表示,構建了一個高效的混合推薦系統(tǒng)?;旌贤扑]系統(tǒng)彌補了不同技術的缺點,增強用戶、項目的特征表示,能夠有效緩解傳統(tǒng)推薦算法中普遍存在的數(shù)據(jù)稀疏和冷啟動問題。
知識圖譜的本質是對知識的結構化表示,其概念最早由Google 公司提出,目的在于提升搜索引擎的搜索質量,增強用戶搜索體驗[11]。知識圖譜由節(jié)點和邊組成,其中節(jié)點表示實體或概念,邊表示屬性或關系。知識圖譜通常以三元組<頭實體-關系-尾實體>的形式存儲,可以最直觀地表述客觀事實和實體間的關系。例如<戰(zhàn)狼-導演-吳京>表示“吳京”和電影“戰(zhàn)狼”之間存在“導演”關系。隨著互聯(lián)網的快速發(fā)展,知識圖譜被廣泛應用到搜索引擎、推薦系統(tǒng)、智能問答等領域。
用于推薦任務的知識圖譜可以分為兩類,其中最普遍的一種如文獻[17-18]等構建的項目知識圖譜(item knowledge graph,IKG)。此外,文獻[19-20]等將用戶-項目間存在的不同交互類型視為多種關系,從而構建用戶-項目交互的知識圖譜,并與項目知識圖譜集成為統(tǒng)一的協(xié)同知識圖譜(collaborative knowledge graph,CKG)進行推薦。
將知識圖譜引入到推薦系統(tǒng)作為一種混合推薦方法能夠彌補傳統(tǒng)算法的不足。如圖1,利用知識圖譜中提供的電影“長津湖”“戰(zhàn)狼”的屬性信息,可以緩解傳統(tǒng)算法中的數(shù)據(jù)稀疏和冷啟動問題。利用額外的屬性信息,學習項目之間的相似性,提高推薦結果的準確性。同時,根據(jù)“長津湖”的屬性信息,可以為喜歡“長津湖”的用戶推薦“陳凱歌”導演或“吳京”主演的其他影視作品,豐富推薦內容的多樣性。此外,“吳京”同時出演了“長津湖”和“戰(zhàn)狼”,且兩部電影都屬于戰(zhàn)爭片,因此推薦“戰(zhàn)狼”給喜歡“長津湖”的用戶更容易滿足用戶需求。
圖1 知識圖譜示例Fig.1 Knowledge graph example
一種典型的利用知識圖譜的推薦系統(tǒng)定義如下:U={u1,u2,…}和I={i1,i2,…}分別表示用戶和項目的集合,利用用戶的反饋信息構建用戶-項目的交互矩陣Y,其中yui表示用戶u和項目i之間存在交互。此外,V和R分別表示知識圖譜中的實體集合和關系集合,知識圖譜G={(h,r,t)|h,t∈V,r∈R}表示為三元組的集合,每一個三元組表示頭實體h與尾實體t之間存在關系r。推薦系統(tǒng)的目標是通過定義的交互矩陣Y和知識圖譜G,預測目標用戶與目標項目交互的概率。圖2為利用知識圖譜的推薦系統(tǒng)示意圖。根據(jù)已知的用戶-項目交互數(shù)據(jù)和項目知識圖譜預測未知的用戶-項目交互的概率得分,其中每個項目都能夠在知識圖譜中找到對應的項目實體和屬性信息,從而進行合理推薦。
圖2 利用知識圖譜的推薦系統(tǒng)示意圖Fig.2 Recommendation example based on knowledge graph
現(xiàn)有利用知識圖譜的推薦系統(tǒng)主要依賴三種核心技術,即知識圖譜嵌入、路徑實例挖掘以及高階信息聚合。為了方便閱讀和查詢,表1對部分相關文獻進行了整理,其主要來源于推薦系統(tǒng)領域的頂級會議和期刊。
表1 相關文獻分類表Table 1 Classification of relevant references
知識圖譜嵌入利用圖嵌入技術獲取用戶和項目表示。文獻[53]提出將知識圖譜嵌入技術分為兩類,基于距離的翻譯嵌入(translational distance models)和基于語義匹配的嵌入(semantic matching models)。
2.1.1 基本理論與方法
基于距離的翻譯模型將實體和關系表示為連續(xù)的向量空間,并計算兩個實體之間的距離來衡量一個三元組表述事實的合理性。在基于距離的翻譯模型中,Trans系列算法如TransE[54]、TransH[55]、TransR[56]、TransD[57]被廣泛應用。例如,文獻[21]利用改進后的TransR算法學習項目實體的嵌入向量,通過結合知識圖譜嵌入和協(xié)同過濾算法的損失函數(shù)獲得最終的實體嵌入表示,相較于基線模型,在MovieLens-1M 和Amazon-Book 數(shù)據(jù)集上recall@50分別提高2.46%和7.66%。KTUP(knowledgeenhanced translation-based user preference)模型[22]利用知識圖譜中的關系為用戶的偏好建模,使用TransH 算法更新用戶和項目的表示,最后將推薦任務和知識圖譜補全結合,同時提高這兩個任務的性能。此外,基于距離的翻譯嵌入還包括高斯嵌入KG2E[58]、TransG[59]等。
基于語義匹配模型通過向量空間中實體和關系的潛在語義表示計算相似性評分,來衡量三元組表述事實的合理性[53]。DKRL(description-embodied knowledge representation learning)[23]利用DistMult[60]算法,將每個關系編碼為一個對角矩陣,并考慮實體的潛在特征和關系表示的成對交互,以計算三元組的合理性。MSAKR(multi-task feature learning approach for social relationship and knowledge graph enhanced recommendation)模型[24]將基于語義匹配的知識圖譜學習模型與用戶社交關系融合,實現(xiàn)在豆瓣電影數(shù)據(jù)集上較融合社交關系的模型[61]AUC(area under curve)及Acc(accuracy)指標分別提升5.80%和2.10%。隨著神經網絡技術的發(fā)展,一些新的語義匹配模型SME(semantic matching energy)[62]、MLP(multilayer perceptron)[63]被廣泛應用。
2.1.2 現(xiàn)有挑戰(zhàn)與改進
傳統(tǒng)的基于知識圖譜嵌入的推薦方法[18,20]將圖嵌入模塊和推薦模塊視為兩個單獨的部分,首先通過圖嵌入模塊學習知識圖譜中實體和關系的向量表示,再將預先訓練的實體表示輸入到推薦模塊進行預測。這種低耦合的依次訓練方式更適合知識圖譜內部的任務,如知識圖譜補全、關系預測等。為了更好地結合兩個模塊,文獻[17,25]將圖嵌入模塊的損失結合到推薦算法的目標函數(shù)中,進行聯(lián)合訓練。通過聯(lián)合學習的方式,推薦模塊能夠對圖嵌入模塊提供反饋,從而更利于實體的特征學習,提升推薦系統(tǒng)的整體性能。文獻[26-27]采用多任務學習的框架,利用知識圖譜嵌入任務來輔助推薦任務構成交替訓練方式。兩個任務通過中間的交叉壓縮單元關聯(lián),明確建模項目和實體特征之間的高階交互,并自動共享潛在特征。通過交叉壓縮單元,項目和實體的表示可以相互補充,進而避免過擬合并提高模型泛化能力。
另一方面,知識圖譜嵌入方法不能充分利用知識圖譜中的高階信息。因此通常需要引入語義信息豐富推薦系統(tǒng)中的項目表示。例如,文獻[28]結合圖嵌入和上下文的單詞表示進行混合推薦,首先基于TransE 和TransH獲得知識圖譜中的實體和關系的結構化表示,然后使用BERT(bidirectional encoder representation from transformers)[64]文本編碼策略獲得實體的語義信息,最后學習基于圖譜和單詞嵌入的用戶和項目的混合表示,并通過預測用戶對項目的興趣來進行合理的推薦。文獻[29]提出融合標簽與知識圖譜的方法,并融合注意力和自注意力機制,通過標簽和實體為物品特征分配混合注意力權重,從而實現(xiàn)推薦準確性的提升。文獻[30]整合知識圖譜與項目共現(xiàn)數(shù)據(jù)(例如item1、item2、co-buy)進行推薦,其中共現(xiàn)數(shù)據(jù)包含了豐富的項目-項目相似性信息,從而彌補知識圖譜中有向關系無法揭示的潛在關系,使得模型HR(hit ratio)@20指標在電影數(shù)據(jù)集上提升3.96%。
路徑實例挖掘方法利用知識圖譜中關系信息連接用戶和目標項目來增強推薦,通常需要手動設置元路徑以便進一步挖掘用戶-項目之間的路徑實例。
2.2.1 基本理論與方法
PER(personalized entity recommendation)模型[31]構建user-item-*-item 的元路徑形式,然后沿著不同的元路徑擴散用戶偏好,為用戶和項目生成潛在特征。文獻[32]提出MG-HIF(multi-graph heterogeneous interaction fusion)模型,融合交互信息和用戶社交網絡,利用元路徑生成多個不同頂點的序列,最后通過互相關方法學習用戶-項目的表示。文獻[33]基于元路徑的隨機游走生成能夠捕獲不同類型節(jié)點之間的語義和結構相關性路徑??紤]到隨機游走策略生成的路徑實例可能帶來干擾信息,MCRec(meta-path based context for recommendation)模型[34]使用基于優(yōu)先級的采樣技術來選擇高質量的路徑實例,并通過SVDFeature(singular value decomposition)[65]在圖上訓練每個節(jié)點的表達,計算當前節(jié)點到下一個候選節(jié)點的相似度作為優(yōu)先度。最后,根據(jù)優(yōu)先度得分對所有候選路徑實例進行排序,在MovieLens 數(shù)據(jù)集上NDCG@10 指標達到0.69,提高了推薦系統(tǒng)的有效性和可解釋性。
知識圖譜中的路徑實例包含用戶-項目之間的遠程語義連接,使得推薦系統(tǒng)具有較強的可解釋性。文獻[35]利用強化學習方法,根據(jù)用戶的歷史偏好信息,有效地推理高質量路徑進行推薦。文獻[36]提出了時間元路徑引導的可解釋推薦,它考慮了用戶在序列感知推薦的全局知識圖譜上行為的動態(tài)性,并通過注意力機制來探索用戶-項目和項目-項目的元路徑進行可解釋的推薦,提高了用戶對推薦結果的滿意程度。
2.2.2 現(xiàn)有挑戰(zhàn)與改進
基于元路徑的推薦算法的性能非常依賴元路徑的質量,因此通常需要借助領域專業(yè)知識進行輔助推薦。此外,每個提取的路徑都是獨立建模的,不能充分利用知識圖譜隱含的結構信息。文獻[37]引入元圖的概念,首先計算元圖引導下用戶和項目之間的相似度,然后利用無監(jiān)督的矩陣分解技術獲得用戶和項目的潛在向量,最后使用因子分解機[14]技術整合從不同元圖中計算出的用戶和項目向量集,從而進行推薦。相較于基于元路徑的HeteRec(heterogeneous information network approach for recommendation)[31]模型,在Yelp數(shù)據(jù)集上均方根誤差下降4.20%。與元路徑方法不同,元圖只需考慮目標用戶和推薦項目,而不限制兩個節(jié)點之間的實體性質,因此在預測過程中加入了更復雜的語義以增強推薦系統(tǒng)的整體性能。
元圖的概念在文獻[38-39]中也被稱為元結構。其中文獻[38]考慮到元結構的數(shù)量隨著其大小和節(jié)點類型的數(shù)量呈指數(shù)增長,因此采用遺傳算法來自動搜索元結構,并設計基于注意力機制的多視圖圖卷積網絡模塊來動態(tài)地融合來自不同元結構的信息。相較于手動設置元路徑的基線模型,利用優(yōu)化后的元結構進行推薦在大多數(shù)評估指標上實現(xiàn)了超過6%的性能提升。
基于知識圖譜高階信息聚合的推薦方法將嵌入的語義信息與知識圖譜中的路徑結合起來,通過多個鄰居豐富用戶和項目的表示。
2.3.1 基本理論與方法
RippleNet 模型[40]認為用戶歷史交互過的項目能夠在一定程度上表示用戶偏好,將用戶歷史興趣集與知識圖譜中的實體對齊,視為KG 中的種子集合,然后沿著KG 鏈接迭代地擴展用戶興趣,捕捉高階語義信息以構建用戶的向量表示。文獻[41]在該模型的基礎上引入注意力機制,使得節(jié)點聚合的過程中更關注相似度高的節(jié)點,得到更準確的用戶向量加權表示,與RippleNet模型相比,在電影、圖書、音樂數(shù)據(jù)集上準確率分別提升1.9%、0.8%和5.8%。
文獻[42]受到圖卷積網絡的啟發(fā),提出了知識圖譜卷積網絡(knowledge graph convolutional networks,KGCN)。具體的,KGCN 首先設計了一種注意力機制用于描述關系對用戶的重要性得分,為給定的用戶識別重要關系信息;隨后,將知識圖譜轉換為用戶特定的加權圖,通過注意力得分加權得到目標項目的鄰域表示;最后,通過傳播和聚合鄰域信息來計算項目節(jié)點的嵌入表示進行推薦。KGCN-LS[43]針對KGCN中容易出現(xiàn)過擬合的問題增加標簽平滑(label smoothness,LS)機制,將標簽平滑度作為附加的正則化來指導學習過程,實現(xiàn)更好的泛化。
CKAN(collaborative knowledge-aware attentive network)模型[44]采用RippleNet 的思想,利用用戶-項目的交互信息為用戶和項目分別構建初始實體集,利用KG聚合高階關系獲得用戶項目的鄰域表示??紤]到初始實體集與用戶和項目有很強的聯(lián)系,用戶和項目最終表示還需要結合初始集的實體表示,特別的,項目表示考慮其實體本身的原始表示。CKAN 采用的傳播策略對交互信息和KG進行編碼,使得用戶和項目的表示都能充分利用兩部分信息,在四個數(shù)據(jù)集上的實驗驗證了比其他基于高階信息聚合模型的優(yōu)越性。
2.3.2 現(xiàn)有挑戰(zhàn)與改進
現(xiàn)有的高階信息聚合方案大多是基于節(jié)點的,即從相鄰節(jié)點收集信息,而不區(qū)分信息來自哪些路徑,因此不足以捕獲關系之間的相互作用。與以上基于節(jié)點聚合的機制不同,KGIN(knowledge graph-based intent network)模型[45]將關系路徑視為一個信息通道,并將每個通道嵌入到一個表示向量中。首先利用KG 關系的注意組合來建立用戶選擇項目的意圖集合,因此目標用戶可以表示為不同意圖的加權和。然后結合相連實體的關系感知信息來生成項目表示。這種表示反映了關系之間的相互作用,并保留了路徑的整體語義。
知識圖譜中的一個實體通常存在于多個三元組中,因此該類方法[19,44]在聚合高階的信息時,隨著跳數(shù)增加,計算量呈指數(shù)型增長。一些模型[40,42]通過固定采樣大小來減少計算開銷,通過隨機選取樣本的方式選擇性聚合鄰域信息。這種采樣方式無法區(qū)分鄰居實體的重要性,此外,將采樣過程和推薦過程分離限制了模型端到端的訓練方式。文獻[66]強調在抽樣過程中關系的重要性,基于關系計算目標項目和鄰居實體的相關性分數(shù),按照相關性得分選擇k個最相關的鄰居實體,并將采樣過程和推薦過程進行聯(lián)合優(yōu)化,因此模型可以正確地選擇有價值的信息進行聚合,在聚合8個鄰居的情況下獲得最佳性能。文獻[46]使用優(yōu)化的圖卷積網絡,去除特征轉換和非線性激活模塊,模型在不影響性能的情況下,時間復雜度優(yōu)化了56%左右。
另一方面,聚合知識圖譜中與推薦無關的信息(稱為噪聲)給模型性能帶來了干擾。AKUPM(attentionenhanced knowledge-aware user preference model)模型[47]為了過濾掉噪聲,利用知識圖譜中用戶的點擊歷史傳播,這樣每個合并的實體都與用戶相關。ATBRG(adaptive target behavior relational graph)模型[5]根據(jù)用戶歷史行為和目標項目進行連接和剪枝操作來提取目標-行為關系圖,所提取的關系子圖自適應地保留連接用戶行為和目標項目的有用信息,推動模型提供更有效的推薦。KGCL(knowledge graph contrastive learning)模型[48]將對比學習方法應用到知識圖譜表示學習中,首先在項目知識圖譜上采用隨機數(shù)據(jù)增強方案生成兩個相關的數(shù)據(jù)視圖,并推導項目在不同視圖上表示的一致性,以反映該項目對噪聲擾動的不變性。在信息聚合模塊中選擇一致性得分越高的項目,則受噪聲影響越小,對用戶真實興趣的建模貢獻越大。類似地,MCCLK(multi-level cross-view contrastive learning)模型[49]將用戶-項目-實體圖拆分為用戶-項目和項目-實體兩個子圖,通過子圖之間以及子圖與全局視圖間的交叉對比學習,在三個數(shù)據(jù)集上相較于最優(yōu)的KGIN 模型[45],AUC指標提升1.61%~3.11%。
為了進一步對比不同方法的性能和復雜度,本節(jié)基于Recbole 框架[67],在MovieLens-100k 數(shù)據(jù)集上對常見的幾種基線模型的實驗結果進行討論。如表2,利用召回率(Recall)和準確率(Precision)對前10項推薦結果進行評估。
表2 常見的幾種基線模型對比Table 2 Comparison of several common baseline models
ItemKNN(itemK-nearest neighbor)[68]是基于k近鄰和項目相似度的傳統(tǒng)協(xié)同過濾方法,將它作為基線模型與基于KG的方法進行對比。從實驗結果來看,大多數(shù)基于KG 的模型在Recall@10 和Precision@10 指標上都能超過傳統(tǒng)的協(xié)同過濾。然而,對知識圖譜中實體信息的學習需要花費額外的時間,尤其是對高階信息進行聚合時,訓練時間呈指數(shù)形式增長。另外,利用知識圖譜嵌入技術的KTUP 模型[22]和MKR(multi-task learning for recommendation)模型[27]的性能提升并不明顯,這是因為模型沒有充分利用知識圖譜的知識,同時知識圖譜中可能存在與推薦無關的干擾信息,而現(xiàn)有模型對噪聲信息的處理缺乏更深入的研究。
相比于利用知識圖譜嵌入的推薦方法,高階信息聚合方法RippleNet[40]、KGCN[42]、KGAT(knowledge graph attention network)[19]、KGIN[45]通過對項目鄰居節(jié)點的聚合,能夠有效地提升推薦性能,尤其是后三者通過注意力機制識別項目周圍實體的重要性,相比于RippleNet模型的隨機選擇鄰居方式更具有優(yōu)勢。
此外,為了探討知識圖譜高階信息對推薦結果的影響,在RippleNet 模型和KGIN 模型上進行對比實驗。RippleNet-2hop中通過將項目周圍的二階實體也進行聚合,從而提高了召回率和準確率。而在KGIN模型中由于實體數(shù)量隨著階數(shù)的增加呈指數(shù)形式增長,同時帶來更多的噪聲信息,不僅耗費更長的訓練時間,模型性能也受到一定影響。在實際應用中,需要同時兼顧模型性能和訓練時間,因此,高階信息聚合的方法通常設置1-2階的信息聚合即可。
雖然利用知識圖譜的推薦系統(tǒng)存在準確性高、可解釋性強等優(yōu)點,但在實際應用時,應結合推薦模型的復雜度和不同算法的性能效果等因素進行模型選擇。為方便研究者對比和選擇模型,如圖3,對三類方法之間的區(qū)別和聯(lián)系進行總結。
圖3 不同類型方法之間的聯(lián)系Fig.3 Connections between different types of methods
CKE(collaborative knowledge base embedding)[17]是一種結合KG、文本和圖像信息,通過KG嵌入任務和推薦任務依次訓練的模型。KTUP[22]、MKR[27]等模型從訓練方式上對模型進行改進,使兩個任務能夠更好地融合。DKN(deep knowledge-aware network)[18]、UGRec(undirected relations for recommendation)[30]、CTK(combining tag and knowledge graph for recommendation)[29]等模型引入額外的信息與KG結合,從而緩解數(shù)據(jù)稀疏問題。DKRL[23]模型使用語義匹配的嵌入方式進行推薦,MSAKR[24]模型將這種嵌入方式和推薦任務統(tǒng)一到多任務學習框架中,增強推薦性能。
PER[31]是基于元路徑的推薦方法,通過元路徑下的隨機游走連接用戶和項目進行推薦,提升推薦結果的可解釋性。為獲取高質量的路徑,McRec[34]模型通過注意力機制進行采樣。PGPR(policy-guided path reasoning)[35]、TMER(temporal meta-path guided explainable recommendation)[36]模型利用強化學習在決策任務中的優(yōu)勢,將強化學習和深度游走策略用在路徑選擇上,進一步提高路徑采樣的效率和質量。GEMS(genetic meta-structure search)[38]和FMG(factorization machines on graph)[39]將元路徑擴展到元圖,避免繁雜的元路徑設置過程,其中GEMS利用遺傳算法在元圖中搜索并優(yōu)化元路徑,實現(xiàn)超過6%的性能收益。
基于高階信息聚合的方法加強了對知識圖譜中高階信息的利用,同時避免了手動設置元路徑操作。RippleNet[40]是較早期的研究,利用KG 中項目屬性和關系捕獲用戶的興趣表示。KGCN[42]、CKAN[44]等模型利用類似思想來豐富目標項目表示。為區(qū)分用戶、項目周圍實體的重要性,KGAT[19]模型引入了注意力機制,但信息聚合的過程中仍引入干擾信息。KGCL[48]、KCAN[50]分別利用對比學習機制和子圖提取方法來緩解KG 中噪聲干擾問題。AKTUP[47]模型沿用RippleNet模型的節(jié)點聚合機制挖掘用戶偏好,該方法缺乏用戶和目標項目之間的路徑連接,KGIN[45]模型從關系路徑聚合的思路進行改進,并細粒度地挖掘用戶與項目交互背后的意圖,提升推薦結果可解釋性。
針對不同類型的推薦算法的優(yōu)點、存在的問題與挑戰(zhàn)以及現(xiàn)有解決方案進行總結。知識圖譜嵌入方法具有靈活性,方便模型在多種場景下的遷移使用。推薦系統(tǒng)的運算速度快,整體效率高,但缺乏對高階信息的利用,實體的表示受限。路徑實例挖掘方法建立用戶-項目之間的路徑連接,增強了推薦結果的可解釋性。但該方法需要手動設置元路徑,同時挖掘出的路徑實例質量嚴重影響最終的推薦結果。高階信息聚合的方法充分結合前兩者的優(yōu)勢,但不可避免地帶來了計算成本過高、噪聲干擾等問題?,F(xiàn)有研究雖然通過固定采樣大小、提取相關子圖等方法進行改善,但效果并不理想,如何設置優(yōu)先級采樣方法進行信息聚合需要進一步探索。
近年來,隨著人工智能技術的不斷發(fā)展,知識圖譜的相關技術成為當下研究的熱點。一系列大規(guī)模的通用知識圖譜,例如DBpedia[69]、Freebase[70]、YAGO[71]等已被廣泛應用。研究者可以通過不同領域的推薦項目與知識圖譜中的實體匹配,從而進行推薦。例如,文獻[72]利用項目標題匹配的方式從公開知識圖譜Freebase[70]中構建Last.FM[73]和Amazon-Book[74]的知識圖譜。
鑒于不同的應用場景存在不同的特點,本文對主要應用場景進行分析,并總結不同領域的相關數(shù)據(jù)集和對應的推薦方案。
電影、音樂、圖書等推薦是最常見的推薦任務?,F(xiàn)有的電影相關數(shù)據(jù)集主要有MovieLens[75]和Douban-Movie[76]兩個數(shù)據(jù)集。音樂推薦可以基于Last.FM[73]實現(xiàn)。圖書相關的數(shù)據(jù)集主要包括Intent Book[17]、DBbook[22]、Amazon-Book[74]、Book-Crossing[77]等。
這類任務的共同特點在于用戶的興趣不會在短時間內發(fā)生變化。因此,如何建模用戶的長期興趣偏好至關重要。傳統(tǒng)的思路通過用戶和項目的歷史交互信息學習用戶興趣。例如,文獻[22]將知識圖譜中關系視為用戶選擇項目的不同原因,但不同關系表示的用戶興趣往往是獨立的,模型缺乏對用戶興趣的內在聯(lián)系進行建模。文獻[45]融合知識圖譜中的不同關系構建用戶的意圖網絡,從而利用不同的意圖加權表示用戶的整體興趣。該方法依賴于用戶項目交互數(shù)據(jù)的豐富監(jiān)督信號,在數(shù)據(jù)稀疏的情況下,用戶偏好建模受限。近年來,會話推薦系統(tǒng)引起了研究者的廣泛關注。會話推薦系統(tǒng)通過自然語言對話學習用戶的興趣偏好,進而為用戶提供高質量的推薦[78]。文獻[79]利用基于知識圖譜的語義融合技術改進會話推薦系統(tǒng)。首先構建了一個面向單詞的概念知識圖譜和一個用于推薦的項目知識圖譜,然后利用圖神經網絡分別學習兩個KG的節(jié)點嵌入,最后利用最大互信息方法[80]彌補兩個KG 的語義差異,從而在項目推薦和話語生成方面獲得更好的性能。
新聞推薦不同于上述幾種常見的推薦任務,通常需要考慮新聞信息的濃縮性和時效性。新聞推薦可以使用Bing-News[18]、MIND(Microsoft news dataset)[81]兩個數(shù)據(jù)集。其中MIND 是由微軟新聞的用戶點擊日志構建的大規(guī)模公開數(shù)據(jù)集,每一篇新聞都有豐富的標題、摘要、正文等文本內容。
新聞文本具有準確簡潔等特點,因此結合知識圖譜的新聞推薦通常需要和自然語言處理技術結合起來生成高質量的文本表示。例如,文獻[51]首先利用知識圖譜注意網絡(KGAT)[19]的思想聚合鄰域信息來豐富知識圖譜中的實體嵌入,然后從文檔中提取實體的位置、頻率、類別等信息用于豐富實體表示,最后在原始文檔表示的指導下利用注意力機制對實體嵌入進行聚合,得到新的文檔向量用于新聞推薦。該模型增強新聞文章的表示能力,從而提升推薦系統(tǒng)準確性。但該模型忽視了新聞的時效性,用戶的興趣可能隨著新聞熱點不斷發(fā)生變化。文獻[82]結合個性化匹配評分和新聞流行度評分對候選新聞進行排名。因此模型能夠同時捕捉到新聞熱點和用戶興趣來緩解個性化新聞推薦的冷啟動和多樣性問題。在真實的應用場景下,由于好奇心理,用戶可能受新聞標題的影響隨意點擊新聞,影響模型對用戶興趣建模。文獻[52]通過知識剪枝操作將與用戶歷史興趣無關的實體刪除,并采用圖注意網絡[83]的思想進行圖卷積,增強具有相關關系的種子實體。因此,可以根據(jù)用戶在長期和短期內的歷史點擊推導出用戶的長期和短期興趣表示。
商品推薦作為另一種特殊的應用場景,需要考慮用戶的需求變化。商品推薦的數(shù)據(jù)集主要來自于電商網站Amazon。此外,文獻[84]利用Alibaba-iFashion[85]進行研究,收集了來自在線購物系統(tǒng)的時尚服裝數(shù)據(jù)。相比于其他推薦場景,商品數(shù)據(jù)集具有數(shù)據(jù)量大和數(shù)據(jù)稀疏的特點。
從實際情況考慮,用戶傾向于短期內購買互補的物品而不是替代品,如圖4,當獲取到用戶購買手機1的信息后,短期內應傾向于推薦互補商品耳機或充電器,而不是另一款相似的手機2。序列化推薦任務將用戶-項目之間的交互信息建模為動態(tài)的序列,從而捕捉用戶的需求變化。文獻[86]通過對基于循環(huán)神經網絡(recurrent neural network,RNN)的推薦方法進行分析和改進,提出混合神經網絡與知識圖譜的序列推薦,相比基于RNN的算法加入KG和注意力機制,雖然提高了推薦的準確率,但需要較長的訓練時間和更昂貴的硬件設備支持。文獻[87]提出一種動態(tài)建模的方式,針對互補商品和替代商品設計兩種不同的時間核函數(shù),從而根據(jù)歷史序列中是否存在同類項目以及所經過的時間來滿足不同時期的推薦需求,然而不同商品(例如生活用品和電子設備)的使用時間存在較大差異,無法使用統(tǒng)一的核函數(shù)進行處理。
圖4 商品推薦示例Fig.4 Illustration of commodity recommendation
POI(point of interest)推薦即興趣點推薦,旨在為用戶推薦可能感興趣的地點,例如餐廳、影院、酒店等[10]。Yelp Challenge[88]數(shù)據(jù)集包含了POI 的種類、位置等信息,以及用戶對歷史去過POI的評論、評分等數(shù)據(jù)。
與商品推薦類似,POI推薦也存在數(shù)據(jù)稀疏和用戶冷啟動問題。此外,POI推薦需要考慮時間因素和位置因素。例如,用戶在中午可能選擇附近的餐廳就餐,而晚上更傾向于去酒店休息。一般情況下,用戶會優(yōu)先考慮附近的興趣點而不是更遠距離的場所。為解決上述問題,文獻[89]設計了一種時間感知的POI嵌入方法,并通過注意力機制動態(tài)地選擇時間信息,從而實現(xiàn)在目標時間點為用戶提供更精準的POI推薦,但該方法忽視了位置因素對用戶選擇的影響。文獻[90]提出融合地理位置影響的區(qū)域感知的POI推薦系統(tǒng),使用語義空間圖來建模POI之間的關系。其中,語義層面同時考慮興趣點的屬性特征和類別相似性,空間層面主要考慮不同POI的地理關系,因此模型能夠捕獲用戶興趣隨地理位置的動態(tài)變化。
現(xiàn)階段推薦系統(tǒng)已被應用到各行各業(yè),從視頻、音樂等娛樂活動,再到餐飲、購物等日常生活[11]。為了方便讀者能夠更全面地了解利用知識圖譜的推薦系統(tǒng)的應用場景,表3對相關文獻和數(shù)據(jù)集進行了概括總結。
表3 不同應用場景的數(shù)據(jù)集Table 3 Datasets for different application scenarios
本文介紹了現(xiàn)有的利用知識圖譜的推薦方法和應用場景。此外,強化學習[35,92]、對比學習[48-49]等先進技術也開始在推薦系統(tǒng)中廣泛應用。下面對利用知識圖譜的推薦系統(tǒng)未來發(fā)展進行展望。
自從知識圖譜概念被提出以來,大規(guī)模的通用知識圖譜正逐漸完善并廣泛應用[69-71]。然而,推薦任務往往面向具體領域,如影視、電商等?,F(xiàn)有推薦系統(tǒng)需要將原始數(shù)據(jù)集中的項目與公開的通用圖譜中的實體進行對齊,從而抽取需要的小規(guī)模知識圖譜。文獻[93]對該過程進行規(guī)范,完成了Last.FM[73]、Amazon-Book[74]、MovieLens[75]三個常用數(shù)據(jù)集與Freebase[70]知識圖譜的連接操作。但從通用知識圖譜中抽取的子圖通常存在大量干擾信息,影響推薦算法的準確性。
為進一步提高推薦性能,領域知識圖譜的構建和應用至關重要。現(xiàn)有的醫(yī)療、金融等領域知識圖譜通常用于搜索問答、業(yè)務管理等需求,無法直接用來完成推薦任務。因此,需要考慮從推薦任務的需求出發(fā),對現(xiàn)有領域圖譜進行剪枝或補全,構建適應具體推薦場景的領域知識圖譜。
利用知識圖譜的推薦系統(tǒng)依賴于稠密的交互信息數(shù)據(jù)和高質量的知識圖譜,兩種數(shù)據(jù)普遍存在干擾噪聲。推薦系統(tǒng)根據(jù)用戶的反饋數(shù)據(jù)建模用戶偏好,由于評分類的顯示數(shù)據(jù)難以獲取,現(xiàn)有模型通常基于隱式反饋數(shù)據(jù)(如購買、瀏覽等)進行建模。用戶容易受到項目的外在特征(如標題、圖片等)欺騙與項目之間產生交互[94],這種隱式交互數(shù)據(jù)并不能反映用戶的真實偏好,甚至降低用戶對推薦系統(tǒng)的信任程度。因此,如何在用戶畫像過程中降低噪聲數(shù)據(jù)的影響值得進一步研究。
知識圖譜中的噪聲信息主要來源于與推薦任務無關的實體和關系。這些信息對用戶和項目的表示存在負面影響,并且為推薦系統(tǒng)帶來額外的計算需求?,F(xiàn)有方法在模型訓練過程中降低噪聲信息權重,但并沒有降低算法的復雜度。如何處理噪聲數(shù)據(jù),減少計算開銷應是未來研究的重要方向。
推薦系統(tǒng)為用戶帶來便利的同時增加了隱私信息泄露的風險。在傳統(tǒng)推薦算法中,用戶的交互數(shù)據(jù)隱私保護已取得一些進展[95]。而部分研究者將用戶行為數(shù)據(jù)和項目屬性結合構建協(xié)同知識圖譜進行推薦,現(xiàn)有研究對于該類數(shù)據(jù)的隱私保護問題關注度較低,尤其是利用知識圖譜進行跨域推薦的過程中,借助源域中的數(shù)據(jù)在目標域中完成推薦任務,容易造成源域隱私信息泄露。
文獻[96]指出現(xiàn)有模型大多數(shù)假設信息可以直接遷移,而忽略了隱私保護問題。因此,如何在隱私保護的基礎上建立利用知識圖譜的推薦系統(tǒng)成為一個緊迫的研究問題。
目前,推薦算法性能大多從準確性進行評估,然而不斷地提高推薦結果的準確性,可能導致“信息繭房”效應。真正好的推薦系統(tǒng)應該同時兼顧多種評估指標。雖然知識圖譜為推薦系統(tǒng)帶來了多樣性、可解釋性等方面性能提升,但現(xiàn)有研究卻很少從這些性能上進行評估。文獻[97]首次將利用知識圖譜的推薦系統(tǒng)與多目標優(yōu)化算法結合,同時優(yōu)化推薦的精度、多樣性和可解釋性,為后續(xù)實驗評估提供新的研究思路。
此外,學術界推薦系統(tǒng)通常更注重用戶的滿意度,而工業(yè)界推薦系統(tǒng)需要兼顧用戶體驗和經濟效益的轉化,使得平臺和用戶都能從推薦系統(tǒng)受益。評估推薦系統(tǒng)的好壞可以從穩(wěn)定性、多樣性、內容新穎性、用戶滿意度、平臺收益等多方面進行。
將知識圖譜作為輔助信息引入到推薦系統(tǒng),不僅能夠有效緩解傳統(tǒng)推薦算法普遍存在的冷啟動、數(shù)據(jù)稀疏問題,同時能夠增強推薦結果的整體性能。本文通過對近年來利用知識圖譜的推薦系統(tǒng)的相關論文進行調研,較為全面地總結了該領域的研究現(xiàn)狀及應用場景,最后討論了未來發(fā)展的幾個研究方向,希望能夠幫助讀者更好地理解該領域的研究工作。