饒子昀 張 毅 劉俊濤 曹萬華
1.武漢數字工程研究所武漢 430205
推薦系統是一種向目標用戶建議可能感興趣物品的軟件工具.隨著網絡與現實信息的爆炸式增長,越來越多的在線服務商為用戶提供商品、音樂、電影等(以下統稱為物品)的推薦服務.推薦系統能夠滿足用戶的個性化需求,為在線服務商帶來巨大商業價值.同時,推薦方法與系統的研究促進了偏好挖掘、大數據處理、決策支持等領域的相關理論和實踐的飛速發展,其學術價值也引起了廣泛的關注.
推薦系統面臨的重要挑戰主要是數據稀疏性問題和冷啟動問題.數據稀疏問題指的是相對于數量龐大的用戶和物品,僅有少量的物品獲得了用戶的評價或者購買,難以據此獲得相似的用戶或相似的物品,使得傳統推薦方法失效了.冷啟動問題指的
是系統由于并不知道新加入用戶的歷史行為,無法給他們推薦物品,同樣新加入的物品也由于沒有被用戶評價或購買過而無法被針對性的推薦.
推薦系統中通常利用附加信息來解決上述問題,以提高性能.附加信息(一般也稱上下文信息)分為顯式信息和隱式信息[1].顯式信息是通過諸如物理設備感知、用戶問詢、用戶主動設定等方式獲取的與用戶、物品相關聯的上下文信息.隱式信息即利用已有數據或周圍環境間接獲取的一些上下文信息,例如可根據用戶與系統的交互日志獲取時間上下文信息.
近年來,利用以知識圖譜為表示形式的附加信息的推薦方法受到了學者們的關注.知識圖譜最初用于提升搜索系統的性能[2],刻畫了海量實體之間的多種關系,具有網狀結構,能夠用于推薦系統中來增強用戶、物品之間聯系的認知與解釋,從而提高推薦準確度.本文綜述了2015~2019年發表在DLRS、RecSys、KDD、CIKM、NIPS、TIST、UMAP、SIGIR 等會議和期刊中的利用知識圖譜的推薦方法的文獻,共23 篇.在利用知識圖譜的推薦系統中,通常首先將收集到的用戶信息、物品信息、用戶歷史行為等數據或者一些相關的外部數據表示成知識圖譜的形式.然后,設計推薦算法,利用知識圖譜生成推薦.此類推薦系統通常包含知識圖譜構建和利用知識圖譜產生推薦兩個環節.本文根據這兩個環節中構建知識圖譜數據的不同來源,以及推薦方法中利用知識圖譜信息的不同形式提出了分類框架,并據此對相關文獻進行了分類綜述,詳情可參見本文第3 節.與本文最為相關的是文獻[3].該文獻綜述了2009~2017年16 篇利用知識圖譜的推薦方法的文獻.本文在綜述的文章數量上超過了文獻[3].此外,本文提出文獻分類框架能夠更好地覆蓋新提出的方法.
本文結構安排如下:第1 節介紹了利用知識圖譜的推薦方法的相關背景知識;第2 節對利用知識圖譜的推薦方法文獻進行分類與綜述;第3 節整理了目前常用的推薦系統數據集和知識圖譜數據集;第4 節和第5 節分別討論了應用知識圖譜的推薦系統的研究難點與發展前景;最后,在第6 節中對全文進行了總結.
本節介紹了推薦方法與系統、知識圖譜等相關領域的背景知識,并對本文涉及的知識圖譜與推薦系統相關術語與概念進行了說明.
推薦系統通用架構流程如圖1所示.推薦系統一方面從用戶處收集用戶信息和歷史行為,挖掘用戶偏好;另一方面,收集和挖掘被推薦物品的信息和特征.然后,建立評價模型,據此對用戶需求信息和物品特征信息進行匹配、篩選,得到用戶可能感興趣的物品.最后,將推薦結果返回給用戶,并根據用戶的反饋,進一步改進推薦結果.

