陳喬松 郭傲東 杜雨露* 張怡文 朱 越
①(重慶郵電大學計算機科學與技術學院 重慶 400065)
②(安徽新華學院信息工程學院 合肥 230000)
③(河南農業大學信息與管理科學學院 鄭州 450046)
目前推薦系統中相對核心推薦算法大致可以分為基于內容的推薦[1]、協同過濾推薦[2]、基于關聯規則的推薦[3]以及混合推薦[4]。針對廣泛應用的協同過濾推薦,該方法依賴用戶的歷史偏好信息,當用戶行為數據越稀疏時,推薦的精確度越低;同時,還存在著新用戶和新商品的冷啟動等問題。
為了解決這些問題,研究者嘗試將社交網絡、用戶項目屬性、圖片文字等信息引入推薦系統。深度學習算法[5]能夠有效地挖掘輔助信息潛在的用戶興趣偏好,研究者開始將傳統推薦算法與深度學習相結合[6],例如深度興趣網絡的點擊率預測[7]和改進遞歸神經網絡的會話推薦[8]等。
近幾年,知識圖譜成為一種新起的輔助信息,知識圖譜更多地挖掘現實中存在的交互聯系。這種融合知識圖譜的推薦能夠深層次地發現用戶的興趣,避免單一類型的推薦結果,同時知識圖譜也可以對推薦結果進行解釋,增強用戶對推薦系統的信任。基于傳統知識圖譜的推薦系統研究分為兩類,一類采用的是基于知識圖譜特征學習方法[9,10],例如,高階鄰域混合模型(MixHop)[11]通過不同距離之間的特征反復學習挖掘特征關系。深度知識感知網絡(Deep Knowledge- aware Network, DKN)[12]通過提取文本構建知識圖譜,將新聞的詞向量與知識圖譜的實體融合。這些模型更多的關注于知識圖譜內部的語義信息,忽略了知識圖譜的空間結構特征;另一類采用的是基于固定路徑數據[13,14]的方法,例如,元圖融合推薦模型(Meta- Graph based Recommendation Fusion, FMG) [13]通過設定特定路徑挖掘實體之間的潛在關系,直觀地利用網絡結構但是路徑較為固定。文獻[14]提出一種基于元圖的融合注意力機制的網絡,通過注意機制從固定路徑中挖掘交互信息來訓練模型構建推薦器進行推薦。該類方法通過設定固定的連接方式直觀地捕獲知識圖譜地網絡結構,但是需要手動設定元路徑且丟失大量的語義信息。
最近,對于多模態知識圖譜的特征組合成為研究趨勢。多模態知識圖譜通過圖片、文本等信息去調整傳統知識圖譜中的語義關系。與傳統開源知識圖譜的數據相同,維基數據(Wikidata)、圖像鏈接數據集(IMages Gpedia, IMGpedia)等多模態數據庫仍舊存在具體場景應用問題。多模態知識圖譜的不同數據信息一方面解決了單一知識圖譜對用戶偏好挖掘的局限性,另一方面也是構建多模態知識圖譜的極大挑戰。多模態知識圖譜的構成一定程度地解決單一知識圖譜中過于相似實體間的歧義信息,極大程度地確保實體信息挖掘的準確性。
針對以上問題及推薦系統中數據稀疏問題,本文提出一種融合知識圖譜與圖片特征的推薦模型。該模型利用深度游走模型(Deep Walk)[15]捕獲空間結構的方法和波紋網絡模型(RippleNet)[9]的思想同時挖掘知識圖譜的空間結構和知識表達,并且考慮圖片對用戶偏好的影響,擴展知識圖譜模態,有效地將這些信息進行混合,從而進一步提高了推薦精度。本文的貢獻主要包括以下幾點。
(1) 與現有的研究不同,本文提出融合知識圖譜語義特征、空間結構信息以及圖片特征的推薦模型(KG-I)。將知識圖譜結構嵌入、知識嵌入和視覺嵌入作為不同模態輸入,并保持各模態間的對應關系,去挖掘用戶-項目之間的潛在信息,以此提高推薦算法的性能;
(2) 本文基于知識圖譜挖掘了其結構信息和知識信息相關的兩種向量表示,基于圖片特征構建了用戶興趣度矩陣。設計融合策略,以用戶對項目的隱式反饋作為銜接,對3種不同的嵌入表示更好的融合;最后,結合L2正則優化和梯度下降對特征概率進行限制;
(3) 在真實的數據集上進行了一系列的實驗來驗證模型的推薦效果,包括與現有模型的效果比較、研究多種特征對于推薦效果的影響、研究模型在不同稀疏度數據子集的表現。結果表明,這種融合知識圖譜與圖片特征的個性化推薦模型完全優于對比算法。
知識圖譜(Knowledge Graph)[12]具有強大的語義表達能力,本質上是語義網絡的知識庫,具體地說是一種表達語義的多關系圖。從最初的優化Google搜索引擎,到現在的自然語言理解、聊天機器人、問答系統、可視化知識表現等都與知識圖譜技術相關。近年,知識圖譜在推薦領域的熱度也不斷上升,較多的推薦領域學者致力于構建商品、電影、音樂相關的知識圖譜,從中挖掘出用戶的潛在興趣偏好,分析知識圖譜對推薦系統性能的影響。
知識圖譜運用于推薦領域成為熱門研究,一方面知識圖譜補全了推薦系統項目信息的完整性,提供了更多與項目相關的信息;另一方面知識圖譜模擬了實際用戶對項目的興趣路徑。因此,利用知識圖譜的推薦系統方法分為兩類,基于知識圖譜特征學習方法和基于固定路徑數據的方法。基于知識圖譜特征學習方法[16,17]主要通過提取文本構建知識圖譜,將項目與知識圖譜中實體進行融合,然后利用傳統的推薦模型進行訓練,如協同知識嵌入(Collaborative Knowledge base Embedding, CKE)[18]、深度知識感知網絡(Deep Knowledge-aware Network,DKN)[12]等,這些特征更多利用項目之間的豐富的語義信息。基于固定路徑數據[13,14]的方法主要通過設定特定路徑挖掘實體之間的潛在關系,利用網絡結構來挖掘項目之間的潛在關系,如元圖融合推薦模型(Meta-Graph based recommendation Fusion,FMG)[14]、個性化實體推薦模型(Personalized Entity Recommendation, PER)[19]等,直觀地捕獲知識圖譜的網絡結構。
多模態知識圖譜與傳統的知識圖譜最主要的區別主要體現在圖譜中的實體通過不同模態進行刻畫,形成一種多模態的語義關聯,因此需要注意不同模態下的數據對應關系。多模態知識圖譜運用于推薦系統主要側重于特征和實體的兩種方式:基于特征的方式是將不同模態信息直接視為實體的輔助信息,如文獻[20]提出的基于多模式翻譯模型,該模型在知識圖譜的3元組數據上加入視覺和語言信息,設計融合函數使用特征;基于實體的方式是將不同類別的信息視作結構化的知識關系3元組,如多模態知識圖譜嵌入(Multimodal Knowledge Base Embeddings, MKBE)[21]將不同數據與關系模型結合去學習實體的關系的嵌入,提出新型多模填補模型生成缺失的多模數據。
本文通過深度游走[15]算法和RippleNet[9]模型的思想,可以自主挖掘知識圖譜的知識信息和結構信息,不需要手動設置路徑,并在此基礎上引入圖片特征來提升推薦系統的性能。利用知識圖譜G與用戶評分列表L作為模型輸入,結合項目的圖片特征,從而輸出用戶點擊項目的預測概率。
融合知識圖譜與圖片信息的推薦模型(integrating Knowledge Graph and Image features, KG-I)結構如圖1所示,其中上半部分包含知識圖譜G與圖片構成的多模態知識圖譜和視覺嵌入方法,下半部分包含多模態知識圖譜的結構嵌入和知識嵌入方法。如圖1結構模塊所示,結構嵌入中利用深度游走思想獲取知識圖譜的空間結構特征表示;如圖1語義模塊所示,知識嵌入中將頭尾節點與關系組建3元組表示知識圖譜的語義關系,獲取用戶的擴散偏好集合,對知識圖譜的語義特征表示;如圖1圖片模塊所示,視覺嵌入挖掘知識圖譜實體的圖片特征。最終對3種不同的嵌入表示進行融合,輸出用戶點擊項目的預測概率。

