常亮,張偉濤,古天龍,孫文平,賓辰忠
(桂林電子科技大學(xué) 廣西可信軟件重點實驗室,廣西 桂林 541004)
移聯(lián)動互網(wǎng)、人工智能等技術(shù)的迅速發(fā)展為人們的工作生活帶來了很多便利,但是同時也帶來了信息過載問題[1]。搜索引擎和推薦系統(tǒng)是解決信息過載的代表技術(shù)。傳統(tǒng)的搜索引擎在本質(zhì)上來講是幫助用戶過濾和篩選信息,這種方式滿足了大多數(shù)人的需求,但沒有提供個性化的服務(wù)。相對于傳統(tǒng)搜索引擎來說,推薦系統(tǒng)可以兼顧個性化需求和解決信息過載問題。推薦系統(tǒng)是信息過濾系統(tǒng)的一個子集,目的在于根據(jù)用戶的喜好、習(xí)慣、個性化需求以及商品的特性來預(yù)測用戶對商品的喜好,為用戶推薦最合適的商品,幫助用戶快速地做出決策,提高用戶滿意度[2]。推薦系統(tǒng)的價值在于能夠提供盡量合適的選擇或者是推薦而不需要用戶明確提供他們所想要的內(nèi)容。隨著大數(shù)據(jù)時代的到來,傳統(tǒng)推薦系統(tǒng)在挖掘數(shù)據(jù)價值上存在的問題正在限制其性能發(fā)揮[3]。知識圖譜的出現(xiàn)為大數(shù)據(jù)環(huán)境下的推薦系統(tǒng)設(shè)計提供了一種有效途徑。
2012年5月17日谷歌正式提出了“知識圖譜”這個術(shù)語[4]。知識圖譜旨在描述真實世界中存在的各種實體或概念,以及他們之間的關(guān)聯(lián)關(guān)系。其中,每個實體或概念用一個全局唯一確定的ID來標(biāo)識,每個屬性-值對用來刻畫實體的內(nèi)在屬性,而關(guān)系用來連接兩個實體,刻畫它們之間的關(guān)聯(lián)。知識圖譜可以融合多種數(shù)據(jù)源豐富數(shù)據(jù)語義信息,并且可以結(jié)合推理得到的隱含信息為用戶提供服務(wù)。隨著信息檢索、智慧城市[5]等應(yīng)用領(lǐng)域的發(fā)展要求,將知識圖譜應(yīng)用于這些領(lǐng)域以提高用戶體驗和系統(tǒng)性能,成為學(xué)術(shù)界和工業(yè)界關(guān)注的熱點。
在推薦系統(tǒng)領(lǐng)域,人們關(guān)注的往往是用戶與項目之間的聯(lián)系,缺少對用戶與用戶、項目與項目等之間的相互聯(lián)系的考慮?;谥R圖譜的推薦系統(tǒng)通過將用戶與用戶、用戶與項目以及項目與項目之間相互連接起來,增強數(shù)據(jù)的語義信息以進(jìn)一步提高推薦準(zhǔn)確度,具有重要的研究意義和實用價值,逐漸成為推薦系統(tǒng)研究領(lǐng)域最為活躍的分支之一。
隨著互聯(lián)網(wǎng)上信息的爆發(fā)式增長,對于多源異構(gòu)數(shù)據(jù)的挖掘是推薦系統(tǒng)中的關(guān)鍵問題。知識圖譜的提出為推薦系統(tǒng)中多源異構(gòu)數(shù)據(jù)的整合處理帶來了新的契機,而基于知識圖譜的推薦系統(tǒng)也作為一個新的研究領(lǐng)域被人們所關(guān)注。
知識圖譜的提出最初是為了優(yōu)化搜索引擎,將數(shù)據(jù)組織成相互鏈接并且對于其中的每個實體都富含屬性標(biāo)簽,實體間存在多種關(guān)系,以此來實現(xiàn)搜索引擎的優(yōu)化[6]。在對其進(jìn)行深入研究后,了解到知識圖譜的應(yīng)用不局限于搜索,在諸如智能問答、推薦系統(tǒng)以及金融詐騙領(lǐng)域均有涉獵[7]。
基于知識圖譜的推薦系統(tǒng)主要是利用知識圖譜對多源異構(gòu)數(shù)據(jù)的整合性,可以對大數(shù)據(jù)環(huán)境下互聯(lián)網(wǎng)上的數(shù)據(jù)進(jìn)行知識抽取[8],得到更加細(xì)粒度的用戶和項目的特征信息,從而更精準(zhǔn)的計算用戶與用戶、用戶與項目以及項目與項目之間的相關(guān)性,最后為用戶做出推薦。
該推薦有3個組成要素:用戶知識圖譜、項目知識圖譜、推薦方法。在此基礎(chǔ)上,我們給出了基于知識圖譜的一個推薦系統(tǒng)模型,如圖1所示。該模型分為客戶端和服務(wù)器端,客戶端收集用戶的原始數(shù)據(jù)(包括瀏覽數(shù)據(jù)、上下文數(shù)據(jù)如時間、用戶狀態(tài)等)上傳至服務(wù)器端進(jìn)行處理。服務(wù)器端一方面從各個垂直網(wǎng)站及百科網(wǎng)站中進(jìn)行相關(guān)數(shù)據(jù)搜集,構(gòu)建項目知識圖譜;另一方面,對用戶偏好進(jìn)行獲取,建立用戶知識圖譜;此外,通過分析推理的方法獲取上下文信息,利用GPS定位來獲取當(dāng)前用戶地理位置信息等。最后,綜合上述信息,通過推薦產(chǎn)生器向目標(biāo)用戶推送其感興趣的項目,并基于用戶反饋對推薦性能進(jìn)行評估,進(jìn)一步調(diào)整推薦產(chǎn)生器,以適應(yīng)用戶偏好。
圖1 基于知識圖譜的推薦系統(tǒng)總體框架Fig.1 The overall framework of recommender system based on knowledge graph
對于已給出的基于知識圖譜推薦系統(tǒng)整體框架,首先在文獻(xiàn)中對該推薦系統(tǒng)進(jìn)行較為全面的考察,然后圍繞該框架對該推薦系統(tǒng)的關(guān)鍵技術(shù)進(jìn)行分析。在對基于知識圖譜的應(yīng)用情況進(jìn)行總結(jié)的基礎(chǔ)上,對基于知識圖譜的推薦系統(tǒng)面臨的重點和難點問題進(jìn)行討論。
依據(jù)推薦過程中知識圖譜表現(xiàn)形式,本文將文獻(xiàn)中的基于知識圖譜的推薦方法大致分為兩大類:基于本體的推薦生成、基于開放鏈接數(shù)據(jù)(linked open data,LOD)的推薦生成。此外,鑒于近年來將知識圖譜嵌入低維向量空間的方法在推薦領(lǐng)域扮演的角色越來越重,本節(jié)將基于圖嵌入的推薦生成單獨作為一類來考察。
本體[9]作為知識圖譜的一種體現(xiàn)形式,強調(diào)的是概念之間的層級關(guān)系,有邏輯學(xué)和語義學(xué)的基礎(chǔ),支持簡單的自動推理?;诒倔w的推薦生成的主要思路是:利用本體中細(xì)粒度的對概念層級關(guān)系的描述,通過對概念的細(xì)粒度的分類描述來更加精準(zhǔn)的對實體特征進(jìn)行表示,從而挖掘出事實中蘊含的深層次信息。融入現(xiàn)有的基于內(nèi)容的推薦[10]、基于協(xié)同過濾的推薦方法[11]中。最后結(jié)合用戶當(dāng)前的上下文信息生成推薦[12]。
Niaraki等[13]較早地提出基于本體的推薦系統(tǒng)。以用戶模型和上下文模型為基礎(chǔ)構(gòu)建本體知識庫,基于本體中概念的層級關(guān)系采用多準(zhǔn)則決策來擴(kuò)展以用戶為中心的路線規(guī)劃建模技術(shù),最后通過比較判斷過程和一致性指標(biāo)對相關(guān)概念進(jìn)行加權(quán),確定用戶和上下文模型來滿足用戶的需求。將用戶和環(huán)境結(jié)合起來,基于本體中概念的層級關(guān)系,提供以用戶為中心的路線規(guī)劃,克服了標(biāo)準(zhǔn)建模不足的缺點,提高了系統(tǒng)推薦路線的準(zhǔn)確率。與此類似,Dodwad等[14]也是基于本體的層次結(jié)構(gòu)對概念進(jìn)行加權(quán),更加細(xì)粒度的分析用戶的偏好。Saraswathib等[15]則針對求職者在工作門戶網(wǎng)站的海量數(shù)據(jù)面前無法快速的篩選工作,動態(tài)地構(gòu)建本體,通過重排序和相似度算法為用戶推薦職位。
除了上述基于本體的層次結(jié)構(gòu)以及概念之間的邏輯關(guān)系進(jìn)行推薦之外,還有研究人員基于傳統(tǒng)的推薦算法結(jié)合本體完成推薦任務(wù)。
Moreno等[16]完成基于本體和協(xié)同過濾的混合推薦系統(tǒng)SigTur/E-Destination。首先,基于人口特征、旅游景點及路線信息構(gòu)建旅游本體。在新用戶訪問系統(tǒng)時,利用調(diào)查問卷中用戶信息進(jìn)行特征抽取,與旅游本體中人物特征關(guān)聯(lián)進(jìn)行用戶建模。基于用戶興趣權(quán)重及用戶特征信息計算用戶的興趣度(S)及置信度(CL),得到一個推薦列表。然后,基于用戶評分、交互行為等,利用基于內(nèi)容和協(xié)同過濾技術(shù)對信息進(jìn)行過濾,通過Pearson回歸算法進(jìn)行相似度排序,進(jìn)而得出推薦列表。最終結(jié)合GIS定位系統(tǒng)再次過濾,并使用ICEfaces框架實時更新推薦列表。為了驗證推薦的準(zhǔn)確率,作者將推薦結(jié)果與用戶反饋進(jìn)行比對,結(jié)果表明,90%以上用戶認(rèn)為該系統(tǒng)推薦較為準(zhǔn)確。
總體來看,基于本體的推薦生成技術(shù)的優(yōu)點在于:能夠細(xì)粒度化概念之間的上下文關(guān)系,增強數(shù)據(jù)之間的關(guān)聯(lián)性,可以更加細(xì)粒度的分析用戶的偏好。缺點在于:本體的構(gòu)建費時,因為現(xiàn)階段主要還是通過手工構(gòu)建,在某些特定領(lǐng)域需要專家的參與。基于本體的推薦的范圍過窄,因為通用的大規(guī)模本體少,大多數(shù)本體只針對某個具體應(yīng)用領(lǐng)域構(gòu)建。此外在實際應(yīng)用中不同本體之間映射、擴(kuò)充與合并處理等操作復(fù)雜,現(xiàn)實的知識體系變化時先前構(gòu)建的本體必須作相應(yīng)的演化保持一致性,導(dǎo)致更新困難。新用戶問題,當(dāng)一個新用戶訪問系統(tǒng)時,由于沒有他的行為數(shù)據(jù),所以也無法根據(jù)他的歷史行為預(yù)測其興趣,從而無法借此給他做個性化推薦。針對上述問題,可以從以下方向進(jìn)一步研究:應(yīng)用深度學(xué)習(xí)等相關(guān)方法半自動甚至自動地構(gòu)建本體,加快本體的構(gòu)建過程。對具體的應(yīng)用可適當(dāng)?shù)財U(kuò)大通用的、適用范圍更廣的本體,豐富本體的語義,增強本體間的聯(lián)系。還可以增加對特征的描述,同時對特征描述進(jìn)行推理,從而得出事實中蘊含的結(jié)論并將其應(yīng)用于推薦,以此來及時地更新推薦,使推薦更具多樣化。新用戶的問題可以利用用戶注冊時提供的年齡、性別等數(shù)據(jù)做進(jìn)行粒度的個性化。借助用戶的社交網(wǎng)絡(luò)賬號登錄(需要用戶授權(quán)),導(dǎo)入用戶在社交網(wǎng)站上的好友信息,然后給用戶推薦其好友喜歡的物品。此外還可以要求用戶在登錄時對一些物品進(jìn)行反饋,收集用戶對這些物品的興趣信息,再給用戶推薦那些和這些物品相似的物品。
基于LOD的推薦生成技術(shù)主要思路是:將鏈接數(shù)據(jù)庫中豐富的語義信息融入到現(xiàn)有的方法中,著重考慮用戶偏好、項目之間屬性相似度。通過利用LOD中大量相互關(guān)聯(lián)的數(shù)據(jù),更加精細(xì)化的衡量資源之間的相似性,挖掘用戶的偏好,最后結(jié)合上下文信息生成推薦結(jié)果。因此在引入LOD之后,語義相似度的計算成為關(guān)鍵所在。目前,語義相似計算的方法主要包括鏈接數(shù)據(jù)語義距離(linked data semantic distance)、基于隱式語義反饋的路徑算法(SPrank)等。
Passant等[17]較早地提出將LOD引入到推薦系統(tǒng)中。他認(rèn)為用戶的評分信息并不能充分地反映用戶的偏好,還應(yīng)該關(guān)注歷史數(shù)據(jù)的語義信息,從而提出將鏈接開放數(shù)據(jù)庫DBpedia引入到音樂推薦中,計算知識庫中資源的語義距離來完成推薦任務(wù)。首先將已有的音樂數(shù)據(jù)集利用SPARQL語句映射到DBpedia中以獲取音樂資源更為豐富的屬性信息。然后基于LDSD過濾無用的屬性-值及錯誤信息。最后利用LDSD計算出相關(guān)實體的語義距離并利用SPARQL語句查詢呈現(xiàn)出來。系統(tǒng)的優(yōu)點在于不需要依靠傳統(tǒng)的推薦算法只需一組公開的數(shù)據(jù)集就可以實現(xiàn)推薦,但是對新用戶的問題沒有提及,只是對現(xiàn)有用戶數(shù)據(jù)分析做出推薦。
Noia等[18]提出利用LOD語義豐富的特點來提高基于內(nèi)容的電影推薦系統(tǒng)的準(zhǔn)確率。首先利用SPARQL語句將DBpedia、LinkedMDB、Freebase中電影相關(guān)RDF數(shù)據(jù)抽取出來用于對知識庫中資源進(jìn)行更加詳細(xì)的描述,并通過向量空間模型(VSM)來計算資源之間的相似性,項目mi和mj的相似性可以標(biāo)識為式中: wn,i,p表示根據(jù)TF-IDF所得到的權(quán)重,TF為具有p屬性的節(jié)點n的頻率,IDF為電影總數(shù)與鏈接到資源n的電影數(shù)量之間比率的對數(shù)。然后根據(jù)用戶的評分記錄為用戶建模,用戶u可以建模為
最后通過公式計算得分為用戶進(jìn)行top-N推薦:
Noia等[19]總結(jié)了ESWC2014年利用LOD實現(xiàn)書籍推薦系統(tǒng)的相關(guān)算法。其中推薦的任務(wù)主要包括3部分:冷啟動環(huán)境下的評分預(yù)測、基于用戶反饋做top-N推薦、基于內(nèi)容的推薦系統(tǒng)的多樣性。主要簡述數(shù)據(jù)集的特征以及推薦效果最佳的方法。數(shù)據(jù)集是利用SPARQL語句處理DB-pedia獲取實驗所需信息,數(shù)據(jù)格式為userID、itemID、score。推薦效果最佳的算法是hello-World(一個混合策略的利用LOD的推薦系統(tǒng)),考慮數(shù)據(jù)集中書籍的類型、層級分類、作者信息等,利用基于內(nèi)容的方法進(jìn)行推薦,基于余弦相似度進(jìn)行基于協(xié)同過濾的推薦,利用Wikidata中數(shù)據(jù)的鏈入鏈出進(jìn)行基于流行度的推薦。最后通過準(zhǔn)確率、召回率以及均方根誤差的計算來評判推薦的準(zhǔn)確性。
Lu 等[20]將利用 DBpedia、Geonames和Wikidata中的數(shù)據(jù)構(gòu)建了關(guān)于全世界的旅游知識圖譜。包含1 200多個景點類型,從而可以在很細(xì)的語義粒度上對景點進(jìn)行刻畫。通過categories來表示用戶的興趣,并且為用戶在每類category上的興趣度賦予一個得分值。一般采用兩種方式:frequency-based和time-based。前者根據(jù)用戶訪問某類景點的頻率/次數(shù)來計算得分值。后者根據(jù)用戶在某類景點所待的時間長短來計算分值。文獻(xiàn)[20]在這兩種情況的基礎(chǔ)上,在計算分值時,把各個景點在所位于的城市中的影響力也考慮進(jìn)去。例如,如果A和B都是casino類型的景點;A所位于的城市以casino類型的景點聞名于世,但B所位于的城市卻不是以casino類型的景點著稱;Mary游覽了A,Paul游覽了B;Mary和Paul游覽casino類型景點的頻率和所花的時間都一樣多。則,在考慮了城市的影響力之后得到的結(jié)果是:Mary對casino類型景點的喜好程度比Paul對casino類型景點的喜好程度更高。通過知識圖譜中的信息,可以獲得不同類型的景點在其所位于的城市中的影響力。綜合上面兩個方面的優(yōu)勢,與采用簡單本體的方法相比,文獻(xiàn)[20]的工作可以在更細(xì)的語義粒度上刻畫景點類型,可以更好地捕獲游客的興趣,最終得到更好的推薦效果。
Oramas等[21]研究基于知識圖譜的聲音和音樂的推薦,主要描述如何創(chuàng)建和利用知識圖譜并結(jié)合混合推薦引擎來完成推薦任務(wù)。文獻(xiàn)[21]中構(gòu)建了聲音和音樂兩個知識圖譜,首先分別從Freesound.org、Songfacts.com以及Last.fm中獲取標(biāo)簽、文本描述信息以及用戶收聽和下載的信息,遵循基于本體的方法,利用Babelfy(對于給定的單詞返回相關(guān)的wordNet以及維基百科頁面)一種用于實體鏈接和同義詞消歧的最先進(jìn)的工具,通過將它們與在線數(shù)據(jù)集中定義的實體關(guān)聯(lián),豐富從文本描述中提取的標(biāo)簽和關(guān)鍵詞。其中識別的命名實體鏈接到DBpedia資源,消歧的單詞鏈接到WordNet synsets。最后基于聲音和音樂知識圖譜利用基于實體的鄰居項目匹配和基于路徑的鄰居項目匹配為用戶進(jìn)行推薦。由于系統(tǒng)通過與外部的知識庫關(guān)聯(lián)在很大程度上補充了知識庫中的語義信息,使得推薦更加準(zhǔn)確、覆蓋面更廣。
Heitmann等[22]提出利用LOD構(gòu)建一個開放的協(xié)同過濾推薦系統(tǒng)。傳統(tǒng)的推薦算法由于其對數(shù)據(jù)的需求門檻比較高,這使得新服務(wù)提供商難以與領(lǐng)域中的現(xiàn)有推薦服務(wù)進(jìn)行競爭。文獻(xiàn)[22]中主要利用LOD來解決獲取構(gòu)建推薦系統(tǒng)數(shù)據(jù)的問題。實現(xiàn)步驟是:將來自不同來源的用戶項目連接的數(shù)據(jù)集成到通用的詞匯表、將數(shù)據(jù)的表示從RDF圖轉(zhuǎn)換為用戶項目矩陣、在用戶項目矩陣中應(yīng)用特定的協(xié)同過濾算法。最后通過一個真實的協(xié)同過濾音樂推薦系統(tǒng),利用LOD豐富數(shù)據(jù)語義信息,在只使用原有數(shù)據(jù)時平均精度為2%,平均召回率為7%,在加入鏈接數(shù)據(jù)庫之后平均精度為14%,平均召回率為33%,證明其準(zhǔn)確高效性。
Ostuni等[23]更進(jìn)一步融合LOD中隱含的語義反饋信息,提出基于隱式語義反饋的路徑算法(SPrank)?;诼窂降奶卣鲗?shù)據(jù)集進(jìn)行挖掘,以捕獲項目之間的復(fù)雜關(guān)系。SPrank的主要思想是探索語義圖中的路徑,以便找到與用戶感興趣的項目相關(guān)的項目。從這些路徑的分析中,提取基于路徑的特征,并利用隨機森林與漸變增強回歸樹相結(jié)合的學(xué)習(xí)算法來生成推薦列表。
Ristoski等[24]提出一種基于LOD的混合多策略推薦系統(tǒng)。將基礎(chǔ)推薦結(jié)果與通用的推薦結(jié)果相結(jié)合形成最終的推薦結(jié)果?;A(chǔ)推薦利用LOD中豐富的數(shù)據(jù)信息結(jié)合基于協(xié)同過濾和基于內(nèi)容的推薦,通用推薦是針對全球流行度得分進(jìn)行推薦,對于所有的用戶都是一樣的。對于基礎(chǔ)推薦使用的是基于內(nèi)容、項目的協(xié)同過濾以及利用從DBpedia中獲取的豐富的數(shù)據(jù)信息進(jìn)行基于內(nèi)容的推薦,通用推薦使用不同的推薦器進(jìn)行組合。然后利用K.M.Ting等[25]提出的堆疊模型將基礎(chǔ)與通用推薦器結(jié)合起來。最后通過計算FScore的值來衡量推薦的準(zhǔn)確度,結(jié)果表明,本策略在一定程度上提高了推薦的準(zhǔn)確率。
總體來看,基于LOD的推薦生成技術(shù)優(yōu)點在于:數(shù)據(jù)關(guān)聯(lián)表達(dá)很強、邏輯性強并具備一定的推理能力,可以自動發(fā)現(xiàn)一些隱含的語義信息,能夠提高推薦準(zhǔn)確度。但是,這種方式也存在缺點:由于推薦的過程依賴于外部知識庫,因此外部知識庫的完備與否對推薦結(jié)果的影響巨大,推薦多樣性問題以及計算量大等問題有待解決。
隨著Deepwalk[25]的提出,圖嵌入技術(shù)開始受到學(xué)術(shù)界以及工業(yè)界的關(guān)注。其基本原理是基于隨機游走等算法對圖中節(jié)點進(jìn)行采樣生成節(jié)點序列,然后通過神經(jīng)網(wǎng)絡(luò)或者是其他機器學(xué)習(xí)算法將節(jié)點序列以及邊映射到底維向量空間。圖嵌入作為一種更為廣泛的圖表示學(xué)習(xí)方法,已經(jīng)被應(yīng)用到推薦領(lǐng)域,并且取得了較好的效果。
László等[26]較早將圖嵌入技術(shù)應(yīng)用于推薦領(lǐng)域。將Movielens中電影與用戶嵌入到同一個向量空間,進(jìn)而計算用戶與電影的空間距離,生成推薦列表。Wang等[27]做了同樣的工作,將醫(yī)學(xué)知識圖譜、疾病-患者二部圖、疾病-藥物二部圖分別嵌入低維向量空間,為病患推薦更為安全的藥物治療方式。通過加權(quán)平均將知識圖譜與二部圖結(jié)合生成包含更加細(xì)粒度屬性信息的患者和藥物向量。最終生成對給定患者的藥物top-k列表。
Palumbo等[28]針對基于知識圖譜的推薦生成提出一種通用的向量化模型entity2rec。利用一種神經(jīng)網(wǎng)絡(luò)模型將知識圖譜中的節(jié)點依據(jù)相連接的屬性值訓(xùn)練為向量的模式,通過余弦相似度計算用戶項目相關(guān)性,進(jìn)而利用機器學(xué)習(xí)排序函數(shù)進(jìn)行推薦列表的生成。首先利用SPARQL語句將知識圖譜分解為屬性子圖,針對每個屬性子圖設(shè)置目標(biāo)函數(shù):
生成特定屬性的用戶和項目的特征向量,其中:
然后通過:
計算用戶項目之間的相關(guān)性。最后分別通過機器學(xué)習(xí)算法Adrank和LambdaMart生成推薦列表。
基于知識圖譜的推薦系統(tǒng)綜合了知識圖譜和傳統(tǒng)推薦系統(tǒng)的特點,成為了一個新的研究主題,目前正處于初始發(fā)展階段。在第2章考察相關(guān)研究工作的基礎(chǔ)上,本節(jié)主要對第1章中提出的基于知識圖譜的框架中的關(guān)鍵技術(shù)和研究現(xiàn)狀進(jìn)行進(jìn)一步的分析。
基于知識圖譜的推薦系統(tǒng)的實現(xiàn)首先是數(shù)據(jù)采集,包括用戶信息、交互信息、項目信息、上下文信息等。其中,用戶信息主要是用戶注冊信息、交互信息從日志中獲取、上下文信息由用戶自主錄入或者通過傳感器獲取、項目信息從各大垂直網(wǎng)站及百科網(wǎng)站中獲取。在現(xiàn)有文獻(xiàn)中,Gradgyenge等[29]利用SPARQL語句從DBpedia中抽取音樂相關(guān)數(shù)據(jù);Dodwad等[30]從工作門戶網(wǎng)站中抽取數(shù)據(jù)。
知識圖譜構(gòu)建過程主要包括四個階段:信息抽取、知識融合、知識加工、知識更新。信息抽取階段旨在從異構(gòu)數(shù)據(jù)源中自動抽取信息得到候選知識單元,相關(guān)技術(shù)有實體抽取、關(guān)系抽取、屬性抽取。如Liu等[31]利用K-最近鄰算法和條件隨機模型,實現(xiàn)了對Twitter文本數(shù)據(jù)中實體的識別。知識融合階段的目的是消除概念的歧義,剔除冗余和錯誤概念,從而保證知識的質(zhì)量,它包括實體鏈接和知識合并。比如蘋果既可以代表水果也可以代表蘋果公司,必須增加更多的描述信息來加以區(qū)別,用戶的點擊操作可以采用二進(jìn)制量化表示。文獻(xiàn)[21]利用Babelfy,對給定的單詞返回相關(guān)的wordNet[32]以及相關(guān)的維基百科頁面。想要得到結(jié)構(gòu)化、網(wǎng)絡(luò)化的知識體系,還需要經(jīng)歷知識加工的過程。它包括三方面內(nèi)容:本體構(gòu)建、知識推理和質(zhì)量評估。如Wang等[33]利用跨語言知識鏈接方法來構(gòu)建中英文本體庫,使二者相互確認(rèn),從而提高了中文與英文關(guān)系的準(zhǔn)確度。知識圖譜的內(nèi)容也需要與時俱進(jìn),因此需要不斷的更新迭代,但目前的技術(shù)更新起來十分困難[34]。
推薦系統(tǒng)用戶偏好的獲取不僅受到項目本身影響還會受到上下文影響。目前關(guān)于上下文的定義,還沒有一個統(tǒng)一的說法,這里引用王立才等[12]給出的定義“上下文就是指任何可以用來描述實體情況的信息,其中實體是指用戶與應(yīng)用程序交互相關(guān)的客體,也包括用戶和應(yīng)用程序本身”。
用戶偏好的獲取是為了有針對性地為用戶提供服務(wù),為用戶提供量身打造的個性化推薦。一般用戶偏好的獲取分為顯式偏好獲取和隱式偏好獲取。顯式偏好獲取需要用戶提供自身的屬性信息或者偏好信息,其精確性與用戶的反饋信息和準(zhǔn)確度有關(guān)。隱式偏好獲取是指收集和記錄用戶歷史行為,并采用聚類技術(shù)[35]、神經(jīng)網(wǎng)絡(luò)技術(shù)[36]、關(guān)聯(lián)規(guī)則技術(shù)[37]、貝葉斯網(wǎng)絡(luò)技術(shù)[38]等自動構(gòu)建用戶模型,對用戶偏好進(jìn)行計算。由于用戶的興趣是隨著時間不斷變化的,偏好也會發(fā)生轉(zhuǎn)移,為了獲取用戶最新的偏好以保證推薦的精確性,需要實時對用戶偏好進(jìn)行更新,主要用到的方法包括動態(tài)偏好建模技術(shù)、自適應(yīng)技術(shù)等。
該部分是整個基于知識圖譜推薦系統(tǒng)的核心。傳統(tǒng)的推薦系統(tǒng)中,例如協(xié)同過濾、基于內(nèi)容的推薦等基本算法同樣也可以與基于知識圖譜的推薦系統(tǒng)結(jié)合。在該過程中,主要是把知識圖譜作為一個語義豐富、邏輯推理能力強的數(shù)據(jù)集融入到推薦生成過程中。本文第2節(jié)已經(jīng)從基于本體、基于LOD以及基于圖嵌入的推薦生成3個方面對基于知識圖譜的推薦進(jìn)行了考察。其中不僅涉及到傳統(tǒng)的推薦算法,還包括圖算法、相似性度量[39]、貝葉斯網(wǎng)絡(luò)等相關(guān)機器學(xué)習(xí)算法的應(yīng)用。尤其是,文獻(xiàn)[24]中結(jié)合最短路徑和K步馬爾科夫鏈完成推薦任務(wù);文獻(xiàn)[18]中結(jié)合基于內(nèi)容的推薦算法為用戶進(jìn)行推薦;文獻(xiàn)[40]通過結(jié)合貝葉斯網(wǎng)絡(luò)生成推薦列表。
效用評價在整個推薦流程中非常重要。朱郁筱等[41]對推薦系統(tǒng)的評價指標(biāo)進(jìn)行了綜述,從準(zhǔn)確度、基于排序加權(quán)、覆蓋率以及多樣性指標(biāo)等4個方面來對系統(tǒng)進(jìn)行評價。
在基于知識圖譜的環(huán)境下,推薦系統(tǒng)的多樣性受到更多關(guān)注。Vargas等[42]基于多樣性提出了3個指標(biāo):選擇、發(fā)現(xiàn)和相關(guān)性。
基于知識圖譜的推薦系統(tǒng)具有兩個鮮明的特征:語義豐富、個性化,從而使其在工業(yè)領(lǐng)域具有廣闊的應(yīng)用前景。本節(jié)就基于知識圖譜的推薦系統(tǒng)的應(yīng)用進(jìn)展進(jìn)行總結(jié)分析,表1中列舉分析了一些典型案例。
1)旅游推薦
旅游推薦近年來獲得越來越多的關(guān)注。旅游推薦不僅包括旅游景點的推薦,還涉及周邊服務(wù)。傳統(tǒng)的推薦系統(tǒng)主要以列表的形式向用戶展示推薦的內(nèi)容,而在旅游推薦中,為了使用戶更清楚地了解推薦項目的信息,可以選擇基于地圖的方式來展示推薦內(nèi)容。典型的案例有:文獻(xiàn)[13]將本體與傳統(tǒng)的推薦算法結(jié)合為用戶做出推薦,首先根據(jù)注冊信息構(gòu)建用戶畫像計算用戶興趣度以及置信度,然后依據(jù)交互行為結(jié)合興趣度和置信度為用戶做出推薦,最后結(jié)合GIS定位系統(tǒng)利用ICEfaces框架實時更新推薦列表。
表1 基于知識圖譜進(jìn)行推薦的典型案例Table1 Typical case for recommendation based on knowledge graph
2)電影、音樂推薦
電影、音樂推薦在基于知識圖譜的推薦系統(tǒng)中是一個熱點,主要的原因在于傳統(tǒng)的推薦系統(tǒng)數(shù)據(jù)集是以音樂以及電影為主。例如。CoLRes[18]較早的將知識圖譜用于音樂推薦領(lǐng)域,重點是結(jié)合外部鏈接數(shù)據(jù)庫豐富語義信息。SMRes[21]則將音樂推薦分為兩部分歌曲音樂家的推薦以及音樂。制作人的推薦通過在Songfacts3和Last.fm4收集用戶反饋信息以及歌曲數(shù)據(jù)集,通過基于實體的鄰居項目匹配、基于路徑的鄰居項目匹配為用戶生成推薦結(jié)果。
3)電子商務(wù)
用戶在網(wǎng)上購買書籍、服務(wù)、食品、衣服等項目時,沒有足夠的精力去檢索、了解項目的詳細(xì)信息,并且隨著季節(jié)、天氣等條件的改變,用戶的需求也會有相應(yīng)的改變?;谥R圖譜的推薦系統(tǒng)可以融合多源信息,更加充分的挖掘用戶和商品之間的潛在關(guān)聯(lián),將為用戶的最終決策提供更有效的支持,這使得電子商務(wù)成為基于知識圖譜的推薦系統(tǒng)的主要應(yīng)用場合。目前國內(nèi)外相關(guān)企業(yè)(如亞馬遜、阿里巴巴等)已經(jīng)構(gòu)建知識圖譜并應(yīng)用于各自的電子商務(wù)推薦系統(tǒng)中。Gradgyenge等[29]嘗試將知識圖譜應(yīng)用于電子郵件銷售系統(tǒng)。
4)職位推薦
隨著互聯(lián)網(wǎng)上數(shù)據(jù)的爆炸式增長,網(wǎng)絡(luò)上的信息多而繁雜。對于求職者篩選自己心儀的職位來說比較困難。推薦系統(tǒng)作為處理信息爆炸問題的手段之一被用于職位推薦中,可以快速地定位用戶心儀的職位,幫助用戶節(jié)省時間。CBDORes[15]中利用基于知識圖譜的推薦方法為求職者根據(jù)自身情況生成職位推薦。目前基于知識圖譜的推薦系統(tǒng)面臨許多問題和挑戰(zhàn),使其與具體的商業(yè)應(yīng)用接軌還存在距離。近年來,人工智能、深度學(xué)習(xí)、智慧旅游等新技術(shù)和應(yīng)用需求的快速涌現(xiàn),為基于知識圖譜的推薦系統(tǒng)的應(yīng)用研究與實踐提供了良好的機會。以深度學(xué)習(xí)為例,它能夠依據(jù)大數(shù)據(jù)學(xué)習(xí)項目以及用戶特征,將基于知識圖譜的推薦系統(tǒng)與深度學(xué)習(xí)結(jié)合,將提高推薦準(zhǔn)確度。此外,廣告仍然是互聯(lián)網(wǎng)企業(yè)目前主要的盈利模式之一,為相應(yīng)的用戶展示不同的廣告,具有鮮明的商業(yè)價值,極有可能會成為基于知識圖譜的推薦系統(tǒng)的應(yīng)用實踐方向之一。
1)對用戶偏好的精準(zhǔn)建模問題。知識圖譜可以融合多源異構(gòu)信息,包括豐富的用戶信息及用戶與項目的交互信息;如何全面考慮用戶與用戶、用戶與項目之間的聯(lián)系,進(jìn)一步提高推薦的準(zhǔn)確度,是未來的研究重點。
2)對大數(shù)據(jù)的高效處理問題。由于數(shù)據(jù)生成速度快,而且多源數(shù)據(jù)融合過程中引入了更多的噪聲和冗余,使得傳統(tǒng)推薦算法中采用的精確計算方式越來越難以應(yīng)對,概率模型統(tǒng)計方法將可能發(fā)揮更為重要的作用[43]。
3)推薦系統(tǒng)的效用評價問題。對傳統(tǒng)推薦系統(tǒng)的評價指標(biāo)主要是準(zhǔn)確度和效率,通常采用的方法有MAE、RMSE、關(guān)聯(lián)度等。這些指標(biāo)當(dāng)然也可以用于基于知識圖譜的推薦系統(tǒng),例如文獻(xiàn)[16]采用了準(zhǔn)確率和召回率來表征推薦系統(tǒng)的準(zhǔn)確度。然而,由于不同領(lǐng)域的推薦系統(tǒng)面臨的實際問題不同,相應(yīng)地使用了不同的數(shù)據(jù)集,使得難以形成統(tǒng)一的效用評價標(biāo)準(zhǔn)[44]。
4)如何通過深度挖掘和相關(guān)性知識發(fā)現(xiàn)提高推薦效果。由于知識圖譜本身的特點,相對于因果關(guān)系挖掘,其更適合于相關(guān)關(guān)系挖掘。通過從知識圖譜中深度挖掘項目之間、用戶之間、以及項目與用戶間的深層次關(guān)系,獲得更多的相關(guān)性結(jié)果,有助于為用戶進(jìn)行個性化推薦,在提高推薦結(jié)果多樣性的同時保持較高的推薦準(zhǔn)確性[45]。
5)推薦系統(tǒng)的可擴(kuò)展性??蓴U(kuò)展性一直是推薦系統(tǒng)應(yīng)用中面臨的難點問題[46]。在傳統(tǒng)推薦系統(tǒng)中,隨著用戶與項目數(shù)量的增加,會使得計算量顯著增大。目前主要的解決方法有聚類、數(shù)據(jù)集縮減、降維等。在知識圖譜中,用戶之間、用戶與項目之間隨時隨地的信息互動會產(chǎn)生大規(guī)模的數(shù)據(jù)集;將這些數(shù)據(jù)集融入知識圖譜后會急劇增加計算復(fù)雜度。如何將用戶之間產(chǎn)生的數(shù)據(jù)動態(tài)、快速地融入知識圖譜并提高推薦系統(tǒng)的可擴(kuò)展性,是未來需要解決的難點問題。
6)社交網(wǎng)絡(luò)[47]信息的充分利用問題。傳統(tǒng)的推薦系統(tǒng)假設(shè)用戶之間是獨立同分布的,忽略了用戶之間的社會交互及聯(lián)系。知識圖譜中用戶與戶、用戶與項目、項目與項目之間都存在一定的聯(lián)系,用戶不再是單一的用戶需要進(jìn)一步挖掘彼此之間的聯(lián)系以發(fā)現(xiàn)更多的隱含信息。因此結(jié)合社交網(wǎng)絡(luò)關(guān)系[48]也是今后的一個研究重點。
本文對基于知識圖譜的推薦系統(tǒng)研究現(xiàn)狀進(jìn)行了較為全面的綜述。對于基于本體的推薦生成、基于LOD的推薦生成以及基于圖嵌入的推薦生成3類方法,都取得了較好的推薦效果。由于每種方法各有優(yōu)缺點,將多種方法綜合起來使用是一條有效途徑。本文在綜合考察這些工作的基礎(chǔ)上,給出了基于知識圖譜的推薦系統(tǒng)總體框架。
由于知識圖譜只有在達(dá)到一定規(guī)模時才能發(fā)揮較好的效果,因此在利用知識圖譜進(jìn)行推薦之前還存在許多難點問題有待解決。典型的問題包括多源信息融合、知識圖譜中用戶特征的挖掘及潛在需求的分析、多維度推薦、與時間空間推理的結(jié)合、用戶隱私保護(hù)等。此外,近年來興起的深度學(xué)習(xí)[49]、表示學(xué)習(xí)[50]、位置感知等也為基于知識圖譜的推薦系統(tǒng)提供了許多可能的改進(jìn)方向,值得進(jìn)一步研究。