張 昕,劉思遠(yuǎn),徐雁翎
遼寧大學(xué) 信息學(xué)院,沈陽110036
項(xiàng)目推薦是最有效的也是應(yīng)用最廣泛的信息過濾和信息發(fā)現(xiàn)的方法之一。目前為了滿足用戶個(gè)性化興趣的推薦系統(tǒng)已經(jīng)投入了大量的研究。在典型的推薦方法中,基于協(xié)同過濾[1]的方法利用用戶的歷史偏好,取得了顯著的成效。但是推薦系統(tǒng)普遍面臨兩個(gè)問題:一是用戶-項(xiàng)目矩陣通常是非常稀疏的,即數(shù)據(jù)稀疏性問題;二是對(duì)于新加入推薦系統(tǒng)的用戶與項(xiàng)目,由于沒有其歷史交互信息所以無法對(duì)其進(jìn)行建模與推薦,即冷啟動(dòng)問題。協(xié)同過濾方法在數(shù)據(jù)稀疏以及冷啟動(dòng)的情況下效果相對(duì)較差。解決此問題的一個(gè)常見思路是導(dǎo)入輔助信息,豐富推薦系統(tǒng)中對(duì)于用戶與項(xiàng)目的描述,從而有效彌補(bǔ)用戶興趣的稀疏或缺失。在各類輔助信息(如用戶概況[2]、社交網(wǎng)絡(luò)、圖像等)中,知識(shí)圖譜作為一種新興的輔助信息,其中包含大量的結(jié)構(gòu)化數(shù)據(jù)[3],近年來逐漸受到研究者的關(guān)注。
知識(shí)圖譜是由大量的實(shí)體和關(guān)系組成的多關(guān)系有向圖。更具體地說,知識(shí)圖譜中的每條邊都以(頭實(shí)體、關(guān)系,尾實(shí)體)的形式表示為一個(gè)三元組,也稱為事實(shí)、頭實(shí)體與尾實(shí)體通過關(guān)系連接。近年來,大量的知識(shí)圖譜如Google 知識(shí)圖譜、DBpedia 和Microsoft 的Satori 被創(chuàng)建并成功地應(yīng)用于許多場(chǎng)景中,例如知識(shí)圖譜補(bǔ)全[4]、知識(shí)問答、詞嵌入[5]、文本分類等諸多領(lǐng)域,在推薦系統(tǒng)中也得到了廣泛應(yīng)用。圖1 所示為電影推薦的典型場(chǎng)景,其中《霸王別姬》《建黨偉業(yè)》《無問西東》三部影片為用戶的觀看記錄,根據(jù)知識(shí)圖譜可以得知影片的導(dǎo)演、類型和主演分別是“陳凱歌”“愛情”和“劉燁”,隨后就可以向用戶推薦陳凱歌導(dǎo)演,劉燁主演的“無極”和同樣是愛情類型的電影“怦然心動(dòng)”。
圖1 知識(shí)圖譜在電影推薦中的應(yīng)用Fig.1 Application of knowledge graph in movie recommendation
利用知識(shí)圖譜來提高推薦系統(tǒng)的性能,也稱作知識(shí)感知推薦,在一定程度上解決了推薦系統(tǒng)的數(shù)據(jù)稀疏性以及冷啟動(dòng)問題。傳統(tǒng)的推薦算法利用項(xiàng)目屬性信息來緩解冷啟動(dòng)問題,而知識(shí)圖譜可以看成是對(duì)于項(xiàng)目屬性的拓展,具有更高維度的語義信息[6],可以更好地解決冷啟動(dòng)問題;對(duì)于數(shù)據(jù)稀疏性問題,引入知識(shí)圖譜后所關(guān)注的不再是整個(gè)用戶-項(xiàng)目矩陣,而是與用戶交互的項(xiàng)目在知識(shí)圖譜中通過實(shí)體傳播得到的實(shí)體,從而解決數(shù)據(jù)稀疏性問題。除此之外,知識(shí)感知推薦的優(yōu)勢(shì)還包括:(1)知識(shí)圖譜引入了項(xiàng)目之間的語義關(guān)聯(lián),有助于發(fā)現(xiàn)項(xiàng)目之間的潛在關(guān)系,提高推薦的準(zhǔn)確性;(2)知識(shí)圖譜包含各種類型的關(guān)系,有助于合理地?cái)U(kuò)展用戶的興趣,增加推薦的多樣性;(3)知識(shí)圖譜將用戶的歷史記錄與推薦的項(xiàng)目連接起來,為推薦系統(tǒng)帶來了可解釋性。
一般來說,現(xiàn)有的知識(shí)感知推薦算法可分為兩類:
一類是基于嵌入的方法,使用知識(shí)圖譜嵌入(KGE)算法對(duì)一個(gè)知識(shí)圖譜進(jìn)行預(yù)處理,并將學(xué)到的實(shí)體嵌入到一個(gè)推薦框架中。例如,協(xié)同知識(shí)庫(kù)嵌入(CKE)[7]將CF 模塊與知識(shí)嵌入、文本嵌入和項(xiàng)目的圖像嵌入結(jié)合在一個(gè)貝葉斯框架中。深度知識(shí)感知網(wǎng)絡(luò)(deep knowledge-aware network,DKN)[8]將實(shí)體嵌入和詞嵌入作為兩個(gè)不同的模塊,然后設(shè)計(jì)一個(gè)CNN 框架將它們組合在一起進(jìn)行新聞推薦。融合循環(huán)知識(shí)圖譜和協(xié)同過濾電影推薦算法[9]將協(xié)同過濾與循環(huán)知識(shí)圖譜嵌入相結(jié)合進(jìn)行電影推薦。但是這些方法中采用的知識(shí)圖譜嵌入算法學(xué)習(xí)到的嵌入對(duì)于表示項(xiàng)目間的關(guān)系不太直觀和有效。
另一類是基于路徑的方法,通過探索知識(shí)圖譜與項(xiàng)目之間的各種連接模式,為推薦提供額外的信息。例如,個(gè)性化實(shí)體推薦(PER)[10]將知識(shí)圖譜視為異構(gòu)信息網(wǎng)絡(luò)(HIN),提取基于元路徑/元圖的潛在特征來表示用戶與項(xiàng)目之間沿不同類型關(guān)系路徑/圖的連通性。Luo等人研究了一種基于社交網(wǎng)絡(luò)的推薦算法Hete-CF[11],該算法通過基于元路徑的相似性對(duì)用戶-項(xiàng)目、用戶-用戶和項(xiàng)目-項(xiàng)目進(jìn)行建模?;诼窂降姆椒ㄒ愿匀弧⒏庇^的方式使用知識(shí)圖譜,但是這些方法效果的好壞很大程度上取決于人工設(shè)計(jì)的元路徑的質(zhì)量和數(shù)量,而這又需要領(lǐng)域知識(shí)。這在很大程度上限制了這些方法生成高質(zhì)量推薦的能力。
針對(duì)現(xiàn)有推薦算法的局限性,本文提出了一種新的推薦模型——結(jié)合注意力機(jī)制的知識(shí)感知推薦算法。該算法的關(guān)鍵思想是應(yīng)用注意力機(jī)制獲取偏好傳播,旨在預(yù)測(cè)用戶對(duì)項(xiàng)目的點(diǎn)擊率,以用戶與項(xiàng)目的交互和知識(shí)圖譜作為輸入,并輸出用戶參與該項(xiàng)目(例如,點(diǎn)擊、瀏覽)的概率。對(duì)于每個(gè)用戶,將其歷史興趣作為知識(shí)圖譜的中心,然后沿著知識(shí)圖譜逐層向外擴(kuò)展。對(duì)于知識(shí)圖譜的每一層使用注意力機(jī)制研究每個(gè)實(shí)體的重要性,以此獲取用戶對(duì)不同項(xiàng)目的興趣,從而更好地預(yù)測(cè)點(diǎn)擊率。
綜上所述本文的貢獻(xiàn)如下:
(1)在知識(shí)感知推薦算法中同時(shí)結(jié)合了基于嵌入和基于路徑的方法。使用知識(shí)圖譜嵌入的同時(shí)無需任何人工設(shè)計(jì),可以自動(dòng)發(fā)現(xiàn)從用戶歷史記錄中的項(xiàng)目到候選項(xiàng)的路徑。
(2)應(yīng)用了注意力機(jī)制為合并到推薦系統(tǒng)中的實(shí)體賦予不同的重要性。
(3)給出一個(gè)將知識(shí)圖譜作為輔助信息引入到推薦系統(tǒng)的端到端框架。
知識(shí)圖譜嵌入是將知識(shí)圖譜中的實(shí)體與關(guān)系嵌入到低維連續(xù)的向量空間中,并且保持知識(shí)圖譜的固有結(jié)構(gòu)。知識(shí)圖譜嵌入的方法可分為兩類:(1)基于平移的嵌入方法(如TransE[12]、TransH[13]、TransR 等),其中TransE是最具代表性的方法之一,將實(shí)體和關(guān)系都表示為同一空間中的向量,其基本思想是使頭實(shí)體的嵌入與關(guān)系嵌入的和盡可能的接近尾實(shí)體的嵌入。(2)語義匹配模型,例如Co-mplEx[14]和RESCAL[15],通過匹配實(shí)體和關(guān)系的潛在語義來衡量知識(shí)圖譜三元組的合理性。例如,RESCAL 將關(guān)系表示為滿秩矩陣的形式,由于實(shí)體與關(guān)系之間都為矩陣運(yùn)算,所以實(shí)體與關(guān)系的信息可以進(jìn)行深層次的交互。但是這些方法更適合圖文應(yīng)用,例如鏈接預(yù)測(cè)。本文方法在推薦的同時(shí)進(jìn)行了嵌入,可以看作是一種特殊設(shè)計(jì)的知識(shí)圖譜嵌入方法,能夠更好地服務(wù)于推薦。
注意力機(jī)制與人類的視覺觀察具有相同的特性,即人眼在感知外界事物時(shí)并不是從頭到尾觀察一遍,而是根據(jù)自身的需求關(guān)注該事物特定的一部分。注意力機(jī)制對(duì)數(shù)據(jù)的不同部分賦予不同的重要性,從而使人們能夠?qū)W⒂谧钪匾臄?shù)據(jù)。起初引入注意力機(jī)制[16]是為了解決基于編解碼器框架處理序列到序列的轉(zhuǎn)換任務(wù),由于其能夠自動(dòng)地發(fā)現(xiàn)輸入數(shù)據(jù)的重點(diǎn)后來被廣泛應(yīng)用于機(jī)器翻譯、統(tǒng)計(jì)學(xué)習(xí)和推薦系統(tǒng)[17]。本文使用注意力機(jī)制來探索輸入項(xiàng)目、用戶歷史記錄以及知識(shí)圖譜中實(shí)體之間的關(guān)系。
在一個(gè)典型的推薦系統(tǒng)中,用戶集和項(xiàng)目集分別表示為U={u1,u2,…}和V={v1,v2,…}。用戶與項(xiàng)目的交互矩陣Y={yuv|u∈U,v∈V},其中:
若yuv的值為1,則表示用戶u與項(xiàng)目v之間存在交互,如點(diǎn)擊、觀看、瀏覽等行為。值得注意的是本文在推薦中使用的是隱式反饋,即通過用戶行為間接的反應(yīng)用戶偏好。Y中的值為1 僅表示已觀察到用戶與相應(yīng)項(xiàng)目之間的交互,盡管此類交互不能確保用戶真正喜歡該項(xiàng)目,但它們是有關(guān)用戶可能喜歡的信息的來源。同樣,Y中的值為0并不表示用戶對(duì)項(xiàng)目不感興趣。在本文中,觀察到的交互被視為模擬用戶潛在興趣的積極項(xiàng)目,而未觀察到的交互被模擬為不感興趣的消極項(xiàng)目。除了交互矩陣Y,已知內(nèi)容還包括知識(shí)圖譜G,它由大量的實(shí)體-關(guān)系-實(shí)體三元組(h,r,t) 組成。其中h∈E,r∈R,t∈E分別表示一個(gè)三元組的頭實(shí)體、關(guān)系和尾實(shí)體,E和R表示知識(shí)圖譜中實(shí)體和關(guān)系的集合。
在已知交互矩陣Y和知識(shí)圖G的情況下,目標(biāo)是學(xué)習(xí)一個(gè)CTR 預(yù)測(cè)模型,以預(yù)測(cè)用戶u對(duì)每個(gè)輸入項(xiàng)目v的點(diǎn)擊概率。
框架如圖2 所示,將項(xiàng)目v、用戶-項(xiàng)目交互以及知識(shí)圖譜G作為輸入。首先,根據(jù)用戶u的歷史點(diǎn)擊項(xiàng)以及知識(shí)圖譜根據(jù)本文的實(shí)體傳播方法得到多個(gè)合并實(shí)體集。然后,將項(xiàng)目v和實(shí)體集中的實(shí)體進(jìn)行嵌入,通過注意力機(jī)制得到基于注意力機(jī)制的用戶表示。最后,使用用戶u的最終表示u和項(xiàng)目v的嵌入v進(jìn)行CTR預(yù)測(cè)。
圖2 框架圖Fig.2 Frame diagram
知識(shí)圖譜包含各種實(shí)體以及實(shí)體之間復(fù)雜的關(guān)系,這些實(shí)體為探索用戶興趣提供了潛在的視角。然而對(duì)于特定的用戶,所有的實(shí)體對(duì)于用戶的偏好并不具有同等的重要性,并且有些實(shí)體與該用戶是無關(guān)的(稱為噪聲)。為了降低噪聲對(duì)于結(jié)果的影響,將用戶點(diǎn)擊歷史中的實(shí)體合并到知識(shí)圖譜中,使每個(gè)合并的實(shí)體都與用戶相關(guān)。
實(shí)體傳播過程如圖3所示,將用戶u點(diǎn)擊的歷史記錄記為L(zhǎng)u={vu,1,…,vu,m,…,vu,|S|},其中vu,m代表用戶u點(diǎn)擊的第m個(gè)項(xiàng)目,則實(shí)體傳播可以定義為:
圖3 實(shí)體傳播Fig.3 Entity propagation
其中,H為最大傳播次數(shù),經(jīng)過H次傳播得到H+1 組相關(guān)實(shí)體。
實(shí)體集的大小可能隨著跳數(shù)k的增加而變得越來越大,從而導(dǎo)致引入無關(guān)實(shí)體并且增大計(jì)算量。本文從以下幾個(gè)方面解決該問題:(1)知識(shí)圖譜中的大量實(shí)體它們只有傳入鏈接但沒有傳出鏈接。(2)在諸如電影或書籍推薦的特定推薦場(chǎng)景中,關(guān)系可以限于與場(chǎng)景相關(guān)的類別,以減小實(shí)體集的大小并提高實(shí)體之間的相關(guān)性。(3)在實(shí)踐中,最大跳數(shù)H通常不會(huì)太大,因?yàn)榫嚯x用戶歷史點(diǎn)擊項(xiàng)太遠(yuǎn)的實(shí)體帶來有用信息的同時(shí)也會(huì)產(chǎn)生更多的噪聲。將在實(shí)驗(yàn)部分討論H的選擇。(4)在本文算法中設(shè)置固定大小的實(shí)體集,而不是使用完整的實(shí)體集,進(jìn)一步減少計(jì)算開銷。
傳統(tǒng)的推薦方法及其變體學(xué)習(xí)用戶和項(xiàng)目的潛在表示,然后通過應(yīng)用特定函數(shù)(例如內(nèi)積)計(jì)算項(xiàng)目評(píng)分。在本文中,為了探索用戶和項(xiàng)目之間的交互,提出了一種基于注意力機(jī)制的偏好傳播方法,以獲取用戶的潛在興趣。注意力機(jī)制可以描述為將query和key-value映射到輸出。輸出為value的加權(quán)和,其中分配給每個(gè)value的權(quán)重由query與key通過兼容性函數(shù)計(jì)算得到。
圖4 基于注意力機(jī)制的用戶表示Fig.4 User representation based on attention mechanism
然后通過softmax 函數(shù)對(duì)value進(jìn)行加權(quán)求和得到用戶對(duì)于項(xiàng)目v的一階響應(yīng):
其中,softmax函數(shù)可以表示為:
本文算法中使用知識(shí)圖譜G和隱式反饋矩陣Y,學(xué)習(xí)目標(biāo)是最大化模型參數(shù)Θ的后驗(yàn)概率:
其中,Θ包括所有實(shí)體、關(guān)系和項(xiàng)目的嵌入,則有:
根據(jù)貝葉斯定理,在式(10)中,右側(cè)第1項(xiàng)p(Θ)計(jì)算模型參數(shù)Θ的先驗(yàn)概率。根據(jù)文獻(xiàn)[7],將p(Θ)設(shè)為具有零均值和對(duì)角協(xié)方差矩陣的高斯分布:
式(10)中右側(cè)第2項(xiàng)是給定Θ計(jì)算知識(shí)圖G的似然函數(shù)。在本文算法中,使用3階張量分解方法來定義知識(shí)圖譜嵌入的似然函數(shù):
如果(h,r,t)∈G,則Ih,r,t等于1,否則為0。根據(jù)式(12),可以在同一計(jì)算模型下統(tǒng)一知識(shí)圖譜嵌入中實(shí)體-實(shí)體對(duì)和項(xiàng)目-實(shí)體對(duì)在偏好傳播中的得分函數(shù)。式(10)中右側(cè)最后一項(xiàng)是給定Θ和知識(shí)圖譜時(shí)得到的隱式反饋的似然函數(shù),其定義為伯努利分布的乘積:
取式(10)的負(fù)對(duì)數(shù),得到損失函數(shù)如下:
其中,V和E分別是所有項(xiàng)目和實(shí)體的嵌入矩陣,Ir是知識(shí)圖譜中指標(biāo)張量I對(duì)于關(guān)系r的切片,而R是關(guān)系r的嵌入矩陣。在式(14)中,第1項(xiàng)計(jì)算的是交互Y的正確標(biāo)注數(shù)據(jù)和預(yù)測(cè)值之間的交叉熵?fù)p失,第2項(xiàng)計(jì)算知識(shí)圖譜Ir的正確標(biāo)注數(shù)據(jù)和重構(gòu)的指標(biāo)矩陣ETRE之間的平方誤差,第3項(xiàng)計(jì)算的是用于防止過度擬合的正則化項(xiàng)。
本文采用隨機(jī)梯度下降(SGD)算法來優(yōu)化損失函數(shù)。在每次訓(xùn)練中,為了使計(jì)算效率更高,按照文獻(xiàn)[18]中的負(fù)采樣策略從Y中隨機(jī)抽取1個(gè)小批量的正/負(fù)反饋,從G抽取1 個(gè)小批量的true/false 三元組。然后,針對(duì)模型參數(shù)Θ計(jì)算損失函數(shù)L的梯度,并基于采樣的小批量數(shù)據(jù)通過反向傳播更新所有參數(shù)。本文將在實(shí)驗(yàn)部分中討論超參數(shù)的選擇。
本章給出算法在兩個(gè)通用數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果,并與代表性推薦算法進(jìn)行性能對(duì)比。首先介紹實(shí)驗(yàn)所用數(shù)據(jù)集、對(duì)比算法和相關(guān)參數(shù)設(shè)置,然后給出點(diǎn)擊率預(yù)測(cè)以及top-K推薦在這兩個(gè)推薦場(chǎng)景中的結(jié)果,最后討論實(shí)驗(yàn)中超參數(shù)的選擇。
本文選取2個(gè)通用數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。其中MovieLens-1M數(shù)據(jù)集是電影推薦中廣泛使用的數(shù)據(jù)集,由MovieLens網(wǎng)站上約1 000 000 個(gè)顯式反饋(評(píng)級(jí)范圍從1 到5)組成。Book-Crossing數(shù)據(jù)集包含了Book-Crossing社區(qū)中1 149 780個(gè)顯式反饋(評(píng)級(jí)范圍從0到10)組成。
由于MovieLens-1M 數(shù)據(jù)集和Book-Crossing 數(shù)據(jù)集對(duì)于電影與書籍的反饋都為顯式反饋,本文將其轉(zhuǎn)換為隱式反饋。對(duì)于用戶已進(jìn)行評(píng)級(jí)的電影或書籍(MovieLens-1M 數(shù)據(jù)集的評(píng)級(jí)閾值為4,Book-Crossing數(shù)據(jù)集考慮數(shù)據(jù)稀疏性不設(shè)置閾值)標(biāo)記為1,并對(duì)相同數(shù)量的未評(píng)分電影進(jìn)行采樣,作為負(fù)(標(biāo)記為0)的隱式反饋,然后使用用戶和項(xiàng)目的ID嵌入作為原始輸入。
本文所使用的知識(shí)圖譜由文獻(xiàn)[19]生成,MovieLens-1M 的知識(shí)圖譜包含20 195 個(gè)三元組和12 種關(guān)系。Book-Crossing知識(shí)圖譜表包含19 793個(gè)三元組和25種關(guān)系。由于過濾掉了知識(shí)圖譜中沒有相應(yīng)實(shí)體的項(xiàng)目,因此用戶,項(xiàng)目和交互的數(shù)量比原始數(shù)據(jù)集要少。表1為數(shù)據(jù)集預(yù)處理后的詳細(xì)統(tǒng)計(jì)信息。
表1 數(shù)據(jù)集的詳細(xì)統(tǒng)計(jì)數(shù)據(jù)Table 1 Detailed statistics of data set
本文選取以下代表性算法進(jìn)行對(duì)比:
(1)CKE將CF與結(jié)構(gòu)知識(shí)、文本知識(shí)和圖像知識(shí)結(jié)合在一個(gè)統(tǒng)一的貝葉斯框架中進(jìn)行推薦。由于文本知識(shí)和視覺知識(shí)在本文中不可用,所以使用CKE 的CF+結(jié)構(gòu)知識(shí)模塊。
(2)DKN融合了實(shí)體嵌入和詞嵌入,為每個(gè)輸入新聞生成一個(gè)知識(shí)感知嵌入向量,然后對(duì)用戶進(jìn)行動(dòng)態(tài)建模,其中電影和書籍的標(biāo)題用于生成詞嵌入,實(shí)體嵌入由TransH學(xué)習(xí)。
(3)PER 將知識(shí)圖譜視為HIN(異構(gòu)信息網(wǎng)絡(luò)),并提取基于元路徑的特征來表示用戶和項(xiàng)目之間的連通性。在本文中使用PER的所有項(xiàng)-屬性-項(xiàng)(例如“電影-導(dǎo)演-電影”)。
(4)LibFM[20]是CTR場(chǎng)景中廣泛使用的基于特征的因式分解模型。本文將用戶ID,商品ID 以及從TransR獲得的實(shí)體嵌入結(jié)合起來,作為L(zhǎng)ibFM的輸入。
(5)Wide&Deep[21]是一個(gè)通用的深度推薦模型,將線性通道(Wide)與非線性通道(Deep)結(jié)合使用。與LibFM類似,本文將用戶ID、項(xiàng)目ID和TransR學(xué)到的項(xiàng)目嵌入結(jié)合起來作為Deep&Wide的輸入。
表2中給出了完整的超參數(shù)設(shè)置,其中d表示項(xiàng)目和知識(shí)圖譜的嵌入維度,η表示學(xué)習(xí)率。通過優(yōu)化驗(yàn)證集上的AUC來確定超參數(shù)。考慮到過高的跳數(shù)并不會(huì)進(jìn)一步提高性能,且會(huì)產(chǎn)生更大的計(jì)算開銷,本文實(shí)驗(yàn)中為MovieLens-1M 和Book-Crossing 兩個(gè)數(shù)據(jù)集設(shè)置跳數(shù)分別為6 和4。為了公平考慮,所有對(duì)比算法的維度設(shè)置與表2中相同。
表2 數(shù)據(jù)集超參數(shù)設(shè)置Table 2 Data set hyperparameter settings
對(duì)于每個(gè)數(shù)據(jù)集,訓(xùn)練集和測(cè)試集的比例為8∶2。每個(gè)實(shí)驗(yàn)重復(fù)3次,并對(duì)結(jié)果取平均值。在兩個(gè)實(shí)驗(yàn)場(chǎng)景中評(píng)估本文算法:(1)在點(diǎn)擊率(CTR)預(yù)測(cè)中,將訓(xùn)練的模型應(yīng)用于測(cè)試集中,并給出預(yù)測(cè)的點(diǎn)擊概率。使用ACC和AUC來評(píng)估CTR預(yù)測(cè)的性能。(2)在top-K推薦中,使用訓(xùn)練模型為測(cè)試集中的每個(gè)用戶選擇具有最高點(diǎn)擊概率的前K項(xiàng),并選擇Precision@K、Recall@K、F1@K這三個(gè)參數(shù)來評(píng)估推薦集。
Top-K推薦的對(duì)比實(shí)驗(yàn)結(jié)果如圖5 所示。其中圖5(a)、(b)和(c)分別為MovieLens-1M數(shù)據(jù)集上Precision、Recall和F1的對(duì)比結(jié)果;圖5(d)、(e)和(f)分別為Book-Crossing數(shù)據(jù)集上Precision、Recall和F1的對(duì)比結(jié)果。
圖5 Top-K推薦對(duì)比結(jié)果Fig.5 Top-K recommendation comparison results
由圖5所示對(duì)比結(jié)果可以看出:
(1)CKE 的表現(xiàn)比其他算法差,這可能是因?yàn)橹惠斎肓私Y(jié)構(gòu)知識(shí),沒有圖像知識(shí)和文本知識(shí)輸入。
(2)DKN 與其他算法相比表現(xiàn)最差。這是因?yàn)殡娪昂蜁潭也幻鞔_,無法提供有用的信息。
(3)PER 的推薦結(jié)果表現(xiàn)不盡如人意,因?yàn)橛脩舳x的元路徑很難達(dá)到最佳。
(4)作為兩種通用推薦工具,LibFM和Wide&Deep都表現(xiàn)出了令人滿意的性能,表明可以很好地利用知識(shí)圖譜的知識(shí)來實(shí)現(xiàn)他們的算法。
CTR預(yù)測(cè)的對(duì)比實(shí)驗(yàn)結(jié)果如表3所示,本文算法在兩個(gè)數(shù)據(jù)集的所有評(píng)估方法中表現(xiàn)最佳。具體來說,在電影推薦中,AUC 的性能比其他算法高出1.1%至27.8%,在書籍推薦中高出2.5%至13.8%。
表3 CTR預(yù)測(cè)對(duì)比結(jié)果Table 3 Comparison results of CTR prediction
通過在實(shí)驗(yàn)中改變知識(shí)圖譜中每一跳實(shí)體集數(shù)量及跳數(shù),以進(jìn)一步分析對(duì)本文算法性能的影響。在兩個(gè)數(shù)據(jù)集上不同跳數(shù)下AUC 的實(shí)驗(yàn)結(jié)果如表4 所示??梢钥闯霎?dāng)H為4 或6 時(shí),本文方法可以獲得最佳性能。這是由于知識(shí)圖譜中與用戶歷史點(diǎn)擊項(xiàng)距離跳數(shù)越多的實(shí)體與用戶的相關(guān)性越低。但是當(dāng)跳數(shù)太小時(shí)則很難從知識(shí)圖譜中獲取額外的信息。
表4 跳數(shù)對(duì)AUC結(jié)果的影響Table 4 Impact of hop count on AUC results
在兩個(gè)數(shù)據(jù)集上不同實(shí)體集數(shù)量下AUC的實(shí)驗(yàn)結(jié)果如表5 所示,可以觀察到隨著實(shí)體集數(shù)量的增加,算法的性能首先得到提升,因?yàn)楦蟮膶?shí)體集可以從知識(shí)圖譜中獲得更多的知識(shí)。但是,當(dāng)數(shù)量進(jìn)一步增加時(shí)性能會(huì)下降,因?yàn)檫^多的實(shí)體集可能會(huì)帶來無關(guān)信息。實(shí)驗(yàn)結(jié)果表明實(shí)體集數(shù)量為32時(shí)算法能夠獲得最佳性能。
表5 每跳實(shí)體集中實(shí)體數(shù)量對(duì)AUC結(jié)果的影響Table 5 Impact of number of entities in each hop entity concentration on AUC results
在實(shí)驗(yàn)中改變參數(shù)d和λ2,分析其對(duì)算法性能的影響。將d從2逐漸調(diào)整到64,將λ2從0調(diào)整到0.5,同時(shí)保持其他參數(shù)不變。MovieLens-1M 上的AUC 的結(jié)果如圖6 所示。由圖中可以觀察到,隨著d的增加,性能首先得到提升,因?yàn)榫哂休^大維度的嵌入可以編碼更多有用的信息??赡苡捎谶^度擬合,在d=16 之后性能下降。由圖6(b)中可以看出,當(dāng)λ2=0.01 時(shí),算法可以獲得最佳性能。這是因?yàn)榫哂休^小權(quán)重的KGE項(xiàng)不能提供足夠的正則化約束,而較大的權(quán)重會(huì)誤導(dǎo)目標(biāo)數(shù)。
圖6 超參數(shù)對(duì)于實(shí)驗(yàn)結(jié)果的影響Fig.6 Influence of hyperparameters on experimental results
本文提出了一種基于注意力機(jī)制的知識(shí)感知推薦算法,通過結(jié)合知識(shí)圖譜中的實(shí)體來推斷用戶的潛在興趣,從而解決推薦系統(tǒng)中的數(shù)據(jù)稀疏性和冷啟動(dòng)問題。算法首先通過用戶的歷史記錄在知識(shí)圖譜中擴(kuò)展出的實(shí)體作為外部知識(shí),然后通過注意力機(jī)制計(jì)算給定的用戶-項(xiàng)目對(duì)的CTR 預(yù)測(cè),最后形成端到端的推薦框架。通過在兩個(gè)公共數(shù)據(jù)集上進(jìn)行對(duì)比實(shí)驗(yàn),表明本文方法相比于現(xiàn)有典型推薦方法,在評(píng)估指標(biāo)(例如AUC、ACC 和Recall@top-K)方面取得了顯著的進(jìn)步。在未來,計(jì)劃進(jìn)一步評(píng)估模型在更多數(shù)據(jù)集上的可行性,并在改進(jìn)本文嵌入方法的同時(shí)將知識(shí)圖譜補(bǔ)全引入到模型中。