張素琪,王鑫鑫,佘世耀,顧軍華,4
(1.天津商業(yè)大學信息工程學院,天津 300134;2.天津商業(yè)大學理學院,天津 300134;3.河北工業(yè)大學人工智能與數(shù)據(jù)科學學院,天津 300401;4.河北省大數(shù)據(jù)計算重點實驗室(河北工業(yè)大學),天津 300401)
近幾年來,伴隨著移動互聯(lián)網(wǎng)、大數(shù)據(jù)的飛速發(fā)展,人們可以訪問大量的在線內(nèi)容,如新聞、電影、商品,然而過多的商品數(shù)量可能會讓用戶不知所措。推薦模型能夠根據(jù)用戶的屬性和歷史行為記錄,學習用戶的興趣偏好,并從海量的信息中篩選出用戶可能感興趣的項目推薦給用戶,從而提高用戶篩選信息的效率,解決大數(shù)據(jù)時代下的信息過載問題,提高用戶體驗。但是傳統(tǒng)的推薦模型通常受到用戶-項目交互稀疏和冷啟動問題的困擾。為了解決這些問題,將知識圖譜引入推薦模型能夠提供用戶、項目之間更豐富的語義關(guān)聯(lián),從而彌補用戶的歷史偏好數(shù)據(jù)集的稀疏或缺失,提高推薦的精確度和可解釋性。
現(xiàn)有的基于知識圖譜的推薦模型利用模型挖掘用戶的興趣路徑,并將興趣聚合為知識圖譜的嵌入。Wang 等提出了知識圖卷積網(wǎng)絡(luò)(Knowledge Graph Convolutional Network,KGCN)模型,該模型利用了圖卷積網(wǎng)絡(luò)(Graph Convolutional Network,GCN)通過鄰域聚合的操作自動捕獲高階結(jié)構(gòu)和語義信息,體現(xiàn)了用戶在關(guān)系中的個性化興趣。Tang 等提出了注意力增強的知識感知用戶偏好模型(Attention-enhanced Knowledge-aware User Preference Model,AKUPM),通過從知識圖中將隨機挑選的實體合并來推斷用戶的潛在興趣。然而與用戶相關(guān)的實體數(shù)量是可變的,因此通過引入遞歸神經(jīng)網(wǎng)絡(luò)可以學習到更好的潛在表示。Wang等提出了利用圖注意力網(wǎng)絡(luò)(Graph Attention Network,GAT)表示知識圖譜的方法,知識圖注意力網(wǎng)絡(luò)(Knowledge GAT,KGAT),該方法通過注意力機制挖掘用戶感興趣的實體,再通過鄰域聚合的方法實現(xiàn)興趣路徑的表示。
現(xiàn)有的基于知識圖譜的推薦模型存在兩點不足,首先在用戶的表示中沒有考慮到用戶的周期特征,其次沒有從待推薦項目這個角度去考慮用戶的近期興趣。本文以KGCN為基礎(chǔ),對上述兩個問題進行研究,主要工作如下:
1)由于現(xiàn)有模型忽略了用戶的周期興趣特征,即用戶會隨著時間周期性地交互一些具有相同或相似特征的項目。本文提出了基于多時間尺度的用戶表示(Multi-Time scales User Embedding,MTUE)模塊,該模塊使用多個不同的時間尺度分析用戶行為得到用戶的向量表示。
2)由于用戶近期交互的歷史項目對用戶選擇新項目影響較大。本文提出了基于特征加強的待推薦項目表示(Feature Enhanced Item Embedding,F(xiàn)EIE)模塊。該模塊首先利用自注意力機制得到用戶的近期特征,再通過注意力機制找到待推薦項目中與用戶近期特征相關(guān)性較強的特征作為項目的加強特征,融入項目表示中作為待推薦項目的向量表示。
3)將MTUE 模塊和FEIE 模塊應(yīng)用于推薦模型中提出了基于多時間尺度和特征加強的知識圖譜推薦(knowledge graph recommendation based on Multi-Time scales and Feature Enhanced,MTFE)模型。
u
;然后,通過不同的時間尺度對用戶的歷史項目序列進行劃分,得到由不同時間尺度劃分后的周期序列,將不同的周期序列輸入到LSTM 中得到不同的周期用戶表示u
和u
。最后,將基礎(chǔ)用戶表示u
與周期用戶表示u
和u
聚合在一起得到最終的用戶表示u
。圖1 MTFE模型框架Fig.1 MTFE model frame
FEIE 模塊通過自注意力機制在用戶近期交互的歷史項目中獲取用戶的近期特征u
;然后,通過注意力機制找到待推薦項目鄰居特征中與用戶近期特征相關(guān)性較強的特征作為項目加強特征i
;最后,將項目加強特征與待推薦項目結(jié)合在一起作為特征加強后的項目表示i
。根據(jù)用戶表示u
和待評估項目表示i
輸出當前用戶對待評估項目的預(yù)測概率y
。1.1.1 基礎(chǔ)用戶表示
根據(jù)用戶u
交互的歷史項目v
可以獲得基礎(chǔ)用戶表示,基礎(chǔ)用戶表示并不包含用戶的周期特征,是用戶歷史項目的整體表示。對于用戶u
和其交互的n
個歷史項目v
,利用基于知識圖卷積網(wǎng)絡(luò)的項目表示方法得到歷史項目序列v
=v
,v
,…,v
,…,v
。為了得到基礎(chǔ)用戶表示,本文采用LSTM 處理歷史項目序列v
,由于用戶交互的歷史項目序列具有時間性,每個交互的項目都會對用戶產(chǎn)生影響,且近期交互的項目會對用戶選擇新項目產(chǎn)生更大的影響。LSTM 是處理序列問題的網(wǎng)絡(luò),能夠?qū)W習到序列的長期依賴性,因此采用LSTM 對用戶歷史項目序列進行處理。用戶u
的歷史項目序列v
=v
,v
,…,v
,…,v
作為輸入信息依次輸入到LSTM 中,如圖2 所示。圖2 LSTM結(jié)構(gòu)Fig.2 LSTM structure
在LSTM 中,輸入t
時刻交互的項目v
,首先需要通過遺忘門f
確定上一時刻h
需要遺忘的項目信息:σ
為Sigmoid,w
、b
為遺忘門中的權(quán)重參數(shù)和偏置參數(shù)。w
、w
、b
、b
為候選記憶單元中的權(quán)重參數(shù)和偏置參數(shù)。得到候選記憶單元之后,將舊的記憶單元c
進行更新得到新的記憶單元c
:o
的Sigmoid 層可以得到判斷條件,然后將記憶單元c
經(jīng)過tanh 層與輸出門得到的判斷條件相乘得到當前的時刻的最終輸出h
:w
和b
為輸出門中的權(quán)重參數(shù)和偏置參數(shù)。最終得到最后一個時刻的輸出h
,即基礎(chǔ)用戶表示u
:1.1.2 多時間尺度下的用戶表示
用戶擁有不同的周期特征,比如用戶每周交互的項目與每天交互的項目會有所不同,因此需要采用不同的時間尺度T
={T
1,T
2,…,TK
}對用戶的歷史項目序列進行劃分,獲取不同的周期特征。受營銷策略和人類行為研究的啟發(fā),人類行為規(guī)律性最大的影響是由每天產(chǎn)生的,其次是每周。因此本文制定了兩個不同的時間尺度T
={T
1,T
2}對用戶u
交互的歷史項目序列v
=v
,v
,…,v
,…,v
進行劃分,得到兩個不同的歷史項目集合序列v
={v
,v
}:T
1 和T
2 劃分后的歷史項目集合序列v
和v
后,采用加和的方式將一個時間尺度劃分的歷史項目集合內(nèi)所有項目的特征聚合在一起,如圖1 所示,得到該項目集合序列對應(yīng)的周期序列V
和V
:u
與不同時間尺度下的用戶表示u
,u
進行聚合作為最終的用戶表示:由于用戶近期交互的歷史項目對用戶選擇新項目的影響較大,如果用戶近期更關(guān)注某個方面,那么用戶選擇新物品就更看重該方面的物品特性。因此使用用戶近期交互的項目來表示用戶的近期特征,并對待推薦項目進行加強。
1.2.1 用戶的近期特征表示
為了得到用戶的近期特征表示u
,采用自注意力機制從用戶近期交互的項目中獲取用戶的近期特征表示。首先從用戶u
交互的n
個歷史項目v
=v
,v
,…,v
,…,v
中選取用戶最近交互的M
個項目{q
,q
,…,q
},將其作為自注意力機制中的query、key、value:V
、Q
、K
為以近期交互的M
個項目作為輸入對應(yīng)的value、query、key。然后計算Q
、K
的相似度矩陣C
:C=
R。最后通過Softmax 函數(shù)得到近期項目經(jīng)過自注意力機制后的輸出向量a
,即近期特征表示u
:V
中每個實體向量的權(quán)重。權(quán)重的計算方式如下:X
為相似度矩陣C
中的第m
列,β
為參數(shù)向量。1.2.2 近期特征加強的待推薦項目表示
圖3 不同階鄰居實體集合Fig.3 Sets of neighbor entities with different orders
i
。θ
:θ
將每階鄰域特征進行線性組合,得到項目加強特征i
:最終通過加和的方式將項目加強特征融入到待推薦項目上,得到經(jīng)過項目特征加強后的待推薦項目表示:
f
得到用戶對待推薦項目的評分y
,在這里采用內(nèi)積函數(shù)作為評分函數(shù):將提出的MTFE 應(yīng)用到三個不同的數(shù)據(jù)集上,并通過實驗結(jié)果分析,驗證模型的有效性。
本文選用三個基準數(shù)據(jù)集進行實驗,Last.FM 的數(shù)據(jù)來自Last.FM 在線音樂系統(tǒng),數(shù)據(jù)集中包含大約2 000 個用戶的評分信息。MovieLens-20M 的數(shù)據(jù)來自于Movie Lens 網(wǎng)站,該數(shù)據(jù)集被廣泛應(yīng)用于推薦系統(tǒng)的實驗中,大致包含1 000 萬條用戶對電影的評分信息;MovieLens-1M 的數(shù)據(jù)來自于Movie Lens 網(wǎng)站,大致包含用戶的100 萬條用戶對電影的評分信息。數(shù)據(jù)集的具體統(tǒng)計結(jié)果見表1。
表1 數(shù)據(jù)集統(tǒng)計Tab 1 Dataset statistics
實驗中將每一個數(shù)據(jù)集隨機劃分為訓練集、驗證集和測試集,三者的比例為6∶2∶2。本文實驗為點擊率(Click-Through-Rate,CTR)預(yù)測,即判斷用戶交互待推薦項目的概率,本文采用F1 值和受試者工作特征(Receiver Operating Characteristic,ROC)曲線下的面積(Area Under Curve,AUC)來評價模型的性能。
d
為向量維度,L
為知識圖譜的迭代層數(shù),M
為用戶最近交互的項目個數(shù),λ
為正則化權(quán)重,Lr
為學習率,Batch
為批處理大小。表2 實驗參數(shù)設(shè)置Tab 2 Experimental parameters setting
將本文提出的推薦模型與以下五種方法在相同的三組數(shù)據(jù)集上進行對比實驗,結(jié)果見表3。
1)個性化實體推薦(Personalized Entity Recommendation,PER)將知識圖譜視為異構(gòu)信息網(wǎng)絡(luò),將觀察到的用戶隱式反饋沿著不同的元路徑進行擴散,從而在相應(yīng)的用戶興趣語義下找到推薦項目;
2)協(xié)同知識嵌入(Collaborative Knowledge base Embedding,CKE)模型在推薦系統(tǒng)中引入知識圖譜,用TransE方法學習知識圖譜中的實體向量表示,并將該類信息與文本以及圖像信息融入到模型中,共同學習用戶和項目表示;
3)LibFM將基于特征的因子分解的方法以及通過預(yù)先訓練得到實體表示的方法應(yīng)用在點擊率預(yù)測任務(wù)上;
4)RippleNet以已交互的歷史項目實體作為波紋的中心,并在知識圖譜上進行逐層的傳播,通過注意力機制逐層挖掘用戶的興趣;
5)KGCN通過在知識圖譜上利用圖卷積網(wǎng)絡(luò)將項目對應(yīng)的中心實體與鄰居實體進行聚合,得到項目的向量表示,通過評分函數(shù)找到用戶的潛在興趣項目;
6)協(xié)同知識感知注意網(wǎng)絡(luò)(Collaborative Knowledgeaware Attentive Network,CKAN)通過在知識圖譜上逐層聚合歷史項目實體,并通過注意力機制去區(qū)分不同的頭部實體和關(guān)系時,尾部實體所具有的不同意義。
由表3 可以看出,本文提出的MTFE 相較于其他對比模型擁有較好的實驗結(jié)果。具體來說,在三個數(shù)據(jù)集上MTFE的F1 值相較于最優(yōu)對比模型分別提升了0.78、1.63 和1.92個百分點,AUC 分別提升了3.94、2.73 和1.15 個百分點。
表3 不同模型的實驗結(jié)果Tab 3 Experimental results of different models
其中PER 的實驗結(jié)果最不理想,是因為該方法需要在元路徑的基礎(chǔ)上尋找用戶和項目的關(guān)系,而元路徑需要人工設(shè)計,人工設(shè)計的元路徑存在局限性,很難準確找到最佳的元路徑使實驗結(jié)果達到最佳。CKE 的實驗結(jié)果較差,是因為實驗需要利用TransE 方法得到知識圖譜中的實體表示,缺乏端到端的訓練,且該模型沒有利用到引入的文本等信息。同樣LibFM 需要利用TransE 方法學習知識圖譜中實體的向量表示作為輸入,缺乏端到端的訓練。RippleNet 和CKAN 模型是在知識圖譜上擴散挖掘用戶的興趣路徑,得到用戶興趣向量,但是兩個模型沒有考慮到用戶的周期特征,并且RippleNet 沒有考慮待推薦項目的圖譜信息。KGCN 則考慮到構(gòu)建項目知識圖譜,利用圖神經(jīng)網(wǎng)絡(luò)的方法表示項目,但是該模型沒有考慮到用戶近期交互的項目對待推薦項目的影響,同時沒有考慮到用戶的周期特征。而MTFE 通過用戶近期交互的項目提取用戶近期特征,并利用用戶近期特征找到對待推薦項目影響較大的特征,進而得到待推薦項目的向量表示。在得到用戶表示時,利用不同的時間尺度對用戶歷史交互的項目進行處理。實驗結(jié)果證明相較于其他五種推薦模型,MTFE 可以有效提升推薦效果。
由于在用戶表示模塊通過不同時間尺度得到用戶的表示,所以可以探索在不同時間尺度上的用戶表示對實驗性能的影響。分別在Last.FM 和MovieLens-20M 上,將時間尺度劃分為單一時間尺度,即日尺度(MTFE-day)和周尺度(MTFE-week),以及不劃分時間尺度(MTFE-item)進行實驗,與本文模型對比,實驗結(jié)果如表4 所示。
表4 不同時間尺度的實驗結(jié)果Tab 4 Experimental results on different time scales
由表4可知,與KGCN相比,MTFE-item、MTFE-day、MTFEweek 的AUC 與F1 值有所提升,這是因為這三種方法都利用了用戶的歷史交互信息來獲取用戶的表示,雖然在一定程度上提升推薦的效果,但提升效果并不明顯。MTFE 的推薦效果最好,這說明了用戶具有不同的周期特征,且在用戶表示中對不同的周期特征進行加強可以有效地提升推薦效果。
由于MTFE 中知識圖譜為多層結(jié)構(gòu),可探索知識圖譜迭代層數(shù)L
對實驗性能的影響。分別在Last.FM 和MovieLens-20M 上,將L
設(shè)置為1~4 層進行實驗,實驗結(jié)果如表5 所示。表5 不同迭代層數(shù)時MTFE的AUC值Tab 5 AUC values of MTFE with different iteration layers
可以觀察到,在Last.FM 數(shù)據(jù)集上當模型處于3 層時可獲得最佳性能,在MovieLens-20M 數(shù)據(jù)集上當模型處于3 層時可獲得最佳性能。當層數(shù)較小時其AUC 值較小,說明層數(shù)較小時不足以找到項目豐富的特征。當層數(shù)較大時并不能提高性能,這是因為隨著模型層數(shù)的增加,模型難以訓練并且不容易泛化。
由于在項目特征加強模塊需要通過用戶近期的交互歷史獲得近期特征,所以可探索選取用戶最近交互的項目個數(shù)M
對實驗性能的影響。分別在Last.FM 和MovieLens-20M上,將M
設(shè)置為10~40 進行實驗,實驗結(jié)果如表6 所示。由表6 可知:在Last.FM 數(shù)據(jù)集上當模型M
=20 時可獲得最佳性能;在MovieLens-20M 數(shù)據(jù)集上當M
=30 時可獲得最佳性能。當選取數(shù)量較少時效果較差,這是因為選取個數(shù)較少時不足以代表用戶的近期特征;當選取數(shù)量過多時效果較差,這是因為選取個數(shù)過多會失去近期特征的特性。表6 不同的近期交互的項目個數(shù)時MTFE的AUC值Tab 6 AUC values of MTFE with different numbers of items recently interacted
本文對基于知識圖譜的推薦模型進行研究,提出的融合多時間尺度和特征加強的知識圖譜推薦模型(MTFE)既考慮了用戶的周期特征,又考慮了用戶近期交互的項目對用戶的影響。在三個真實數(shù)據(jù)集(Last.FM、MovieLens-1M 和MovieLens-20M)上的實驗結(jié)果驗證了模型的有效性。當使用多個時間尺度得到用戶周期特征的想法得到驗證時,實驗可以進一步改進,從數(shù)據(jù)中自動檢測出最佳的時間尺度,這也是下一步的研究方向。