常亮,張偉濤,古天龍,孫文平,賓辰忠
(桂林電子科技大學 廣西可信軟件重點實驗室,廣西 桂林 541004)
移聯動互網、人工智能等技術的迅速發展為人們的工作生活帶來了很多便利,但是同時也帶來了信息過載問題[1]。搜索引擎和推薦系統是解決信息過載的代表技術。傳統的搜索引擎在本質上來講是幫助用戶過濾和篩選信息,這種方式滿足了大多數人的需求,但沒有提供個性化的服務。相對于傳統搜索引擎來說,推薦系統可以兼顧個性化需求和解決信息過載問題。推薦系統是信息過濾系統的一個子集,目的在于根據用戶的喜好、習慣、個性化需求以及商品的特性來預測用戶對商品的喜好,為用戶推薦最合適的商品,幫助用戶快速地做出決策,提高用戶滿意度[2]。推薦系統的價值在于能夠提供盡量合適的選擇或者是推薦而不需要用戶明確提供他們所想要的內容。隨著大數據時代的到來,傳統推薦系統在挖掘數據價值上存在的問題正在限制其性能發揮[3]。知識圖譜的出現為大數據環境下的推薦系統設計提供了一種有效途徑。
2012年5月17日谷歌正式提出了“知識圖譜”這個術語[4]。知識圖譜旨在描述真實世界中存在的各種實體或概念,以及他們之間的關聯關系。其中,每個實體或概念用一個全局唯一確定的ID來標識,每個屬性-值對用來刻畫實體的內在屬性,而關系用來連接兩個實體,刻畫它們之間的關聯。知識圖譜可以融合多種數據源豐富數據語義信息,并且可以結合推理得到的隱含信息為用戶提供服務。隨著信息檢索、智慧城市[5]等應用領域的發展要求,將知識圖譜應用于這些領域以提高用戶體驗和系統性能,成為學術界和工業界關注的熱點。
在推薦系統領域,人們關注的往往是用戶與項目之間的聯系,缺少對用戶與用戶、項目與項目等之間的相互聯系的考慮?;谥R圖譜的推薦系統通過將用戶與用戶、用戶與項目以及項目與項目之間相互連接起來,增強數據的語義信息以進一步提高推薦準確度,具有重要的研究意義和實用價值,逐漸成為推薦系統研究領域最為活躍的分支之一。
隨著互聯網上信息的爆發式增長,對于多源異構數據的挖掘是推薦系統中的關鍵問題。知識圖譜的提出為推薦系統中多源異構數據的整合處理帶來了新的契機,而基于知識圖譜的推薦系統也作為一個新的研究領域被人們所關注。
知識圖譜的提出最初是為了優化搜索引擎,將數據組織成相互鏈接并且對于其中的每個實體都富含屬性標簽,實體間存在多種關系,以此來實現搜索引擎的優化[6]。在對其進行深入研究后,了解到知識圖譜的應用不局限于搜索,在諸如智能問答、推薦系統以及金融詐騙領域均有涉獵[7]。
基于知識圖譜的推薦系統主要是利用知識圖譜對多源異構數據的整合性,可以對大數據環境下互聯網上的數據進行知識抽取[8],得到更加細粒度的用戶和項目的特征信息,從而更精準的計算用戶與用戶、用戶與項目以及項目與項目之間的相關性,最后為用戶做出推薦。
該推薦有3個組成要素:用戶知識圖譜、項目知識圖譜、推薦方法。在此基礎上,我們給出了基于知識圖譜的一個推薦系統模型,如圖1所示。該模型分為客戶端和服務器端,客戶端收集用戶的原始數據(包括瀏覽數據、上下文數據如時間、用戶狀態等)上傳至服務器端進行處理。服務器端一方面從各個垂直網站及百科網站中進行相關數據搜集,構建項目知識圖譜;另一方面,對用戶偏好進行獲取,建立用戶知識圖譜;此外,通過分析推理的方法獲取上下文信息,利用GPS定位來獲取當前用戶地理位置信息等。最后,綜合上述信息,通過推薦產生器向目標用戶推送其感興趣的項目,并基于用戶反饋對推薦性能進行評估,進一步調整推薦產生器,以適應用戶偏好。

