程淑玉,黃淑樺,印 鑒
1(安徽電子信息職業(yè)技術(shù)學(xué)院,安徽 蚌埠 233060)
2(中山大學(xué) 數(shù)據(jù)科學(xué)與計(jì)算機(jī)學(xué)院 廣東省大數(shù)據(jù)分析與處理重點(diǎn)實(shí)驗(yàn)室,廣州 510006)E-mail:csygold@163.com
近幾年來,伴隨著移動(dòng)互聯(lián)網(wǎng)、大數(shù)據(jù)的飛速發(fā)展,網(wǎng)絡(luò)上的信息內(nèi)容和服務(wù)也迅猛增長,如網(wǎng)購的商品信息、新聞資訊、多媒體服務(wù)等,這些信息將會(huì)毫無規(guī)律地、毫無差別地展現(xiàn)在每個(gè)用戶面前.對(duì)于普通用戶來說,如何在這些海量信息中獲得自己需要的內(nèi)容是一件極其困難并且十分耗費(fèi)時(shí)間的事.同時(shí),對(duì)于商家而言,無法將用戶需要的商品及時(shí)呈現(xiàn)給用戶,會(huì)導(dǎo)致用戶體驗(yàn)大打折扣,難以提高交易量.所以,為了解決信息過載的問題,人們提出了推薦系統(tǒng).
推薦系統(tǒng)能夠根據(jù)用戶的屬性檔案和歷史行為記錄,學(xué)習(xí)用戶的興趣偏好,并從海量的內(nèi)容中篩選出用戶可能感興趣的部分推薦給用戶,過濾掉冗余、用戶不感興趣的部分,從而提高用戶篩選信息的效率,解決了大數(shù)據(jù)時(shí)代下的信息過載問題,提高了用戶體驗(yàn),被大量應(yīng)用在新聞、電影、書籍電子商務(wù)、社交網(wǎng)絡(luò)等在線內(nèi)容和服務(wù)平臺(tái),并取得了不錯(cuò)的成果.目前,推薦系統(tǒng)大概分為三類,分別是基于內(nèi)容的推薦、協(xié)同過濾推薦,以及混合推薦.其中協(xié)同過濾推薦是目前應(yīng)用最廣泛的推薦方法[1],它以用戶對(duì)物品或者信息的偏好為基礎(chǔ),發(fā)現(xiàn)物品或者信息本身的相關(guān)性,為用戶推薦具有相關(guān)性的物品或者信息;或者發(fā)現(xiàn)用戶的相關(guān)性,然后將該用戶偏好的物品推薦給其他具有相關(guān)性的用戶.由于協(xié)同過濾推薦依賴用戶的歷史偏好數(shù)據(jù),且偏好數(shù)據(jù)十分稀疏,從而降低了推薦的精確度.同時(shí),新用戶和新物品還將面臨冷啟動(dòng)問題.
為了解決這些問題,研究者們嘗試將額外的輔助信息引入推薦算法中,來豐富用戶、物品或者信息的描述,從而彌補(bǔ)用戶的歷史偏好數(shù)據(jù)集的稀疏或缺失.常用的輔助信息包括:社交網(wǎng)絡(luò)[2]、用戶/物品屬性[3]、圖像/文本等多媒體信息[4]、上下文信息[5]、知識(shí)圖譜等.
知識(shí)圖譜是近年來新興的一種輔助信息[6],其基本結(jié)構(gòu)是一種有向異構(gòu)圖,圖中節(jié)點(diǎn)對(duì)應(yīng)實(shí)體,邊對(duì)應(yīng)實(shí)體間的語義關(guān)系,例如NELL、DBpedia、Google Knowledge Graph、Microsoft Satori等.知識(shí)圖譜可以對(duì)多源異構(gòu)數(shù)據(jù)進(jìn)行整合和知識(shí)提取,包含了實(shí)體之間更豐富的語義關(guān)聯(lián),并且可以結(jié)合推理得到的隱含信息為用戶提供個(gè)性化服務(wù),被廣泛應(yīng)用于智能搜索、智能問答、文本分類等領(lǐng)域.將知識(shí)圖譜引入推薦系統(tǒng)能夠提供用戶、物品之間更豐富的語義關(guān)聯(lián),有助于挖掘物品間的更深層次的關(guān)系,提高推薦的精確度;同時(shí)知識(shí)圖譜包含多種關(guān)系,可以從多個(gè)方向且合理地?cái)U(kuò)展用戶的興趣范圍,提高推薦物品的多樣性;知識(shí)圖譜將用戶的偏好物品與推薦物品相連接,為推薦結(jié)果提供更好的解釋性,從而提高用戶對(duì)推薦結(jié)果的滿意度和接受度.
基于知識(shí)圖譜的推薦系統(tǒng)分為兩類,一類采用的是基于知識(shí)圖譜特征學(xué)習(xí)(knowledge graph embedding ,KGE)方法,如Fuzheng Zhang等提出的CKE[7]模型,該模型首先進(jìn)行物品的知識(shí)圖譜特征、文本特征及圖像特征學(xué)習(xí),然后將這些特征應(yīng)用于協(xié)同過濾;Hongwei Wang等提出DKN[8]模型,該模型首先學(xué)習(xí)新聞標(biāo)題的詞向量和實(shí)體向量、實(shí)體上下文向量,然后通過卷積神經(jīng)網(wǎng)絡(luò)的框架進(jìn)行融合得到新聞實(shí)體的特征向量,用于后續(xù)的個(gè)性化推薦,這些模型中的知識(shí)圖譜特征學(xué)習(xí)模塊和推薦模塊是相互獨(dú)立的,其中知識(shí)圖譜特征學(xué)習(xí)模塊學(xué)習(xí)到的實(shí)體特征表示更適用于知識(shí)圖譜內(nèi)部的應(yīng)用,如實(shí)體間的連接預(yù)測(cè),無法引入關(guān)系特征,對(duì)推薦生成的幫助比較有限.另一類采用的是基于開放鏈接數(shù)據(jù)(linked open data,LOD)的方法,如Xiao Yu等提出的PER[9]模型,HuanZhao等提出的Meta-Graph[10]模型都采取將知識(shí)圖譜視為一個(gè)異構(gòu)信息網(wǎng)絡(luò),構(gòu)造物品之間的基于meta-path或meta-graph的特征.例如,“電影->題材->電影->主演->電影”這條meta-path可以連接兩部電影,因此可以視為一種挖掘電影之間的潛在關(guān)系的方式.這類方法的優(yōu)點(diǎn)是充分且直觀地利用了知識(shí)圖譜的網(wǎng)絡(luò)結(jié)構(gòu),缺點(diǎn)是需要手動(dòng)設(shè)計(jì)meta-path或meta-graph,使得模型在實(shí)踐中難以優(yōu)化.
針對(duì)以上兩個(gè)問題及推薦系統(tǒng)中的數(shù)據(jù)稀疏問題,本文借鑒RippleNet模型[11]中的“偏好擴(kuò)散”思想,提出融合知識(shí)圖譜結(jié)構(gòu)特征學(xué)習(xí)及循環(huán)神經(jīng)網(wǎng)絡(luò)的推薦方法,主要貢獻(xiàn)如下:
1)針對(duì)以上兩類基于知識(shí)圖譜的推薦系統(tǒng)中存在的問題,提出通過“偏好擴(kuò)散”自發(fā)挖掘用戶的潛在偏好,將知識(shí)圖譜特征學(xué)習(xí)融入到推薦系統(tǒng)內(nèi),利用知識(shí)圖譜中實(shí)體的連接獲取用戶擴(kuò)散偏好集.
2)針對(duì)用戶歷史偏好數(shù)據(jù)稀疏問題,提出利用循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)進(jìn)行推薦,將用戶擴(kuò)散偏好集作為循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入,結(jié)合基于物品的注意力機(jī)制對(duì)用戶擴(kuò)散偏好集進(jìn)行學(xué)習(xí),獲取包含更多有用信息的更深層次的用戶偏好表示,以提高預(yù)測(cè)用戶喜歡某個(gè)物品的準(zhǔn)確性.
知識(shí)圖譜[12]是Google[13]于2012年5月17日正式提出的,用于增強(qiáng)其搜索引擎功能的知識(shí)庫.其本質(zhì)上是一種揭示實(shí)體之間關(guān)系的異構(gòu)語義網(wǎng)絡(luò),可以對(duì)現(xiàn)實(shí)世界的事物及其相互關(guān)系進(jìn)行形式化的描述.
知識(shí)圖譜中,節(jié)點(diǎn)E={e1,e2,e3,…,e|E|}代表實(shí)體或者概念,實(shí)體指的是具有可區(qū)別性且獨(dú)立存在的某種事物,概念指的是具有同種特性的實(shí)體構(gòu)成的集合,每個(gè)實(shí)體或者概念用一個(gè)唯一的ID來標(biāo)識(shí);邊R={r1,r2,r3,…,r|R|}代表實(shí)體/概念之間的各種語義關(guān)系,可以形式化為一個(gè)函數(shù),把k個(gè)點(diǎn)映射到一個(gè)布爾值.一個(gè)三元組(h,r,t)表示一條知識(shí),兩個(gè)實(shí)體間存在著某種關(guān)系,其中h表示知識(shí)的頭節(jié)點(diǎn),t表示尾節(jié)點(diǎn),r表示關(guān)系.若干三元組的集合S={(h,r,t)|h?E,r?R,t?E}構(gòu)成一個(gè)知識(shí)圖譜.如圖1所示,知識(shí)圖譜可以清晰地表示出電影、演員和導(dǎo)演之間的語義關(guān)系.
將知識(shí)圖譜引入推薦系統(tǒng)的方法有兩類:基于特征的推薦方法和基于路徑的推薦方法.基于特征的推薦方法從知識(shí)圖譜中抽取一些用戶和物品的屬性作為特征,將這些特征輸入到傳統(tǒng)的推薦模型中進(jìn)行訓(xùn)練,如CKE[7]、DKN[8],這些特征可以引入物品間更豐富具體的語義關(guān)聯(lián),提高推薦系統(tǒng)的準(zhǔn)確性.基于路徑的推薦方法將知識(shí)圖譜視為一個(gè)異構(gòu)信息網(wǎng)絡(luò),通過構(gòu)造物品之間的基于meta-path或meta-graph的特征挖掘物品之間的潛在關(guān)系,如PER[9]、Meta-Graph[10],這類方法可以充分且直觀地利用知識(shí)圖譜的網(wǎng)絡(luò)結(jié)構(gòu).
知識(shí)圖譜特征學(xué)習(xí)(KGE)是網(wǎng)絡(luò)特征學(xué)習(xí)的一個(gè)子領(lǐng)域,它為知識(shí)圖譜中的每個(gè)實(shí)體和關(guān)系學(xué)習(xí)得到一個(gè)低維向量,降低知識(shí)圖譜的高維性和異構(gòu)性,同時(shí)保持圖中原有的結(jié)構(gòu)或語義信息.一般而言,KGE的模型[12]分為兩類:
1)基于語義的匹配模型.這類模型使用基于相似度的評(píng)分函數(shù)評(píng)估三元組的置信度,將實(shí)體和關(guān)系映射到語義空間中進(jìn)行相似度度量.典型代表有ANALOGY[14]、ComplEx[15]、DisMult[16]等.
2)基于距離的翻譯模型.這類模型的核心思想是將實(shí)體和關(guān)系投影到同一低維向量空間下,然后使用基于距離的評(píng)分函數(shù)評(píng)估三元組的置信度,將關(guān)系視為從頭節(jié)點(diǎn)實(shí)體到尾節(jié)點(diǎn)實(shí)體的翻譯得到的結(jié)果.典型代表有TransE[17]、TransH[18]、TransD[19]、TransR[20]等.
目前,我們通過依次學(xué)習(xí)、聯(lián)合學(xué)習(xí)和交替學(xué)習(xí)三種方式將知識(shí)圖譜特征學(xué)習(xí)應(yīng)用到推薦系統(tǒng).依次學(xué)習(xí)(one-by-one learning)首先利用知識(shí)圖譜特征學(xué)習(xí)得到低維的關(guān)系向量和實(shí)體向量,然后將這些向量引入推薦系統(tǒng),學(xué)習(xí)得到用戶向量和物品向量,如DKN[8],該方式將知識(shí)圖譜特征學(xué)習(xí)模塊和推薦系統(tǒng)模塊相互獨(dú)立,通過一次訓(xùn)練得到實(shí)體和關(guān)系向量,以后每次推薦系統(tǒng)模塊需要更新時(shí)都可以直接使用這些向量作為輸入,無需重新訓(xùn)練,開銷較小,但是知識(shí)圖譜特征學(xué)習(xí)模塊得到的向量會(huì)更適合于知識(shí)圖譜內(nèi)的任務(wù),對(duì)推薦的幫助不大;聯(lián)合學(xué)習(xí)(joint learning)將知識(shí)圖譜特征學(xué)習(xí)模塊和推薦系統(tǒng)模塊相結(jié)合,使用端到端的訓(xùn)練方式進(jìn)行學(xué)習(xí),如CKE[7]和Ripple Network[12],該方式能夠?qū)⑼扑]系統(tǒng)模塊的監(jiān)督信號(hào)反饋到知識(shí)圖譜特征學(xué)習(xí)中,有利于提高系統(tǒng)的性能,但是訓(xùn)練開銷比較大;交替學(xué)習(xí)(alternate learning)將知識(shí)圖譜特征學(xué)習(xí)模塊和推薦系統(tǒng)模塊視為兩個(gè)分離但又相關(guān)的任務(wù),使用多任務(wù)學(xué)習(xí)的框架進(jìn)行學(xué)習(xí),如MKR,該方式可以防止過擬合和提高系統(tǒng)的泛化能力.
本文借鑒RippleNet模型中的“偏好擴(kuò)散”思想,可以自發(fā)地挖掘用戶的潛在偏好,不需要手動(dòng)設(shè)置meta-path,并在推薦系統(tǒng)中引入了知識(shí)圖譜的結(jié)構(gòu)信息來提升推薦系統(tǒng)的質(zhì)量.本文的推薦系統(tǒng)以點(diǎn)擊率預(yù)測(cè)為目標(biāo)進(jìn)行訓(xùn)練.為了使實(shí)體特征對(duì)推薦任務(wù)的作用最大化,本文方法將知識(shí)圖譜結(jié)構(gòu)特征學(xué)習(xí)和推薦算法的目標(biāo)函數(shù)融合進(jìn)行聯(lián)合學(xué)習(xí),所以模型損失函數(shù)如公式(1)所示.
Loss=λLKGE+Lpredict
(1)
其中,LKGE為特征學(xué)習(xí)損失函數(shù),Lpredict為預(yù)測(cè)損失函數(shù),采用了隨機(jī)梯度下降法來優(yōu)化損失函數(shù).
本文設(shè)計(jì)了一個(gè)基于知識(shí)圖譜與循環(huán)神經(jīng)網(wǎng)絡(luò)的推薦系統(tǒng)模型,模型框架如圖2所示,其中左邊部分為知識(shí)圖譜結(jié)構(gòu)特征學(xué)習(xí),首先通過知識(shí)圖譜的結(jié)構(gòu)信息,使得所有尾節(jié)點(diǎn)作為頭結(jié)點(diǎn)和關(guān)系的翻譯結(jié)果,然后,利用“偏好擴(kuò)散”思想獲取用戶的擴(kuò)散偏好集,進(jìn)行用戶的偏好特征表示;右邊部分是構(gòu)建推薦模型,該模型是一個(gè)基于循環(huán)神經(jīng)網(wǎng)絡(luò)和注意力機(jī)制的推薦算法,將左邊部分獲取的擴(kuò)散偏好集作為循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入,融合注意力機(jī)制,輸出用戶喜歡某物品的預(yù)測(cè)概率.
圖2 基于知識(shí)圖譜與循環(huán)神經(jīng)網(wǎng)絡(luò)的推薦系統(tǒng)模型框架
知識(shí)圖譜結(jié)構(gòu)特征學(xué)習(xí)關(guān)注的是實(shí)體節(jié)點(diǎn)間的連接關(guān)系,使用TransE算法進(jìn)行學(xué)習(xí)得到實(shí)體和關(guān)系向量,使實(shí)體特征包含圖譜中的結(jié)構(gòu)信息,如圖2左邊部分表示.本文在結(jié)構(gòu)特征學(xué)習(xí)采用基于距離的翻譯模型方法,即有連接關(guān)系的兩個(gè)實(shí)體間的距離盡可能小,該方法可以學(xué)習(xí)到知識(shí)實(shí)體的向量表示.所以,所有真實(shí)三元組應(yīng)滿足h+r≈t,因此相關(guān)的損失函數(shù)定義為.
(2)
在RippleNet模型[12]中,提出了一種“偏好擴(kuò)散”思想.如圖3所示,一個(gè)用戶的偏好集可以通過知識(shí)圖譜的連接,逐層往外擴(kuò)散,形成擴(kuò)散偏好集.如圖1中電影“霸王別姬”和主演“張國榮”之間有連接,而“張國榮”又與其主演的電影“風(fēng)月”之間有連接,那么喜歡電影“霸王別姬”的用戶的偏好就可以通過這個(gè)關(guān)系,擴(kuò)散到電影“風(fēng)月”上了.
圖3 基于知識(shí)圖譜的用戶擴(kuò)散偏好集
傳統(tǒng)推薦算法僅僅考慮用戶的歷史偏好數(shù)據(jù),而RippleNet模型將用戶向量表示視為用戶擴(kuò)散偏好集中的實(shí)體向量表示的加權(quán)和,合理地豐富了用戶的偏好數(shù)據(jù).通過“偏好擴(kuò)散”思想,獲取每個(gè)用戶的擴(kuò)散偏好集,并作為后續(xù)RNN模型的輸入,進(jìn)行用戶偏好特征表示的學(xué)習(xí).
和其他只考慮用戶歷史偏好數(shù)據(jù)的基于循環(huán)神經(jīng)網(wǎng)絡(luò)的推薦方法不同,本文利用循環(huán)神經(jīng)網(wǎng)絡(luò)對(duì)用戶擴(kuò)散偏好集進(jìn)行學(xué)習(xí),獲取包含更多有用信息的更深層次的用戶偏好表示,用于后續(xù)預(yù)測(cè)用戶喜歡某個(gè)物品的概率,整體架構(gòu)如圖2右邊部分.最底的輸入層是來自用戶擴(kuò)散偏好集的物品特征表示.中間的隱藏層采用門控循環(huán)單元(GRU)作為RNN單元.GRU是長短期記憶網(wǎng)絡(luò)(LSTM)的一種變體,將遺忘門和輸入門合成了一個(gè)單一的更新門,結(jié)構(gòu)更加簡(jiǎn)單,因此收斂速度更快.
更新門用于確定前一個(gè)狀態(tài)信息被傳遞到當(dāng)前狀態(tài)中的程度.
rt=σ(Wrxt+Urht-1)
(3)
重置門用于確定忽略前一個(gè)狀態(tài)信息的程度.
zt=σ(Wzxt+Uzht-1)
(4)
(5)
當(dāng)前狀態(tài)是前一個(gè)狀態(tài)和候選狀態(tài)之間的線性插值.
(6)
本文方法中,RNN的輸入序列不是單純的時(shí)序關(guān)系,而是基于用戶擴(kuò)散偏好集的層次關(guān)系,內(nèi)部層次的物品位于輸入序列的前面,外部層次的物品位于輸入序列的后面.
考慮到用戶對(duì)擴(kuò)散偏好集中不同物品有不同偏好程度,文本采用了基于物品的注意力機(jī)制,對(duì)輸入的不同部分進(jìn)行線性組合,從而構(gòu)成用戶的偏好特征表示.
(7)
其中αjn表示第j個(gè)隱藏狀態(tài)和最后第n個(gè)狀態(tài)的匹配程度,其中n是用戶擴(kuò)散偏好集Eu的大小,表示了第j個(gè)物品對(duì)用戶u的相對(duì)重要性,從而確定了在推薦過程中哪些物品應(yīng)該被重視,哪些物品應(yīng)該相對(duì)被忽略.αjn的計(jì)算如下.
(8)
得到用戶的偏好特征表示之后,就可以預(yù)測(cè)用戶u喜歡某個(gè)候選物品ci的概率.
(9)
最后,通過最小化真實(shí)值和預(yù)測(cè)值間的交叉熵?fù)p失來訓(xùn)練模型.
(10)
其中q為預(yù)測(cè)概率分布,而p為真實(shí)概率分布.
本文采用了電影數(shù)據(jù)集MovieLens-1M和圖書數(shù)據(jù)集Book-Crossing.其中MovieLens-1M包括了6036個(gè)用戶,2445部電影,以及百萬條評(píng)分信息.Book-Crossing包括了17860個(gè)用戶,14967本圖書,以及百萬條評(píng)分信息.本文把用戶的高評(píng)分?jǐn)?shù)據(jù)(評(píng)分大于等于4為高分)轉(zhuǎn)化為用標(biāo)記1代表已評(píng)分,從而將MovieLens-1M的顯示反饋數(shù)據(jù)轉(zhuǎn)化為隱式反饋數(shù)據(jù).由于Book-Crossing數(shù)據(jù)集比較稀疏,所以把所有評(píng)分?jǐn)?shù)據(jù)都用標(biāo)記1表示.另外,為每個(gè)用戶隨機(jī)選取若干部未觀看的電影以及圖書,并加上標(biāo)記0,數(shù)量與已評(píng)分項(xiàng)的數(shù)量相同.
采用Hongwei Wang等[11]構(gòu)建的知識(shí)圖譜進(jìn)行實(shí)驗(yàn).Hongwei Wang用Microsoft Satori公開知識(shí)庫為數(shù)據(jù)集構(gòu)建知識(shí)圖譜.以MovieLens-1M為例,從整個(gè)知識(shí)庫中抽取出包含與“movie”有關(guān)的關(guān)系三元組子集,然后將數(shù)據(jù)集中的電影與知識(shí)庫子集中的電影實(shí)體相匹配,得到與數(shù)據(jù)集相關(guān)的實(shí)體集.為簡(jiǎn)單起見,無法得到匹配的電影會(huì)被丟棄.得到實(shí)體集后,通過與實(shí)體集相關(guān)的三元組迭代地?cái)U(kuò)散實(shí)體集,共擴(kuò)散了4層,完成MovieLens-1M的知識(shí)圖譜構(gòu)建.Book-Crossing的知識(shí)圖譜構(gòu)建同理.
4.2.1 度量標(biāo)準(zhǔn)
本文將數(shù)據(jù)集80%數(shù)據(jù)作為訓(xùn)練集,20%數(shù)據(jù)作為測(cè)試集.文中實(shí)驗(yàn)結(jié)果均為5次,重復(fù)實(shí)驗(yàn)得出的平均值.實(shí)驗(yàn)共在兩種情景下進(jìn)行:
1)點(diǎn)擊率預(yù)測(cè)
度量標(biāo)準(zhǔn)為AUC(如公式(11)所示)和精確率Acc(如公式(12)所示).
(11)
其中,insi∈Positive表示正樣例,rankinsi表示第i個(gè)樣例的依據(jù)預(yù)測(cè)概率的排名,M表示正樣例的個(gè)數(shù),N表示負(fù)樣例的個(gè)數(shù).實(shí)質(zhì)上,AUC表示正樣例依據(jù)預(yù)測(cè)概率排在負(fù)樣例之前的概率.
(12)
其中,TP表示真正例數(shù),TN表示真負(fù)例數(shù),P表示正例數(shù),N表示負(fù)例數(shù).實(shí)質(zhì)上,準(zhǔn)確率Acc則表示預(yù)測(cè)正確的樣本個(gè)數(shù)與總樣本數(shù)之比.
2)Top-K列表推薦
度量標(biāo)準(zhǔn)為回收率recall@K(如公式(13)所示)和準(zhǔn)確率precision@K(如公式(14)所示).
(13)
其中,F(xiàn)N表示假負(fù)例數(shù).實(shí)質(zhì)上,回收率recall@K表示真正例數(shù)和總正例數(shù)之比.
(14)
其中,F(xiàn)P表示假正例數(shù).實(shí)質(zhì)上,準(zhǔn)確率precision@K表示真正例數(shù)和所有預(yù)測(cè)為正的樣例數(shù)之比.
4.2.2 參數(shù)設(shè)置
實(shí)驗(yàn)的具體參數(shù)設(shè)置如表1所示.其中,d表示物品特征表示的維度和用戶特征表示的維度,h表示擴(kuò)散偏好集的層數(shù),m表示擴(kuò)散偏好集的每層大小,λ表示KGE損失的權(quán)重,η表示模型學(xué)習(xí)率.
表1 實(shí)驗(yàn)參數(shù)設(shè)置
4.2.3 參數(shù)對(duì)比分析
為了測(cè)量物品表示維度d對(duì)推薦效果的影響,本文分別在d=8,16,32,64的設(shè)置下對(duì)MovieLens-1M數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),以及在d=2,4,8,16的設(shè)置下對(duì)Book-Crossing數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖4所示.我們可以從兩個(gè)結(jié)果中發(fā)現(xiàn),一開始AUC會(huì)隨著d的增長而增長,因?yàn)閐越大,實(shí)體表示能表征更多有用信息,對(duì)于兩個(gè)數(shù)據(jù)集,d分別為16、4時(shí)推薦效果達(dá)到最佳;但是當(dāng)d繼續(xù)增大時(shí),會(huì)帶來過擬合現(xiàn)象,導(dǎo)致AUC降低.
圖4 d對(duì)AUC的影響
為了測(cè)量擴(kuò)散偏好集層數(shù)h對(duì)推薦效果的影響,本文分別在h=2,3,4,5的設(shè)置下對(duì)MovieLens-1M數(shù)據(jù)集以及Book-Crossing數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖5所示.結(jié)果顯示當(dāng)h分別為3、4時(shí)效果最佳,因?yàn)楫?dāng)h太小時(shí),難以發(fā)掘?qū)嶓w間更多的關(guān)聯(lián),而當(dāng)h太大時(shí),會(huì)帶來比有用信息更多的噪音.
圖5 h對(duì)AUC的影響
為了測(cè)量擴(kuò)散偏好集每一層的大小對(duì)推薦效果的影響,本文分別在m=8,16,32,64的設(shè)置下對(duì)MovieLens-1M數(shù)據(jù)集以及Book-Crossing數(shù)據(jù)集進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果如圖6所示.可以看出,一開始AUC會(huì)隨著m的增長而增長,但當(dāng)AUC太大時(shí),AUC會(huì)下降.理由同擴(kuò)散偏好集層數(shù)對(duì)推薦效果的影響相似,當(dāng)m太大時(shí)會(huì)帶來很多噪音,而且計(jì)算開銷也會(huì)很大.總的來說,對(duì)于兩個(gè)數(shù)據(jù)集,m=32時(shí)效果最佳.
圖6 m對(duì)AUC的影響
在本節(jié),我們將本文設(shè)計(jì)模型與下面幾種優(yōu)秀的模型進(jìn)行了對(duì)比:
BPR-MF[21]:基于貝葉斯個(gè)性化排序的矩陣分解,通過構(gòu)建用戶對(duì)不同物品的偏序關(guān)系進(jìn)行協(xié)同過濾的推薦.
RNNRec[22]:根據(jù)用戶的時(shí)序的異構(gòu)行為,例如瀏覽、購買等,利用RNN模型去預(yù)測(cè)用戶喜歡某個(gè)物品等概率.
CKE[8]:先進(jìn)行物品的KGE學(xué)習(xí)、文本特征學(xué)習(xí)、圖像特征學(xué)習(xí),并將這些特征引用于協(xié)同過濾推薦.
RippleNet[11]:將知識(shí)圖譜特征學(xué)習(xí)融入推薦系統(tǒng),利用“偏好擴(kuò)散”結(jié)合注意力機(jī)制得到用戶的偏好特征表示.
算法對(duì)比在點(diǎn)擊率預(yù)測(cè)結(jié)果如表2所示,在Top-K列表推薦情景下的實(shí)驗(yàn)結(jié)果如圖7、圖8所示.
表2 點(diǎn)擊率預(yù)測(cè)
圖7 不同k值的召回率和準(zhǔn)確率(MovieLens-1M)
圖8 不同k值的召回率和準(zhǔn)確率(Book-Crossing)
由算法對(duì)比實(shí)驗(yàn)結(jié)果可知BPR-MF方法在兩個(gè)數(shù)據(jù)集上的召回率和精確度都是最低,效果最不理想,因?yàn)樗豢紤]了不同物品對(duì)用戶的影響力的差別,而完全忽略了對(duì)物品語義信息的利用.RNNRec方法僅把用戶行為劃分為有評(píng)分和無評(píng)分兩種,沒有利用多種異構(gòu)交互行為,該方法點(diǎn)擊率預(yù)測(cè)僅次于RippleNet和本文方法,并且在Top-K列表推薦情景下優(yōu)于RippleNet.CKE方法只利用了KGE,而沒有利用文本特征和圖像特征,所以效果相對(duì)會(huì)差一些,僅優(yōu)于BPR-MF.RippleNet取得很好的效果,但是相比本文提出的用RNN學(xué)習(xí)深層次用戶偏好特征的方法,RippleNet只是對(duì)用戶的擴(kuò)散偏好集采用了注意力機(jī)制的方法來獲取用戶偏好特征,因此效果還是略遜色一點(diǎn).在所有對(duì)比方法中,本文方法取得最好的效果,因?yàn)樗昧宋锲穼傩孕畔?,考慮了物品之間的語義關(guān)系,而且考慮用戶消費(fèi)偏好物品的順序的同時(shí),還引入了用戶擴(kuò)散偏好集,豐富了用戶的歷史偏好數(shù)據(jù).
本文提出了一個(gè)融合知識(shí)圖譜與循環(huán)神經(jīng)網(wǎng)絡(luò)的推薦系統(tǒng).此推薦系統(tǒng)利用知識(shí)圖譜以及“偏好擴(kuò)散”思想獲取用戶的擴(kuò)散偏好集,豐富了用戶的偏好信息,具有很好的可解釋性.本文方法通過“偏好擴(kuò)散”將知識(shí)圖譜特征學(xué)習(xí)自動(dòng)融合到了推薦系統(tǒng),相比于其他將知識(shí)圖譜特征學(xué)習(xí)模塊與推薦模塊獨(dú)立開來的方法,物品特征表示更適用于推薦任務(wù).與其他推薦方法僅利用用戶歷史交互序列作為循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入不同,本文首次將擴(kuò)散偏好集作為循環(huán)神經(jīng)網(wǎng)絡(luò)的輸入,以學(xué)習(xí)到更深層次的用戶偏好特征表示.本文將實(shí)驗(yàn)建立在電影及圖書推薦上,進(jìn)行了點(diǎn)擊率預(yù)測(cè)以及Top-K列表推薦.實(shí)驗(yàn)結(jié)果表明,本文方法的推薦效果比最新優(yōu)秀方法獲得了更好的效果.