圖1 推薦系統通用架構Fig.1 General architecture of recommendation system
傳統上,推薦系統被分為基于內容的推薦系統、協同過濾推薦系統和混合推薦系統[4].基于內容的推薦系統關注用戶和物品的特征描述.該方法根據用戶與物品的交互歷史(如選擇、購買、瀏覽歷史等)[2],從待推薦物品中選擇特征匹配度高的物品作為推薦結果.這類推薦方法首先挖掘物品的內容特征,再與分析建模得到的用戶偏好進行相似性分析.基于內容的推薦系統優勢[5]在于這類方法往往有比較成熟的數據挖掘、聚類分析方法提供支持,并且對推薦任務相關的領域知識要求低.但這類方法的效果受提取物品特征能力的局限.特別是對圖片、音頻和視頻等物品的信息挖掘、提取特征的方法還需要進一步研究完善.另外,此類方法得到的推薦結果往往局限于同一類或相似的物品,推薦結果缺乏多樣性.此類方法不可避免地面臨新用戶的冷啟動問題.
協同過濾推薦系統的基本思想來源于生活中的日常經驗:人們在挑選物品時,往往受到身邊朋友的選擇影響;另外,人們往往會喜歡與挑選的物品相似、且被其他人高度評價的物品.文獻[5]中指出,協同過濾推薦一般分為三類:基于用戶的方法、基于物品的方法和基于模型的方法.基于用戶的方法為用戶推薦有相似偏好的用戶喜歡的物品;基于物品的方法則是找到與用戶喜歡的物品相似的物品,將其推薦給該用戶;基于模型的方法通過建立一個用戶描述模型來進一步預測評價.協同過濾推薦系統優勢[6-7]在于推薦性能會隨著用戶數量增長而提升,擅長處理特征信息難以挖掘的物品.但也存在新物品帶來的冷啟動問題,并且受到數據稀疏性問題的制約[5].
實際應用中針對具體問題采用推薦策略的組合進行推薦,即混合推薦系統.混合推薦系統組合不同的推薦策略,揚長避短,從而產生更符合用戶需求的推薦.傳統的研究最多的是把基于內容的推薦和協同過濾推薦進行結合[8-11].然而,混合推薦系統也不能避免稀疏性問題和冷啟動問題帶來的影響.
通常知識圖譜被表示為形如(頭實體,關系,尾實體)的三元組集合.在推薦系統應用中,頭實體和尾實體可以是用戶和用戶購買過的物品,也可以是其他與用戶或物品相關的事物,第1.3 節中將對這些概念進行詳細說明.如何根據收集到的數據(或鏈接外部相關數據)構建用于推薦的知識圖譜、如何從知識圖譜中挖掘有助于產生推薦結果的信息,成為應用知識圖譜的推薦系統的重點關注的問題.知識圖譜的關鍵技術主要有知識抽取、知識表示、知識融合和知識推理,本節介紹在推薦系統中應用較多的知識表示和知識推理技術.
1.2.1 知識表示學習
知識圖譜的三元組(頭實體,關系,尾實體)表示形式能夠直觀描述實體與關系的結構,但是不便于計算和分析.因此,需要將知識圖譜中的實體或關系表示為低維向量空間中的向量,即所謂的知識表示學習,也稱為知識圖譜的嵌入.知識表示的結果是推薦系統中后續利用知識圖譜的基礎.文獻[12]較為系統地回顧了現有的知識圖譜嵌入技術.其中,以TransE[13]為基礎的一系列翻譯模型以簡約的參數、較低的計算復雜度和良好的擴展性成為最流行的一類知識表示模型.文獻[14-15]分別介紹了這些模型.
TransE 模型是從一個文獻[16] 中受到啟發,學習實體和關系的向量嵌入的模型.但是該方法難以對1-N,N-1 和N-N關系建模,為此,提出一個TransH 模型[14]用來解決上述問題.TransE 模型和TransH 模型都假設實體和關系嵌入在相同的空間中,而TransR 模型[15]則是將實體和關系投影到不同的空間中,以處理不同的關系關注實體的不同屬性的現象.為進一步細化實體與關系的交互、考慮關系對應的不同語義,文獻[17]和文獻[18]分別提出了TransD 模型和TransG 模型來提升知識表示性能.
1.2.2 知識推理
知識圖譜中存在關系缺失或者屬性缺失的問題.同時由于知識圖譜構建算法錯誤或構建過程中的人為因素,知識圖譜中也存在錯誤的關系或屬性[19].這使得知識圖譜存在一定程度的不完備性和不正確性.為此,有學者提出采用知識推理的方法對知識圖譜進行補全或對其中已有關系和屬性進行甄別.推薦系統中,對用戶是否會購買某個物品的預測可以看做是用戶和物品之間關系的補全,也可以用知識推理的方法來解決.知識推理方法主要分為基于邏輯的推理與基于圖的推理兩種類別[20].基于邏輯的推理通過在知識庫中定義邏輯規則,實現圖譜上新的關系推斷.例如,文獻[21]通過挖掘圖譜鏈接結構中的信息構建邏輯模型.基于圖的推理方法利用關系路徑中蘊涵的信息,來預測它們之間的語義關系,或者預測與給定實體關聯的另一個實體.文獻[22]中將知識補全任務與推薦任務相結合,來推測針對用戶的推薦結果.
本節對本文中用到的知識圖譜與推薦系統的相關概念術語進行闡述和說明.
1)用戶.本文中的用戶是指推薦系統的服務對象.推薦系統中,用戶通常用年齡、性別、職業等個人信息來描述.同時,推薦系統也會收集用戶的歷史行為、社交關系等數據.這些數據和用戶個人信息是推薦系統產生推薦的重要參考.
2)物品.本文將被推薦的對象統稱為物品,被推薦的對象可以是實際的商品,也可以是新聞、音樂、電影等,或者是為用戶提供的某種服務.
3)實體.知識圖譜的基本元素.知識圖譜中的實體通常是指現實世界中事物.實體可以是實際存在的事物,也可以是虛擬的概念.將知識圖譜用于推薦時,實體包含了推薦系統中的用戶和物品,也包含了與用戶和物品相關的事物,例如電影的導演、書籍的作者等.
4)關系.知識圖譜的基本元素,描述了實體之間的關聯關系.參與推薦任務時,關系可以是用戶對物品的偏好、購買、點擊等,也可以是用戶或物品與屬性之間的關系.例如,物品的屬性可以表示為三元組(衣服,顏色,紅色).從知識圖譜的視角看,推薦系統即是要預測“用戶”與“物品”之間可能的購買、點擊、喜好等關系,并根據預測的結果產生推薦.
推薦系統的核心問題是如何從各種信息中挖掘和提取特征,在這個過程中,信息的稀疏性和冷啟動問題制約了推薦系統的效果.知識圖譜作為一種結構化描述客觀世界實體及關系的信息形式,包含豐富的實體間語義關聯,為推薦系統提供了多樣化的輔助信息來源、以及在組織、管理和理解信息方面的幫助,從而有效緩解了推薦任務中的稀疏性問題與冷啟動問題.
具體而言,知識圖譜引入豐富的語義關系,以便推薦系統深層次地發現用戶興趣;此外,知識圖譜中多樣化的關系鏈接,能幫助推薦系統避免過于單一的推薦結果;同時,知識圖譜的三元組結構包含的關系信息幫助提高了推薦結果的可解釋性.
知識圖譜的技術發展還在日漸完善中,在推薦系統中的應用也是一個新興研究領域,因此,目前關于知識圖譜推薦系統的文獻綜述較少.文獻[3]根據推薦過程中知識圖譜的表現形式,將利用知識圖譜的推薦方法分為基于本體的推薦生成、基于開放鏈接數據的推薦生成和基于圖嵌入的推薦生成.基于本體的推薦生成利用對概念的細粒度的分類描述來更加精準的表示實體特征,從而挖掘出事實中蘊含的深層次信息.基于開放鏈接數據的推薦生成將鏈接數據庫中豐富的語義信息融入到現有的方法中,著重考慮用戶偏好、物品屬性之間的相似度.通過利用數據庫中大量相互關聯的數據,更加精細化的衡量物品之間的相似性,挖掘用戶的偏好,最后結合上下文信息生成推薦結果.基于圖嵌入的推薦生成基于隨機游走等算法對圖中節點進行采樣生成節點序列,然后通過神經網絡或者是其他機器學習算法將節點序列以及邊映射到低維向量空間.
本文將近年提出的應用知識圖譜的推薦方法和系統進行了綜合分析,整理了利用知識圖譜的推薦方法和系統的通用流程,提出基于此流程的分類框架.該分類框架依據構建知識圖譜的數據來源將利用知識圖譜的推薦系統和方法分為利用本地數據構建知識圖譜和鏈接外部知識圖譜兩類方法;針對推薦生成過程中利用知識圖譜信息的不同形式將現有方法分為基于向量表示的方法、基于路徑的方法和基于鄰域的方法三類.對現有方法的分類框架如圖2所示,我們在每一類方法后面列出了有代表性的文獻編號.每類方法將在第2.2 節和第2.3 節中詳細介紹.本節的最后整合分類結果,綜合分析了近年研究的貢獻與特點.

圖2 應用知識圖譜的推薦系統分類樹形圖Fig.2 Classification tree diagram of recommendation system using knowledge graph
如圖3所示,應用知識圖譜的推薦系統的流程主要有如下步驟:

圖3 應用知識圖譜的推薦系統框架流程Fig.3 Framework flow of recommendation system using knowledge graph
1)根據推薦任務特點采集數據.數據一般包括用戶信息、物品信息、用戶-物品交互信息(購買、點擊、收藏等歷史行為或評分).
2)根據收集到的數據(或者鏈接外部數據),構
建用于推薦的知識圖譜.
3)設計推薦模型或方法,并利用步驟1)中收集到的數據和步驟2)中構建的知識圖譜訓練和驗證推薦模型或方法.
4)利用訓練好的推薦模型或方法生成推薦,為用戶提供推薦服務.
利用知識圖譜進行推薦生成,首先要構建知識圖譜.按照構建知識圖譜的數據來源,現有方法可以分為鏈接外部知識圖譜和利用本地數據構建知識圖譜兩類方法,本節將對這兩類方法進行詳細介紹.
2.2.1 鏈接外部知識圖譜的推薦方法
外部知識圖譜通常包含了更加豐富的物品信息,以及物品與其他實體之間的關系,這些實體往往是推薦系統中沒有的.鏈接外部知識圖譜的推薦方法將外部知識圖譜作為已有信息的補充,一定程度上緩解了由于數據稀疏和推薦冷啟動帶來的問題,特別是物品冷啟動問題.利用的外部知識圖譜多數是公開的.這些知識圖譜有易于獲得、數據信息豐富、預處理成本低、易對比結果等優點,便于研究人員專注于推薦方法的設計和驗證.
鏈接外部知識圖譜的推薦方法一個關鍵問題是如何將推薦系統收集的數據與外部知識圖譜進行鏈接,即要找到推薦系統中的實體與外部知識圖譜實體之間的對應關系.推薦系統中的用戶通常無法直接與外部知識圖譜中的實體鏈接.現有方法大多是將推薦系統中的物品鏈接到外部知識圖譜.
有些推薦系統中的物品(如電影、書籍等)就是外部知識圖譜中的實體.這類推薦系統只要將物品與外部知識圖譜中的實體按照名稱或屬性進行匹配就能建立兩者的對應關系.文獻[23]和文獻[24]中均通過電影的標題和發行日期將MovieLens-1M與IMDB 數據集鏈接起來.
文獻[25]應用了文獻[26]中所述的兩階段方法(標題匹配和屬性匹配),將每個電影從MovieLens-1M 數據集映射到知識庫中的一個實體.文獻[27]對于Amazon-book 和Last-FM 數據集,通過標題匹配將物品映射到Freebase 實體中,并且忽略物品是頭實體還是尾實體的區別.同時,與僅提供物品的一跳實體的現有知識感知數據集不同,文中還考慮了涉及物品的兩跳鄰居實體的三元組.
文獻[28]通過鏈接MIMIC-III(患者)、Drug-Bank(藥物)和ICD-9 ontology(疾病)三個數據集構建知識圖譜,其中患者、藥物、疾病作為實體,患者-疾病和患者-藥物形成關系.然后將疾病、藥物、患者及其相應關系共同嵌入同一低維空間.文中通過構造患者-疾病二部圖、患者-藥物二部圖來連接MIMIC-III 數據集、ICD-9 ontology 數據集和DrugBank 數據集.為構造患者-疾病二部圖,MIMIC-III 提供了用于診斷的ICD-9 代碼,通過字符串匹配將MIMIC-III 的診斷鏈接到ICD-9 中的本體.為構造患者-藥物二部圖,文中使用實體鏈接方法[29]來解決直接應用字符串匹配時由于MIMICIII 中包含的噪聲字詞(20%,50 ml,玻璃瓶等)導致的名稱鏈接錯誤.
除此之外,一些推薦系統中的物品無法在外部知識圖譜中找到對應的實體,例如一篇新聞報道、一段音樂等.這類推薦系統通常首先從物品的名稱、屬性、描述、評論等中提取實體,然后再進行實體鏈接.
例如文獻[30]首先利用Freesound.org、Songfacts.com、Last.fm 數據集中的標簽和文本描述來提取本地實體.然后使用實體鏈接和消歧工具Babelfy[31]將得到的本地實體鏈接到外部知識圖譜(例如WordNet 和DBpedia)中,從而構建了聲音和音樂兩個知識圖譜.
文獻[32]通過在Microsoft Satori 知識圖譜中尋找新聞標題(數據來源Bing News)中詞語的對應實體.例如,對于新聞標題“新冠肺炎疫情席卷全球”,需要查找單詞“新冠肺炎”在Satori 中對應的實體,即“新型冠狀病毒肺炎(Corona virus disease 2019,COVID-19)”.知識抽取模塊在抽取相應實體及實體在原知識圖譜中的鏈接關系后,基于新聞標題構建子圖譜.
還有一些方法通過構建和鏈接多個子圖來完成知識圖譜的鏈接.文獻[33]中使用MovieLens-20M、Book-Crossing、Last.FM 和Microsoft Satori 為每個數據集構造知識圖譜.首先以大于0.9 的置信度從整個知識圖譜中選擇一個三元組子集,對于給定的子圖譜,收集所有有效的電影/書籍/音樂家的名字對應的Satori ID 來與子集中三元組(頭實體,電影.電影名稱,尾實體)、(頭實體,書籍.書籍標題,尾實體)或(頭實體,類別.物品名稱,尾實體)的尾實體匹配.為簡化步驟,排除有多個匹配或無匹配實體的物品.然后再將物品對應的Satori ID 與子集中三元組的頭部匹配,最后從子集中選擇所有匹配好的三元組作為要應用的數據.
2.2.2 利用本地數據構建知識圖譜的推薦方法
依托于公共知識庫的推薦方法研究不免會受到數據庫結構和信息的制約,影響推薦方法的設計和應用.利用本地數據構建知識圖譜的推薦方法致力于將鏈接知識實體與推薦數據的任務和推薦任務相融合,或者在表示實體的同時挖掘用于推薦系統的有效信息.由于推薦方法不再受到知識庫數據的限制,可以利用知識圖譜的結構特點,更加充分應用知識圖譜相關技術.
利用本地數據構建知識圖譜的推薦方法深入挖掘推薦系統中用戶、物品及其關聯關系等信息,以知識圖譜的形式充實到推薦系統中,進而緩解數據稀疏等問題.此類方法在構建知識圖譜時將用戶、物品、與物品相關的其他事物(如電影的導演、演員、書籍的作者等)直接轉化知識圖譜中的實體.實體之間的關系包括用戶對物品的購買、點擊、評論等,以及物品與相關實體之間的關系,如物品與廠家之間的生產關系、書籍與作者之間的關系等.文獻[27]對于Yelp2018 數據集,從本地業務信息網絡中提取商品知識(例如類別、位置和屬性)作為構建知識圖譜的數據.為了確保知識圖譜的質量,文中通過濾除不常見的實體(這類實體在兩個數據集中數量都少于10 個)并保留至少出現在50 個三元組中的關系來預處理知識圖譜的數據.文獻[34]依據旅游預訂數據集CEM 構建了包含用戶和旅游目的地信息的知識圖譜,其中實體包括用戶類實體和旅游目的地類實體,其中旅游目的地實體包含模式(公民建筑、博物館或海灘···)、種類(大學、劇場···)和所在城市三類屬性.用戶和旅游目的地之間的關系則是根據用戶歷史旅游行為構建.
利用知識圖譜進行推薦生成,是應用知識圖譜的推薦系統的主要特點.本節從基于向量表示的方法、基于路徑的方法和基于鄰域的方法三個方面介紹近期研究中對知識圖譜的利用方式.
2.3.1 基于向量表示的方法
基于向量表示的方法利用知識圖譜表示學習得到的實體/關系向量進行推薦.此類方法的實質是將知識圖譜中包含的附加信息編碼為實體或關系的向量表示.以這些向量表示做為補充來緩解推薦系統的數據稀疏和冷啟動問題.此時,需要設計用戶和物品等實體以及關系的向量表示學習方法,然后根據推薦問題的特點,設計合理的推薦模型.這些模型的輸入即為用戶或物品等實體以及關系的向量表示,輸出通常為用戶對物品的感興趣程度的估計.由于深度學習的興起,近年來文獻中提出的推薦模型通常是深度神經網絡.
1)直接利用現有知識表示學習結果的方法
基于向量表示的方法首先需要獲得知識圖譜中實體和關系的向量表示.最直接的方法是利用TransE、TransD 等已有的知識表示學習方法得到實體或關系的向量表示[28,32,34-36].
文獻[28]針對醫學推薦領域問題提出了稱為安全醫學推薦(Safe medicine recommendation,SMR)的框架,用于解決由于知識圖譜的不完整性引起的推薦系統穩定性問題.SMR 首先通過鏈接MIMIC-III(患者)、DrugBank(藥物)和ICD-9 ontology(疾病)三個數據集構建知識圖譜,其中患者、藥物、疾病作為實體,患者-疾病和患者-藥物形成關系.然后應用能夠將實體編碼到連續向量空間的LINE 模型[37]將疾病、藥物、患者及其相應關系共同嵌入同一低維空間.基于(患者,疾病)向量表示和藥物表示,設計用于前k項最佳藥物推薦的評分函數.數據集MIMIC-III、DrugBank 和ICD-9 ontology上的實驗結果表明SMR 能夠提升推薦結果的準確率.
文獻[32]關注根據用戶對新聞的點擊歷史預測用戶是否會點擊某個候選新聞的問題.由于新聞具有簡潔、時敏、專業性強等特點,一些傳統的推薦方法無法給出足夠準確的推薦結果.該方法利用TransD 模型[17]學習實體的嵌入表示,同時考慮這些實體一跳關系的實體作為上下文實體.其核心部件為知識感知卷積神經網絡(Knowledge-aware convolutional neural network,KCNN).KCNN 將詞(用語料庫或隨機初始化得到嵌入表示)、知識實體、上下文實體的向量表示作為多通道輸入,連續的非線性變換能在卷積過程中保持實體的原始空間關系,得到多通道的詞表示:

其中,n為一個新聞標題中詞的個數,wi為詞向量,ei為wi對應的知識實體向量,為ei的上下文向量.最后通過濾波器對多通道的詞表示處理獲得新聞標題的表示.注意力模塊使用深度神經網絡[38](一個用戶點擊過的某條新聞標題和候選新聞標題的嵌入作為輸入)來計算一個用戶點擊過的某條新聞對于候選新聞的影響力權重,基于權重得到用戶點擊某候選新聞的概率.提出的方法用在從真實的新聞平臺Bing 新聞上搜集2016年10月16日到2017年7月11日的數據進行了驗證.該實驗數據集包含時間戳、用戶ID、新聞鏈接、新聞標題、用戶點擊次數.實驗通過比較AUC(Area under curve)和F1 等評價指標,將文中提出的深度知識感知網絡(Deep knowledge-aware network,DKN)與一些最先進的深度推薦模型相比較,準確率最多提高了10%.DKN 融合了新聞的語義層次和知識層次表示,通過實體和單詞的對齊機制融合了異構信息源,提高捕捉新聞之間隱含關系的表現.
文獻[34]提出了一種基于神經網絡和知識圖譜的推薦方法來預測旅行者的下一個旅行目的地.該方法在真實世界的預訂數據集CEM 上獲取旅客旅游信息,使用TransE 方法對構建的知識圖譜中的用戶實體和旅游地點實體進行向量表示學習,用戶-旅游地點關系根據用戶歷史旅游行為構建,即用戶“旅游過”旅游地點.用戶實體向量、旅游地點實體向量、用戶-旅游地點關系矩陣、用戶統計信息如年齡、國籍等、旅游地點上下文信息作為深度神經網絡的輸入,通過提出的神經網絡模型—深度知識分解機(Deep knowledge factorization machines,DKFM)得到一個旅客下一次選擇某個旅游目的地的概率.知識嵌入信息作為輸入可以有效提高推薦任務的指標表現.
文獻[35]用知識圖譜結合協同過濾信息,提出了一種基于圖嵌入的推薦技術.文中將知識圖譜節點嵌入到二維向量空間中,節點的具體映射將通過實際的圖形嵌入技術來實現,如Fruchterman-Reingold 算法[39]、自組織圖嵌入技術[40]、在Java 通用網絡/圖框架[41]中實現的圖嵌入、Kamada-Kawai 技術[42]等,并通過為每個節點分配的實值坐標來定義節點之間的歐幾里得距離.對于用戶-物品評分,文中選擇從相似用戶的評分出發定義一個用戶對物品的迭代評分函數,評分函數以時間戳升序遍歷已知評分值列表,然后將代表已知評分值的邊添加到知識圖譜中.對冷啟動實例(指該方法無法為其生成達到要求長度的推薦列表)的數量、精度、召回率等指標的評估表明,與通常的協同過濾進行前k項推薦的方法相比提高了性能.
文獻[36]將音樂推薦表述為知識庫補全任務,為單個用戶提供、個性化的音樂推薦.該方法將用戶視為與藝術家/專輯相關的知識庫中的特殊實體,利用知識嵌入算法TransE 得到用戶和物品的向量表示.用如下函數估計用戶u與專輯或藝術家t之間的距離

其中,‖·‖1是L1范數.Eu,ELike,Et分別是用戶u、關系Like、專輯或藝術家t的訓練得到的嵌入表示,通過選擇距離小于定義閾值的那些專輯作為給用戶u推薦的要購買的下一專輯.此推薦系統已順利集成到基于MPD 協議的播放器中,提高了在準確率和MRR(Mean reciprocal rank)指標上的表現.
2)根據推薦問題特點改進現有知識表示學習的方法
除了直接利用已有知識圖譜表示學習方法得到實體或關系的向量表示外,一些方法根據推薦問題的特點,設計了更有針對性的用戶和物品實體嵌入模型[22,43-47].
文獻[22]試圖通過對用戶喜歡某物品的原因建模,提出基于翻譯的推薦模型結合知識補全任務的KTUP(Knowledge-enhanced translation-based user preference)模型,將描述用戶與物品關系的知識圖譜三元組作為用戶-物品關系建模的補充.基礎推薦模型TUP(Translation-based user preference)由兩部分組成:首先在知識圖譜DBpedia 上通過“硬策略”和“軟策略”進行用戶偏好歸納,以了解用戶喜歡某個物品的原因.例如如果用戶觀看了由同一個人執導(關系)的幾部電影(實體),可以推斷出導演關系在用戶做出決定時起著關鍵作用.其中,“硬策略”假設用戶做出決定時只受一種關系的影響.“軟策略”則假設用戶做出決定時受多種關系的影響,這些關系按照影響重要性加權處理.其次在偏好歸納表示的基礎上,定義基于翻譯的損失函數Lp來作為推薦生成的約束