圖1 基于知識圖譜的推薦系統總體框架Fig.1 The overall framework of recommender system based on knowledge graph
對于已給出的基于知識圖譜推薦系統整體框架,首先在文獻中對該推薦系統進行較為全面的考察,然后圍繞該框架對該推薦系統的關鍵技術進行分析。在對基于知識圖譜的應用情況進行總結的基礎上,對基于知識圖譜的推薦系統面臨的重點和難點問題進行討論。
依據推薦過程中知識圖譜表現形式,本文將文獻中的基于知識圖譜的推薦方法大致分為兩大類:基于本體的推薦生成、基于開放鏈接數據(linked open data,LOD)的推薦生成。此外,鑒于近年來將知識圖譜嵌入低維向量空間的方法在推薦領域扮演的角色越來越重,本節將基于圖嵌入的推薦生成單獨作為一類來考察。
本體[9]作為知識圖譜的一種體現形式,強調的是概念之間的層級關系,有邏輯學和語義學的基礎,支持簡單的自動推理?;诒倔w的推薦生成的主要思路是:利用本體中細粒度的對概念層級關系的描述,通過對概念的細粒度的分類描述來更加精準的對實體特征進行表示,從而挖掘出事實中蘊含的深層次信息。融入現有的基于內容的推薦[10]、基于協同過濾的推薦方法[11]中。最后結合用戶當前的上下文信息生成推薦[12]。
Niaraki等[13]較早地提出基于本體的推薦系統。以用戶模型和上下文模型為基礎構建本體知識庫,基于本體中概念的層級關系采用多準則決策來擴展以用戶為中心的路線規劃建模技術,最后通過比較判斷過程和一致性指標對相關概念進行加權,確定用戶和上下文模型來滿足用戶的需求。將用戶和環境結合起來,基于本體中概念的層級關系,提供以用戶為中心的路線規劃,克服了標準建模不足的缺點,提高了系統推薦路線的準確率。與此類似,Dodwad等[14]也是基于本體的層次結構對概念進行加權,更加細粒度的分析用戶的偏好。Saraswathib等[15]則針對求職者在工作門戶網站的海量數據面前無法快速的篩選工作,動態地構建本體,通過重排序和相似度算法為用戶推薦職位。
除了上述基于本體的層次結構以及概念之間的邏輯關系進行推薦之外,還有研究人員基于傳統的推薦算法結合本體完成推薦任務。
Moreno等[16]完成基于本體和協同過濾的混合推薦系統SigTur/E-Destination。首先,基于人口特征、旅游景點及路線信息構建旅游本體。在新用戶訪問系統時,利用調查問卷中用戶信息進行特征抽取,與旅游本體中人物特征關聯進行用戶建模?;谟脩襞d趣權重及用戶特征信息計算用戶的興趣度(S)及置信度(CL),得到一個推薦列表。然后,基于用戶評分、交互行為等,利用基于內容和協同過濾技術對信息進行過濾,通過Pearson回歸算法進行相似度排序,進而得出推薦列表。最終結合GIS定位系統再次過濾,并使用ICEfaces框架實時更新推薦列表。為了驗證推薦的準確率,作者將推薦結果與用戶反饋進行比對,結果表明,90%以上用戶認為該系統推薦較為準確。
總體來看,基于本體的推薦生成技術的優點在于:能夠細粒度化概念之間的上下文關系,增強數據之間的關聯性,可以更加細粒度的分析用戶的偏好。缺點在于:本體的構建費時,因為現階段主要還是通過手工構建,在某些特定領域需要專家的參與?;诒倔w的推薦的范圍過窄,因為通用的大規模本體少,大多數本體只針對某個具體應用領域構建。此外在實際應用中不同本體之間映射、擴充與合并處理等操作復雜,現實的知識體系變化時先前構建的本體必須作相應的演化保持一致性,導致更新困難。新用戶問題,當一個新用戶訪問系統時,由于沒有他的行為數據,所以也無法根據他的歷史行為預測其興趣,從而無法借此給他做個性化推薦。針對上述問題,可以從以下方向進一步研究:應用深度學習等相關方法半自動甚至自動地構建本體,加快本體的構建過程。對具體的應用可適當地擴大通用的、適用范圍更廣的本體,豐富本體的語義,增強本體間的聯系。還可以增加對特征的描述,同時對特征描述進行推理,從而得出事實中蘊含的結論并將其應用于推薦,以此來及時地更新推薦,使推薦更具多樣化。新用戶的問題可以利用用戶注冊時提供的年齡、性別等數據做進行粒度的個性化。借助用戶的社交網絡賬號登錄(需要用戶授權),導入用戶在社交網站上的好友信息,然后給用戶推薦其好友喜歡的物品。此外還可以要求用戶在登錄時對一些物品進行反饋,收集用戶對這些物品的興趣信息,再給用戶推薦那些和這些物品相似的物品。
基于LOD的推薦生成技術主要思路是:將鏈接數據庫中豐富的語義信息融入到現有的方法中,著重考慮用戶偏好、項目之間屬性相似度。通過利用LOD中大量相互關聯的數據,更加精細化的衡量資源之間的相似性,挖掘用戶的偏好,最后結合上下文信息生成推薦結果。因此在引入LOD之后,語義相似度的計算成為關鍵所在。目前,語義相似計算的方法主要包括鏈接數據語義距離(linked data semantic distance)、基于隱式語義反饋的路徑算法(SPrank)等。
Passant等[17]較早地提出將LOD引入到推薦系統中。他認為用戶的評分信息并不能充分地反映用戶的偏好,還應該關注歷史數據的語義信息,從而提出將鏈接開放數據庫DBpedia引入到音樂推薦中,計算知識庫中資源的語義距離來完成推薦任務。首先將已有的音樂數據集利用SPARQL語句映射到DBpedia中以獲取音樂資源更為豐富的屬性信息。然后基于LDSD過濾無用的屬性-值及錯誤信息。最后利用LDSD計算出相關實體的語義距離并利用SPARQL語句查詢呈現出來。系統的優點在于不需要依靠傳統的推薦算法只需一組公開的數據集就可以實現推薦,但是對新用戶的問題沒有提及,只是對現有用戶數據分析做出推薦。
Noia等[18]提出利用LOD語義豐富的特點來提高基于內容的電影推薦系統的準確率。首先利用SPARQL語句將DBpedia、LinkedMDB、Freebase中電影相關RDF數據抽取出來用于對知識庫中資源進行更加詳細的描述,并通過向量空間模型(VSM)來計算資源之間的相似性,項目mi和mj的相似性可以標識為式中: wn,i,p表示根據TF-IDF所得到的權重,TF為具有p屬性的節點n的頻率,IDF為電影總數與鏈接到資源n的電影數量之間比率的對數。然后根據用戶的評分記錄為用戶建模,用戶u可以建模為