圖1 KG-I框架圖
本文的推薦系統以點擊率預測為目標進行訓練,同時根據點擊率排序進行Top-N列表推薦。考慮知識圖譜和推薦算法以及融合特征進行聯合學習,所以模型的損失函數如式(1)所示


結構特征學習模塊的目標是獲取知識圖譜中實體節點在知識圖譜中位置的向量維度映射,利用知識圖譜鄰近節點的依賴性實現知識圖譜結構特征表示。通過深度游走方法無監督地捕獲知識圖譜拓撲結構信息,整個知識圖譜的實體由各個實體對應的向量表示反映整個網絡的結構特征。適當規模的向量特征表示通用于任何分類算法或者集成于其他機器學習算法。
知識圖譜與普通網絡結構圖不同,推薦項目的知識圖譜涵蓋項目大量的隱藏知識語義信息。知識圖譜中每一條復雜連接在實際場景下均可以進行有效的翻譯,例如用戶對某項目的行為通過路徑傳遞至另一項目,可以根據3元組(頭節點、關系、尾節點)表示鏈路的語義特征,所有的尾節點作為頭節點和關系的翻譯結果反映用戶的潛在興趣偏好。而這種傳遞隨著鏈路的增加帶來更多的噪聲數據使用戶的潛在偏好受到影響。合適的鏈路長度不僅需要挖掘用戶在知識圖譜中的潛在偏好同時也要滿足項目能夠與遠端項目保有聯系。