式中,Lk是TransH 的損失函數.文獻[22]還與文獻[25]中的方法進行了對比,分別通過在1-1、1-N、N-1、N-N不同情況下推薦準確率的實驗結果,驗證了理解用戶偏好方面的優勢.
文獻[43]對實體間的交互和實體內的交互建模,提出了注意增強知識感知用戶偏好模型(Attention-enhanced knowledge-aware user preference model,AKUPM),通過結合知識圖中的不同類別實體來推斷用戶的潛在興趣,使用戶-物品間關系更明確,避免知識圖譜中模糊的用戶-物品關系帶來的稀疏性問題.該方法首先利用TransR 方法獲得實體的嵌入向量表示.其中,實體間交互是指當實體被包含在不同的實體集中時,實體不同屬性的重要性差異很大.該方法設計了自注意網絡,以某個用戶點擊過的物品的k階鄰域的物品的向量表示為輸入,該網絡通過學習不同物品對某個用戶的不同重要性來表示實體間的交互.實體內交互是指對于某個用戶,實體在涉及不同關系時可能有不同的特征.實體內的交互通過將實體投影到關系空間中來表示.該方法用知識圖譜三元組的評分函數[15]做為點擊率概率預測函數.在MovieLens-1M和Book-Crossing 上的實驗結果表明AKUPM 在一些評估指標(例如,AUC,準確率(Accuracy,ACC)和召回率(Recall)@K)上取得了高于常用模型的結果.
文獻[44]提出嵌入聯合圖譜查詢的框架用于藥物推薦.聯合邏輯查詢是藥物推薦領域的常見問題,是針對多個實體間邏輯關系的預測(而不是像通常的單個邊預測),通過聯合查詢可以推斷節點集之間子圖關系的存在.例如在一個不完整的生物學知識圖譜上,預測哪些藥物可能對與X和Y兩種疾病有關的蛋白質作用,就需要同時推理所有可能與兩種疾病X和Y癥狀相關的蛋白質.處理聯合邏輯查詢是知識圖譜推理——預測實體之間缺失邊任務的一個挑戰.文中提出的方法首先將知識圖譜中節點嵌入低維空間中,再通過定義的算子將查詢表示為嵌入向量,根據圖結構上的查詢關系訓練算子來優化算子的嵌入準確率.然后使用生成的查詢嵌入來預測節點滿足查詢的可能性.該方法在兩個具有數百萬關系的真實數據集Bio data 和Reddit data 上能夠準確預測藥物-基因-疾病相互作用網絡中的邏輯關系.
文獻[45]考慮物品的不同屬性對用戶偏好的影響,提出了entity2rec 方法.該方法在僅含某一個特定屬性的子圖譜上,通過無監督學習node2vec[48]得到該子圖上實體的面向特定屬性的向量表示.進而提出了計算特定屬性下用戶-物品相關性(參見文獻[45]中第3.2 節).最后,該方法采用排序學習方法,根據不同屬性下用戶-物品相關性,得到全局用戶-物品相關性度量,并據此給出top-N推薦結果.作者將影評數據集MovieLens-1M 與DBpedia 相鏈接,在其上的實驗結果顯示,entity2rec 方法在P@5、P@10、M@P 指標下均優于ItemKNN、SVD、NMF、MostPop 等常用的推薦技術.作者發現依據“反饋”關系產生的推薦結果精度最好.entity2rec 方法允許系統在提供建議時考慮特定屬性(例如推薦具有類似演員的電影),而且允許讓排序學習算法隱式地對屬性進行加權,提高了推薦結果的可理解性和精確度.
文獻[46]通過融合知識圖譜嵌入和推薦任務得到實體的向量表示,提出了多任務特征學習方法
(Multi-task feature learning approachfor knowledge graph enhanced recommendation,MKR).其中的交叉壓縮單元將知識圖譜嵌入任務和推薦任務相關聯,根據推薦系統中物品與知識圖譜中實體之間的交互,得到實體的向量表示.在推薦模塊中,通過交叉壓縮單元得到用戶和物品的特征表示,用于計算用戶對物品的感興趣概率;知識圖譜嵌入模塊根據Microsoft Satori 知識庫通過交叉壓縮單元得到三元組的頭實體和關系的表示,用于計算得分從而預測尾實體.除此外,通過交叉壓縮單元還能調整知識傳播和任務之間關聯的權重,從而優化模型.該方法在MovieLens-1M、Book-Crossing、Last.FM、Bing-News 數據集上優于多個常用推薦方法.
文獻[47]提出了一個貝葉斯框架BEM(Bayes embedding).該方法利用了外部知識圖譜(Freebase 15,FB 15)和用戶歷史行為構成的行為知識圖譜的信息.行為知識圖譜以用戶行為(如購買、引用等)鏈接兩個被同一個用戶執行該行為的物品.BEM 針對推薦任務,通過貝葉斯生成模型橋接結合外部知識圖譜和行為知識圖譜的嵌入(其中前者被視為作為先驗數據,而后者作為觀測數據),優化圖嵌入.文中發現BEM 可以通過整合知識圖譜信息,提高行為知識圖譜的嵌入表示性能,從而改善簡化為“預測用戶實體與物品實體之間關系”的商品推薦任務的結果.事實證明,無論是用于預測實體間未觀察到的邊或是進行內容推薦任務,外部知識圖譜和行為知識圖譜的低維嵌入都很有幫助,兩種類型的圖可以包含相同實體/節點的不同信息和互補信息.但是先前的工作要么集中在知識圖嵌入上,要么集中在行為圖嵌入上,而很少有人以統一的方式考慮這兩者.
隨著圖神經網絡模型研究的深入,也有學者提出將圖神經網絡應用于推薦系統中用戶和物品等實體的向量表示任務.文獻[49]提出帶有標簽平滑度正則化的知識感知圖神經網絡(Knowledge graph neural network-label smoothing,KGNN-LS)來緩解知識圖譜信息挖掘對手動特征工程的依賴問題.該方法首先訓練用戶對關系重要性的評分函數,將知識圖譜轉換為針對特定用戶的加權圖.然后將其輸入到圖神經網絡中,計算針對特定用戶的物品向量表示.為優化歸納偏差,基于標簽平滑度假設[50-51](該假設認為知識圖譜中的相鄰物品可能具有相似的用戶相關標簽/分數)對邊緣權重進行正則化.用戶與物品的預測函數和用于約束權重的標簽平滑模塊共同構成訓練的損失函數.在數據集MovieLens-20M、Book-Crossing、Last.FM 和Dianping-Food上進行的實驗表明,提出的方法優于對比算法,而且在冷啟動場景中也具有出色的性能.
3)將其他非結構化信息與知識圖譜融合的方法
為了提高嵌入表示的準確性,一些文獻提出將知識圖譜中的結構化信息與物品的文字描述、圖像等非結構化信息相融合,得到實體的向量表示,進一步產生推薦.
文獻[25]融合了知識圖譜的結構信息、物品描述的文本信息和物品的視圖信息,提出一種協同聯合學習CKE(Collaborative knowledge base embedding)方法.該方法利用擴展的貝葉斯TransR方法根據知識圖譜結構信息得到實體結構信息向量表示;使用堆疊降噪自編碼器(Stacked denoising autoencoder,SDAE)[52]從物品的文本信息(如書、電影的摘要、簡介等)中得到其文本信息向量表示;利用改進的SDAE 方法處理物品的視圖信息(如書的封面、電影的海報等圖像)得到視圖類信息的向量表示,其中的全連接層替換為卷積層的堆疊卷積自編碼器(Stacked convolutional autoencoder,SCAE).結合上述三種信息的向量表示,構造了用戶興趣概率計算函數.這些信息從不同側面描述了物品特征,對其進行綜合利用可以幫助緩解制約協同過濾性能的數據稀疏問題.與貝葉斯個性化排序(Bayesian personalized ranking,BPR)類似,該方法采用了基于比較對的目標函數.作者在MovieLens-1M 和IntentBooks 上對CKE 進行了驗證和比較.
2.3.2 基于路徑的方法
知識圖譜中的附加信息還可以通過分析其中節點和節點之間的路徑來獲得基于路徑的方法著重考慮用戶與用戶、用戶與物品之間的關聯路徑,基于關系和路徑進行知識圖譜上的推理,預測用戶與物品的匹配度.捕捉用戶偏好路徑、設計路徑傳播挖掘方法從而表示用戶偏好等是推薦系統中這類知識圖譜應用方法的關鍵.與基于向量表示的方法相比,此類方法具有更好的可解釋性.
1)利用知識圖譜中已有路徑的方法
此類方法可以直接利用知識圖譜中已有的路徑,形成實體/路徑的向量表示或設計基于路徑的評分函數,從而優化推薦算法[23,27,53-54].
文獻[23]中的知識圖譜嵌入方法(Recurrent knowledge graph embedding,RKGE),可自動學習實體和實體(實體包含了用戶、電影、與電影相關的屬性實體)之間路徑的語義表示,以表征用戶對物品的偏好.該方法首先在知識圖譜中找到從用戶到物品的路徑,并且按照路徑長度篩選,避免過長路徑帶來的噪聲.其次在由嵌入層和注意控制隱藏層組成的循環網絡中,在嵌入層中對路徑中的每個實體進行向量表示學習,形成路徑表示;在注意控制隱藏層將路徑中某實體前面所有的實體向量信息作為輸入,控制閾值優化下一個實體的向量表示.最后通過顯著性判斷賦予兩個實體之間不同路徑不同的權重,得到實體間的關系預測函數.在基于Movielens-1M 和IMDB 數據集上驗證了提出方法的有效性.
文獻[27]設計了一個知識圖譜注意網絡(Knowledge graph attention network,KGAT),從相似用戶、相似物品屬性之外的角度來處理用戶偏好推薦問題.該方法在考慮知識圖譜的路徑傳播時,盡量沿著不同的關系擴展用戶與物品之間的路徑.該方法主要是為了對用戶和物品之間的多跳關系建模.建立的知識圖譜注意網絡KGAT 包含三層:協同知識圖譜(Collaborative knowledge graph,CKG)嵌入層、注意嵌入傳播層、預測層.CKG 嵌入層采用TransR 方法學習向量表示,注意嵌入傳播層通過實體關聯路徑傳播、知識感知模型構建、信息聚合三個部分,得到用戶、物品的多維向量表示.最后設計用戶對物品的評分函數為神經網絡得到的用戶和物品的向量表示的內積.通過對損失函數的優化學習知識圖譜注意網絡中的參數.該方法的結果與文獻[55]中RippleNet 方法等相比有了顯著的性能提升.
文獻[53]提出了一種可解釋的交互驅動用戶建模(Explainable interaction-driven user modeling,EIUM)算法,該方法除利用了物品的內容信息(如文字描述、圖像等)來緩解數據稀疏問題外,還利用知識圖譜來構建可解釋的順序推薦器.所謂順序推薦是根據用戶的歷史行為序列來預測其當前可能需要的物品[56].該方法首先融合了物品的內容信息和知識圖譜中的結構信息,利用知識圖譜表示學習方法得到物品和關系的向量表示,然后提取用戶-物品對之間的語義路徑,例如和是知識圖譜中用戶user和電影m5之間的兩條不同語義路徑.在交互表示模塊中設計了基于注意力機制的神經網絡,將用戶-物品語義路徑上融合了內容信息和結構信息的實體向量輸入到該網絡中,得到每個語義路徑的向量表示,結合賦權的池化層計算每條路徑的重要性得分.在順序交互建模模塊中,基于物品的表示,定義了表示用戶偏好的預測函數,用來預測用戶選擇某個物品的概率.最后,對兩個模塊的目標函數進行聯合訓練.該方法通過對用戶-物品對之間的語義顯式路徑(而不是隱式嵌入)進行建模,通過賦權的池化層中每條路徑的權重產生推薦結果,使推薦系統能夠按路徑進行解釋.在MovieLens-20M 上進行的大量實驗表明,就準確性和可解釋性而言,該方法在提出順序推薦建議方面具有更好的性能.文中表示將進一步研究將用戶的個人資料和上下文信息與外部知識圖譜結合在一起,以解決冷啟動推薦問題.
文獻[54] 提出的策略引導路徑推理(Policyguided path reasoning,PGPR)方法,將推薦問題轉化為在知識圖譜中尋找以用戶為起點物品為終點的路徑的問題,并據此提供推薦的理由.該問題通過強化學習的方法來解決.核心路徑推理方法是,將用戶向量表示和在定義的評分函數下與用戶評分計算在閾值內的(關系,實體)集合所形成的路徑,基于其路徑推理策略、路徑跳數限制和每一跳的采樣范圍,輸出路徑集合、跳躍概率集合和跳躍獎勵集合.用馬爾科夫決策過程描述實體間的路徑傳播,定義了實體的路徑狀態表示、基于用戶的(關系,實體)對的采樣限制、終點態實體的“軟獎勵”、路徑狀態轉移的概率函數、用于最優化獎勵的隨機策略優化函數,得到針對單個用戶的路徑推理策略.其中基于用戶的(關系,實體)對的剪枝由定義的評分函數進行.在Amazon e-commerce 數據集上取得了出色的結果,且結果能夠展示可解釋的推理過程.
除利用實體間的單條路徑外,一些方法同時挖掘知識圖譜中多條路徑蘊含的信息.例如,文獻[24]利用知識圖譜的連通性來挖掘用戶偏好,提出了知識路徑遞歸網絡(Knowledge-aware path recurrent network,KPRN)模型.該方法重點關注路徑中的順序依存關系和整體語義建模.KPRN 嵌入層將實體、實體類型和指向下一節點的關系三者嵌入向量空間;LSTM(Long short term memory)層按順序對用戶和物品之間的實體和關系語義信息進行編碼,從而生成路徑的表示;最后結合多條路徑表示,計算用戶對物品的評分.其中,定義了一個含超參數的函數來區分用戶和物品之間不同路徑的權重影響,并且展示了用于預測一個用戶評分的三條路徑以表明可解釋性.在MovieLens-1M 和IMDb 上進行了實驗,表現出對協同知識嵌入(Collaborative knowledge base embedding)和神經因子分解(Neural factorization machine)方法性能的提升.
2)挖掘路徑規則的方法
為了獲得更好的可解釋性,一些學者提出挖掘已有路徑中蘊含的推薦規則來產生推薦.此類方法通過挖掘已有路徑中的推薦規則,提高推薦結果的有效性和可解釋性[21,57].這種推薦規則具有普適性,能夠在一定程度上緩解數據稀疏和冷啟動問題.
文獻[21]使用稱為ProPPR 的通用概率邏輯系統研究了提高基于知識圖譜推薦系統性能的三種方法.EntitySim 模型僅使用知識圖譜單一實體-關系路徑鏈接結構構成規則集,進行預測.擴展模型TypeSim 建立在EntitySim 之上,另外模擬了實體類型的流行度和相似性,使用節點的類型信息來優化圖譜路徑.提出的基于圖的潛在因子模型GraphLF結合了潛在因子分解[58]和圖譜優勢,主要規則是潛在因子相似性simLF 的定義:兩個輸入實體X和Y,選取一個維度D,沿著D測量X和Y的值.如果有許多維度D上X和Y的值都很高,那么概率上它們的相似性得分也很高.GraphLF 沿著每個維度分別學習用戶和物品的權重,計算用戶與物品的相關性.三種模型在Yelp2013 和IM100K數據集上與 HeteRecp[59]模型、樸素貝葉斯模型公布的結果進行比較,在Precision@K 結果精度上有大幅提升.在改變數據集密度的情況下進一步實驗,發現在更高密度下,只需圖譜鏈接結構形成規則集就足以提出準確的建議.這表明,稀疏數據集中,知識圖譜是一種很有價值的信息來源,但當對于每個用戶的訓練樣例足夠時,它的效用會降低.這從側面表現出了知識圖譜在推薦系統冷啟動問題中的效用.
文獻[57]提出了一種聯合學習框架,該方法包含規則學習模塊和推薦模塊.規則學習模塊采用隨機游走方法,從知識圖譜中提取物品-物品之間的路徑,進而學習以物品為中心的多跳關系模式,即規則.然后得到物品對的向量表示,其中的每一個元素表示兩個物品之間由某個規則相連的概率.在推薦模塊中提出了結合現有用戶-物品評分預測結果和前述物品對向量表示的評分函數框架.規則學習和推薦模塊的目標函數加權求和后得到多任務學習的目標函數,對該目標函數優化后即可產生推薦結果.得到的規則權重可用于解釋推薦結果.該方法將基于矩陣分解的方法(Bayesian personalized ranking matrix factorization,BPRMF)和基于深度學習的方法(Neural collaborative filtering,NCF)集成到提出的評分函數框架中,作者將Amazon Cellphone 和Amazon Electronic 數據集與公開的知識圖譜Freebase 和DBPedia 相鏈接,在其中對提出的方法進行了驗證.
2.3.3 基于鄰域的方法
知識圖譜結構的復雜性導致單一路徑的挖掘往往不能充分利用實體間的復雜關聯關系.因此,一些推薦方法利用用戶或物品在知識圖譜中的鄰接實體來挖掘更多特征,以更充分地利用知識圖譜中的附加信息.將知識圖譜結構以中心-鄰域的方式考量,能夠充分發揮知識圖譜網狀結構的優勢,其向量形式也便于對用戶或關系進行數值建模,從而產生推薦.高效利用知識圖譜的鄰域結構信息是這類方法研究的關鍵.此類方法通常可以分為物品為中心的方法和以用戶為中心的方法.
1)以物品為中心的鄰域方法
文獻[33]考慮了物品為中心的知識圖譜鄰域信息,設計了端到端框架知識圖譜卷積網絡(Knowledge graph convolutional networks,KGCN).該方法通過在知識圖譜上挖掘物品的相關屬性來有效地捕獲物品間相關性,相關而不是孤立的物品信息可以減輕數據稀疏性問題帶來的影響.在每一層KGCN 上,首先將用戶-物品關聯矩陣和描述物品屬性信息的知識圖譜作為輸入,再從知識圖譜的每個實體鄰居實體中抽樣形成物品的“感受域”,然后將鄰域實體表示與實體之間的表示偏差結合形成特定物品實體的表示.擴展“感受域”到多跳實體可以得到高階鄰居信息,推理出用戶潛在的遠期興趣.基于高階鄰居信息和物品實體的表示設計用戶評分函數.在MovieLens-20M、Book-Crossing、Last.FM三個數據集上的實驗結果優于同期優秀推薦方法.
2)以用戶為中心的鄰域方法
文獻[55]挖掘以用戶為中心的鄰域信息,以提供個性化的推薦.提出的RippleNet 首先將一個用戶點擊過的物品作為網絡的“種子節點”,然后將種子節點作為頭實體的三元組形成第一環“漣漪集”,其中的尾實體就是第一環的“漣漪實體”.以此類推,可以得到H 環的“漣漪集”.在每一環根據該環遵循的關系、頭實體向量表示構建激勵函數,在尾實體上作用,從而得到這一環的用戶表示,所有環的用戶向量表示相加形成一個用戶的向量表示,從而完成用戶建模過程.用戶向量與用戶-物品關聯矩陣作為RippleNet 的輸入,訓練參數后得到用戶和物品關聯概率(也即用戶點擊某物品概率)的預測.在MovieLens-1M、Book-Crossing、Bing-News數據集上采用Precision@K、Recall@K、F1@K 指標評價的實驗中,RippleNet 相比其他推薦方法表現出顯著優勢.
在本文第2.2 節和第2.3 節對近年文獻的綜述基礎上,本節主要依據圖2 對上述研究進行進一步的分析:
1)就推薦系統中知識圖譜的來源而言,由于公共知識圖譜數據集便于獲取,現有方法中選擇鏈接公共知識庫的較多.
2)在知識圖譜利用方式上,基于向量表示的方法更受關注.因為向量學習和向量計算方面的各類算法已經較為成熟,便于結合知識圖譜進行推薦的生成.
3)基于路徑和基于鄰域來挖掘知識圖譜信息的推薦方法是有待繼續發展研究的方向,理論研究和算法設計都不夠完善.
本文綜述的文獻中涉及的數據集有推薦系統數據、外部知識圖譜數據和將推薦數據和知識圖譜鏈接后的完整數據.下面分別對這些數據進行簡要介紹.
推薦系統數據集目前較為豐富,本文涉及文獻中用到的數據集主要有MovieLens、Book-Crossings、Last.FM、Yelp、Bing News、Drug interactions、IntentBooks、ICD-9 ontology、Freesound、MIMIC-III、CEM、Amazon-book、Amazon e-commerce datasets collection、All Music Guide、Alibaba Taobao.表1列出了這些數據集的主要信息.

