• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      長(zhǎng)期記憶增強(qiáng)的時(shí)間感知序列推薦算法

      2022-08-04 01:26:44陳繼偉汪海濤朱興翔
      關(guān)鍵詞:物品注意力維度

      陳繼偉, 汪海濤, 朱興翔, 姜 瑛, 陳 星

      (1. 昆明理工大學(xué) 信息工程與自動(dòng)化學(xué)院, 昆明 650504; 2. 國(guó)家電投云南國(guó)際電力投資有限公司, 昆明 650100)

      傳統(tǒng)推薦算法將用戶(hù)交互記錄存儲(chǔ)在二維評(píng)分矩陣中, 通過(guò)填充矩陣空缺實(shí)現(xiàn)預(yù)測(cè), 能挖掘用戶(hù)的長(zhǎng)期穩(wěn)定偏好[1]. 與傳統(tǒng)推薦算法不同, 序列推薦將用戶(hù)交互歷史視為物品序列, 而不僅是一組物品, 捕獲用戶(hù)物品交互的動(dòng)態(tài)信息, 從而準(zhǔn)確預(yù)測(cè)用戶(hù)下次交互物品. 序列推薦考慮更多的是交互信息, 因此得到更準(zhǔn)確的推薦結(jié)果, 同時(shí)也更符合真實(shí)的應(yīng)用場(chǎng)景[2]. 近年來(lái), 越來(lái)越多基于深度學(xué)習(xí)(DL)的方法被用于建模用戶(hù)動(dòng)態(tài)偏好, 但大多數(shù)基于深度學(xué)習(xí)的序列推薦算法都未足夠關(guān)注長(zhǎng)期偏好學(xué)習(xí)以及長(zhǎng)期偏好和近期偏好的動(dòng)態(tài)融合. 當(dāng)用戶(hù)意圖不明確時(shí), 動(dòng)態(tài)結(jié)合用戶(hù)的長(zhǎng)期偏好和近期偏好, 有利于提升推薦結(jié)果的多樣性和推薦系統(tǒng)的用戶(hù)體驗(yàn)[3]. 時(shí)間信息包含重要的上下文語(yǔ)義, 一些序列推薦算法用自注意機(jī)制嵌入絕對(duì)時(shí)間, 將時(shí)間信息整合到物品嵌入表示中, 并取得了較好的實(shí)驗(yàn)結(jié)果[4-5]. 通過(guò)這種簡(jiǎn)單方式利用交互的時(shí)間信息, 不能完整捕獲用戶(hù)物品交互基于時(shí)間的多種模式, 許多時(shí)間相關(guān)的關(guān)鍵信息在很大程度上被忽略. 本文主要考慮時(shí)間信息在序列推薦中的影響. 基于廣泛觀察和研究, 發(fā)現(xiàn)用戶(hù)行為基于兩種基本時(shí)間模式: 絕對(duì)時(shí)間模式和相對(duì)時(shí)間模式. 前者突出用戶(hù)時(shí)間敏感行為, 表現(xiàn)為人們可能在特定的時(shí)間點(diǎn)經(jīng)常與特定產(chǎn)品交互, 如人們?cè)谝惶熘懈鲿r(shí)段播放的音樂(lè)通常不同, 在早晨和傍晚播放舒緩靜謐的音樂(lè), 中午播放流行音樂(lè). 后者表示時(shí)間間隔如何影響兩種行為之間的關(guān)系, 如用戶(hù)常會(huì)在購(gòu)買(mǎi)手機(jī)后的某個(gè)特定時(shí)間段內(nèi)購(gòu)買(mǎi)手機(jī)殼, 或購(gòu)買(mǎi)同一日用品呈現(xiàn)某種周期性的間隔[6].

      傳統(tǒng)序列推薦算法, 主要關(guān)注用戶(hù)的短期興趣, 且常忽略交互的時(shí)間信息. 基于此, 本文提出一種長(zhǎng)期記憶增強(qiáng)的時(shí)間感知序列推薦算法LatRec, 結(jié)合了傳統(tǒng)推薦算法和序列推薦算法的優(yōu)勢(shì). 該算法建模用戶(hù)物品交互的時(shí)間信息, 通過(guò)多時(shí)間嵌入模式, 充分捕獲用戶(hù)物品交互的時(shí)間信息; 根據(jù)用戶(hù)意圖動(dòng)態(tài)融合用戶(hù)的長(zhǎng)期偏好和近期偏好, 緩解序列推薦算法用戶(hù)長(zhǎng)期偏好建模能力不足的問(wèn)題. 在真實(shí)數(shù)據(jù)集上進(jìn)行仿真實(shí)驗(yàn)的結(jié)果表明, LatRec算法較對(duì)比的其他序列推薦算法在性能上有一定提高.

      1 預(yù)備知識(shí)

      1.1 非序列推薦算法

      傳統(tǒng)推薦算法利用協(xié)同過(guò)濾(collaborative filtering, CF)捕獲用戶(hù)偏好[7-8], 根據(jù)用戶(hù)與用戶(hù)或者物品與物品之間的相似性為用戶(hù)提供感興趣的物品. 矩陣分解(matrix factorization, MF)將用戶(hù)和物品映射到同一向量空間, 通過(guò)用戶(hù)和物品的向量?jī)?nèi)積衡量用戶(hù)對(duì)物品的偏好程度[9]. 基于物品鄰域的方法通過(guò)物品相似矩陣計(jì)算物品和用戶(hù)歷史交互物品的相似性表示用戶(hù)對(duì)物品的偏好[10-11]. 近年來(lái), 深度學(xué)習(xí)的發(fā)展促進(jìn)了推薦算法的變革. Salakhutdinov等[12]在Netflix Prize上提出了一個(gè)兩層的受限Boltzann機(jī)(restricted Boltzmann machines, RBM)用于協(xié)同過(guò)濾, 是深度學(xué)習(xí)用于推薦算法的早期嘗試. 此外, 神經(jīng)協(xié)同過(guò)濾(neural collaborative filtering, NCF)通過(guò)多層感知(multilayer perceptron, MLP)而不是內(nèi)積估計(jì)用戶(hù)偏好[13]. 基于深度學(xué)習(xí)的推薦算法旨在從整合輔助信息(如文本、 圖像等)中學(xué)習(xí)到分布式物品表示, 提高推薦算法的性能. TimeSVD++[14]和BPTF[15]將時(shí)間信息用于矩陣分解中.

      1.2 序列推薦算法

      傳統(tǒng)推薦算法常忽略用戶(hù)物品交互的順序, 而用戶(hù)偏好和物品特性都是動(dòng)態(tài)的, 從用戶(hù)的交互序列中獲取用戶(hù)的偏好至關(guān)重要[1]. 早期的序列推薦算法利用Markov鏈(Markov chains, MCs)從用戶(hù)交互歷史中獲取序列模式. Shani等[16]將推薦生成形式化為一個(gè)序列優(yōu)化問(wèn)題, 并使用Markov決策過(guò)程(Markov decision processes, MDPs)解決該問(wèn)題; Rendle等[17]通過(guò)個(gè)性化的Markov鏈分解(factorizing personalized Markov chains, FPMC)將MCs和MF相結(jié)合, 同時(shí)建模用戶(hù)的短期偏好和長(zhǎng)期偏好. FPMC通過(guò)矩陣分解建模用戶(hù)的長(zhǎng)期偏好, 同等對(duì)待每個(gè)交互物品, 本文通過(guò)注意力機(jī)制將較多的注意力權(quán)重分配給對(duì)下次交互影響預(yù)測(cè)更重要的物品, 忽略對(duì)下次交互預(yù)測(cè)無(wú)關(guān)或影響較小的物品. 目前, 循環(huán)神經(jīng)網(wǎng)絡(luò)(RNN)及其變體門(mén)控循環(huán)單元(gated recurrent unit, GRU)、 長(zhǎng)短時(shí)記憶網(wǎng)絡(luò)(long short-term memory, LSTM)在用戶(hù)行為序列的建模中應(yīng)用廣泛. 這些方法的基本思想是利用循環(huán)神經(jīng)網(wǎng)絡(luò)和損失函數(shù)將用戶(hù)交互歷史編碼到一個(gè)向量中, 用于表示用戶(hù)偏好, 并據(jù)此進(jìn)行預(yù)測(cè). 其中包括基于會(huì)話(huà)的GRU[18]、 基于注意力機(jī)制的GRU[19]、 改進(jìn)損失函數(shù)(BPR-max, TOP1-max)和采樣策略的GRU[20]. 基于RNN的序列推薦算法同等對(duì)待交互序列中的每個(gè)物品, 與用戶(hù)對(duì)不同商品具有不同興趣偏好的實(shí)際不符, 同時(shí)基于RNN的序列推薦算法不利于捕獲用戶(hù)的長(zhǎng)距離依賴(lài). 除循環(huán)神經(jīng)網(wǎng)絡(luò), 其他神經(jīng)網(wǎng)絡(luò)也被用于序列推薦. Tang等[21]提出了一種卷積序列模型(Caser)使用水平和垂直卷積濾波器學(xué)習(xí)序列模式, 采用簡(jiǎn)單的學(xué)習(xí)用戶(hù)潛在表示和連接操作, 無(wú)法很好地平衡用戶(hù)的長(zhǎng)期偏好和動(dòng)態(tài)偏好. 注意力機(jī)制已在機(jī)器翻譯和文本分類(lèi)領(lǐng)域充分顯示了其優(yōu)秀的序列建模能力[22], 可利用注意機(jī)制提高推薦的性能. 如Li等[23]通過(guò)在GRU中加入注意力機(jī)制同時(shí)捕獲用戶(hù)的序列行為和基于會(huì)話(huà)的主要意圖. 上述工作將注意力機(jī)制作為原始模型的一個(gè)組成部分, 但Transformer[22]和BERT[24]完全建立在注意力機(jī)制上, 并在文本序列建模方面取得了較好的結(jié)果. 因?yàn)樗母咝? 純粹基于注意力的神經(jīng)網(wǎng)絡(luò)建模序列數(shù)據(jù)的應(yīng)用越來(lái)越廣泛, Kang等[4]利用兩層Transformer decoder(稱(chēng)為SASRec)捕獲用戶(hù)的序列行為, 并在多個(gè)公共數(shù)據(jù)集上取得了較好的結(jié)果. 為更好地學(xué)習(xí)用戶(hù)的交互歷史, 許多性能優(yōu)秀的序列推薦算法被相繼提出. 盡管這些算法都具有出色的性能, 但大多數(shù)都忽略了交互的時(shí)間信息. 而交互的時(shí)間信息包含重要的上下文語(yǔ)義, 對(duì)下一項(xiàng)交互預(yù)測(cè)具有重要意義. Time-LSTM為L(zhǎng)STM配備了幾種形式的時(shí)間門(mén), 以更好地模擬用戶(hù)交互序列中的時(shí)間間隔[25]. TiSASRec[26]利用注意力機(jī)制成功地合并了時(shí)間信息, 但其僅用一種簡(jiǎn)單的時(shí)間嵌入方法將時(shí)間信息整合到物品嵌入表示中, 無(wú)法完整捕獲用戶(hù)物品交互關(guān)于時(shí)間的序列模式.

      2 長(zhǎng)期記憶增強(qiáng)的序列推薦算法設(shè)計(jì)

      長(zhǎng)期記憶增強(qiáng)的序列推薦算法由嵌入層、 近期偏好學(xué)習(xí)網(wǎng)絡(luò)、 長(zhǎng)期偏好學(xué)習(xí)網(wǎng)絡(luò)和動(dòng)態(tài)融合網(wǎng)絡(luò)四部分組成.模型框架如圖1所示.

      圖1 模型框架Fig.1 Model framework

      2.1 嵌入層

      在物品數(shù)組V中, 每個(gè)元素都有一個(gè)物品索引.與原方法類(lèi)似[4,27], 使用查詢(xún)操作和一個(gè)可學(xué)習(xí)的物品嵌入表MI∈(|V|+1)×h, 將交互物品序列嵌入為Eitem∈N×h, 其中h表示隱藏層的大小,MI保存|V|個(gè)物品的嵌入向量和[MASK]標(biāo)記.

      對(duì)于T, 每個(gè)元素都包含一個(gè)時(shí)間戳值, 時(shí)間序列與交互物品序列一一對(duì)應(yīng).本文提出絕對(duì)時(shí)間嵌入和相對(duì)時(shí)間嵌入兩種嵌入T的方法.絕對(duì)時(shí)間嵌入是一個(gè)點(diǎn)態(tài)的概念, 將完整的時(shí)間戳信息描述為標(biāo)識(shí)用戶(hù)物品交互的獨(dú)立變量.引入絕對(duì)時(shí)間嵌入將序列中的絕對(duì)時(shí)間信息編碼為Ep, 絕對(duì)時(shí)間嵌入類(lèi)似于在文獻(xiàn)[4]中使用的可學(xué)習(xí)位置嵌入, 在Mp∈N×h中每個(gè)時(shí)間信息都有一個(gè)相應(yīng)的嵌入式, 提取交互物品對(duì)應(yīng)的時(shí)間信息得到Ep.相對(duì)時(shí)間嵌入是一個(gè)成對(duì)的概念, 側(cè)重于描述每對(duì)用戶(hù)行為之間的時(shí)間間隔.該信息反映了前一種行為對(duì)后者的影響, 不同的對(duì)可能表現(xiàn)出不同的模式.相對(duì)時(shí)間嵌入利用時(shí)間差異信息將序列中每個(gè)交互對(duì)之間的關(guān)系編碼為ER.首先, 定義一個(gè)時(shí)間差異矩陣D∈N×N, 矩陣中元素的取值定義為dij=(ti-tj)/τ, 其中τ為一個(gè)可調(diào)節(jié)的參數(shù), 然后利用sin函數(shù)將dij轉(zhuǎn)化為隱藏層向量θij∈1×h, 計(jì)算公式為

      (1)

      2.2 近期偏好學(xué)習(xí)網(wǎng)絡(luò)

      2.2.1 自注意力機(jī)制層

      多頭自注意力機(jī)制由文獻(xiàn)[22]提出, LatRec的動(dòng)態(tài)偏好學(xué)習(xí)模塊同樣基于該結(jié)構(gòu).單層自注意力機(jī)制的計(jì)算公式為

      (2)

      圖2 單個(gè)自注意力機(jī)制層的計(jì)算過(guò)程Fig.2 Calculation process of a single self-attention mechanism layer

      2.2.2 前饋神經(jīng)網(wǎng)絡(luò)

      繼自注意力層后, LatRec將自注意力層輸出輸入點(diǎn)狀的前饋神經(jīng)網(wǎng)絡(luò), 將前饋神經(jīng)網(wǎng)絡(luò)作為單獨(dú)一層, 表示為

      FFN(x)=GELU(xW1+b1)W2+b2,

      (3)

      其中W1∈h×2h,b1∈2h,W2∈2h×h,b2∈h都是可學(xué)習(xí)的參數(shù).為方便訓(xùn)練, 與前述工作相同為每個(gè)子層引入殘差連接:

      y=x+Dropout(Attention(LayerNorm(x))),

      (4)

      z=y+Dropout(FFN(LayerNorm(y))).

      (5)

      堆疊b個(gè)這樣的層, 給定最后一層的輸出(o1,o2,…,oL)∈L×h, 從頂部自注意力模塊獲取輸出向量oL∈1×d作為用戶(hù)的動(dòng)態(tài)偏好表示.

      2.3 長(zhǎng)期偏好學(xué)習(xí)網(wǎng)絡(luò)

      SASRec因?yàn)椴东@用戶(hù)動(dòng)態(tài)偏好的優(yōu)秀性能而得到廣泛關(guān)注, 但由于SASRec保留了位置信息和因果約束, 不利于用戶(hù)長(zhǎng)期穩(wěn)定偏好的捕獲, 因此本文通過(guò)引進(jìn)長(zhǎng)期偏好表示增強(qiáng)SASRec[4].

      本文的長(zhǎng)期偏好學(xué)習(xí)網(wǎng)絡(luò)由兩部分組成: 1) 簡(jiǎn)單的前饋神經(jīng)網(wǎng)絡(luò)(FNN), 負(fù)責(zé)為當(dāng)前序列Vu中的每個(gè)物品生成注意權(quán)重; 2) 注意力復(fù)合函數(shù), 負(fù)責(zé)計(jì)算基于注意力的用戶(hù)長(zhǎng)期興趣.

      首先定義用戶(hù)的序列表示m0, 計(jì)算公式為

      (6)

      其中xi∈d表示第i個(gè)物品Vi∈Vu的嵌入向量.用于注意力權(quán)重計(jì)算的FNN計(jì)算公式為

      αi=W0σ(W1xi+W2xt+W3m0+ba),

      (7)

      其中xt表示最后一次點(diǎn)擊的物品,W0是一個(gè)加權(quán)向量,W1,W2,W3表示權(quán)重矩陣,ba表示偏置向量,σ(·)表示Sigmoid函數(shù),αi表示物品xi的注意力權(quán)重.由式(6)可見(jiàn), 交互序列中物品xi的注意力權(quán)重基于嵌入目標(biāo)項(xiàng)xi、 最后點(diǎn)擊物品xt和序列表示m0, 因此它可以基于用戶(hù)的當(dāng)前動(dòng)態(tài)捕獲用戶(hù)的長(zhǎng)期穩(wěn)定偏好.

      在得到注意力系數(shù)向量α=(α1,α2,…,αN)后, 基于注意力的用戶(hù)長(zhǎng)期偏好m根據(jù)如下公式計(jì)算:

      (8)

      對(duì)于同一用戶(hù)序列長(zhǎng)期偏好表示相同, 式(7)中的相應(yīng)參數(shù)(8)在訓(xùn)練階段只更新一次, 增加一個(gè)Dropout層在訓(xùn)練期間將長(zhǎng)期偏好推廣到所有步驟, 長(zhǎng)期偏好表示矩陣m∈N×d為

      ml=Dropout(m),l∈{1,2,…,N}.

      (9)

      2.4 動(dòng)態(tài)融合網(wǎng)絡(luò)

      為有效結(jié)合長(zhǎng)期偏好和短期偏好, 可考慮連接或求和.但為處理序列推薦中用戶(hù)意圖不明確的問(wèn)題, 受神經(jīng)項(xiàng)目相似性(NAIS)[28]啟發(fā), 提出物品相似門(mén)控模塊.通過(guò)建模近期偏好表示oL, 長(zhǎng)期偏好表示ml與最近交互物品xt之間的相似性計(jì)算長(zhǎng)期偏好表示和近期偏好表示的權(quán)重.定義門(mén)控函數(shù)g的輸出值作為近期偏好表示的權(quán)重, 并將其限制為0

      g=σ([xt,ml,oL]WG+bG),

      (10)

      其中WG∈3d×1和bG∈分別表示可學(xué)習(xí)的權(quán)重和偏差.本文使用Sigmoid函數(shù)σ(ξ)=1/(1+e-ξ), 所以g的取值范圍為(0,1).用戶(hù)u在第t步的最終偏好表示為近期偏好向量oL和長(zhǎng)期偏好向量ml的加權(quán)和, 計(jì)算公式為

      pl=oL?g+ml?(1-g),

      (11)

      其中?表示點(diǎn)積運(yùn)算.LatRec中g(shù)的取值范圍可從(0,1)擴(kuò)展為[0,1].當(dāng)g=1時(shí), 用戶(hù)的最終偏好表示為用戶(hù)的動(dòng)態(tài)偏好表示; 當(dāng)g=0時(shí), 用戶(hù)最終的偏好表示為用戶(hù)的長(zhǎng)期穩(wěn)定偏好表示.

      2.5 模型預(yù)測(cè)和訓(xùn)練

      2.5.1 偏好預(yù)測(cè)

      由如下公式計(jì)算用戶(hù)u下次交互物品的概率預(yù)測(cè):

      (12)

      其中xi表示第i個(gè)候選物品的向量表示,rl+1,i表示第(l+1)次交互物品為xi的概率.

      2.5.2 模型訓(xùn)練

      本文使用Adam優(yōu)化器, 通過(guò)最小化交叉熵?fù)p失函數(shù)訓(xùn)練本文的序列推薦模型, 損失函數(shù)為

      (13)

      3 實(shí) 驗(yàn)

      3.1 數(shù)據(jù)集的構(gòu)造

      本文采用MovieLens-1M和Amazon-Beauty兩個(gè)來(lái)自不同領(lǐng)域、 稀疏程度不同的公開(kāi)數(shù)據(jù)集作為實(shí)驗(yàn)數(shù)據(jù), 驗(yàn)證本文算法的推薦性能. 首先根據(jù)用戶(hù)將交互記錄分組, 并根據(jù)交互的時(shí)間戳信息升序排列, 形成用戶(hù)的交互序列; 然后將交互次數(shù)小于5的用戶(hù)和物品過(guò)濾[4,26-27]. 經(jīng)過(guò)處理后各數(shù)據(jù)集的靜態(tài)特征列于表1.

      表1 數(shù)據(jù)集靜態(tài)特征

      3.2 實(shí)驗(yàn)設(shè)置

      3.2.1 評(píng)價(jià)指標(biāo)

      采用廣泛使用的leave-one-out評(píng)估方法評(píng)價(jià)LatRec推薦算法的推薦性能. 對(duì)于每個(gè)用戶(hù)交互序列, 將用戶(hù)交互序列的最后一個(gè)交互物品作為測(cè)試集, 倒數(shù)第二個(gè)交互物品作為驗(yàn)證集, 其他交互物品作為訓(xùn)練集. 與其他經(jīng)典的序列推薦模型設(shè)置相同, 將隨機(jī)抽取的100個(gè)尚未被指定用戶(hù)交互過(guò)的物品作為負(fù)樣本[4,26-27]. 與用戶(hù)實(shí)際交互物品排列在一起作為L(zhǎng)atRec模型的輸入, 讓模型對(duì)其排序. 為評(píng)價(jià)排序表, 本文利用下列兩個(gè)通用的評(píng)價(jià)指標(biāo):

      HR@10(命中率), 刻畫(huà)正確推薦物品在測(cè)試物品中所占的比例, 表示為

      (14)

      其中:N表示用戶(hù)的總數(shù)量; hits(i)表示第i個(gè)用戶(hù)訪(fǎng)問(wèn)的值是否在推薦列表中, 是則為1, 否則為0; @10表示推薦列表中物品的個(gè)數(shù)為10.

      NDCG@10(歸一化折損累計(jì)增益), 不僅考慮HR(命中率), 而且考慮排列順序. 給位于推薦列表前端的命中物品分配高分, 位于推薦列表末端的命中物品分配低分, 表示為

      (15)

      其中rank表示命中物品在推薦列表中的位置.

      3.2.2 實(shí)驗(yàn)環(huán)境設(shè)置

      本文實(shí)驗(yàn)的硬件環(huán)境為Intel core i7 CPU, 16 GB內(nèi)存, Nvidia 1060 Ti顯卡. 軟件環(huán)境為Window10操作系統(tǒng). 編程環(huán)境為Python3.6.1. 嵌入層和預(yù)測(cè)層的物品嵌入向量相同, 本文用PyTorch實(shí)現(xiàn)序列推薦模型, 利用Adam優(yōu)化器優(yōu)化模型, 學(xué)習(xí)率設(shè)為0.001, 物品嵌入向量、 時(shí)間嵌入向量的維度均設(shè)為64. mini-batch大小分別設(shè)為128, 對(duì)于數(shù)據(jù)集MovieLens-1M和Amazon-Beauty將Dropout率分別設(shè)為0.2和0.5. 最大序列長(zhǎng)度N在數(shù)據(jù)集MovieLens-1M和Amazon-Beauty上分別設(shè)為200和50.

      3.3 對(duì)比方法

      1) POP方法, 其將所有物品根據(jù)受歡迎程度排序, 受歡迎程度取決于交互的數(shù)量;

      2) BPR方法, 其將Bayes個(gè)性化排序與矩陣分解模型相結(jié)合, 是最先進(jìn)的非序列推薦算法, 基于隱式反饋信息[29];

      3) FPMC方法, 其結(jié)合矩陣分解和Markov鏈, 可同時(shí)捕獲序列信息和長(zhǎng)期用戶(hù)偏好[17];

      4) Caser方法, 在時(shí)間和潛在空間中將一系列最近交互的物品視為一個(gè)“圖像”, 捕獲L個(gè)最近交互物品的高階Markov鏈[21];

      5) SASRec方法, 是一種基于Transformer體系結(jié)構(gòu)的序列推薦方法[4];

      6) BERT4Rec方法, 其采用深度雙向注意力機(jī)制建模用戶(hù)行為序列, 取得優(yōu)秀的序列推薦性能[27];

      7) TiSASRec方法, 其利用注意力機(jī)制成功地合并時(shí)間信息, 將時(shí)間信息整合到物品嵌入表示中, 但無(wú)法完整地捕獲用戶(hù)物品交互關(guān)于時(shí)間的完整序列模式[26].

      為保證不同方法對(duì)比的公平性, 本文根據(jù)原文獻(xiàn)的源代碼, 用PyTorch實(shí)現(xiàn)BPR,IRGAN和FPMC方法. 對(duì)于Caser,SASRec,BERT4Rec方法, 使用原有的源代碼, 對(duì)于所有模型中的通用超參數(shù), 用網(wǎng)格搜索在驗(yàn)證集上尋找最優(yōu)參數(shù)設(shè)置, 考慮潛在向量維度的取值范圍{16,32,64,128,256},l2正則化參數(shù)的取值范圍{1,0.1,0.01,0.001,0.000 1}, Dropout率的取值范圍{0,0.1,0.2,0.3,…,0.9}. 所有其他超參數(shù)設(shè)置和初始化策略與原文獻(xiàn)保持一致, 并使用驗(yàn)證集調(diào)整超參數(shù). 給出每種方法在其最優(yōu)超參數(shù)設(shè)置下的結(jié)果.

      3.4 算法整體性能分析

      下面對(duì)本文提出的LatRec推薦模型做整體性能分析. 本文算法與對(duì)比方法基于評(píng)價(jià)指標(biāo)HR@10和NDCG@10的性能比較列于表2.

      表2 不同方法的整體性能對(duì)比結(jié)果

      由表2可見(jiàn):

      1) 基于流行度的POP方法推薦性能較好, 這主要基于人們通常傾向于選擇較受大眾歡迎的物品, 大眾的選擇傾向常引起物品的熱度提升, 給用戶(hù)推薦流行度較高的物品會(huì)取得較好的推薦結(jié)果, 但推薦缺乏個(gè)性化;

      2) BPR作為目前性能較優(yōu)秀的非序列推薦算法, 在序列推薦任務(wù)中, 基于序列的推薦算法在兩個(gè)數(shù)據(jù)集中的推薦性能都較BPR好, 充分顯示了捕獲用戶(hù)交互序列模式的有效性;

      3) Caser,SASRec和BERT4Rec方法性能較FPMC方法更優(yōu)秀, 充分顯示了深度神經(jīng)網(wǎng)絡(luò)潛在特征的學(xué)習(xí)能力和序列任務(wù)建模能力;

      4) LatRec方法在兩個(gè)數(shù)據(jù)集上顯示出較基線(xiàn)方法更優(yōu)秀的推薦性能, 得益于對(duì)時(shí)間信息的多模式嵌入, 注意力機(jī)制對(duì)時(shí)間信息和序列信息的捕獲, 此外長(zhǎng)期記憶增強(qiáng)同樣提升了LatRec方法的推薦性能.

      3.5 算法分析

      3.5.1 多時(shí)間嵌入模式以及長(zhǎng)期記憶增強(qiáng)的有效性分析

      本文采用絕對(duì)時(shí)間嵌入和相對(duì)時(shí)間嵌入兩種方式建模用戶(hù)物品交互的時(shí)間信息. 使模型不僅對(duì)絕對(duì)的時(shí)間信息敏感, 且其能捕獲用戶(hù)物品交互關(guān)于時(shí)間的周期性變化. 將該模型在數(shù)據(jù)集MovieLens-1M上進(jìn)行各部分有效性驗(yàn)證, 首先分別構(gòu)造模型LatRec的變體LatRec1和LatRec2, LatRec1用與SASRec類(lèi)似的時(shí)間信息嵌入方式, LatRec2對(duì)長(zhǎng)期偏好表示進(jìn)行遮掩操作. 模型其他部分與原模型相同, 采用與原模型相同的參數(shù)進(jìn)行訓(xùn)練, 并與原模型進(jìn)行推薦性能比較, 實(shí)驗(yàn)結(jié)果列于表3.

      表3 多時(shí)間嵌入模式及長(zhǎng)期記憶增強(qiáng)的有效性分析

      由表3可見(jiàn), 采用多時(shí)間嵌入模式和長(zhǎng)期記憶增強(qiáng)有效提高了推薦算法的性能. LatRec1的推薦性能較SASRec有所提高, 證明長(zhǎng)期記憶增強(qiáng)的有效性. 本文提出的多種時(shí)間嵌入模式, 不僅對(duì)絕對(duì)時(shí)間信息敏感, 且其能捕獲用戶(hù)物品交互的周期性變化, 有效建模用戶(hù)交互的時(shí)間特征. 這基于用戶(hù)喜歡在某個(gè)特定的時(shí)間段看某個(gè)特定類(lèi)型的電影, 或者用戶(hù)重復(fù)看某部電影或某種題材的電影呈現(xiàn)出某種時(shí)間上的周期性規(guī)律. LatRec2表現(xiàn)出較SASRec優(yōu)秀的推薦性能, 證明了LatRec模型多種時(shí)間嵌入模式設(shè)計(jì)的有效性. 同時(shí)LatRec表現(xiàn)出較SASRec更好的推薦性能, 充分驗(yàn)證了多時(shí)間嵌入模式以及用戶(hù)長(zhǎng)期偏好與用戶(hù)近期偏好動(dòng)態(tài)結(jié)合的有效性. 基于注意力機(jī)制序列特征的建模能力以及潛在特征的捕獲能力, 能捕獲用戶(hù)的長(zhǎng)期穩(wěn)定偏好和近期偏好, 并通過(guò)動(dòng)態(tài)融合將用戶(hù)的長(zhǎng)期偏好和近期偏好相結(jié)合, 使推薦結(jié)果更準(zhǔn)確、 更多樣.

      3.5.2 嵌入維度分析

      保持其余最優(yōu)參數(shù)設(shè)置不變, 嵌入維度d的取值范圍為16~256. 在不同維度分別進(jìn)行實(shí)驗(yàn), 獲取衡量指標(biāo)NDCG@10和HR@10的值, 考察嵌入維度d對(duì)序列推薦算法性能的影響. 實(shí)驗(yàn)結(jié)果如圖3所示.

      圖3 嵌入維度分析結(jié)果Fig.3 Analysis results of embedding dimension

      由圖3可見(jiàn), 隨著嵌入維度的增加, 推薦算法的性能度量指標(biāo)逐漸增大. 當(dāng)達(dá)到某一特定值再增加嵌入維度時(shí), 度量指標(biāo)基本不再發(fā)生改變, 逐漸收斂. 并不是嵌入維度d值越大, 推薦算法的性能越好. 嵌入維度過(guò)大可能會(huì)導(dǎo)致數(shù)據(jù)稀疏, 增大訓(xùn)練難度, 此外嵌入維度過(guò)大也可能會(huì)導(dǎo)致發(fā)生過(guò)擬合.

      本文提出的LatRec推薦模型在各嵌入維度都取得了較基線(xiàn)方法更優(yōu)秀的推薦結(jié)果, 充分驗(yàn)證了本文算法的推薦性能. 當(dāng)嵌入維度達(dá)到64時(shí), 繼續(xù)增加維度推薦算法的度量指標(biāo)基本不再發(fā)生變化或略有下降, 所以在本文的其他實(shí)驗(yàn)中將嵌入維度設(shè)為64.

      綜上所述, 通過(guò)對(duì)基于注意力機(jī)制的推薦算法進(jìn)行分析和改進(jìn), 本文提出了一種長(zhǎng)期記憶增強(qiáng)的時(shí)間序列感知推薦算法LatRec. LatRec算法充分考慮了影響用戶(hù)交互預(yù)測(cè)的時(shí)間、 序列信息、 動(dòng)態(tài)融合用戶(hù)的長(zhǎng)期穩(wěn)定偏好表示和近期動(dòng)態(tài)偏好表示. LatRec算法充分挖掘了用戶(hù)的潛在喜好, 使推薦的結(jié)果呈現(xiàn)多樣性, 提升了推薦系統(tǒng)的用戶(hù)體驗(yàn). 但由于該算法采用多個(gè)神經(jīng)網(wǎng)絡(luò)和多種時(shí)間嵌入模式, 使算法的訓(xùn)練需花費(fèi)較長(zhǎng)的時(shí)間, 對(duì)運(yùn)行設(shè)備的運(yùn)算速度也有一定要求.

      猜你喜歡
      物品注意力維度
      稱(chēng)物品
      讓注意力“飛”回來(lái)
      “雙十一”,你搶到了想要的物品嗎?
      淺論詩(shī)中“史”識(shí)的四個(gè)維度
      誰(shuí)動(dòng)了凡·高的物品
      “揚(yáng)眼”APP:讓注意力“變現(xiàn)”
      A Beautiful Way Of Looking At Things
      光的維度
      燈與照明(2016年4期)2016-06-05 09:01:45
      “五個(gè)維度”解有機(jī)化學(xué)推斷題
      找物品
      岗巴县| 高邮市| 大悟县| 湟源县| 海淀区| 理塘县| 邓州市| 溆浦县| 五家渠市| 蒙阴县| 威海市| 池州市| 年辖:市辖区| 中方县| 无为县| 富川| 和龙市| 阳城县| 巴彦县| 略阳县| 常德市| 蓝田县| 璧山县| 苍南县| 平远县| 育儿| 德江县| 上虞市| 贵溪市| 洮南市| 南召县| 沾益县| 宁德市| 莱阳市| 醴陵市| 金寨县| 嵊州市| 于都县| 连山| 鹤峰县| 邵武市|