為了減少計算開銷,每個用戶擴散偏好集的大小相同。后續實驗會討論擴散偏好集的大小以及鏈路長度對推薦結果的影響。
用戶選擇項目的興趣來源主要包括朋友的推薦、與之前項目類似的物品等途徑,同時圖片信息可以給用戶帶來最直接的感官刺激。因此,在一定的程度上項目圖片特征對用戶的選擇有著隱式影響。
本文設計圖片特征模塊,如圖1圖片模塊所示,該模塊挖掘項目圖片的潛在特征,后續與知識圖譜分解后的結構特征和語義特征相融合重構項目特征,緩解傳統協同過濾算法中的數據稀疏性問題。具體使用圖像卷積神經網絡(Visual Geometry Group, VGG16)[22]框架挖掘項目圖片特征的流程如圖2所示。

圖2 VGG16框架圖
使用VGG16框架卷積圖片數據獲得高維海報特征數據。較大的數據組成面臨著高難度的運算復雜度,因此選擇主成分分析算法(Principal Component Analysis, PCA)[23]在保留圖片數據的特征的同時降低數據維度,降低后續運算和時間復雜度。根據主成分公式獲得PCA處理后的低維圖片特征數據與分解后的知識圖譜特征融合。當項目不存在圖片時,使用0向量作為項目的圖片特征,使得當前項目不參與圖片特征的融合。
為了以更細粒度的方式模擬用戶與項目之間的交互,提出了一種知識圖譜語義特征、結構特征和圖片特征的融合策略去挖掘用戶潛在興趣偏好。