最后通過公式計算得分為用戶進行top-N推薦:

Noia等[19]總結了ESWC2014年利用LOD實現書籍推薦系統的相關算法。其中推薦的任務主要包括3部分:冷啟動環境下的評分預測、基于用戶反饋做top-N推薦、基于內容的推薦系統的多樣性。主要簡述數據集的特征以及推薦效果最佳的方法。數據集是利用SPARQL語句處理DB-pedia獲取實驗所需信息,數據格式為userID、itemID、score。推薦效果最佳的算法是hello-World(一個混合策略的利用LOD的推薦系統),考慮數據集中書籍的類型、層級分類、作者信息等,利用基于內容的方法進行推薦,基于余弦相似度進行基于協同過濾的推薦,利用Wikidata中數據的鏈入鏈出進行基于流行度的推薦。最后通過準確率、召回率以及均方根誤差的計算來評判推薦的準確性。
Lu 等[20]將利用 DBpedia、Geonames和Wikidata中的數據構建了關于全世界的旅游知識圖譜。包含1 200多個景點類型,從而可以在很細的語義粒度上對景點進行刻畫。通過categories來表示用戶的興趣,并且為用戶在每類category上的興趣度賦予一個得分值。一般采用兩種方式:frequency-based和time-based。前者根據用戶訪問某類景點的頻率/次數來計算得分值。后者根據用戶在某類景點所待的時間長短來計算分值。文獻[20]在這兩種情況的基礎上,在計算分值時,把各個景點在所位于的城市中的影響力也考慮進去。例如,如果A和B都是casino類型的景點;A所位于的城市以casino類型的景點聞名于世,但B所位于的城市卻不是以casino類型的景點著稱;Mary游覽了A,Paul游覽了B;Mary和Paul游覽casino類型景點的頻率和所花的時間都一樣多。則,在考慮了城市的影響力之后得到的結果是:Mary對casino類型景點的喜好程度比Paul對casino類型景點的喜好程度更高。通過知識圖譜中的信息,可以獲得不同類型的景點在其所位于的城市中的影響力。綜合上面兩個方面的優勢,與采用簡單本體的方法相比,文獻[20]的工作可以在更細的語義粒度上刻畫景點類型,可以更好地捕獲游客的興趣,最終得到更好的推薦效果。
Oramas等[21]研究基于知識圖譜的聲音和音樂的推薦,主要描述如何創建和利用知識圖譜并結合混合推薦引擎來完成推薦任務。文獻[21]中構建了聲音和音樂兩個知識圖譜,首先分別從Freesound.org、Songfacts.com以及Last.fm中獲取標簽、文本描述信息以及用戶收聽和下載的信息,遵循基于本體的方法,利用Babelfy(對于給定的單詞返回相關的wordNet以及維基百科頁面)一種用于實體鏈接和同義詞消歧的最先進的工具,通過將它們與在線數據集中定義的實體關聯,豐富從文本描述中提取的標簽和關鍵詞。其中識別的命名實體鏈接到DBpedia資源,消歧的單詞鏈接到WordNet synsets。最后基于聲音和音樂知識圖譜利用基于實體的鄰居項目匹配和基于路徑的鄰居項目匹配為用戶進行推薦。由于系統通過與外部的知識庫關聯在很大程度上補充了知識庫中的語義信息,使得推薦更加準確、覆蓋面更廣。
Heitmann等[22]提出利用LOD構建一個開放的協同過濾推薦系統。傳統的推薦算法由于其對數據的需求門檻比較高,這使得新服務提供商難以與領域中的現有推薦服務進行競爭。文獻[22]中主要利用LOD來解決獲取構建推薦系統數據的問題。實現步驟是:將來自不同來源的用戶項目連接的數據集成到通用的詞匯表、將數據的表示從RDF圖轉換為用戶項目矩陣、在用戶項目矩陣中應用特定的協同過濾算法。最后通過一個真實的協同過濾音樂推薦系統,利用LOD豐富數據語義信息,在只使用原有數據時平均精度為2%,平均召回率為7%,在加入鏈接數據庫之后平均精度為14%,平均召回率為33%,證明其準確高效性。
Ostuni等[23]更進一步融合LOD中隱含的語義反饋信息,提出基于隱式語義反饋的路徑算法(SPrank)。基于路徑的特征對數據集進行挖掘,以捕獲項目之間的復雜關系。SPrank的主要思想是探索語義圖中的路徑,以便找到與用戶感興趣的項目相關的項目。從這些路徑的分析中,提取基于路徑的特征,并利用隨機森林與漸變增強回歸樹相結合的學習算法來生成推薦列表。
Ristoski等[24]提出一種基于LOD的混合多策略推薦系統。將基礎推薦結果與通用的推薦結果相結合形成最終的推薦結果?;A推薦利用LOD中豐富的數據信息結合基于協同過濾和基于內容的推薦,通用推薦是針對全球流行度得分進行推薦,對于所有的用戶都是一樣的。對于基礎推薦使用的是基于內容、項目的協同過濾以及利用從DBpedia中獲取的豐富的數據信息進行基于內容的推薦,通用推薦使用不同的推薦器進行組合。然后利用K.M.Ting等[25]提出的堆疊模型將基礎與通用推薦器結合起來。最后通過計算FScore的值來衡量推薦的準確度,結果表明,本策略在一定程度上提高了推薦的準確率。
總體來看,基于LOD的推薦生成技術優點在于:數據關聯表達很強、邏輯性強并具備一定的推理能力,可以自動發現一些隱含的語義信息,能夠提高推薦準確度。但是,這種方式也存在缺點:由于推薦的過程依賴于外部知識庫,因此外部知識庫的完備與否對推薦結果的影響巨大,推薦多樣性問題以及計算量大等問題有待解決。
隨著Deepwalk[25]的提出,圖嵌入技術開始受到學術界以及工業界的關注。其基本原理是基于隨機游走等算法對圖中節點進行采樣生成節點序列,然后通過神經網絡或者是其他機器學習算法將節點序列以及邊映射到底維向量空間。圖嵌入作為一種更為廣泛的圖表示學習方法,已經被應用到推薦領域,并且取得了較好的效果。
László等[26]較早將圖嵌入技術應用于推薦領域。將Movielens中電影與用戶嵌入到同一個向量空間,進而計算用戶與電影的空間距離,生成推薦列表。Wang等[27]做了同樣的工作,將醫學知識圖譜、疾病-患者二部圖、疾病-藥物二部圖分別嵌入低維向量空間,為病患推薦更為安全的藥物治療方式。通過加權平均將知識圖譜與二部圖結合生成包含更加細粒度屬性信息的患者和藥物向量。最終生成對給定患者的藥物top-k列表。
Palumbo等[28]針對基于知識圖譜的推薦生成提出一種通用的向量化模型entity2rec。利用一種神經網絡模型將知識圖譜中的節點依據相連接的屬性值訓練為向量的模式,通過余弦相似度計算用戶項目相關性,進而利用機器學習排序函數進行推薦列表的生成。首先利用SPARQL語句將知識圖譜分解為屬性子圖,針對每個屬性子圖設置目標函數:

