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