陳可迪, 趙 雷, 陳心怡, 施科男
(蘇州大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院, 蘇州 215006)
近年來(lái), 伴隨著互聯(lián)網(wǎng)技術(shù)的不斷發(fā)展, 信息的洪流逐漸淹沒人生活的方方面面, 以至于用戶想要在短時(shí)間內(nèi)獲得自己需要的內(nèi)容是一件非常困難的事情.為了解決這些問(wèn)題, 個(gè)性化推薦系統(tǒng)應(yīng)運(yùn)而生.
傳統(tǒng)的推薦系統(tǒng)模型主要有基于內(nèi)容的推薦、基于協(xié)同過(guò)濾的推薦以及混合模型3大主流方法. 由于用戶的歷史信息過(guò)少, 即數(shù)據(jù)稀疏性問(wèn)題, 可能會(huì)影響推薦系統(tǒng)的結(jié)果. 并且, 如果有新進(jìn)入的用戶, 那么此用戶沒有歷史行為數(shù)據(jù), 此時(shí)會(huì)產(chǎn)生冷啟動(dòng)問(wèn)題, 無(wú)法根據(jù)用戶的歷史偏好進(jìn)行有效的推薦. 為了解決這兩個(gè)問(wèn)題, 人們嘗試引入補(bǔ)充信息(邊緣信息)來(lái)協(xié)助推薦.
知識(shí)圖譜是近些年來(lái)使用非常廣泛的邊緣信息之一. 以知識(shí)圖譜(knowledge graph, KG)作為邊緣信息構(gòu)建的推薦系統(tǒng)主要有兩類常規(guī)的方法. 第1類是基于知識(shí)圖譜表示學(xué)習(xí)[1]的方法, 包括了聯(lián)合學(xué)習(xí), 交替學(xué)習(xí)和依次學(xué)習(xí)3種主要模式, 如聯(lián)合學(xué)習(xí)中的KGCN模型[2]和交替學(xué)習(xí)中的MKR模型[3], 這些方法考慮到了實(shí)體之間的關(guān)聯(lián)性, 但是沒有充分利用知識(shí)圖譜的語(yǔ)義信息, 從而未能夠沿著知識(shí)圖譜的邊關(guān)系方向深度挖掘潛在的有價(jià)值的信息. 第2類是基于知識(shí)圖譜路徑信息的方法, 如Zhu等提出的知識(shí)注意力推理網(wǎng)絡(luò)[4]等. 除了這兩類以外, 知識(shí)圖譜推薦系統(tǒng)還可以利用其他知識(shí)圖譜或者是其他異質(zhì)信息網(wǎng)絡(luò)來(lái)進(jìn)行知識(shí)的遷移學(xué)習(xí), 但是這些方法所需要的數(shù)據(jù)量龐大, 需要的計(jì)算成本高并且跨領(lǐng)域?qū)W習(xí)解釋性相對(duì)有限.
本文的模型可有效解決上述問(wèn)題. 由于知識(shí)圖譜中大多不止一種關(guān)系, 整個(gè)信息網(wǎng)絡(luò)就蘊(yùn)含了不止一種約束. 本文依次根據(jù)知識(shí)圖譜中的每個(gè)三元組構(gòu)建蘊(yùn)含不同邊信息的有向圖, 從而形成了異質(zhì)信息網(wǎng)絡(luò).隨后通過(guò)構(gòu)造兩條元路徑, 使用圖神經(jīng)網(wǎng)絡(luò)(graph neural network, GNN)根據(jù)兩層實(shí)體近鄰學(xué)習(xí)得到用戶和實(shí)體向量表示. 同時(shí), 構(gòu)建注意力網(wǎng)絡(luò)連接知識(shí)圖譜表示任務(wù)與推薦任務(wù), 使倆任務(wù)同時(shí)進(jìn)行. 最后, 利用知識(shí)圖譜表示任務(wù)的損失作為約束項(xiàng)控制整體的訓(xùn)練過(guò)程, 從而實(shí)現(xiàn)了基于知識(shí)圖譜表示學(xué)習(xí)和基于知識(shí)圖譜路徑信息的混合模型, 即異質(zhì)信息嵌入知識(shí)圖譜推薦模型(heterogeneous information with multi-task feature learning for knowledge graph recommendation,HeteMKR). 本文主要貢獻(xiàn)如下:
1)結(jié)合了知識(shí)圖譜表示學(xué)習(xí)和路徑信息兩種方法, 一方面利用了注意力網(wǎng)絡(luò)強(qiáng)化了知識(shí)圖譜和推薦任務(wù)之間的互動(dòng), 另一方面在知識(shí)圖譜中融入了元路徑信息, 充分挖掘被推薦項(xiàng)之間的潛在的語(yǔ)義聯(lián)系.
2)在進(jìn)行推薦的同時(shí)更新知識(shí)圖譜的表示過(guò)程,將“用戶偏好”的信息融入知識(shí)圖譜的建模過(guò)程之中,將知識(shí)圖譜嵌入(knowledge graph embedding, KGE)作為約束項(xiàng), 來(lái)為整個(gè)模型進(jìn)行正則化.
3)貢獻(xiàn)了以DBLP (digital bibliography & library project) 論文數(shù)據(jù)集為基礎(chǔ)的, 可被用作推薦任務(wù)測(cè)試數(shù)據(jù)集的文獻(xiàn)圖譜.
相似度推薦的方法, 是在所有待推薦項(xiàng)中計(jì)算與已知推薦項(xiàng)的相似度, 進(jìn)行排序后選擇相似度最高的項(xiàng)目, 從而進(jìn)行推薦. 其常用的算法包括皮爾遜相關(guān)系數(shù)法[5]和聚類算法[6]. 皮爾遜相關(guān)性準(zhǔn)確計(jì)算兩個(gè)用戶以及其屬性之間的相似性, 該算法根據(jù)兩個(gè)變量(或用戶)的屬性來(lái)度量?jī)蓚€(gè)變量之間的線性相關(guān)性, 對(duì)相似性進(jìn)行量化處理. 而聚類算法是無(wú)監(jiān)督學(xué)習(xí)的一種, 是根據(jù)事物自身的特性對(duì)被聚類對(duì)象進(jìn)行類別劃分的統(tǒng)計(jì)分析方法, 其目的是根據(jù)某種相似度度量對(duì)無(wú)監(jiān)督數(shù)據(jù)集進(jìn)行類別的劃分.
協(xié)同過(guò)濾算法[7]是推薦系統(tǒng)中最早誕生的算法之一, 并且在推薦系統(tǒng)領(lǐng)域已經(jīng)被普遍使用. 不同于之前的相似度推薦方法, 協(xié)同過(guò)濾的目標(biāo)是找到其相似用戶而不是相似性待推薦項(xiàng), 其通過(guò)相似用戶的喜好進(jìn)而挖掘出目標(biāo)用戶的喜好. 在預(yù)測(cè)過(guò)程中通過(guò)使用目標(biāo)用戶的行為及日志等用戶信息去挖掘目標(biāo)用戶的偏好模型, 然后通過(guò)這個(gè)偏好模型再去找出相似的帶有該偏好模型的用戶.
隨著數(shù)據(jù)類型逐漸多樣化, 項(xiàng)與項(xiàng)之間的關(guān)系越來(lái)越復(fù)雜, KGE的難度也越來(lái)越高, 對(duì)知識(shí)的表示方法也同樣提出的更高的要求. 知識(shí)表示學(xué)習(xí), 這一新的研究方向受到了廣泛的關(guān)注[8]. 知識(shí)表示學(xué)習(xí)的模型主要分為兩類: 平移距離模型和語(yǔ)義匹配模型. 前者使用基于距離的評(píng)分函數(shù), 后者使用基于相似度的評(píng)分函數(shù).平移距離模型經(jīng)過(guò)發(fā)展, 形成以TransE[9]為代表的翻譯模型, 其通過(guò)計(jì)算真假三元組之間的差來(lái)進(jìn)行向量表達(dá)方式的優(yōu)化. 為解決TransE在處理1-N、N-1、N-N關(guān)系時(shí)存在的缺陷, 又派生出TransH[10]、TransR[11]和TransD[12]等模型. 語(yǔ)義匹配的代表方法則是RESCAL[13]模型和神經(jīng)網(wǎng)絡(luò)模型.
將知識(shí)圖譜作為邊緣信息應(yīng)用于推薦系統(tǒng), 有基于路徑的推薦方法和知識(shí)圖譜表示學(xué)習(xí)的推薦方法.基于路徑的方法將知識(shí)圖譜視為一個(gè)異質(zhì)信息網(wǎng)絡(luò),構(gòu)造被推薦項(xiàng)之間的路徑以此來(lái)挖掘?qū)嶓w之間的潛在關(guān)系, 如RKGE模型[14], 其基于循環(huán)神經(jīng)網(wǎng)絡(luò)來(lái)構(gòu)造元路徑并且推理路徑信息. 知識(shí)圖譜表示學(xué)習(xí)的推薦方法是為知識(shí)圖譜中的每個(gè)實(shí)體和關(guān)系學(xué)習(xí)得到特征向量, 將特征向量輸入傳統(tǒng)的推薦模型進(jìn)行訓(xùn)練. 結(jié)合知識(shí)圖譜表示學(xué)習(xí)的推薦系統(tǒng)有3種訓(xùn)練方式, 分別是依次訓(xùn)練、聯(lián)合訓(xùn)練和交替訓(xùn)練, 如依次學(xué)習(xí)DKN模型[15]利用圖嵌入得到的特征進(jìn)行推薦、聯(lián)合學(xué)習(xí)Ripple Network模型[16]利用水波在水面?zhèn)鞑ツM用戶的興趣在圖譜上傳播. 這些方法描述了真實(shí)世界中存在的各種實(shí)體概念, 以及他們之間的關(guān)聯(lián)關(guān)系, 采用端到端的學(xué)習(xí)方式, 能夠進(jìn)行更精確的推薦. 本文模型則是基于知識(shí)圖譜表示和基于路徑表示的混合模型.
常見的推薦場(chǎng)景中, 包含一個(gè)擁有m個(gè)用戶的集合U={u1,u2,···,um}以及一個(gè)擁有n個(gè)被推薦項(xiàng)的集合V={v1,v2,···,vn}. 與此同時(shí), 數(shù)據(jù)集還提供一個(gè)用戶-被推薦項(xiàng)交互矩陣Rm×n, 矩陣中Ri,j的取值為1或者0, 表示用戶i是否對(duì)被推薦項(xiàng)j進(jìn)行了點(diǎn)擊或者產(chǎn)生了興趣.
除此之外, 本文使用知識(shí)圖譜G作為邊緣信息. 知識(shí)圖譜G是由三元組(head,relation,tail)構(gòu)成的,head表示頭部實(shí)體結(jié)點(diǎn),relation表示實(shí)體間的關(guān)系,而tail表示尾部實(shí)體結(jié)點(diǎn). 在具體的推薦任務(wù)中, 被推薦項(xiàng)集合V和知識(shí)圖譜G中的實(shí)體集合擁有非空交集, 知識(shí)圖譜的頭部實(shí)體集合和尾部實(shí)體集合也存在大量重合.
在擁有已知用戶-被推薦項(xiàng)交互矩陣Rm×n和知識(shí)圖譜G的前提條件下, 模型需要對(duì)新用戶u對(duì)新的被推薦項(xiàng)v的點(diǎn)擊率或者是否感興趣進(jìn)行預(yù)測(cè). 整個(gè)推薦問(wèn)題就可以公式化的表達(dá)為^γ =f(u,v|R,G).
本文的模型HeteMKR在傳統(tǒng)的知識(shí)圖譜表示模型中, 融入了知識(shí)圖譜中所隱含的元路徑信息. 整體的模型框架如圖1所示.
圖1 HeteMKR模型
在圖1所示的模型中, 首先將知識(shí)圖譜中所有的三元組拓展成為異質(zhì)信息網(wǎng)絡(luò), 沿著信息網(wǎng)絡(luò)中人為規(guī)定的兩條的元路徑, 使用GNN得到相應(yīng)的用戶和被推薦項(xiàng)的向量表達(dá). 隨后利用交叉注意力網(wǎng)絡(luò)進(jìn)行推薦任務(wù)和知識(shí)圖譜表示任務(wù)的交互, 即使用多個(gè)被推薦項(xiàng)向量對(duì)頭實(shí)體向量進(jìn)行學(xué)習(xí)建模, 而被推薦項(xiàng)向量本身則與權(quán)重矩陣內(nèi)積. 最后將高維被推薦項(xiàng)向量與高維用戶向量拼接后傳入多層感知機(jī)(multi-layer perceptron, MLP)訓(xùn)練得到最后推薦任務(wù)的點(diǎn)擊率預(yù)測(cè)結(jié)果. 知識(shí)圖譜表示任務(wù)的尾實(shí)體預(yù)測(cè)結(jié)果則作為整個(gè)模型的正則項(xiàng), 進(jìn)行學(xué)習(xí)訓(xùn)練與約束.
異質(zhì)信息網(wǎng)絡(luò)是一種具有多種連接關(guān)系的圖結(jié)構(gòu).在異質(zhì)信息網(wǎng)絡(luò)中, 網(wǎng)絡(luò)模式描述了網(wǎng)絡(luò)的元結(jié)構(gòu)——對(duì)象類型及其交互關(guān)系. 而元路徑則是一個(gè)連接兩個(gè)對(duì)象的關(guān)系序列, 其被提出用于捕捉對(duì)象之間的結(jié)構(gòu)和語(yǔ)義關(guān)系. DBLP異質(zhì)信息網(wǎng)絡(luò)如圖2所示, 不同實(shí)體節(jié)點(diǎn)之間使用不同類型(不同顏色)的邊相連.
圖2 DBLP異質(zhì)信息網(wǎng)絡(luò)
對(duì)于異質(zhì)信息網(wǎng)絡(luò)中的任意一個(gè)實(shí)體, 該實(shí)體在異質(zhì)信息網(wǎng)絡(luò)中的實(shí)體近鄰被定義為: 由該實(shí)體作為起點(diǎn), 經(jīng)過(guò)一條邊可以到達(dá)的所有的實(shí)體的集合. 同樣地, 由該實(shí)體出發(fā)經(jīng)過(guò)兩條邊可以到達(dá)的實(shí)體集合稱作二階實(shí)體近鄰. 以圖2為例, 對(duì)于實(shí)體User1, 其實(shí)體近鄰為{Paper1}, 其二階實(shí)體近鄰為{Paper5, Paper3}.
元路徑A1→A2→···→Al是指一個(gè)異質(zhì)信息網(wǎng)絡(luò)中的兩個(gè)結(jié)點(diǎn) A1和 Al的復(fù)合關(guān)系, 其不僅可以同時(shí)利用用戶和被推薦項(xiàng)間的多種關(guān)系, 還使推薦具有了可解釋性.
根據(jù)兩條元路徑, 即可對(duì)異質(zhì)信息網(wǎng)絡(luò)中的用戶和被推薦項(xiàng)(或?qū)嶓w)進(jìn)行向量化表示. 本文提出了一種基于兩條元路徑UTAT和UTT的圖神經(jīng)網(wǎng)絡(luò), 利用元路徑來(lái)獲取用戶和被推薦項(xiàng)的不同步長(zhǎng)的實(shí)體近鄰,用戶和被推薦項(xiàng)的向量是它們?cè)诓煌窂较碌泥従拥南蛄烤酆? 首先使用統(tǒng)一的正態(tài)分布對(duì)向量初始化.圖3表示了對(duì)于每一個(gè)用戶實(shí)體u, 兩條元路徑中該實(shí)體的多階實(shí)體近鄰聚合的過(guò)程, 圖中箭頭的方向表示圖神經(jīng)網(wǎng)絡(luò)的正向傳播方向. 以路徑UTT為例, 首先對(duì)于u結(jié)點(diǎn)的其中一個(gè)二階近鄰{ T1,T2,T3}, 使用映射函數(shù)g1于一階近鄰{ T5}, 從而蘊(yùn)含了路徑信息, 重新構(gòu)建實(shí)體T5:
圖3 基于元路徑的圖神經(jīng)網(wǎng)絡(luò)
同理可重構(gòu)該路徑下的用戶實(shí)體向量, u1f表示經(jīng)過(guò)第一條元路徑UTT得到的用戶實(shí)體向量表示:
通過(guò)路徑UTAT同理得到 u2f, 將兩者使用函數(shù)g2融合, 得到最終的用戶實(shí)體向量表示:
采用同樣的方法可以獲得被推薦項(xiàng)實(shí)體的向量表示. 其中函數(shù)g1和g2的選擇將在實(shí)驗(yàn)部分展開論述.
為了實(shí)現(xiàn)推薦任務(wù)和知識(shí)圖譜表示任務(wù)之間的交互, 本文使用了被推薦項(xiàng)-實(shí)體交叉注意力機(jī)制網(wǎng)絡(luò),從而豐富了被推薦項(xiàng)向量和頭部實(shí)體向量的特征, 如圖4所示.
圖4 項(xiàng)—實(shí)體交叉注意力機(jī)制網(wǎng)絡(luò)
首先, 推薦任務(wù)經(jīng)過(guò)z輪學(xué)習(xí)后, 將傳入的z個(gè)d維被推薦項(xiàng)向量{ v1,v2,···,vz}與知識(shí)圖譜表示任務(wù)中同樣為d維的頭部實(shí)體向量e0進(jìn)行注意力交互, 再經(jīng)過(guò)一個(gè)全連接層之后得到高維頭實(shí)體向量:
其中,A代表一個(gè)全連接層. 每個(gè)被推薦項(xiàng)向量也同樣通過(guò)全連接層, 以達(dá)到維度的擴(kuò)增.
圖中,vi(i=1,2,···,z)代表推薦任務(wù)經(jīng)過(guò)z次學(xué)習(xí)后得到的z個(gè)被推薦項(xiàng)向量,e0代表初始化頭部實(shí)體向量, 而ef則代表經(jīng)過(guò)交叉注意力網(wǎng)絡(luò)后的頭部實(shí)體向量. 經(jīng)過(guò)一個(gè)key的數(shù)量為z的交叉注意力網(wǎng)絡(luò)的過(guò)程記為Cz. 推薦任務(wù)學(xué)習(xí)輪數(shù)與知識(shí)圖譜表示任務(wù)學(xué)習(xí)輪數(shù)的比值z(mì)和向量維度d將在實(shí)驗(yàn)部分進(jìn)行討論.
在推薦任務(wù)中, 將用戶向量u0經(jīng)過(guò)全連接層得到最終的用戶向量uf, 將其與交叉注意力網(wǎng)絡(luò)輸出的被推薦項(xiàng)向量結(jié)合, 從而得到預(yù)測(cè)的點(diǎn)擊率.
其中,f表示預(yù)測(cè)函數(shù)(如MLP),表示點(diǎn)擊率預(yù)測(cè)值.
在知識(shí)圖譜表示任務(wù)中, 將初始化關(guān)系向量ro通過(guò)全連接層, 得到最終關(guān)系表征向量rf, 將其與交叉注意力網(wǎng)絡(luò)輸出的頭部實(shí)體向量結(jié)合, 經(jīng)過(guò)MLP從而得到尾部實(shí)體向量的預(yù)測(cè)向量.
其中,是尾部實(shí)體向量的預(yù)測(cè)值.
得到尾部實(shí)體向量后, 最終得到的三元組(head,relation,tail)的相似度使用得分相似度函數(shù)fKG得出:
其中,t是尾部實(shí)體向量的真實(shí)值. 在本文的模型中, 使用了歸一化內(nèi)積, 作為向量間相似度得分函數(shù)的選擇.
模型初始化之后, 完整的損失函數(shù)為:
在損失函數(shù)中, 第1項(xiàng)為推薦層中函數(shù)的損失,?為交叉熵函數(shù),U和G分別是最初定義的用戶集合和知識(shí)圖譜. 第2項(xiàng)為知識(shí)圖譜層中的損失, 本文需要增加真實(shí)三元組的得分并且減少虛假三元組的得分, 其中 λ1為 平衡參數(shù). 第3項(xiàng)則是損失函數(shù)的正則項(xiàng), λ2為正則項(xiàng)系數(shù).
在整個(gè)訓(xùn)練過(guò)程中采取負(fù)采樣訓(xùn)練, 在每次訓(xùn)練過(guò)程中在推薦任務(wù)上訓(xùn)練z輪之后, 在知識(shí)圖譜表示任務(wù)中訓(xùn)練1次作為知識(shí)圖譜的修正和信息的補(bǔ)充.λ1和 λ2作為參數(shù)的設(shè)定將在實(shí)驗(yàn)部分提及.
在本節(jié)中, 本文將HeteMKR模型應(yīng)用于兩個(gè)來(lái)自真實(shí)生活中的推薦場(chǎng)景: 書籍推薦和論文推薦, 并且進(jìn)行了性能的評(píng)估. 本文在推薦領(lǐng)域公開數(shù)據(jù)集Book-Crossing和我們自己創(chuàng)建的DBLP數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn).
Book-Crossing數(shù)據(jù)集來(lái)自于Book-Crossing社區(qū)中的1 149 780個(gè)書籍評(píng)分(從1分到10分). Wang等[2]使用Microsoft Satori來(lái)為Book-Crossing數(shù)據(jù)集構(gòu)建知識(shí)圖譜. 由于此數(shù)據(jù)集大多為顯式反饋數(shù)據(jù), 所以將其轉(zhuǎn)換成了隱式反饋: 若本文對(duì)每一個(gè)書籍條目標(biāo)記為1, 代表用戶對(duì)該書籍做出了評(píng)級(jí); 若對(duì)書籍條目標(biāo)記為0, 表示用戶沒有對(duì)當(dāng)前書籍進(jìn)行評(píng)級(jí). 由于Book-Crossing數(shù)據(jù)集中無(wú)效信息很多, 數(shù)據(jù)的稀疏性很大, 所以沒有設(shè)置正評(píng)級(jí)的閾值.
而本文還貢獻(xiàn)了自己的DBLP論文數(shù)據(jù)集. DBLP網(wǎng)站作為大型數(shù)據(jù)庫(kù), 為了方便訪問(wèn)者快速地收集所需要的數(shù)據(jù), 增加了“索引”——引文網(wǎng)絡(luò). 根據(jù)DBLP引文網(wǎng)絡(luò)中的4 894 081篇論文和45 564 149個(gè)論文引用關(guān)系, 本文構(gòu)建了DBLP知識(shí)圖譜. 知識(shí)圖譜包括了6種關(guān)系: 論文作者, 論文標(biāo)題, 論文的發(fā)表年份, 論文關(guān)鍵詞, 論文參考文獻(xiàn)和論文出版商. 本文使用論文的引用量構(gòu)建了用戶-論文引用條目, 為了正負(fù)數(shù)據(jù)集之間的平衡, 將閾值設(shè)置為3, 從而構(gòu)建了用戶點(diǎn)擊率列表. 同樣, 本文對(duì)所獲得的十萬(wàn)余篇論文數(shù)據(jù)進(jìn)行了進(jìn)一步篩選. 去除包含無(wú)效url鏈接以及6種關(guān)系數(shù)據(jù)不全面的實(shí)體條目. 最終提取出共包含10 001篇論文實(shí)體, 6種關(guān)系, 26 897個(gè)作者實(shí)體, 52個(gè)年份實(shí)體,76 310篇參考文獻(xiàn)實(shí)體, 6 857個(gè)關(guān)鍵字實(shí)體, 1 174個(gè)出版社實(shí)體的共擁有251 702個(gè)三元組的DBLP圖譜.
在DBLP數(shù)據(jù)集中, 本文將注意力放在知識(shí)圖譜本身而非用戶上, 所以僅將用戶數(shù)設(shè)置為1, 從而通過(guò)結(jié)果可以更好地展現(xiàn)出本模型中知識(shí)圖譜的表達(dá)能力,并且能夠解決數(shù)據(jù)稀疏性問(wèn)題.
兩個(gè)數(shù)據(jù)集規(guī)模如表1所示.
表1 數(shù)據(jù)集基本信息
對(duì)于Booking-Crossing和DBLP兩個(gè)數(shù)據(jù)集, 本文將訓(xùn)練集, 測(cè)試集按照8:2的比例進(jìn)行劃分. 調(diào)整參數(shù)后進(jìn)行5次實(shí)驗(yàn), 計(jì)算平均值作為最終結(jié)果.
本文在上述兩個(gè)實(shí)際的推薦場(chǎng)景中使用點(diǎn)擊率預(yù)測(cè)CTR, 對(duì)模型進(jìn)行評(píng)估. 實(shí)驗(yàn)總共設(shè)置了4個(gè)評(píng)價(jià)指標(biāo): 曲線下面積AUC, 準(zhǔn)確度Acc, 召回率Recall和F1.
實(shí)驗(yàn)在兩個(gè)數(shù)據(jù)集上的參數(shù)具體設(shè)置如表2所示.其中,g1和g2表示圖神經(jīng)網(wǎng)絡(luò)的聚合函數(shù),d表示用戶向量和被推薦項(xiàng)向量的初始維數(shù), λ1和 λ2分別表示總體的損失函數(shù)平衡參數(shù)和正則項(xiàng)系數(shù),z表示一個(gè)周期中推薦任務(wù)和知識(shí)圖譜表示任務(wù)訓(xùn)練次數(shù)之比,lr表示學(xué)習(xí)率.
表2 實(shí)驗(yàn)參數(shù)設(shè)置
首先, 對(duì)于向量維度, 本文分別在d=16, 32, 64,96的設(shè)置下進(jìn)行了實(shí)驗(yàn), 實(shí)驗(yàn)結(jié)果如圖5所示. 在Book-Crossing數(shù)據(jù)集上, 一開始小維度向量對(duì)于實(shí)驗(yàn)結(jié)果的影響趨于平穩(wěn), 而在DBLP數(shù)據(jù)集上也是緩慢增長(zhǎng), 但是兩者的實(shí)驗(yàn)結(jié)果AUC都在d=64左右達(dá)到了最值點(diǎn). 當(dāng)d繼續(xù)上升時(shí), 向量中將會(huì)蘊(yùn)含大量干擾信息, 比如噪點(diǎn)等, 從而無(wú)法達(dá)到最好的信息表達(dá)效果.
圖5 d對(duì)AUC的影響
為了讓知識(shí)圖譜的知識(shí)表示訓(xùn)練和推薦任務(wù)的交互達(dá)到最好的效果, 本文測(cè)試了一個(gè)周期中推薦任務(wù)和知識(shí)圖譜表示任務(wù)訓(xùn)練次數(shù)之比z對(duì)結(jié)果的影響,z的取值分別是1, 3, 5, 10. 實(shí)驗(yàn)的結(jié)果如圖6所示.
圖6 z對(duì)AUC的影響
首先對(duì)于公開數(shù)據(jù)集Book-Crossing, AUC在z=3的時(shí)候達(dá)到了最值, Book-Crossing中用戶的數(shù)目可觀,并且用戶被推薦項(xiàng)的交互條例數(shù)較多, 從而首先對(duì)推薦任務(wù)進(jìn)行少量次數(shù)的訓(xùn)練后便可以得到相對(duì)良好的建模結(jié)果. 但是對(duì)于DBLP數(shù)據(jù)集, 雖然知識(shí)圖譜中三元組數(shù)量是Book-Crossing的數(shù)量的5倍左右, 但是由于數(shù)據(jù)集僅針對(duì)單一用戶設(shè)計(jì), 從而用戶數(shù)量有限, 因此用戶論文交互難以集中, 為了達(dá)到相應(yīng)的建模效果就必須增大z的數(shù)值. 最后我們發(fā)現(xiàn), 對(duì)于DBLP數(shù)據(jù)集, 當(dāng)z很小時(shí), AUC約等于0.5, 表明整個(gè)模型近乎隨機(jī)分類, 只有當(dāng)z=5時(shí)結(jié)果才有所改觀, 并且達(dá)到了最大值, 而當(dāng)z大于5, 則又容易產(chǎn)生過(guò)擬合現(xiàn)象.
最后, 本文對(duì)圖神經(jīng)網(wǎng)絡(luò)聚合函數(shù)g1和g2進(jìn)行了實(shí)驗(yàn)分析. 一共使用了Mean, GCN, Pooling和LSTM四種聚合方法. 兩種聚合函數(shù)的實(shí)驗(yàn)結(jié)果分別如圖7和圖8所示.
圖7 聚合函數(shù)g1對(duì)AUC的影響
圖8 聚合函數(shù)g2對(duì)AUC的影響
實(shí)驗(yàn)結(jié)果表明, 在兩個(gè)數(shù)據(jù)集中同一路徑內(nèi)近鄰聚合時(shí)采用LSTM達(dá)到了AUC的最高值0.73和0.74.而在進(jìn)行兩條路徑之間進(jìn)行聚合時(shí), 對(duì)于Book-Crossing數(shù)據(jù)集適合使用Mean方法, 而對(duì)于具有很強(qiáng)稀疏性的DBLP數(shù)據(jù)集則使用Pooling時(shí)達(dá)到了AUC的最高值0.71.
本文將HeteMKR模型與近些年來(lái)優(yōu)秀的知識(shí)圖譜推薦方面的模型進(jìn)行了比較, 這些優(yōu)秀的模型如下.
MEIR[17]: 將KG視為異質(zhì)信息網(wǎng)絡(luò), 并提取基于元路徑的功能, 以表示用戶和項(xiàng)目之間的連接. 在本文中, 對(duì)于Book-Crossing數(shù)據(jù)集, 使用“用戶-書籍-流派-書籍”這一條元路徑.
DeepFM[18]: DeepFM是FM的衍生算法, 其使用FM做特征間低階組合, 用DNN做特征間高階組合,通過(guò)并行的方式融合了連續(xù)的特征和離散的特征.
DKN: DKN的關(guān)鍵部分是一個(gè)多通道和單詞-實(shí)體對(duì)齊的知識(shí)感知卷積神經(jīng)網(wǎng)絡(luò)(knowledge-aware CNN, KCNN), 它融合了新聞的語(yǔ)義層面和知識(shí)層面的表示. KCNN將單詞和實(shí)體視為多個(gè)通道, 并在卷積過(guò)程中顯式地保持它們之間的對(duì)齊關(guān)系.
MKR: 利用知識(shí)圖譜嵌入去協(xié)助推薦任務(wù), 兩個(gè)任務(wù)是相互獨(dú)立的, 但是由于推薦系統(tǒng)中的item和KG中的實(shí)體相互聯(lián)系而高度相關(guān), MKR使用交叉壓縮單元交替優(yōu)化推薦和知識(shí)圖譜表示任務(wù)來(lái)訓(xùn)練.
實(shí)驗(yàn)的最終結(jié)果如表3所示. 由表中結(jié)果可以知道, MEIR在DBLP上近乎隨機(jī)分類, 而DeepFM則需要將數(shù)據(jù)集處理成離散和連續(xù)兩種形式, 這對(duì)于統(tǒng)一標(biāo)號(hào)的知識(shí)圖譜實(shí)體無(wú)法形成區(qū)分. DKN模型的效果也不盡人意, 這是由于DBLP數(shù)據(jù)集難以展現(xiàn)具體物品的語(yǔ)義信息, 只能夠從知識(shí)層面建模, 但是由于DBLP數(shù)據(jù)集只設(shè)置了一個(gè)用戶, 所以在這個(gè)數(shù)據(jù)集上注意力機(jī)制發(fā)揮了一定的作用. 而MKR方法則有較好的表現(xiàn). HeteMKR的性能最為優(yōu)異. 最后本文還實(shí)驗(yàn)了HeteMKR的變體: 使用LSTM替代MLP. 這樣的效果沒有提升, 并且加大了運(yùn)行的成本. 本文還進(jìn)行了消融實(shí)驗(yàn), 發(fā)現(xiàn)減少了模型中的GNN或者注意力機(jī)制后,模型的性能將會(huì)下降明顯.
表3 在Book-Crossing和DBLP數(shù)據(jù)集上的點(diǎn)擊率預(yù)測(cè)
本文提出的異質(zhì)信息嵌入知識(shí)圖譜推薦模型將知識(shí)圖譜轉(zhuǎn)化為了異質(zhì)信息網(wǎng)絡(luò), 提取出其中的元路徑信息, 通過(guò)圖神經(jīng)網(wǎng)絡(luò)將其融入到知識(shí)圖譜中, 再利用交叉注意力網(wǎng)絡(luò)連接推薦任務(wù)和知識(shí)圖譜表示任務(wù), 最后進(jìn)行用戶點(diǎn)擊率預(yù)測(cè). 本文還提供了原創(chuàng)的DBLP數(shù)據(jù)集, 包括DBLP用戶點(diǎn)擊率條目和DBLP知識(shí)圖譜.最終實(shí)驗(yàn)在公開數(shù)據(jù)集Book-Crossing和DBLP數(shù)據(jù)集上均比其他算法在AUC,F1等指標(biāo)上達(dá)到了更好的效果.
我們計(jì)劃進(jìn)一步使用實(shí)體關(guān)系抽取等方法優(yōu)化自己的知識(shí)圖譜, 并且期望對(duì)于特定的用戶, 能夠在推薦系統(tǒng)中以時(shí)間序列進(jìn)行被推薦項(xiàng)的動(dòng)態(tài)推薦.