王 燕,范 林,趙妮妮
(蘭州理工大學(xué)計算機與通信學(xué)院,蘭州 730050)
在互聯(lián)網(wǎng)飛速發(fā)展和移動設(shè)備大量普及的背景下,信息量爆發(fā)式增長,但信息冗余致使用戶無法從海量信息中準(zhǔn)確、快速地篩選所需信息,從而導(dǎo)致用戶體驗不佳。推薦系統(tǒng)很好地解決了這一問題,并且在搜索引擎、電子商務(wù)、娛樂等許多網(wǎng)絡(luò)應(yīng)用中發(fā)揮著非常重要的作用,因此,推薦系統(tǒng)具有重要的實用價值及研究意義。
目前多數(shù)推薦系統(tǒng)模型可分為基于協(xié)同過濾(Collaborative Filtering,CF)的模型和混合推薦模型。傳統(tǒng)基于協(xié)同過濾的推薦模型雖然取得了不錯的效果,但其基礎(chǔ)的線性結(jié)構(gòu)極大地限制了模型的表達能力。神經(jīng)網(wǎng)絡(luò)能夠通過改變激活函數(shù)、選擇和組合隱藏層單元來以任意精度近似任何連續(xù)函數(shù)特性,這使得深度神經(jīng)網(wǎng)絡(luò)不但能處理復(fù)雜的用戶交互模式,而且還可以很好地擬合用戶的偏好。憑借神經(jīng)網(wǎng)絡(luò)強大的數(shù)據(jù)泛化能力,結(jié)構(gòu)復(fù)雜的混合推薦模型所表現(xiàn)出的性能遠優(yōu)于傳統(tǒng)推薦模型,因此,基于深度學(xué)習(xí)的混合推薦模型是本文的主要研究對象。用戶歷史行為序列中包含豐富的用戶興趣信息,精確地捕捉用戶興趣是提升推薦系統(tǒng)推薦準(zhǔn)確的關(guān)鍵。
近期,研究者提出了多種對用戶興趣建模的方法。文獻[1]提出一種基于貝葉斯圖卷積神經(jīng)網(wǎng)絡(luò)的框架,用于對用戶-物品交互的不確定性建模,以更好地描述用戶和物品之間的關(guān)系,同時建模用戶的偏好,但圖模型的復(fù)雜度較高,提取用戶興趣偏好需要的計算量較大。文獻[2]提出使用長短期記憶網(wǎng)絡(luò)建模用戶興趣的方法LSTPM,將用戶的交互記錄看作是一個很長的序列進行用戶長短期興趣的建模,但該方法在用戶交互序列很長時,隨著模型的復(fù)雜度增加,提取的用戶興趣變得不再準(zhǔn)確,且模型將提取到的用戶興趣看作同等重要,這顯然不符合現(xiàn)實邏輯。受自然語言處理(Natural Language Processing,NLP)領(lǐng)域Transformer 模型中注意力機制方法[3]的啟發(fā),研究者將注意力機制應(yīng)用到推薦系統(tǒng)中,解決了許多模型將用戶興趣項看作同等重要的問題。文獻[4]提出一種新的自適應(yīng)分層注意力增強門控網(wǎng)絡(luò),為了獲取可區(qū)分的細(xì)粒度特征,其引入注意力機制層來學(xué)習(xí)重要的語義信息特征以及這些特征之間的動態(tài)聯(lián)系。文獻[5]提出一種基于自注意力的協(xié)同神經(jīng)網(wǎng)絡(luò)模型,將用戶相似度和物品相似度結(jié)合起來,利用注意力機制從用戶購買歷史中多方面計算物品的權(quán)重,進而捕捉用戶興趣信息。
盡管目前在捕捉用戶興趣信息方面已經(jīng)有大量研究,但大多將用戶歷史行為視為按操作時間戳排序的操作序列,并未從特征層面捕捉用戶興趣,而從特征層面捕捉細(xì)粒度的用戶興趣可有效地提升推薦性能。同時,捕捉項目之間的成對關(guān)系對用戶興趣的建模同樣重要,這種項目間成對的共現(xiàn)模式在推薦系統(tǒng)中很常見。此外,用戶興趣是動態(tài)變化的,如何建模用戶的動態(tài)興趣變化,也是需要解決的一個重要問題。
針對上述問題,本文提出一種利用門控網(wǎng)絡(luò)構(gòu)建用戶動態(tài)興趣的序列推薦模型DCGN。在用戶的歷史行為數(shù)據(jù)中捕捉用戶興趣,使用雙層門控線性單元(Gated Linear Unit,GLU)從特征層面捕捉細(xì)粒度的興趣信息,保留用戶交互中重要的特征以及交互項目。使用GRU 聚合學(xué)習(xí)到的用戶興趣信息,并通過注意力權(quán)重動態(tài)更新GRU 的隱藏狀態(tài),捕獲用戶動態(tài)變化的興趣偏好。在此基礎(chǔ)上,利用雙線性特征交叉方法對項目對之間的關(guān)系進行建模,通過多層全連接網(wǎng)絡(luò)學(xué)習(xí)得到最終的輸出結(jié)果。
傳統(tǒng)的協(xié)同過濾模型以靜態(tài)的方式擬合用戶與項目之間的交互模式,且其捕捉的用戶興趣對于用戶而言是一種廣義的模式,缺乏個性。不同于傳統(tǒng)的協(xié)同過濾推薦模型,序列推薦模型的構(gòu)建基于連續(xù)的用戶-項目交互序列。用戶-項目交互序列是一個動態(tài)變化的序列,且交互序列前后具有很強的關(guān)聯(lián)性。序列推薦模型通過擬合用戶與物品之間的交互模式捕捉用戶的偏好,并利用用戶交互序列中豐富的上下文信息描述用戶的意圖和消費趨勢。
傳統(tǒng)基于馬爾科夫鏈的序列推薦模型[6]假設(shè)用戶當(dāng)前的交互項僅依賴于最近的幾個交互項,但忽略了用戶較早的交互項對當(dāng)前交互項的影響。基于因子分解機的序列推薦模型[7]將用戶與項目的交互分解為用戶和項目的隱因子向量,通過參數(shù)分解對特征之間的高階交互進行建模,但模型易受數(shù)據(jù)稀疏性的影響,使得推薦結(jié)果不夠理想。深度學(xué)習(xí)技術(shù)的興起,能夠很好地解決傳統(tǒng)序列推薦模型的不足,獲得較大的性能提升。
利用深度學(xué)習(xí)技術(shù)構(gòu)建序列推薦模型通常先將用戶交互的項目序列轉(zhuǎn)換為低維稠密的嵌入向量進行表達,再使用加和、平均和取最大值的方法融合用戶的歷史交互信息,得到用戶的興趣表達,但模型將用戶交互序列中的交互項視為同等重要,結(jié)果中只包含了用戶部分重要的興趣,且無法建模用戶興趣的變化。
一些研究者嘗試?yán)酶鼜?fù)雜的模型結(jié)構(gòu)來構(gòu)建用戶興趣并提高推薦性能?;贕RU 的序列推薦[8]通過建模給定交互序列中的依賴來預(yù)測下一個可能的交互項,但其只使用了交互項信息,并未考慮到其他信息對結(jié)果的影響。文獻[9]提出根據(jù)用戶偏好自適應(yīng)地選擇項目中有吸引力的潛在特征,然后利用提取到的特征對用戶興趣進行建模。文獻[10]基于RNN 建模用戶的交互序列,考慮用戶行為的特征信息,然后使用注意力機制計算每個交互項的權(quán)重,得到用戶的興趣向量表示。文獻[11]基于RNN 建模用戶交互序列中的微觀行為,利用RNN 對用戶行為的特征信息建模,在用戶微觀行為、商品等多個層面得到興趣向量?;赗NN 構(gòu)建的序列推薦模型存在無法有效建模行為序列中多個行為間關(guān)聯(lián)的問題,對此,研究者將NLP 領(lǐng)域的Transformer 模型應(yīng)用到推薦系統(tǒng)中。文獻[12]將用戶的行為序列劃分為多個會話,發(fā)現(xiàn)每個會話區(qū)間內(nèi)用戶的興趣往往是固定的,然后基于Transformer 模型建模每個會話內(nèi)用戶的行為序列,再使用RNN 聚合多個會話內(nèi)的興趣信息。為更好地捕捉用戶興趣,文獻[13]嘗試?yán)媚z囊網(wǎng)絡(luò)建模用戶的行為序列,獲得多個用戶的興趣向量,然后使用一個可控的多興趣聚合模塊平衡用戶興趣的多樣性與準(zhǔn)確性,這一模型的提出,也為序列推薦模型的研究提供了全新的思路。
針對現(xiàn)有序列推薦模型沒有從特征層面充分考慮用戶交互項之間的聯(lián)系,以及用戶興趣動態(tài)變化和相似交互項連續(xù)出現(xiàn)的問題,本文提出利用門控網(wǎng)絡(luò)構(gòu)建用戶動態(tài)興趣的序列推薦模型DCGN。該模型基于門控網(wǎng)絡(luò)提取用戶興趣,且通過注意力權(quán)重動態(tài)調(diào)整信息聚合函數(shù),以獲得用戶的動態(tài)興趣,同時,考慮項目間成對的聯(lián)系信息,進一步提升推薦的準(zhǔn)確率。
本文提出的DCGN 模型從用戶交互序列中學(xué)習(xí)用戶動態(tài)變化的興趣表示,目標(biāo)是從特征的層面提取用戶的興趣,同時通過挖掘項目對之間的聯(lián)系提升模型效果。DCGN 模型結(jié)構(gòu)如圖1 所示,具體步驟如下:
圖1 門控網(wǎng)絡(luò)中用戶動態(tài)興趣構(gòu)建流程Fig.1 Procedure of user’s dynamic interest construction in gated network
1)將高維稀疏的用戶交互序列、項目特征及用戶特征作為模型的輸入。
2)通過嵌入層將所有的特征映射到一個低維的空間中,得到低維稠密的嵌入向量。
3)將用戶交互序列嵌入向量輸入到一個雙層的門控網(wǎng)絡(luò)中,利用GLU[14]從用戶交互的特征層面對用戶興趣進行建模,過濾輸入序列中的項目特征并保留對用戶重要的交互項目,即用戶興趣。
4)使用雙線性特征交叉方法學(xué)習(xí)目標(biāo)項目對之間的聯(lián)系,捕捉2 個項目之間的共現(xiàn)模式。
5)對門控網(wǎng)絡(luò)提取到的用戶興趣進行聚合,此部分采用GRU 循環(huán)門控網(wǎng)絡(luò),結(jié)合目標(biāo)項向量與提取到的興趣向量,使用注意力機制獲得相應(yīng)興趣項的注意力權(quán)重,并利用該權(quán)重對GRU 的隱狀態(tài)進行更新,得到最終的用戶動態(tài)興趣表示。
6)通過堆疊多個全連接層得到最終的預(yù)測結(jié)果。
為了對序列推薦任務(wù)進行建模,對于每個用戶i的交互序列,按時間順序表示為Si={si(1),si(2),…,si(t),…,si(l)},其 中:Si?Rd×f×l;l?R 為 用戶交互序列的長度;f?R 為交互項的特征數(shù);si(t) ?Rd×f表示用戶交互序列中第t次購買/評價的項目。將該序列作為輸入,解釋為在用戶-項目交互序列Si中,給定l個連續(xù)項目,預(yù)測其他N個項目接下來將被交互的可能性。將交互序列輸入到嵌入層轉(zhuǎn)換為低維稠密的向量表示,用戶第t個交互項的嵌入向量如式(1)所示:
DAUPHIN 等提出的門控線性單元(GLU)[14]在語言建模任務(wù)中控制信息傳遞,用于下一個單詞的預(yù)測。GLU 計算公式為:
其中:Χ為單詞的嵌入向量;W、V為卷積操作中的卷積核;b、c為偏置參數(shù);σ是sigmoid 函數(shù);?為矩陣之間的元素乘積;*為卷積操作。公式中的后半部分,即有激活函數(shù)的卷積σ(X*W+c),就是門控機制,其控制(X*W+b)中可以傳入下一層的信息。
將上述方法用于用戶行為序列的興趣提取,GLU 網(wǎng)絡(luò)結(jié)構(gòu)如圖2 所示。
圖2 GLU 網(wǎng)絡(luò)結(jié)構(gòu)Fig.2 Network structure of GLU
由于卷積運算中卷積核的特性,導(dǎo)致只提取到一部分特征,數(shù)據(jù)中豐富的特征信息丟失,因此將卷積運算替換為向量的內(nèi)積,在運算中保留特征信息。使用兩層線性門控網(wǎng)絡(luò)提取交互序列中的重要特征和與未來交互有關(guān)聯(lián)的項目,即提取用戶興趣。先使用一層門控網(wǎng)絡(luò)提取適合用戶偏好的項目特征:
其中:W1,W2?Rd×d;b?Rd為可學(xué)習(xí)的參數(shù);?為向量的元素乘 積;σ是sigmoid 函 數(shù);ui為用戶i的向量表示。然后,采用不同于使用注意力機制模型的做法,使用上一層門控網(wǎng)絡(luò)提取到的重要交互特征作為輸入,選取交互序列中與預(yù)測未來的交互項更相關(guān)的項目,如式(4)所示:
其中:W3?Rd;W4?Rd×f為可學(xué) 習(xí)參數(shù);f為特征數(shù)量?Rd×f為門控網(wǎng)絡(luò)最終提取出的用戶興趣,用戶交互的主要特征和項目已被選擇,無關(guān)的特征和項目被過濾。
從數(shù)學(xué)的角度來看,注意力機制只是對平均操作或加和操作進行改進,換成了加權(quán)平均或加權(quán),這種加權(quán)方式對于模型的效果有明顯提升作用。從注意力權(quán)重計算的一種形式上來看,其與全連接網(wǎng)絡(luò)的結(jié)構(gòu)頗為相似,但不同的是,注意力權(quán)重參數(shù)是位置無關(guān)的,權(quán)重是根據(jù)輸入的前后信息進行計算的,一旦輸入的前后信息發(fā)生變化,其權(quán)重也會相應(yīng)地發(fā)生變化。這種根據(jù)輸入的前后信息來計算權(quán)重的方式,能夠更好地刻畫輸入序列中的重點信息,幫助模型對輸入信息進行區(qū)分。計算注意力分?jǐn)?shù)的公式如下:
上節(jié)通過兩層門控線性網(wǎng)絡(luò)得到用戶興趣的表示,本節(jié)使用GRU 對提取到的用戶興趣進行聚合,結(jié)合注意力機制對用戶的動態(tài)興趣進行建模。注意力得分在GRU 的每一步中都可以增強相關(guān)興趣所起的作用,減弱無關(guān)興趣對總體結(jié)果的影響,更好地建模用戶對目標(biāo)項的興趣變化,如下式所示:
項目之間成對關(guān)系的學(xué)習(xí)[15]對于推薦系統(tǒng)十分重要,在序列推薦問題中,密切相關(guān)的項目有很大概率會在將來的項目交互序列中連續(xù)出現(xiàn)。
傳統(tǒng)元素積的形式難以有效地對稀疏數(shù)據(jù)進行特征交叉建模,且模型的表達能力不強。為捕捉這種項目之間的共現(xiàn)模式,本文使用雙線性交叉函數(shù)進行學(xué)習(xí),其結(jié)構(gòu)如圖3 所示。
圖3 雙線性特征交叉函數(shù)結(jié)構(gòu)Fig.3 Structure of bilinear feature crossing function
雙線性特征交叉函數(shù)如下所示:
其中:Wj,q?Rd×d為參數(shù)矩陣;?為內(nèi)積運算;⊙為哈達瑪積;j,q?(1,2,…,m);m為目標(biāo)項目數(shù)量。對項目j與項目q特征交叉結(jié)果pj,q?Rd通過平均池化聚合為當(dāng)前項目的向量表示pj=avg(pj,q),pj?Rd。將xi=向量輸入到MLP 中,得到最終的預(yù)測結(jié)果:
其中:a(0)為網(wǎng)絡(luò)的輸入xi;l為網(wǎng)絡(luò)的深度;δ為ReLU激活函數(shù);W(l)、b(l)為可學(xué)習(xí)參數(shù);a(l)為第l層的輸出。將最后一層L的輸出輸入到sigmoid 函數(shù)中,得到最終的預(yù)測結(jié)果:
其中:σ為sigmoid 函數(shù);a(L)為最后一層網(wǎng)絡(luò)的輸出;W(L+1)、b(L+1)為可學(xué)習(xí)的參數(shù)。通過最小化以下目標(biāo)函數(shù)進行模型學(xué)習(xí):
其中:yi為訓(xùn)練樣本i的真實值為預(yù)測 值;N為 訓(xùn)練樣本的數(shù)量。
采用電影評分?jǐn)?shù)據(jù)集ML100K[16]、亞馬遜電子商務(wù)數(shù)據(jù)集Amazon ecommerce dataset[17]和電子 商務(wù)網(wǎng)站行為數(shù)據(jù)集Retailrocket[18]這3 個數(shù)據(jù)集進行建模。Retailrocket 數(shù)據(jù)集由一家個性化電子商務(wù)公司發(fā)布,包含6 個月的用戶瀏覽記錄;ML100k 數(shù)據(jù)集包含用戶編號、電影編號、電影評分、時間戳及電影的相關(guān)信息,且該數(shù)據(jù)集已經(jīng)過清洗;亞馬遜電子商務(wù)數(shù)據(jù)集包含多種類型(如CD 銷售數(shù)據(jù)、圖書銷售數(shù)據(jù)等)的數(shù)據(jù),此處采用電子產(chǎn)品類的數(shù)據(jù)集Amazon 5-Elect,其中包含多個字段。本文實驗僅使用商品編號、用戶編號、產(chǎn)品評分和Unix 格式時間戳字段。每個用戶編號、商品編號都是唯一的,對每個用戶交互的商品編號,根據(jù)數(shù)據(jù)字段中的時間戳進行排序,得到用戶對應(yīng)的交互序列。為了消除噪聲數(shù)據(jù)對模型結(jié)果的影響,過濾掉出現(xiàn)次數(shù)少于5 次的項目,然后刪除數(shù)據(jù)集上少于2 項的所有交互項,將評分大于4 的設(shè)置為1,小于4 的設(shè)置為0。數(shù)據(jù)集中的數(shù)據(jù)屬性及數(shù)據(jù)特征如表1 所示,所使用3 個公開數(shù)據(jù)集的數(shù)據(jù)統(tǒng)計結(jié)果如表2 所示。
表1 Amazon 5-Elect 數(shù)據(jù)集數(shù)據(jù)屬性Table 1 Data properties of Amazon 5-Elect dataset
表2 實驗數(shù)據(jù)集統(tǒng)計Table 2 Statistics of the datasets in experiments
本文使用精確率Precision@K、歸一化折損累積增益NDCG@K和命中率HR@K,其中,K為推薦列表的長度,實驗分別設(shè)置K=5,10 來評估模型性能。
精確率表示模型預(yù)測為正的樣本中有多少是真正的正樣本,計算公式為:
HR@K指標(biāo)衡量的是推薦結(jié)果的召回率,反映推薦模型的準(zhǔn)確性,計算公式為:
NDCG@K用于評價排序的準(zhǔn)確性,即評價推薦系統(tǒng)所給出的推薦列表的好壞。該指標(biāo)關(guān)注的是預(yù)測到的項目是否放在推薦列表中更靠前的位置,即強調(diào)推薦系統(tǒng)的“順序性”,計算公式為:
在式(19)中,r(i)為推薦列表中項目i的相關(guān)性分?jǐn)?shù),如式(20)所示:
其中:p為推薦列表;G為實驗測試集;pi表示推薦列表中的第i個項目。
為了評估本文模型性能,選取以下序列推薦模型,在數(shù)據(jù)集ML100k、Amazon 5-Elect 和Retailrocket上分別進行對比驗證:
1)NARM[19]:該模型通過RNN 最后一步的輸出來捕捉用戶的序列行為,根據(jù)RNN 中每一步的輸出,通過注意力機制來捕捉用戶的主要興趣偏好。
2)GRU4Rec[20]:該模型首次利用RNN 從用戶的會話序列中獲取用戶交互序列中的順序依賴關(guān)系,相較于混合結(jié)構(gòu)的序列模型,單一RNN 的結(jié)構(gòu)比較簡單。
3)STAMP[21]:該模型是基于注意力機制捕捉用戶興趣偏好的序列推薦模型,解決了傳統(tǒng)的RNN 結(jié)構(gòu)不能很好擬合用戶興趣的問題。
4)NLR[22]:該模型將序列推薦看作一項認(rèn)知任務(wù),根據(jù)離散數(shù)學(xué)的理論設(shè)計了具有邏輯推理能力的網(wǎng)絡(luò)用于推薦任務(wù)。
5)SASRec[23]:采用自注意力機制對用戶的歷史行為信息進行建模,提取更有價值的信息,同時通過注意機制可以基于相對較少的用戶交互進行預(yù)測。
6)Caser[24]:采用卷積神經(jīng)網(wǎng)絡(luò)捕獲用戶行為序列,再利用全連接層將拼接的序列特征與用戶偏好映射到用戶在當(dāng)前時間與每個物品交互的可能性。
7)AFM[25]:通過注意力機制自動學(xué)習(xí)每個二階交叉特征的重要性,過濾無用的交叉特征,提升模型的穩(wěn)定性。
在此次實驗中,學(xué)習(xí)率調(diào)整范圍為[0.000 1,0.001,0.005,0.01,0.1],嵌入向量以及隱層維度調(diào)整范圍為[8,16,32,64,128],在ML100k 數(shù)據(jù)集上進行參數(shù)調(diào)整。模型訓(xùn)練數(shù)據(jù)的批大小設(shè)置為100,模型參數(shù)采用服從N(0,0.1)高斯分布的隨機數(shù)進行初始化。
在ML100K、Amazon 5-Elect 和Retailrocket 數(shù)據(jù)集上,所有對比模型的NDCG 和Precision@K評估指標(biāo)分別如圖4~圖6 所示。在Amazon 5-Elect 和Retailrocket 數(shù)據(jù)集上,所有對比模型的HR@K評估指標(biāo)如圖7 所示。
圖4 ML100K 數(shù)據(jù)集上不同模型的NDCG@K 和Precision@K 對比Fig.4 Comparison of NDCG@K and Precision@K by different models on ML100K dataset
圖5 Amazon 5-Elect 數(shù)據(jù)集上不同模型的NDCG@K 和Precision@K 對比Fig.5 Comparison of NDCG@K and Precision@K by different models on Amazon 5-Elect dataset
圖6 Retailrocket 數(shù)據(jù)集上不同模型的NDCG@K 和Precision@K 對比Fig.6 Comparison of NDCG@K and Precision@K by different models on Retailrocket dataset
圖7 數(shù)據(jù)集Amazon 5-Elect 和Retailrocket 上不同模型的HR@K 對比Fig.7 Comparison of HR@K by different models on Amazon 5-Elect and Retailrocket datasets
通過實驗對比可以得出以下結(jié)論:
1)在3 個數(shù)據(jù)上,NARM 模型的效果始終優(yōu)于GRU4rec 模型,而兩者都是基于RNN 的推薦模型,可見注意力機制的運用有效地提升了模型性能。
2)實驗結(jié)果中AFM 模型的性能總體較差,表明融入注意力機制的簡單模型性能有限,模型性能還與模型的復(fù)雜程度有關(guān)。
3)實驗中STAMP 模型的效果次于NARM 模型,兩者都融入了注意力機制,表明基于RNN 的模型相比基于MLP 的模型的效果更佳,在推薦系統(tǒng)中僅僅考慮用戶交互序列的特征交叉是不夠的,還需要考慮用戶交互行為前后的關(guān)系以捕獲用戶的順序行為。
4)SASRec 模型的效果始終優(yōu)于Caser、GRU4Rec、STAMP、NARM 模型,說明疊加多個自注意力機制層能夠?qū)W習(xí)更復(fù)雜的特征轉(zhuǎn)換,可有效提高模型性能,相較于傳統(tǒng)基于CNN、RNN 的模型具有明顯優(yōu)勢。
5)DCGN 比SASRec 和NLR 模型具 有更好的效果,可見利用門控網(wǎng)絡(luò)和注意力機制從用戶交互序列中學(xué)習(xí)用戶動態(tài)興趣有效地提升了推薦效果,采用傳統(tǒng)結(jié)構(gòu)的DCGN 模型相較于采用復(fù)雜結(jié)構(gòu)的NLR 模型表現(xiàn)更好,表明模型復(fù)雜的結(jié)構(gòu)不是提升推薦性能的關(guān)鍵。
在ML100K、Amazon 5-Elect 和Retailrocket 這3 個數(shù)據(jù)集上進行消融實驗,驗證有無注意力機制對模型的影響,以及用戶興趣聚合部分使用GRU 和雙向GRU 給模型帶來的差異。實驗結(jié)果如圖8 所示,其中:No-Attention 代表無注意力機制;Bi-GRU 表示雙向GRU。
圖8 在3 個數(shù)據(jù)集上模型消融結(jié)果對比Fig.8 Comparison of model ablation results on three datasets
根據(jù)上述實驗結(jié)果可以看出:
1)在無注意力機制時模型的效果下降明顯,這表明使用注意力機制可有效地捕獲用戶興趣的動態(tài)變化,在不使用注意力機制進行GRU 更新門的更新時,GRU 只能學(xué)習(xí)到用戶靜態(tài)的興趣表示,進而模型的效果有所下降。
2)在使用雙向GRU 后,并未給模型效果帶來明顯的提升,這是因為雙向GRU 較單向GRU 更復(fù)雜,參數(shù)量的增多導(dǎo)致模型擬合不夠充分。
3)通過對比在3 個數(shù)據(jù)集上的NDCG@K性能指標(biāo)可以看出,模型在使用注意力機制后效果更好。同時,為降低模型的訓(xùn)練難度,本文并未采用雙向GRU。
學(xué)習(xí)率和隱藏層的維度對實驗結(jié)果產(chǎn)生一定的影響,尤其是隱藏層維度(即嵌入向量的維度)限制了模型的表達能力,理論上嵌入向量的維度越大,所蘊含的信息越多,模型的效果越好。但實驗結(jié)果表明,較高的維度會導(dǎo)致模型效果有所下降。在ML100K 數(shù)據(jù)集上的實驗結(jié)果如圖9 所示。
圖9 學(xué)習(xí)率及隱藏層維度對模型性能的影響Fig.9 The influence of learning rate and hidden layer dimension on model performance
由實驗結(jié)果可知:當(dāng)隱藏層的維度較大時,模型的效果出現(xiàn)下降,在本文所選隱藏層的維度中,維度為64 時效果最好;當(dāng)隱藏層的維度下降時,在ML100K 數(shù)據(jù)集上,模型效果下降最為明顯;當(dāng)模型隱藏層的維度較大時,訓(xùn)練所需要的參數(shù)增多,模型訓(xùn)練所需的計算資源增多,訓(xùn)練周期變長,模型的過擬合風(fēng)險增大。
在序列推薦問題中,現(xiàn)有多數(shù)方法只使用了用戶交互序列中的物品信息,而忽略了相似物品會在交互序列中相繼出現(xiàn)這一重要特征,并且用戶興趣是動態(tài)變化的。針對以上問題,本文提出一種利用門控線性網(wǎng)絡(luò)構(gòu)建用戶動態(tài)興趣的推薦模型DCGN。基于門控線性網(wǎng)絡(luò)細(xì)粒度建模用戶的興趣表示,使用注意力機制動態(tài)構(gòu)建用戶的興趣表示。通過雙線性特征交叉方法對項目之間的共現(xiàn)模式進行建模,從而使模型的泛化能力得到顯著提升。后續(xù)將針對用戶的長期興趣和短期興趣分別進行建模,以明確用戶的長短期興趣對于推薦效果的影響。此外,用戶的長短期興趣對于推薦用戶未來交互項目的影響是不同的,因此,還將對兩者的差異進行研究。