?

基于多源輔助信息的推薦算法研究*

2022-05-09 09:24龐健嬋閉應洲武文霖王志遠鄧超文
關鍵詞:圖譜物品實體

龐健嬋,閉應洲,楊 輝,武文霖,王志遠,鄧超文

(南寧師范大學 計算機與信息工程學院,廣西 南寧 530199)

0 引言

隨著互聯網時代的到來,網絡上各個服務平臺的信息呈現爆炸式的增長。用戶在網上選購商品時需要花費大量的時間來尋找自己喜歡的物品,這往往會導致用戶的體驗較差。為了解決這個問題,科技人員們不斷研究更有效的推薦算法,在用戶需求不明確的情況下,推薦算法可以為用戶挑選他可能喜歡的物品,相當于模擬一個銷售幫助客人完成購買的過程。判斷一個推薦算法好壞的關鍵,就是看它能否為用戶提供個性化的推薦,為用戶推薦感興趣的物品,提升用戶體驗。

協同過濾推薦算法是目前應用廣泛,也是最經典的推薦算法,這種算法又分為基于用戶的協同過濾[2]、基于物品的協同過濾和基于模型的協同過濾?;谟脩舻膮f同過濾推薦算法是找到有相似喜好的用戶來做推薦,基于物品的協同過濾推薦算法是找到相似的物品進行推薦;基于模型的協同過濾是用機器學習的方法來建模,根據用戶的歷史記錄來做出預測和推薦。矩陣分解算法[3](Matrix Factorization)基于矩陣補全的方法來做評分預測,它在2007年的Netflix發起的Netflix Prize百萬美金競賽中取得很好的表現,自此受到人們的關注,但是矩陣分解仍然存在數據稀疏和冷啟動問題[2]。為此,多源異構數據隨之被[1]被引入到推薦系統中,比如相關的標簽、文本、圖片等數據;另外,將多源異構數據進行混合引入也引起了科研人員的關注。在多源異構信息難以融合的時候,又引入了知識圖譜(Knowledge Graph,KG)[4],它以圖的形式將人類知識進行了表示。在推薦算法中引入知識圖譜,可以獲得更多的語義關系和結構關系,從而可以深層次地挖掘用戶潛在的喜好,還可以獲取更多種類的關聯,這有助于避免推薦結果的單一性;同時可以將用戶的歷史記錄和推薦結果聯系起來,為推薦提供可解釋性,提高用戶的使用體驗。

KGCN是Hongwei Wang[5]在2019年提出的推薦系統模型,該模型通過知識圖譜來捕獲鄰居實體,將鄰居實體與項目本身實體結合起來,這樣獲得的向量可以捕獲物品端的高階結構信息和語義信息,這些豐富的物品信息可以有效表示用戶潛在的興趣。KGCN在預測點擊率方面獲得了很好的效果,但它僅使用了物品端的信息,忽略了用戶端信息。本研究將用戶的相關信息添加到模型當中,將特征組合后作為用戶信息的高階接受域,最后用這些信息與用戶實體結合起來作為用戶的向量表示,以此來提升推薦系統的性能。

將用戶的額外信息引入并進行組合,如“中年(年齡)男性(性別)”“銷售(職業)中國(地址)”等這樣組合特征來表示用戶,建立起來用戶和物品之間的非線性聯系。性別為男性的中年人喜歡看科幻類型的電影,還有性別為女性的青年喜歡看戀愛題材的電影。通過觀察大量的樣本數據可以發現,某些特征經過關聯之后,與推薦結果之間的相關性就會提高。

圖1 用戶屬性和用戶偏好電影圖

1 相關工作

1.1 基于知識圖譜的推薦算法

近年來,在推薦系統中引入知識圖譜作為輔助的信息取得了很好的成效。在電影推薦中,如將電影的導演、類型、演員、產地等物品的屬性添加到模型中豐富物品的表示,可以更加準確地反應出物品的本質特征,因此模型可以更加準確地為用戶做推薦。知識圖譜是一個有向的異構圖,在知識圖譜中物品作為實體,實體之間用邊來連接,邊表示的是物品之間的關系,這樣物品與物品之間的關系就能在知識圖譜中得到表示。在推薦算法中引入知識圖譜后豐富了物品信息和表示,可以更好捕捉用戶的偏好,提高推薦的效率?;谥R圖譜的推薦系統[8]包括基于路徑的方法、基于Embeddig的方法[9-11]和混合的方法3種。