其中,V,E,R分別為項目和知識圖譜實體與關系的向量表示。Ir是 項目在關系r下的向量表示。α,β分別表示知識圖譜結構特征和圖片特征的權重向量。損失函數由3項組成,第1項表示預測概率與真實值之間的交叉熵損失函數,第2項表示真實關系下的項目向量與重構關系下的項目誤差,第3項是融合各種特征后防止模型過度擬合的L2正則化。
設計實驗去驗證提出模型的推薦性能,在內存32 GB,處理器型號為AMD EPYC? ROME的Windows Server 2012服務器中,利用Tensorflow作為深度學習的框架,使用Python3.5設計對比實驗進行性能分析。
本文數據來源于公開數據集MovieLens(https://grouplens.org/datasets/movielens),數據集中包含610個用戶對9742部電影的100000多條1~5分范圍內的評分數據。知識圖譜數據源于MovieLens中統一資源定位符(Uniform Resource Locator, URL)在互聯網電影資源庫 (Internet Movie DataBase,IMDB) (https: //www.imdb.com)中的映射,獲取導演、作者、演員等輔助信息去構建知識圖譜,數據基本信息見表1。本實驗將數據集按4:1的比例劃分訓練集和測試集進行對比實驗分析。

表1 實驗數據
(1) 點擊率預測。實驗通過預測用戶對電影的點擊率對推薦性能分析。采用度量標準特征曲線下面積(Area Under Curve, AUC)[9]和正確率(Accuracy,Acc)[9]作為反映算法準確度的指標。
(2) Top-N列表推薦。實驗通過給用戶推薦N個項目的列表對推薦性能分析。采用度量標準為召回率 ( Recall@K)[16]和準確率( Precision@K)[16]作為衡量推薦列表的指標。
在本節討論分析實驗的具體參數設置,其中d表示特征維度,h表示鏈路長度,m表示擴散偏好集的每層大小,λ1表示KGE損失權重,λ2表示L2正則項權重。
為了測量特征維度d對推薦效果的影響,分別設置d=4, 8, 16, 32, 64對數據集進行實驗,實驗結果如圖3(a)所示。當維度d=8時推薦效果達到最佳。最初,AUC隨著d的增加而增加,特征帶來更多信息;而當d一直增加時,會帶來過擬合現象,導致模型性能下降。
為了測量鏈路長度h對推薦效果的影響,分別設置h=2, 3, 4, 5對數據集進行實驗,實驗結果如圖3(b)所示。結果顯示當鏈路長度h=2時推薦效果達到最佳。隨著h的增加,實體之間的關聯減弱,帶來更多的噪聲數據。過長的關系連接從知識圖譜中挖掘出過多的無用信息,過短的路徑無法探索遠端實體與用戶之間的相關性和依賴性。
為了測量擴散偏好集每一層大小對推薦效果的影響,分別設置m=8, 16, 32, 64對數據集進行實驗,實驗結果如圖3(c)所示。結果顯示當擴散偏好集m=32時推薦效果達到最佳。一開始AUC隨著m的增加而增加,當m太大時帶來更多的實體數據但實體間關聯性減弱,同時計算開銷增加,實際推薦效果下降。

圖3 模型參數對AUC的影響
為了確定損失函數中權重λ1, λ2,分別在數據集上設置實驗去選取合適的權重值。實驗結果如圖4所示。結果顯示當λ1=0.5,λ2=10–7時推薦效果達到最佳。

圖4 模型權重對AUC的影響
綜上所述,實驗的具體參數設置為特征維度d=8,擴散偏好集的層數h=2,擴散偏好集的每層大小m=32,KGE損失權重λ1= 0.5,L2正則項權重λ2=10–7。
在本節討論分析實驗模型隨著訓練次數的增加,評價指標AUC和Acc在訓練集和測試集的變化情況。實驗結果如圖5所示。
由圖5可以看出,隨著訓練次數的增加,模型訓練集和測試集上的AUC和Acc指標在訓練20次左右達到最高值并開始收斂。在模型收斂后,不斷增加訓練會致使模型在測試集上的AUC和Acc微弱下降,但整體影響較小。

圖5 AUC和Acc評價指標隨訓練輪數的變化圖
本文主要從模型預測準確性方面和Top-N列表推薦方面分析融合知識圖譜與圖片信息的推薦模型(integrating Knowledge Graph and Image features, KG-I)在MovieLens集上的性能表現。所有對比方法均采用4.2節指標進行性能衡量。在這一節,主要在數據集上進行以下實驗:(1)比較本文所提模型和現有模型的效果;(2)研究多種特征對于推薦效果的影響,包括知識圖譜的語義特征、結構特征以及圖片特征;(3)研究模型在不同稀疏度數據子集的表現。
4.5.1 與其他對比模型比較
為了驗證文中提出的模型性能,本文選取下面幾種推薦相關模型作為對比。
基于貝葉斯個性化排序的矩陣分解(Matrix Factorization base Bayesian Personalized Ranking, BPRMF)[24]:通過構建用戶對不同物品的偏序關系進行協調過濾的推薦。
深度知識感知網絡(Deep Knowledge-aware Network, DKN)[12]:將知識圖譜實體嵌入與卷積神經網絡相融合,利用關系建模轉換嵌入方法(Transe)對知識圖譜進行項目表示,給用戶進行推薦。
RippleNet[9]:將知識圖譜特征學習融入推薦系統,利用偏好擴散結合注意力機制得到用戶的偏好特征進行推薦。
KG-I:利用深度游走和偏好擴散原理將知識圖譜的語義和結構特征相融合,同時融入項目圖片特征進行推薦。
融合知識圖譜語義特征和結構特征的推薦模型(integrating Knowledge Graph- Semantic and Structural features, KG-SS):該模型在KG-I的基礎上融合知識圖譜語義特征和結構特征,沒有考慮項目圖片特征。
基于知識圖譜語義特征的推薦模型(integrating Knowledge Graph-Semantic features, KG-S):該模型僅僅考慮知識圖譜的語義信息,沒有考慮知識圖譜的結構特征與項目圖片特征。
實驗設置點擊率預測,比較各模型在數據集上的AUC和Acc,結果如表2所示,同時在Top-N列表推薦的場景下設置top-K=1, 5, 10, 20, 50, 100,比較各模型在數據集上的召回率和精確度,結果如圖6所示。
觀察表2和圖6可以發現:

圖6 不同模型的召回率和準確率

表2 在MovieLens集上各種算法AUC和Acc對比
(1)在實驗中,BPRMF的總體效果略微遜色于其他對比算法,這主要因為利用知識圖譜的算法模型效果更好,知識圖譜帶來了更多的項目潛在信息,從而提升了推薦效果。
(2) 與RippleNet模型相比,RippleNet只是挖掘了知識圖譜中的語義信息忽略了圖譜本身自帶的空間結構特征,因此效果略微遜色與KG-SS模型。
(3) KG-I算法的推薦性能比DKN, RippleNet算法在知識圖譜的基礎上加入了圖片特征,這說明圖片特征的融合有利于提高推薦算法的性能。
(4) BPRMF在準確率值上表現略高,召回率和準確率的指標是相互矛盾的,召回率越高準確率越低。實際情況下需要保證召回率和準確率相對平衡。結合表中數據,BPRMF的推薦效果表現一般。
(5) 本文方法在數據集上取得了最好的效果,因為它不僅挖掘知識圖譜的語義特征和結構特征,同時融合項目的圖片特征,豐富了用戶的歷史偏好數據集。
實驗結果表明:KG-I模型更好地利用知識圖譜的特征,融合多種數據信息提高推薦效果。
4.5.2 多種特征對于推薦效果的影響
為了研究本文所提融合知識圖譜語義特征、結構特征、圖片特征對于推薦效果的影響,設置實驗進行對比。
KG-S:該模型僅僅考慮知識圖譜的語義信息,沒有考慮知識圖譜的結構特征與項目圖片特征。
KG-SS:該模型融合知識圖譜語義特征和結構特征,沒有考慮項目圖片特征。
KG-I:該模型融合知識圖譜語義特征、結構特征和項目圖片特征。
融合知識圖譜語義特征與圖片特征的推薦模型(integrating Knowledge Graph- Semantic and Image feature, KG-SI):該模型不僅僅考慮知識圖譜的語義信息,同時引入項目圖片特征,沒有挖掘知識圖譜結構特征。
該實驗設置top-K=1, 5, 10, 20, 50, 100比較各模型在數據集上的召回率和精確度,結果如圖7所示。
從圖7可以看出:

圖7 不同特征的召回率和準確率
(1) KG-I模型比KG-SS模型推薦效果好,說明在原有知識圖譜的基礎上圖片特征的引入提高了模型的推薦效果;
(2) KG-I模型與KG-SI相比,召回率有明顯提升的同時準確率也有所提升,這說明知識圖譜的結構特征對推薦效果有著重要影響,不能完全忽略。
(3) KG-I模型的推薦效果是最好的,說明同時考慮了知識圖譜的結構特征、語義特征與項目圖片特征時,模型效果最好。
實驗結果表明,知識圖譜的結構特征、語義特征和項目圖片特征的融合能夠有效地提高推薦的效果。KG-I模型的特征融合優于現有的利用知識圖譜的推薦效果。
4.5.3 稀疏性驗證
為了驗證模型在不同稀疏度數據集的表現,該實驗分別對訓練集抽取了不同的數據子集設置實驗進行對比。
步驟1 在原有訓練集的基礎上,隨機選取20%的數據,降低數據密度,分別在不同模型上進行實驗。
步驟2 在原有訓練集的基礎上,隨機選取50%的數據,降低數據密度,分別在不同模型上進行實驗。
步驟3 在原有訓練集的基礎上,隨機選取80%的數據,降低數據密度,分別在不同模型上進行實驗。
該實驗設置top-K=1, 5, 10, 20, 50, 100,比較各模型在數據集上的召回率,結果如圖8所示。從圖8可以看出:

圖8 不同數據稀疏度的召回率
(1) 與KG-I模型類似,RippletNet模型隨著數據越來越稀疏,利用知識圖譜的模型的召回率變化大,推薦效果的優勢越來越明顯。這說明考慮知識圖譜的推薦,較好地緩解了數據稀疏性的問題。
(2) 無論數據的稀疏度如何,KG-I的召回率指標變化不大基本不受數據稀疏度的影響。而BPRMF模型有明顯的降低,說明BPRMF模型受數據稀疏度影響較大。
(3) 在越稀疏的數據集上,KG-I模型的推薦效果越明顯。隨著數據密度的上升,其他算法的推薦效果有明顯的回升。
實驗結果表明:相比于其他的推薦模型,KG-I模型在數據較為稀疏的情況下依舊能夠有很好的推薦效果,KG-I模型有效地緩解數據稀疏問題。
本文完成知識圖譜與推薦領域的結合,提出一種融合知識圖譜與圖片特征的推薦模型(KG-I)。文中將知識圖譜結構嵌入、知識嵌入和視覺嵌入作為不同模態輸入,并保持各模態間的對應關系,以用戶對項目的隱式反饋作為銜接,對3種不同的嵌入表示更好的融合,以此提高推薦算法的性能。需要注意的是知識圖譜的實體和現實用戶項目等具體的映射。結果表明,知識圖譜的結構特征、知識特征以及視覺特征對推薦效果有著重要影響不能忽略,同時融合知識圖譜與圖片特征的個性化推薦模型完全優于其他的對比算法并且緩解數據稀疏情況。
本文在各個模態之間相對較為獨立,一定程度上的丟失不同模態之間的依賴和對應關系。多模態融合方法采取較為基礎的后端融合,使得不同模態下的錯誤互不影響不會造成錯誤累積,因此使得多模態數據之間互補性較差,但能夠直觀地對比出不同模態對推薦效果的影響,有一定的參考價值。