表1 主要推薦系統數據集信息Table 1 Main recommendation system datasets information
推薦系統中鏈接的外部知識庫數據集主要有:DBpedia、Wikidata、Freebase、YAGO,其中包含大量半結構化、非結構化數據.下面分別詳細介紹.
1)DBpedia
DBpedia[62]是一個多語言綜合型知識庫,由德國萊比錫大學和曼海姆大學科研人員創建,從維基百科中抽取結構化信息,以關聯數據的形式發布.DBpedia 的數據來源覆蓋范圍廣闊,包含了眾多領域實體信息.DBpedia 2014 版的資料集具有超過458 萬實體,包括144.5 萬人、73.5 萬個地點、12.3萬張唱片、8.7 萬部電影、1.9 萬種電腦游戲、24.1 萬個組織、25.1 萬種物種和6 000 個疾病.它不僅被BBC、路透社、紐約時報所采用,也是Google、Yahoo 等搜尋引擎檢索的對象.DBpedia 還能夠自動同步維基百科.
2)Wikidata
Wikidata[63]是有超過4 600 萬個數據項的維基數據庫(2018年),為維基百科、維基共享資源以及其他的維基媒體物品提供支持,也是Wikipedia、Wikivoyage、Wikisource 中結構化數據的中央存儲器,并支持免費使用.Wikidata 可以被用戶和機器閱讀和編輯,包含豐富的數據類型(文本、圖像、數量、坐標、地理形狀、日期等),使用SPARQL 查詢.Wikidata 的數據主要以文檔的形式進行存儲,每個文檔都有一個主題或一個管理頁面,并被唯一的標識符標記.
3)Freebase
Freebase 知識庫[64]由美國軟件公司Metaweb開發,于2007年3月公開.它整合了包括部分私人wiki 站點在內的許多網上資源內容,主要來自其社區成員的貢獻.其中一部分數據來源于維基百科、IMDB、Flickr 等網站或語料庫.Freebase 的結構分為三層:Domain →Type →Topic.Freebase2014版包含了6 800 萬個實體,10 億條關系信息,超過24 億條事實三元組信息.Freebase 具有查詢簡單便捷的特點,在2015年6月整體移入WikiData.
4)YAGO
YAGO[65]由德國馬普研究所研制,主要集成了來自Wikipedia、WordNet 和GeoNames 的數據.YAGO 融合集成了WordNet 的詞匯定義和Wikipedia 的分類體系,使得YAGO 實體分類體系更加豐富,同時還考慮了時間和空間知識,為許多知識條目添加了時空維度的屬性描述.目前YAGO 包含1.2 億條三元組知識,是IBM Watson 的后端知識庫之一.
5)ICD-92(國際疾病分類第9 版)
包含13 000 條診斷的國際標準代碼及之間的關系.
6)DrugBank
是由醫學相關實體組成的生物信息學/化學信息學數據庫.版本3 包含8 054 種藥物,4 038 個其他相關實體(例如蛋白質或藥物靶標)和21 種關系.
為了便于開展研究,一些學者將推薦數據中的物品和知識圖譜中的實體建立連接后形成完整的數據集.這種數據集能夠直接用于基于知識圖譜的推薦算法產生推薦結果.
文獻[66]提供了一個用于推薦系統的公共鏈接知識庫(Knowledge base,KB)數據KB4Rec v1.0.該數據集將三個推薦系統廣泛使用的數據集Movielens(電影)、Last.FM(音樂)和Amazon Book(書籍)與知識庫Freebase 建立鏈接.建立鏈接時將物品標題作為關鍵詞檢索知識庫中的實體,如果沒有返回具有相同標題的實體,則認為相關推薦數據集中的項目在鏈接過程中被拒絕;如果返回至少一個具有相同標題的KB 實體,則進一步用輔助信息作為精確約束以準確鏈接(例如IMDB ID、藝術家姓名和作家姓名分別用于電影,音樂和書籍三個領域).在鏈接過程中,處理了會影響字符串匹配算法結果的問題,例如小寫,縮寫等.對于MovieLens-20M,LFM-1b 和Amazon book 分別找到了25 982、1 254 923 和109 671 個鏈接ID 對.文獻[66]還發現物品流行度越高,越有可能在知識庫中成功鏈接;物品越新穎,即發布時間越晚,鏈接比率越低.
應用知識圖譜的推薦系統是一個充滿挑戰的研究方向,面臨如下研究難點:
1)數據集制約
較完整地構建一個完整、準確、實用的知識圖譜是一項艱巨且復雜的工程.因此,當前應用知識圖譜的推薦系統絕大多數采用已公開的知識圖譜數據集和推薦系統數據集(如第2 節中介紹).公開的數據集方便了各種方法的效用評價與比較,但同時也對方法設計造成了一定程度上的限制和影響.例如,現行的知識圖譜多為描述用戶-偏好-物品或者物品-屬性的數據集,有利于基于內容的推薦方法和基于物品的協同過濾推薦,但基于用戶的協同過濾推薦面臨稀疏性問題.此外,用戶與物品之間的關聯在數據集中的體現往往較為單一,給進一步細化關系推理的方法設計造成了一些困難.
2)數據稀疏和冷啟動問題
推薦系統大多面臨數據稀疏和冷啟動問題.知識圖譜的加入為用戶和物品提供了更多的描述信息,一定程度上緩解了數據稀疏和冷啟動問題.但是,知識圖譜本身也是非常稀疏的,知識圖譜中的關系數量相對于實體數量非常少.同時,知識圖譜也存在冷啟動問題,不容易完整地獲得新加入的實體與已有實體之間的關系.知識圖譜的這些特點使得應用知識圖譜的推薦系統同樣面臨數據稀疏和冷啟動問題.其中,用戶和物品與知識圖譜中的其他實體往往關系稀疏.同時,新用戶和新物品等新加入的實體難以與已有的知識圖譜中的實體建立鏈接.
3)推薦規則單一
應用知識圖譜的推薦系統在推薦建模中所依據的推薦規則往往是知識圖譜中物品相似的特征、推薦系統中用戶相似的評價、時空距離上相近的信息(例如新聞推薦、旅游推薦中考慮時效性)等.現實中用戶的選擇往往受到更多復雜因素的影響,而且不同類型的推薦任務中,推薦生成的因素可能有差異.例如電子商務推薦任務中,用戶購買過耐用型產品后,短期內按照物品特征相似規則給出推薦結果,未必得到用戶的積極反饋;而旅游推薦或者求職推薦任務中,特征相似的物品推薦較符合用戶的選擇心理.在充分利用知識圖譜技術的同時,結合推薦任務情景知識,能夠提高模型性能和結果表現.
4)網絡社交信息
隨著在線社交網絡成為現代生活的重要組成部分,網絡用戶的交互信息成為生成推薦的重要參考.例如文獻[67]將社交網絡信息應用于汽車推薦領域.文獻[68]則提出了基于信任關系傳遞的推薦模型.在社交網絡中除了上述信任關系外,還包含了用戶之間的其他關系,例如朋友關系、敵對關系、不信任關系等.此外社交網絡中的用戶影響力、交互頻率、交互對象和各類隱性反饋都極具參考價值.如何應用知識圖譜技術將社交網絡中的多種信息進行統一表示并綜合利用是一個難點問題,解決此問題有望進一步提高推薦的效率和準確率.
5)隱私安全
信息安全逐漸成為上至國家、企業,下至團體、個人都非常關注的問題.隨著知識圖譜信息收集和傳播成本的下降帶來的個人隱私的泄露,用戶的個人信息保護意識在增強.推薦系統所相關的知識圖譜記錄、收集用戶信息和行為數據的難度在增加,如何安全收集記錄更多可信的用戶數據,從而突破已有數據集的制約、緩解稀疏性和冷啟動問題也成為一個關注點.
應用知識圖譜的推薦方法和系統是推薦系統領域的一個新興方向.目前來看,應用知識圖譜的推薦方法和系統在未來的研究中有如下幾個潛在的方向:
1)知識圖譜應用多樣化
應用知識圖譜的推薦系統中,知識圖譜多作為上下文信息的補充,使得用戶偏好和物品特征挖掘環節能夠得到更多有價值信息.隨著知識圖譜技術的發展,將推薦任務結合到知識推理過程中的推薦方法嶄露頭角,知識圖譜與推薦模型之間不再是簡單的輔助關系.有效利用知識圖譜多樣性信息,將推薦任務與知識圖譜中的知識抽取、知識表示、知識融合和知識推理結合,極有可能成為應用知識圖譜的推薦系統的研究方向之一.
2)圖神經網絡的應用
圖神經網絡(Graph neural network,GNN)是最近興起的深度學習模型,此類模型能夠很好地利用知識圖譜的圖結構.在知識圖譜的表示學習、關系抽取、補全與擴展、知識推理等任務中利用圖生成、圖編碼或圖神經網絡等技術,可以精確捕獲許多種要結構特征信息,有助于更準確地預測用戶、物品在知識圖譜中的關聯關系.探索圖神經網絡等圖模型在知識圖譜上應用,提高推薦的準確性、可解釋性,緩解稀疏性和冷啟動問題,將成為今后的研究熱點.
3)直接利用現有知識表示學習結果的方法
將用戶的歷史行為構建為知識圖譜,有助于挖掘學習用戶選擇物品因果關系,進而提高推薦結果的可解釋性.通過訓練模型學習和理解用戶-物品的“配對原因”,推薦系統就如同能夠“讀心”.如何提高推薦系統對推理規則的感知,甚至對推理規則的自動拓展學習,都可能成為今后推薦系統設計的關鍵技術.
4)知識圖譜的演化與用戶偏好變化的聯合利用
用于推薦生成的相關知識會隨著時間、空間發生變化.相應的,知識圖譜中的關聯關系也會發生變化.同時,用戶的偏好也會隨著時間發生改變.例如,某些偏好可能出現周期性變化規律.知識的演化與用戶偏好隨時間的改變是否有某種同步關系? 兩者變化的規律是什么? 如何利用這些變化和規律指導推薦方法和系統的設計? 回答這些問題需要將知識演化與用戶偏好的變化相結合,開展更深入的研究.
本文綜述了2015~2019年發表在DLRS、RecSys、KDD、CIKM、NIPS、TIST、UMAP、SIGIR 等會議和期刊中的利用知識圖譜的推薦方法的文獻.本文根據此類推薦方法中知識圖譜構建和利用知識圖譜產生推薦兩個環節中構建知識圖譜數據的不同來源、推薦方法中利用知識圖譜信息的不同形式提出了分類框架,對相關文獻進行了分類綜述.最后,本文分析和總結了當前利用知識圖譜的推薦方法和系統的研究難點,提出了基于圖神經網絡的方法、考慮因果關系的推薦方法等有價值的研究方向.未來,我們將進一步研究近年的這些利用知識圖譜的推薦方法在表1 中所整理的benchmark 數據集上的表現結果對比,以更全面地探討這些方法的優勢與特點.
隨著知識表示、知識推理等知識圖譜關鍵技術研究的深入,知識圖譜在推薦系統將獲得更廣泛的應用,利用知識圖譜的推薦方法和系統的研究也將獲得更多關注.