Yu X,Ren X等[12]在2014年提出的HeteRec模型和Zhao H,Yao Q等[13]在2017年提出的FMG模型都是基于路徑的方法。隨著信息技術的發展更多信息被挖掘和使用,因算法數據的稀疏和推薦算法效果受限等原因,研究人員將多源異構信息引入到推薦系統中。Fuzheng Zhang等2016年提出了CKE模型,該模型將文本信息、圖片信息和知識圖譜等多種異構信息融合到知識表示當中來豐富物品的表示,學習出用戶表示和物品表示以此計算出用戶點擊物品的概率。CKE模型是一個基于Embeddig的知識圖譜推薦方法,類似的還有Hongwei Wang在2018年提出的DKN推薦模型等。

混合的推薦方法有Hongwei Wang等[14-16]在2018年提出的RippleNet模型,該模型是Wang提出的基于知識圖譜的神經網絡模型,類似的模型還有Hongwei Wang在2019年提出的KGCN模型等。

1.2 特征交叉推薦模型

在早期的CTR算法是使用廣義線性模型來計算用戶的點擊率,但沒有將特征進行交叉組合和篩選,這樣有可能造成信息丟失。POLY2模型將所有的特征進行兩兩交叉組合,且給特征組合賦予了相應的權重,POLY2模型特征組合的方式考慮了特征和特征之間相互作用的問題。POLY2模型的本質還是邏輯回歸模型,也就是線性模型,針對POLY2模型存在的問題,又推出了FM(因子分解機)模型。FM模型使用的梯度下降學習方法,它對特征進行交叉組合后的特征賦予單一的權重,這就解決了POLY2模型直接交叉帶來的數據稀疏的問題,使每個特征更容易被學習。FM模型具有較高的泛化能力,在處理較小數據和稀疏數據時會較高的利用價值。在特征交叉模型中的兩個特征交叉組合如矩陣所示,這樣的特征組合起來建立與推薦結果的聯系就是特征交叉模型的重要思想。

屬性性別職業年齡地址性別性別×性別性別×職業 性別×年齡 性別×地址職業職業×性別職業×職業 職業×年齡 職業×地址年齡年齡×性別年齡×職業 年齡×年齡 年齡×地址地址地址×性別地址×職業 地址×年齡 地址×地址

2 FMKGCN模型

2.1 FMKGCN問題定義

為了方便描述,給出如下定義,在推薦系統中存在著用戶u和項目v,用戶集用U={u1,u2,…,un}來表示,項目集用V={v1,v2,…vn}來表示。用戶和項目的交互矩陣定義為Y∈RM×N,如果用戶u對項目v有點擊、購買或者評分行為等隱性反饋行為則yuv=1,反之那么yuv=0。

除了有用戶和項目的交互矩陣,在這個模型中還包括了知識圖譜G,知識圖譜是為了描述實體與實體之間的關系,一般實體通過這樣的三元組形式進行連接,如一個三元組<長津湖,演員,段奕宏>表示的是,段奕宏出演了電影長津湖。在很多推薦系統里物品v∈V可以與知識圖譜中多個實體e相關聯,只考慮一個物品v與一個實體e相關聯的情況。

模型的最終目標是預測一個用戶u對沒有過交互的物品v是否有興趣。設置了一個函數yuv來預測用戶u點擊物品v的概率,函數定義為yuv=F(u,v|Θ,Y,G),其中Y表示的是用戶和項目的交互矩陣,G表示的是知識圖譜,Θ表示模型參數。

2.2 模型描述

FMKGCN模型結構如圖2所示,右邊的物品端模塊輸入的是知識圖譜和物品的實體,經過KGCN卷積層來捕獲物品相近的鄰居實體將這些實體作為高階接收域,計算出物品和鄰居實體之間關系的分數,最終把這些信息結合起來并作為物品端的屬性顯示出來。

圖2 FMKGCN模型框架