生成特定屬性的用戶和項目的特征向量,其中:

然后通過:

計算用戶項目之間的相關性。最后分別通過機器學習算法Adrank和LambdaMart生成推薦列表。
基于知識圖譜的推薦系統綜合了知識圖譜和傳統推薦系統的特點,成為了一個新的研究主題,目前正處于初始發展階段。在第2章考察相關研究工作的基礎上,本節主要對第1章中提出的基于知識圖譜的框架中的關鍵技術和研究現狀進行進一步的分析。
基于知識圖譜的推薦系統的實現首先是數據采集,包括用戶信息、交互信息、項目信息、上下文信息等。其中,用戶信息主要是用戶注冊信息、交互信息從日志中獲取、上下文信息由用戶自主錄入或者通過傳感器獲取、項目信息從各大垂直網站及百科網站中獲取。在現有文獻中,Gradgyenge等[29]利用SPARQL語句從DBpedia中抽取音樂相關數據;Dodwad等[30]從工作門戶網站中抽取數據。
知識圖譜構建過程主要包括四個階段:信息抽取、知識融合、知識加工、知識更新。信息抽取階段旨在從異構數據源中自動抽取信息得到候選知識單元,相關技術有實體抽取、關系抽取、屬性抽取。如Liu等[31]利用K-最近鄰算法和條件隨機模型,實現了對Twitter文本數據中實體的識別。知識融合階段的目的是消除概念的歧義,剔除冗余和錯誤概念,從而保證知識的質量,它包括實體鏈接和知識合并。比如蘋果既可以代表水果也可以代表蘋果公司,必須增加更多的描述信息來加以區別,用戶的點擊操作可以采用二進制量化表示。文獻[21]利用Babelfy,對給定的單詞返回相關的wordNet[32]以及相關的維基百科頁面。想要得到結構化、網絡化的知識體系,還需要經歷知識加工的過程。它包括三方面內容:本體構建、知識推理和質量評估。如Wang等[33]利用跨語言知識鏈接方法來構建中英文本體庫,使二者相互確認,從而提高了中文與英文關系的準確度。知識圖譜的內容也需要與時俱進,因此需要不斷的更新迭代,但目前的技術更新起來十分困難[34]。
推薦系統用戶偏好的獲取不僅受到項目本身影響還會受到上下文影響。目前關于上下文的定義,還沒有一個統一的說法,這里引用王立才等[12]給出的定義“上下文就是指任何可以用來描述實體情況的信息,其中實體是指用戶與應用程序交互相關的客體,也包括用戶和應用程序本身”。
用戶偏好的獲取是為了有針對性地為用戶提供服務,為用戶提供量身打造的個性化推薦。一般用戶偏好的獲取分為顯式偏好獲取和隱式偏好獲取。顯式偏好獲取需要用戶提供自身的屬性信息或者偏好信息,其精確性與用戶的反饋信息和準確度有關。隱式偏好獲取是指收集和記錄用戶歷史行為,并采用聚類技術[35]、神經網絡技術[36]、關聯規則技術[37]、貝葉斯網絡技術[38]等自動構建用戶模型,對用戶偏好進行計算。由于用戶的興趣是隨著時間不斷變化的,偏好也會發生轉移,為了獲取用戶最新的偏好以保證推薦的精確性,需要實時對用戶偏好進行更新,主要用到的方法包括動態偏好建模技術、自適應技術等。
該部分是整個基于知識圖譜推薦系統的核心。傳統的推薦系統中,例如協同過濾、基于內容的推薦等基本算法同樣也可以與基于知識圖譜的推薦系統結合。在該過程中,主要是把知識圖譜作為一個語義豐富、邏輯推理能力強的數據集融入到推薦生成過程中。本文第2節已經從基于本體、基于LOD以及基于圖嵌入的推薦生成3個方面對基于知識圖譜的推薦進行了考察。其中不僅涉及到傳統的推薦算法,還包括圖算法、相似性度量[39]、貝葉斯網絡等相關機器學習算法的應用。尤其是,文獻[24]中結合最短路徑和K步馬爾科夫鏈完成推薦任務;文獻[18]中結合基于內容的推薦算法為用戶進行推薦;文獻[40]通過結合貝葉斯網絡生成推薦列表。
效用評價在整個推薦流程中非常重要。朱郁筱等[41]對推薦系統的評價指標進行了綜述,從準確度、基于排序加權、覆蓋率以及多樣性指標等4個方面來對系統進行評價。
在基于知識圖譜的環境下,推薦系統的多樣性受到更多關注。Vargas等[42]基于多樣性提出了3個指標:選擇、發現和相關性。
基于知識圖譜的推薦系統具有兩個鮮明的特征:語義豐富、個性化,從而使其在工業領域具有廣闊的應用前景。本節就基于知識圖譜的推薦系統的應用進展進行總結分析,表1中列舉分析了一些典型案例。
1)旅游推薦
旅游推薦近年來獲得越來越多的關注。旅游推薦不僅包括旅游景點的推薦,還涉及周邊服務。傳統的推薦系統主要以列表的形式向用戶展示推薦的內容,而在旅游推薦中,為了使用戶更清楚地了解推薦項目的信息,可以選擇基于地圖的方式來展示推薦內容。典型的案例有:文獻[13]將本體與傳統的推薦算法結合為用戶做出推薦,首先根據注冊信息構建用戶畫像計算用戶興趣度以及置信度,然后依據交互行為結合興趣度和置信度為用戶做出推薦,最后結合GIS定位系統利用ICEfaces框架實時更新推薦列表。

