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