在圖2的左側是用戶端模塊,該模塊輸入的是用戶和用戶額外的信息,將這些特征交叉組合學習出這些信息之間隱藏的關系,將信息組合起來作為用戶的向量表示(圖2的中間模塊)。輸入用戶向量、物品向量和評分矩陣,最終從預測評分的函數Y=F(u,v)中得到模型的預測結果。

2.2.1 KGCN層聚合物品向量

通過自動捕獲知識圖譜中的高階結構和語義信息來挖掘用戶潛在的興趣愛好。在知識圖譜中找到項目v對應的實體,捕獲并存儲每個實體的局部鄰接結構,根據用戶u對關系r的得分對鄰居進行加權。為了方便描述,對一些符號進行定義,N(v)表示的是和v連接的實體集合,rei,ej表示的實體ei和ej的關系,函數g∈Rd×Rd→R用來計算用戶u對關系v的分數,表示為:

(1)

得到用戶u對關系r的評分后,計算近鄰e對項目v的重要性的算式為:

(2)

將用戶u-項目v的近鄰評分進行歸一化:

(3)

根據每個用戶對關系的評分不同,計算出項目v的近鄰e對特定用戶的分數。

(4)

式(4)中,w表示的是權重,b表示的是偏置項,σ表示的非線性函數,如ReLU。

2.2.2 特征交叉方法學習用戶向量

用戶的向量表示用特征交叉的方法來學習,借鑒FM(因子分解機)算法的思想,將特征兩兩組合進行學習,與FM算法不同的是將式(4)進行變形,去除了特征的權重得到新的算式為:

(5)

aggFM(e)表示在節點e處的向量聚合,n就代表節點e的鄰居數量,xi與xj分別代表節點e的第i與第j個鄰居節點向量,假設該向量的向量維度為dim。本研究采取的是兩兩鄰居向量全元素相乘計算方法,而不是點乘。因為要讓輸出的向量維度限定在dim,這樣直接可與節點向量同維度。

將用戶u向量聚合以后,還有通過一個線性變換才能獲得最終的向量表示,算式如下:

(6)

2.3 算法步驟

算法 FMKGCN算法

輸入:交互矩陣Y,知識圖譜G

輸出:預測函數F(u,v,Θ,Y,G)

1.初始化所有參數

2.For 訓練迭代次數 do

4.eu[0]←e,?e∈W[0]

5.for h=1,...,H do

6.for e∈W[h] do

9.vu←eu[H]

12.梯度下降更新參數

13.return F

14.捕獲項目v的鄰域實體

15.W[H]←v

16.for h=H-1,…,0 do

17.W[h]←W[h+1]

18.for e∈W[h+1] do

19.W[h]←W[h]∪S(e)

3 實驗及分析

為了驗證FMKGCN模型的推薦效果,實驗所需平臺搭建的硬件條件如下,CPU型號 i5-5200U 2.20GHz,內存12.0GB,顯卡使用的是AMD R5M230。軟件環境如下,操作系統使用的是Win10 64位操作系統,實驗平臺使用的是TensorFlow,Python 3.6版本。

3.1 數據集

為了評估模型的推薦效果,在MovieLens-1M的數據集上進行實驗,這個數據集包含有6036個用戶對2347部電影的75多萬條評分,也包含有電影元數信息和用戶的屬性信息,用戶的屬性信息有用戶的性別、年齡、職業和郵編。這個數據集真實存在且已被用于推薦系統。

本研究的知識圖譜采用了MKR模型論文[16]所構建的知識圖譜。圖譜中的每個實體對應代表的是MovieLens-1M數據集中每部電影。KG的三元組數為20195組,KG實體數是7008個,KG關系數是7種。

在MovieLens-1M數據集中,每個用戶都會有超過20條評分,評分為1~5分。由于模型的目的是探索用戶潛在的偏好,所以,當設置用戶給電影的評分≥4分時,視為用戶對該電影喜愛;反之,評分<4分則視為用戶對該電影沒有興趣。為了更好地運算和記錄,創建一個用戶-物品的評分矩陣。矩陣把用戶對一部電影感興趣標記為1,不感興趣標記為0。

3.2 對比模型

為了驗證FMKGCN模型的推薦效果,模型進行如下對比:

KGCN:一種由wang提出的基于知識圖譜的圖卷積網絡模型,將物品的鄰居作為高階接受域,聚合和物品和物品的高階信息,探索用戶潛在的偏好,從而為用戶做出推薦。實驗中模型的參數設置與模型設置相同。

KGNN-LS:這是一個基于KGCN模型的增加正則項的模型,模型在學習的過程中對邊緣進行正則化,實現了更好的優化效果。Ls_weight的值等于1,其他值與本模型設置的值相同。

CKE:一種融合了知識庫的結構化內容、文本內容和圖片內容的模型,使用了embedding來提取語義特征的推薦算法。實驗參數設置與原論文參數一致,本研究的實驗數據引用MKR論文的CKE模型實驗結果。

FMKGCN:在物品端使用特征交叉方法來進行特征組合并聚合信息得到物品端向量表示,在用戶端用KGCN圖卷積層來聚合信息得到用戶端向量表示的推薦算法。

3.3 實驗評估指標及實驗設置

實驗將數據以6∶2∶2的比例分為訓練集、驗證集和測試集。實驗的所有結果經過每個實驗運行5次取平均值。用來評估模型點擊率(CTR)使用的指標是AUC和F1,用來評估模型模型在Top-K中的推薦性能使用的是Precision@K和Recall@K兩個指標,其中K的取值分別有2,5,10,20,50。

在實驗中,CKE取值與原論文取值相同,其他模型的參數設置為:維度dim設置為32維,迭代次數n_epochs設置為10次,集合層數n_iter設置為2層,數據集batch_size設置為1024,正則化系數l2_weight設置為0.000001,學習率lr設置為0.02,近鄰數neighbor_sample_size設置為4。

3.4 實驗結果分析

3.4.1 CTR預測對比

為了驗證模型,將模型與其他模型在相同的實驗環境下運算,CKE使用了原來的參數,運算結果見表1。FMKGCN模型較KGCN模型在AUC指標有了1.3%的提升,在F1指標上提升1.7%。FMKGCN算法在AUC和F1的結果都優于其他基準算法,由此可見,FMKGCN算法推薦性能的優越性。

表1 CTR預測實驗結果

3.4.2 Top-K推薦對比

FMKGCN模型與各基準算法的Precision和Recall指標對比,K分別取2,5,10,50時各個模型的實驗結果,如圖3、圖4所示。

圖3 TOP@K推薦的精確率 圖4 TOP@K推薦的召回率

從圖3、圖4可以看出,FMKGCN在MovieLens-1M數據上的表現是最優的;在Precision的指標里,當K=5時本模型較KGCN算法提升了2.36%,較KGNN_LS算法提升了2.1%。在Recall指標中,當K=5時,FMKGCN模型較KGCN算法提升了1.76%,較KGNN_LS算法提升了1.8%。實驗結果表明,FMKGCN模型相較于其他模型有更優的結果。

4 結 語

實驗表明,FMKGCN模型在MovieLen-1M數據集上取得了良好的推薦效果,這說明模型的優越性。本研究的貢獻主要有:(1)引入用戶的額外的輔助信息,將這些信息進行特征的交叉組合并結合用戶自身信息來獲得用戶向量的表示,用KGCN卷積層來學習物品向量的表示;(2)提出了一個新的混合模型框架;(3)在真實數據集MovieLens-1M上應用,推薦效果有所提升。

本研究利用知識圖譜的中物品端的異構信息進行聚合,豐富物品端的表示,用特征交叉的方法聚合用戶端信息,通過模型的訓練和學習,將物品表示和用戶表示帶入得分函數來計算用戶對物品評分,預測出用戶的點擊率。在未來的研究中,推薦系統可以使用特征交叉模型來做更多的信息聚合,還可以加入知識圖譜等異構信息來豐富用戶或者物品的向量表示,構建更加準確和有效的推薦系統。

猜你喜歡
圖譜物品實體
稱物品
“雙十一”,你搶到了想要的物品嗎?
繪一張成長圖譜
前海自貿區:金融服務實體
誰動了凡·高的物品
實體的可感部分與實體——兼論亞里士多德分析實體的兩種模式
補腎強身片UPLC指紋圖譜
兩會進行時:緊扣實體經濟“釘釘子”
振興實體經濟地方如何“釘釘子”
主動對接你思維的知識圖譜
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合