顧軍華,王 銳,李寧寧,張素琪
(1.河北工業(yè)大學(xué)人工智能與數(shù)據(jù)科學(xué)學(xué)院,天津 300401;2.河北省大數(shù)據(jù)計算重點(diǎn)實驗室(河北工業(yè)大學(xué)),天津 300401;3.天津商業(yè)大學(xué)信息工程學(xué)院,天津 300134)
近年來,隨著互聯(lián)網(wǎng)、大數(shù)據(jù)技術(shù)的快速發(fā)展,用戶面臨著信息過載的問題。為了緩解信息過載,推薦系統(tǒng)在電子商務(wù)、社交平臺和新聞媒體等提供信息服務(wù)的應(yīng)用中發(fā)揮著不可替代的作用。在傳統(tǒng)的推薦系統(tǒng)中,協(xié)同過濾算法由于其高效性和健壯性,得到了廣泛的研究和應(yīng)用。協(xié)同過濾算法假設(shè)具有相似交互歷史的用戶對物品有相似的喜好,因此需要豐富的用戶交互歷史,使推薦的結(jié)果更可靠。然而,基于協(xié)同過濾的推薦系統(tǒng)面臨著數(shù)據(jù)稀疏和冷啟動問題。
知識圖譜(Knowledge Graph,KG)中包含了豐富的物品屬性信息和關(guān)聯(lián)信息,將知識圖譜作為輔助信息引入推薦系統(tǒng),可以緩解數(shù)據(jù)稀疏和冷啟動問題。因此,基于知識圖譜的推薦模型得到了研究人員越來越多的關(guān)注。Wang 等提出的知識感知路徑循環(huán)網(wǎng)絡(luò)(Knowledge-aware Path Recurrent Network,KPRN)將用戶物品二部圖和知識圖譜組合成一個新的知識圖譜,然后使用長短期記憶(Long Short-Term Memory,LSTM)網(wǎng)絡(luò)處理新的知識圖譜中連接用戶、物品的多條元路徑,輸出用戶對物品的點(diǎn)擊率。Wang 等提出的知識圖譜卷積網(wǎng)絡(luò)(KG Convolutional Network,KGCN)受到圖卷積網(wǎng)絡(luò)的啟發(fā),通過在知識圖譜上聚合物品的鄰居節(jié)點(diǎn)信息計算物品的向量表示,用于預(yù)測用戶對物品的評分。Wang 等提出知識圖譜注意力網(wǎng)絡(luò)(KG Attention Network,KGAT)將用戶―物品二部圖與知識圖譜結(jié)合,構(gòu)建協(xié)同知識圖,并使用圖注意力網(wǎng)絡(luò)計算用戶向量和物品向量,最后采用向量內(nèi)積的方式計算用戶對物品的評分。Wang 等的協(xié)同知識感知注意力網(wǎng)絡(luò)(Collaborative Knowledge-aware Attentive Network,CKAN)中提出用戶的向量表示與知識圖譜中實體的向量表示不在同一個向量空間,CKAN 基于圖注意力網(wǎng)絡(luò)計算知識圖譜中物品的向量表示,然后結(jié)合用戶交互歷史中的物品向量表示計算用戶的向量表示,最后依據(jù)用戶向量和物品向量的相似度預(yù)測用戶對物品的點(diǎn)擊率。
現(xiàn)有的基于KG 推薦模型存在一個不足:這些模型將用戶物品二部圖(User Item bipartite Graph,UIG)視作KG 的一部分,采取相同的策略處理這兩種信息。但實際上用戶物品二部圖中的協(xié)同過濾信息和KG 中實體間的關(guān)聯(lián)信息的含義并不相同,如果采用相同的方式處理這兩種信息,會導(dǎo)致學(xué)習(xí)到的用戶向量和物品向量無法準(zhǔn)確地表達(dá)用戶和物品的特征。舉例來說:如圖1 所示,從UIG 上看,用戶A 與用戶B的交互歷史極為相似,所以《泰坦尼克號》很可能是用戶A 未來會交互的電影。從KG 上看,用戶A 交互歷史中的電影都有相同的屬性“喜劇”和“劇情”,這表明用戶A 對電影的偏好包含“喜劇”和“劇情”。如果將UIG 的信息和KG 的信息混合,那么通過{用戶A,阿甘正傳,用戶B,泰坦尼克號}的信息傳播路徑,KG 中與用戶A 無關(guān)的實體“愛情”和“悲劇”的信息將會傳遞給用戶A,這將導(dǎo)致推薦結(jié)果中出現(xiàn)與用戶偏好完全不符的電影《羅密歐與朱麗葉》。實際上,用戶A 的向量中應(yīng)該包含《泰坦尼克號》的信息,因為《泰坦尼克號》《阿甘正傳》和《放牛班的春天》都是奧斯卡獎提名電影,看過《阿甘正傳》和《放牛班的春天》的用戶中絕大多數(shù)都會觀看《泰坦尼克號》,而這種關(guān)聯(lián)與KG 的屬性信息無關(guān),所以用戶A的向量中不應(yīng)該包含《泰坦尼克號》的屬性“愛情”和“悲劇”。
圖1 用戶物品二部圖和知識圖譜結(jié)合的例子Fig.1 Example of the combination of user item bipartite graph and knowledge graph
為了克服上述基于KG 推薦系統(tǒng)的局限性,本文提出了融合協(xié)同過濾信息的知識圖注意力網(wǎng)絡(luò)(Knowledge Graph Attention Network fusing Collaborative Filtering information,KGANCF)。該模型采用協(xié)同過濾層和知識圖注意力層充分挖掘協(xié)同過濾信息和KG 中實體關(guān)聯(lián)信息,避免了將二者相混淆影響推薦結(jié)果的準(zhǔn)確性;在知識圖注意力嵌入層中,模型結(jié)合用戶和物品的協(xié)同過濾信息計算KG 中用戶、物品關(guān)聯(lián)實體的注意力權(quán)重,充分地利用了用戶物品二部圖中包含的用戶與用戶、物品與物品的相似性,強(qiáng)化了相似項目的特征表示。
下面從協(xié)同過濾推薦和基于KG 的推薦兩個方面介紹與本文相關(guān)的工作。
協(xié)同過濾推薦算法是推薦系統(tǒng)中應(yīng)用最為廣泛的算法。協(xié)同過濾算法認(rèn)為:用戶的交互物品表達(dá)了用戶的直接偏好信息;物品的交互用戶表達(dá)了物品的特征信息。以此為依據(jù),協(xié)同過濾算法分為基于物品的協(xié)同過濾和基于用戶的協(xié)同過濾?;谖锲返膮f(xié)同過濾計算物品間的相似度矩陣來衡量目標(biāo)物品與用戶交互歷史中物品的相似度,從而預(yù)估用戶對目標(biāo)物品的喜好程度;基于用戶的協(xié)同過濾計算用戶間的相似度矩陣,尋找與當(dāng)前用戶相似的用戶,然后依據(jù)相似用戶的交互歷史進(jìn)行推薦。
基于KG 的推薦在協(xié)同過濾推薦方法的基礎(chǔ)上結(jié)合從KG 中學(xué)習(xí)到用戶、物品的屬性信息,計算用戶和物品的向量表示,然后用向量內(nèi)積的方式評價用戶對物品的喜好程度。這類方法的研究重點(diǎn)在于如何將KG 中的屬性信息融入到用戶向量和物品向量中。近年,受卷積網(wǎng)絡(luò)的啟發(fā),基于圖信息傳播的方法得到快速發(fā)展。KGCN對KG 中每個節(jié)點(diǎn)的鄰居進(jìn)行采樣,基于節(jié)點(diǎn)間的關(guān)系計算鄰居的權(quán)重,最終依據(jù)鄰居的權(quán)重聚合鄰居信息到中心節(jié)點(diǎn)上;KGAT結(jié)合用戶物品二部圖和KG,構(gòu)造協(xié)同知識圖,然后在協(xié)同知識圖上應(yīng)用圖注意力網(wǎng)絡(luò)聚合用戶和物品的鄰域信息。這類方法能夠結(jié)合KG 的全局信息豐富用戶和物品的向量表示。
u
和待推薦物品v
,從UIG 中提取相應(yīng)的協(xié)同過濾信息,得到用戶的協(xié)同過濾向量u
、物品的協(xié)同過濾向量v
和用戶所有交互物品的協(xié)同過濾向量集合{v
,v
,…,v
};2)知識圖注意力嵌入層,基于注意力機(jī)制,從KG 中聚合用戶交互物品集合{v
,v
,…,v
}和待推薦物品v
在KG 中的鄰域信息,得到用戶和物品的KG 屬性向量u
和v
;3)預(yù)測層,通過神經(jīng)網(wǎng)絡(luò)結(jié)合前兩步中得到的協(xié)同過濾向量(u
和v
)和KG 屬性向量(u
和v
)得到用戶和物品的最終向量表示u
和v
,預(yù)測用戶對物品的點(diǎn)擊率y
(u
,v
)。圖2 本文模型架構(gòu)Fig.2 Proposed model architecture
本文模型首先通過協(xié)同過濾層提取UIG 中包含的協(xié)同過濾信息。協(xié)同過濾信息是從用戶交互歷史中反映出的影響用戶決策的潛在因素。例如用戶觀看一部電影,除了該電影符合用戶的偏好以外,還有可能受到從眾心理(許多用戶都觀看了這部電影)、宣傳效應(yīng)(看到了該電影的廣告)等外在因素影響,這些因素對用戶的影響直接反映在用戶的交互歷史上。因此,協(xié)同過濾信息包含的范疇大于KG 中包含的特定屬性信息,正如圖1 的例子,《泰坦尼克號》和《阿甘正傳》《放牛班的春天》同為廣受用戶好評的奧斯卡獎電影,但是這個信息并不包含在KG 中。
在第1 章介紹協(xié)同過濾算法的相關(guān)工作中提到,協(xié)同過濾算法認(rèn)為:用戶的交互物品表達(dá)了用戶的直接偏好信息;物品的交互用戶表達(dá)了物品的特征信息?;谠摷僭O(shè),協(xié)同過濾層通過圖卷積操作聚合UIG 中節(jié)點(diǎn)的鄰域信息,得到用戶和物品的協(xié)同過濾向量表示。圖卷積操作的定義如下:
u
和v
為經(jīng)過k
層卷積后的用戶u
和物品v
的向量表示,N
代表用戶u
的交互物品集合,N
代表物品v
的交互用戶集合。經(jīng)過K
層卷積后,模型結(jié)合各層卷積的結(jié)果獲得用戶和物品的協(xié)同過濾向量:α
是每層嵌入向量的權(quán)重,其值被設(shè)置為1/(K+
1)。為了從整體角度理解圖卷積,便于進(jìn)行批處理,這里給出每一層卷積的矩陣形式:
A
是用戶物品二部圖中節(jié)點(diǎn)的鄰接矩陣,D
是用戶物品二部圖中節(jié)點(diǎn)的度矩陣,E
是用戶物品二部圖中節(jié)點(diǎn)的嵌入向量矩陣。u
和物品v
在KG 上的初始屬性實體集合如下:G
代表KG 中所有實體和關(guān)系的集合;y
為用戶和物品的交互關(guān)系,值為1 為用戶u
交互過物品v
。從初始實體集合出發(fā),模型對集合中實體的鄰居進(jìn)行逐層采樣,從而得到用戶u
和物品v
在KG 上的屬性信息。采樣得到的屬性實體集合定義如下:u
和物品v
的鄰居節(jié)點(diǎn),可以得到用戶和物品在KG 中的相關(guān)屬性實體信息,從而豐富用戶和物品最終的向量表示。KG 中,由不同的關(guān)系連接的屬性實體對用戶(或物品)的重要程度是不同的,相似的用戶(或物品)會有相似的偏好(屬性)特征。舉例來說,用戶A 觀看某部電影,因為這部電影與他之前看過的電影有相同的主演;用戶B 挑選電影的時候可能更關(guān)心電影的導(dǎo)演;而與A 相似的用戶C,同樣會更關(guān)注電影的主演。為了描述這種關(guān)系,知識圖注意力嵌入層在聚合KG 中的實體信息時,結(jié)合用戶(或物品)的協(xié)同過濾信息和KG 中實體間的關(guān)系來確定某個屬性實體的重要程度。
假設(shè)三元組(h,r,t
)是用戶u
的第l
層屬性實體集中某個實體t
所在的一個三元組,定義t
添加注意力權(quán)重后的向量表示為a
:u
是2.1 節(jié)得到的用戶協(xié)同過濾向量,e
和e
分別為關(guān)系r
和實體t
的向量表示,π
(u
,e
)是t
的注意力得分函數(shù)。π
(·)的定義如下:||
為拼接操作,W
和b
是待學(xué)習(xí)的參數(shù),r′
為與屬性實體t′
對應(yīng)的關(guān)系。聚合多層屬性信息得到用戶的第l
層屬性向量表示:l
層屬性向量表示:u
和物品v
各自的k
層屬性向量拼接,得到用戶和物品的KG 屬性向量:u
和物品v
最終的向量表示:u
與v
的向量內(nèi)積來衡量用戶u
對物品v
評分:最終,模型的損失函數(shù)定義為:
Γ
是交叉熵?fù)p失函數(shù);P
是用戶交互的正例集,P
是用戶交互的負(fù)例集;θ
是模型待訓(xùn)練的參數(shù);λ
是超參數(shù),用來控制L
2 正則化項。本章基于電影和音樂領(lǐng)域公開的數(shù)據(jù)集進(jìn)行實驗驗證模型的有效性,并討論模型結(jié)構(gòu)和參數(shù)對實驗結(jié)果的影響。
實驗選用電影推薦和音樂推薦兩個場景下的公開數(shù)據(jù)集測試模型的性能。Last.FM 數(shù)據(jù)源自Last.FM 在線音樂平臺,數(shù)據(jù)集中包含大約2 000 名用戶的音樂交互信息。MovieLens-20M 是電影推薦場景下應(yīng)用最廣泛的公開數(shù)據(jù)集之一,其中包含了約2 000 萬條用戶的電影評分信息。實驗將數(shù)據(jù)集按照6∶2∶2 的比例隨機(jī)分為訓(xùn)練集、驗證集和測試集。詳細(xì)的數(shù)據(jù)統(tǒng)計結(jié)果見表1。
表1 實驗使用的數(shù)據(jù)集Tab 1 Datasets used for experiment
模型采用Xavier initializer來初始化模型參數(shù),訓(xùn)練的批次大小設(shè)置為1 024。
超參數(shù)值的選取范圍如下:學(xué)習(xí)率Lr
在{10,5×10,10,5×10}中選擇,L
2 正則化項的系數(shù)λ
在{10,10,10,10}中選擇,嵌入向量的維數(shù)d
在{8,16,32,64,128}中選擇,用戶和物品KG 屬性集的大小S
和S
在{4,8,16,32,64}中選擇。經(jīng)過實驗驗證,模型最佳參數(shù)設(shè)置見表2。表2 實驗參數(shù)設(shè)置Tab 2 Experiment parameter setting
為了驗證模型的有效性,將KGANCF 與以下模型進(jìn)行對比:
1)協(xié)同知識嵌入(Collaborative Knowledge base Embedding,CKE)是一個經(jīng)典的將協(xié)同過濾算法與KG、文本等輔助信息相結(jié)合的模型。CKE 基于TransR 算法從KG 得到物品的屬性信息,用于增強(qiáng)用戶、物品的向量表示。
2)KGCN將圖卷積網(wǎng)絡(luò)推廣到知識圖推薦領(lǐng)域。通過對知識圖節(jié)點(diǎn)進(jìn)行鄰域信息的聚合從而挖掘KG 中實體間的高階關(guān)聯(lián)信息,用以豐富用戶和物品的向量表示。
3)KGAT將用戶物品二部圖與KG 結(jié)合為協(xié)同KG,并采用注意力機(jī)制聚合用戶和物品的鄰居信息,得到用戶和物品的向量表示。
4)CKAN基于注意力機(jī)制提取KG 的屬性信息,然后通過協(xié)同過濾傳播將KG 屬性信息傳遞給用戶和物品,從而得到用戶和物品的向量表示。
k
推薦實驗的評價指標(biāo),得到實驗結(jié)果見圖3。表3 點(diǎn)擊率預(yù)測的AUC和F1結(jié)果Tab 3 Results of AUC and F1 in CTR prediction
圖3 Top-k推薦的Recall@k結(jié)果Fig.3 Results of Recall@k in Top-k recommendation
觀察實驗結(jié)果可以發(fā)現(xiàn),KGANCF 性能相較于對比模型在音樂推薦和電影推薦場景下取得了明顯的提升??梢缘贸鋈缦陆Y(jié)論:
1)經(jīng)典的嵌入方法(CKE)的表現(xiàn)整體遜色于基于信息傳播的方法(KGCN、KGAT)。這是因為基于信息傳播的方法可以更好地挖掘出KG 中的高階關(guān)聯(lián),從而獲得更好的用戶物品向量表示。
2)與KGCN 相比,加入注意力機(jī)制的模型(KGAT、CKAN和KGANCF)取得了更出色的結(jié)果,說明結(jié)合注意力機(jī)制得到的用戶向量和物品向量可以更加準(zhǔn)確地表達(dá)用戶和物品的特征信息。
3)本文KGANCF 在Last.FM 數(shù)據(jù)集上的表現(xiàn)遠(yuǎn)超其他對比方法,原因是Last.FM 數(shù)據(jù)集相較于MovieLens-20M 數(shù)據(jù)更為稀疏,側(cè)重對KG 建模的方法難以從KG 復(fù)雜的關(guān)系中準(zhǔn)確地提取出對用戶、物品有用的特征。KGANCF 可以更有效地從用戶交互歷史中提取出用戶物品的協(xié)同過濾信息,然后結(jié)合KG 屬性信息得到更可靠的用戶特征和物品特征。
4)在KG 數(shù)據(jù)量更大,數(shù)據(jù)更稠密的MovieLens-20M 數(shù)據(jù)集上,KGANCF 同樣取得了最好的表現(xiàn),說明充分挖掘協(xié)同過濾信息對推薦的重要性。
為了討論協(xié)同過濾層和知識圖注意力嵌入層對實驗結(jié)果的影響,本節(jié)通過進(jìn)一步實驗討論對比不同網(wǎng)絡(luò)結(jié)構(gòu)下AUC 值的大小。
首先固定知識圖注意力嵌入網(wǎng)絡(luò)層數(shù)為1,調(diào)整協(xié)同過濾層網(wǎng)絡(luò)的結(jié)構(gòu),層數(shù)分別設(shè)置為1、2、3、4。實驗結(jié)果見表4。觀察結(jié)果可以得到結(jié)論:在協(xié)同過濾網(wǎng)絡(luò)取3 層,知識圖注意力嵌入網(wǎng)絡(luò)取1 層時模型取得了最佳性能。這說明了充分挖掘UIG 中用戶行為特征的必要性;此外,當(dāng)網(wǎng)絡(luò)層數(shù)較小時,模型無法充分挖掘協(xié)同過濾信息,而模型層數(shù)較深時,引入了無關(guān)節(jié)點(diǎn)的特征信息,導(dǎo)致推薦結(jié)果準(zhǔn)確性開始下降。
表4 協(xié)同過濾層數(shù)對AUC的影響Tab 4 Influence of number of collaborative filtering layers on AUC
下一步,在協(xié)同過濾網(wǎng)絡(luò)取3 層的基礎(chǔ)上調(diào)整知識圖注意力嵌入層的網(wǎng)絡(luò)層數(shù),對比AUC 的大小,結(jié)果見表5。觀察實驗結(jié)果可以發(fā)現(xiàn),隨著知識圖注意力嵌入網(wǎng)絡(luò)層數(shù)加深,AUC 值逐漸下降。出現(xiàn)該結(jié)果的原因是KG 中物品高階鄰居實體包含了與用戶、物品不相關(guān)的屬性信息,這部分“噪聲”干擾了推薦結(jié)果。因此,在提取KG 中的屬性信息時,精簡網(wǎng)絡(luò)層數(shù)可以取得更好的結(jié)果。
表5 知識圖注意力嵌入層對AUC的影響Tab 5 Influence of number of knowledge graph attention embedding layers on AUC
本文提出了一個推薦模型KGANCF。該模型深入挖掘用戶交互歷史中的協(xié)同過濾信息得到用戶和物品的協(xié)同過濾向量,然后通過知識圖注意力嵌入層,結(jié)合協(xié)同過濾信息篩選與用戶、物品密切相關(guān)的KG 屬性信息進(jìn)一步豐富用戶、物品的向量表示,避免了將協(xié)同過濾信息和KG 屬性信息相混淆,干擾推薦結(jié)果準(zhǔn)確率的問題。實驗結(jié)果表明,本文模型的效果優(yōu)于對比方法。在未來的工作中,模型需要進(jìn)一步解決的問題有:1)KG 節(jié)點(diǎn)的高階鄰域信息對中心節(jié)點(diǎn)特征的重要性;2)在協(xié)同過濾層中,特征向量間的權(quán)重目前靠手工設(shè)置的超參數(shù)確定,未來可以通過自適應(yīng)的方法學(xué)習(xí)這個參數(shù)。