表1 基于知識圖譜進行推薦的典型案例Table1 Typical case for recommendation based on knowledge graph
2)電影、音樂推薦
電影、音樂推薦在基于知識圖譜的推薦系統中是一個熱點,主要的原因在于傳統的推薦系統數據集是以音樂以及電影為主。例如。CoLRes[18]較早的將知識圖譜用于音樂推薦領域,重點是結合外部鏈接數據庫豐富語義信息。SMRes[21]則將音樂推薦分為兩部分歌曲音樂家的推薦以及音樂。制作人的推薦通過在Songfacts3和Last.fm4收集用戶反饋信息以及歌曲數據集,通過基于實體的鄰居項目匹配、基于路徑的鄰居項目匹配為用戶生成推薦結果。
3)電子商務
用戶在網上購買書籍、服務、食品、衣服等項目時,沒有足夠的精力去檢索、了解項目的詳細信息,并且隨著季節、天氣等條件的改變,用戶的需求也會有相應的改變。基于知識圖譜的推薦系統可以融合多源信息,更加充分的挖掘用戶和商品之間的潛在關聯,將為用戶的最終決策提供更有效的支持,這使得電子商務成為基于知識圖譜的推薦系統的主要應用場合。目前國內外相關企業(如亞馬遜、阿里巴巴等)已經構建知識圖譜并應用于各自的電子商務推薦系統中。Gradgyenge等[29]嘗試將知識圖譜應用于電子郵件銷售系統。
4)職位推薦
隨著互聯網上數據的爆炸式增長,網絡上的信息多而繁雜。對于求職者篩選自己心儀的職位來說比較困難。推薦系統作為處理信息爆炸問題的手段之一被用于職位推薦中,可以快速地定位用戶心儀的職位,幫助用戶節省時間。CBDORes[15]中利用基于知識圖譜的推薦方法為求職者根據自身情況生成職位推薦。目前基于知識圖譜的推薦系統面臨許多問題和挑戰,使其與具體的商業應用接軌還存在距離。近年來,人工智能、深度學習、智慧旅游等新技術和應用需求的快速涌現,為基于知識圖譜的推薦系統的應用研究與實踐提供了良好的機會。以深度學習為例,它能夠依據大數據學習項目以及用戶特征,將基于知識圖譜的推薦系統與深度學習結合,將提高推薦準確度。此外,廣告仍然是互聯網企業目前主要的盈利模式之一,為相應的用戶展示不同的廣告,具有鮮明的商業價值,極有可能會成為基于知識圖譜的推薦系統的應用實踐方向之一。
1)對用戶偏好的精準建模問題。知識圖譜可以融合多源異構信息,包括豐富的用戶信息及用戶與項目的交互信息;如何全面考慮用戶與用戶、用戶與項目之間的聯系,進一步提高推薦的準確度,是未來的研究重點。
2)對大數據的高效處理問題。由于數據生成速度快,而且多源數據融合過程中引入了更多的噪聲和冗余,使得傳統推薦算法中采用的精確計算方式越來越難以應對,概率模型統計方法將可能發揮更為重要的作用[43]。
3)推薦系統的效用評價問題。對傳統推薦系統的評價指標主要是準確度和效率,通常采用的方法有MAE、RMSE、關聯度等。這些指標當然也可以用于基于知識圖譜的推薦系統,例如文獻[16]采用了準確率和召回率來表征推薦系統的準確度。然而,由于不同領域的推薦系統面臨的實際問題不同,相應地使用了不同的數據集,使得難以形成統一的效用評價標準[44]。
4)如何通過深度挖掘和相關性知識發現提高推薦效果。由于知識圖譜本身的特點,相對于因果關系挖掘,其更適合于相關關系挖掘。通過從知識圖譜中深度挖掘項目之間、用戶之間、以及項目與用戶間的深層次關系,獲得更多的相關性結果,有助于為用戶進行個性化推薦,在提高推薦結果多樣性的同時保持較高的推薦準確性[45]。
5)推薦系統的可擴展性??蓴U展性一直是推薦系統應用中面臨的難點問題[46]。在傳統推薦系統中,隨著用戶與項目數量的增加,會使得計算量顯著增大。目前主要的解決方法有聚類、數據集縮減、降維等。在知識圖譜中,用戶之間、用戶與項目之間隨時隨地的信息互動會產生大規模的數據集;將這些數據集融入知識圖譜后會急劇增加計算復雜度。如何將用戶之間產生的數據動態、快速地融入知識圖譜并提高推薦系統的可擴展性,是未來需要解決的難點問題。
6)社交網絡[47]信息的充分利用問題。傳統的推薦系統假設用戶之間是獨立同分布的,忽略了用戶之間的社會交互及聯系。知識圖譜中用戶與戶、用戶與項目、項目與項目之間都存在一定的聯系,用戶不再是單一的用戶需要進一步挖掘彼此之間的聯系以發現更多的隱含信息。因此結合社交網絡關系[48]也是今后的一個研究重點。
本文對基于知識圖譜的推薦系統研究現狀進行了較為全面的綜述。對于基于本體的推薦生成、基于LOD的推薦生成以及基于圖嵌入的推薦生成3類方法,都取得了較好的推薦效果。由于每種方法各有優缺點,將多種方法綜合起來使用是一條有效途徑。本文在綜合考察這些工作的基礎上,給出了基于知識圖譜的推薦系統總體框架。
由于知識圖譜只有在達到一定規模時才能發揮較好的效果,因此在利用知識圖譜進行推薦之前還存在許多難點問題有待解決。典型的問題包括多源信息融合、知識圖譜中用戶特征的挖掘及潛在需求的分析、多維度推薦、與時間空間推理的結合、用戶隱私保護等。此外,近年來興起的深度學習[49]、表示學習[50]、位置感知等也為基于知識圖譜的推薦系統提供了許多可能的改進方向,值得進一步研究。