







摘" 要: 為了向用戶推薦符合興趣偏好的項目,設計一種基于注意力循環神經網絡的聯合深度推薦模型。將雙層注意力機制設置于網絡中,該模型由五個部分構成,在輸入層中生成聯合深度推薦模型的輸入矩陣,通過序列編碼層對項目評論文本語義展開正向和反向編碼,獲得隱藏狀態輸出,并將其輸入雙層注意力機制中,提取項目特征,利用全連接層提取用戶偏好特征。在預測層中建立項目與用戶的交互模型,獲得項目評分,為用戶推薦高評分的項目。為了提高模型精度,加權融合MSE損失函數、CE損失函數和RK損失函數建立組合損失函數,對深度聯合訓練模型展開訓練,提高模型的推薦性能。仿真結果表明,所提方法具有良好的推薦效果,能夠適應不斷變化的市場需求和用戶行為。
關鍵詞: 雙層注意力機制; 循環神經網絡; 用戶偏好; 組合損失函數; 交互模型; 聯合深度推薦模型
中圖分類號: TN711?34; TP183" " " " " " " " " " 文獻標識碼: A" " " " " " " " " " "文章編號: 1004?373X(2025)01?0080?05
Joint deep recommendation model based on attention recurrent neural network
GUO Dongpo1, HE Bin2, ZHANG Mingyan3, DUAN Chao3
(1. Jianghan University, Wuhan 430056, China; 2. Central China Normal University, Wuhan 430079, China;
3. Zhejiang Provincial Key Laboratory of Intelligent Education Technology and Application, Zhejiang Normal University, Jinhua 321004, China)
Abstract: A joint deep recommendation model based on attention recurrent neural network is designed to recommend projects that meet user interests and preferences. The attention mechanism with double layers is set in the network. The designed model consists of five parts. The input matrix of the joint deep recommendation model is generated in the input layer. By the sequence coding layer, the semantics of the project comment text is encoded forward and backward to obtain the hidden state output. The hidden state output is input into the attention mechanism with double layers to extract the project features. The fully?connected layer is used to extract user preference features. An interaction model between projects and users is established in the prediction layer, so as to obtain project ratings and recommend high?rated projects for users. In order to improve the accuracy of the model, the combined loss function is established based on the weighted integration of MSE loss function, CE loss function and RK loss function. The deep joint training model is trained to improve the recommendation performance of the model. The simulation results show that the proposed method has good recommendation effect, so it can adapt to the changing market demand and user behavior.
Keywords: attention mechanism with double layers; recurrent neural network; user preference; combined loss function; interaction model; joint deep recommendation model
0" 引" 言
由于信息過載問題逐漸嚴重,專家和學者加大了對推薦系統的研究力度,推薦系統的主要作用是分析用戶的偏好特征,根據分析結果為用戶推薦相關項目。推薦系統通過采集與分析用戶的偏好與交互數據對項目評分,根據評分結果生成推薦列表,實現項目推薦,目前推薦系統已經應用在很多網絡服務平臺中,實現了個性化服務[1],在此背景下研究深度聯合推薦模型具有重要意義。
文獻[2]方法通過單層神經網絡融合節點特征,并通過影響因子調整實體聚合權重,在用戶與實體特征上展開評分預測和推薦列表生成,但聚合權重調整結果與節點特征不符,導致推薦結果的MAE較高。文獻[3]方法通過設置時間權重因子來衡量數據的重要性,并根據隱私差分建立概率矩陣分解模型實現推薦。然而,該方法無法動態調整時間權重因子,導致項目評分的精度降低,且生成的推薦列表的歸一化折現累積增益較低。文獻[4]方法通過貝葉斯個性化排序算法實現個性化推薦,通過對輸入數據進行預處理,并調整模型超參數來確定最佳配置。在數據預處理過程中,容易受到冗余數據的影響,導致推薦結果的RMSE較高。文獻[5]方法利用元路徑采集用戶偏好,計算推薦分數,并通過個性化權重學習確定最終推薦結果。但是,該方法的目標函數求解精度較低,導致計算得到的全局推薦分數誤差大,降低了用戶對推薦項目的點擊率。
因此,本文提出基于注意力循環網絡的聯合深度推薦模型。
1" 聯合深度推薦模型
通過Google News中超過一千億個單次訓練的詞向量作為聯合深度推薦模型的輸入,用詞向量矩陣[Bu1,Bu2,…,Buj]表示用戶評論,[j]表示單個用戶的評論數最大值,[Buy]表示用戶[u]的第[y]條評論中的詞構成的矩陣,[1≤y≤j]。用單詞向量矩陣[Bi1,Bi2,…,Bik]表示項目[i]的全部評論,[k]表示項目對應的評論數最大值;[Biz]為項目[i]的第[z]條評論中的詞構成的矩陣,[1≤z≤k],將上述矩陣輸入聯合深度推薦模型中。
采用LSTM網絡[6?7]在序列編碼層中對項目評論文本語義展開進行編碼處理:
[hiLM=BiLSTM(ELM,hiLM-1)hiLM=BiLSTM(ELM,hiLM-1)] (1)
式中:[hiLM]為該層生成的正向隱藏狀態;[BiLSTM]為語義正向編碼操作;[ELM]為詞向量;[hiLM]為反向隱藏狀態;[BiLSTM]為語義反向編碼操作。通過[hiLM]、[hiLM]獲得項目[i]的第[L]個評論中存在的第[L]個單詞對應的隱藏狀態輸出[hiLM=hiLMhiLM]。
從項目評論的角度展開分析,在特征提取過程中,每個單詞產生的貢獻度均不相同,通過注意力機制[8?9]確定貢獻度較高的信息詞,設置權重矩陣[Wiwh],利用上述提取的信息詞表示項目評論[diL]。
[diL=M=1nsiLMhiLMsiLM=exp[(viw)Ttanh(WiwhhiLM+biw)]M=1nexp[(viw)Ttanh(WiwhhiLM+biw)]]" (2)
式中:[siLM]為隱藏狀態[hiLM]的注意力權重;[viw]為權重向量;[tanh]屬于激活函數;[biw]為偏置項。
在模型的第二層注意力層中學習評論對應的權重以此提取代表性較為顯著的信息,將編寫評論的用戶ID嵌入[uiL],評論特征向量[diL]作為輸入,用ReLU表示該層的激活函數,通過式(3)定義第二層注意力網絡[10?11][s*iL]:
[s*iL=JTReLU(WsdiL+WuuiL)+b2] (3)
式中:[J]為注意力機制的權重向量;[Ws]、[Wu]分別為[diL]與用戶ID嵌入[uiL]對應的權重矩陣;[b2]為第二層注意力層的偏置項。
第二層注意力網絡的輸出即為注意力得分,采用softmax函數對式(3)的輸出展開歸一化處理獲得評論權重[siL],通過式(4)確定項目[i]的特征向量[pi]:
[siL=exp(s*iL)L=1kexp(s*iL)pi=L=1ksiLdiL]" " "(4)
設[Wx]、[Wr]分別代表更新門和重置門對應的權重矩陣,由上一時刻的隱藏狀態[ht-1]和當前時刻的輸入以及上下文信息[vt]決定CAGRU單元中更新門[xt]與重置門[rt]的值。
[xt=σ(Wxht-1+Wppt+Wvvt+bx)rt=σ(Wrht-1+Wppt+Wvvt+br)] (5)
式中:[σ]為sigmoid函數;[pt]為當前時刻的POI;[Wp]為[pt]對應的權重矩陣;[Wv]表示上下文信息的權重矩陣;[bx]、[br]均代表偏置項,分別位于更新門與重置門中。
針對上一時刻流入全連接層的隱藏狀態,采用重置門對其展開調整與控制,通過式(6)對候選隱藏狀態[ht]展開計算。
[ht=tanh[Wh(vt?ht-1)+Wppt+Wvvt+bh]]" (6)
式中:[Wh]表示權重矩陣;[bh]屬于偏置項。
更新門的主要作用是組合上述過程獲取的隱藏狀態[12?13],輸出當前時刻的隱藏狀態[ht],即用戶偏好特征。
[ht=xt?ht-1+(1-xt)?ht]" " (7)
將上述獲取的項目特征和用戶偏好特征擴展為基于評級的特征,向隱藏空間中映射上述特征,建立項目[i]與用戶[u]的交互模型[h0]:
[h0=ht(qu+ht)?(ai+pi)] (8)
式中:[ai]、[qu]分別為基于評級的項目特征與用戶偏好特征。將式(8)輸出結果輸入預測層中,獲得項目評分[yi]。
[yi=μ+nu+ni+WT2h0]" " " (9)
式中:[μ]代表全局平均偏差;[ni]、[nu]描述的是項目與用戶偏差;[W2]代表預測層的權重矩陣。
根據上述評價結果對項目排序,將高評分的項目推薦給用戶。為了提高模型精度,加權融合MSE損失函數、CE損失函數和RK損失函數建立組合損失函數,對深度聯合訓練模型展開訓練,提高模型的推薦性能。
1) MSE損失函數
MSE損失函數[LMSE]是分析預測值與實際值之間的偏差,將MSE損失函數最小作為目標,對建立的模型展開訓練。
[LMSE=1ni=1n(yi-yi)2] (10)
式中:[yi]表示實際值;[n]表示樣本數量。
2) CE損失函數
CE損失函數[LCE]用于分析訓練模型與真實模型之間存在的概率性誤差[14],將CE損失函數最小作為目標,對聯合深度推薦模型展開訓練,使模型面對海量的項目和用戶數據時具有良好的分類能力,CE損失函數[LCE]的表達式如下:
[LCE=1ni=1n[-lg(li)]] (11)
式中[li]描述的是模型正確預測樣本類別的概率。
3) RK損失函數
RK損失函數[LRK]由兩部分構成:第一部分是中心損失函數[Lc],用于衡量類內高維特征之間的距離;第二部分是邊距排序損失函數[Lmr],用于衡量不同類間特征距離。通過最小化RK損失函數來訓練推薦模型,可以提高模型的分類精度。根據[Lc]與[Lmr]構成RK損失函數[LRK],表達式如下:
[LRK=Lc+Lmr]" " " (12)
將RK損失函數[LRK]最小作為目標對推薦模型展開訓練,可提高模型的分類精度。加權組合上述損失函數,建立組合損失函數[L],對基于注意力循環神經網絡的聯合深度推薦模型展開整體訓練,提高模型的整體性能。
[L=αLMSE+βLCE+χLRK]" " "(13)
式中[α]、[β]、[χ]分別表示對應函數的權重系數。
2" 實驗與分析
為了驗證基于注意力循環神經網絡的聯合深度推薦模型的整體有效性,需要對其展開測試,測試在PyCharm Community Editon 2022.2.2集成開發平臺中完成,測試所用的數據集如表1所示。
采用本文方法、文獻[2]方法和文獻[3]方法展開推薦測試,通過均方根誤差([RMSE])和平均絕對誤差(MAE)對推薦結果的精度展開評估。
[RMSE=i=1Nyi-yi2NMAE=i=1Nyi-yiN]" "(14)
式中:[N]表示樣本的總數量;[yi]、[yi]分別描述的是真實值與預測值。
MAE與RMSE測試結果如圖1所示。
根據圖1中的數據可知,在Amazon數據集、ML?1m數據集與ML?10m數據集中,本文方法推薦結果的MAE與RMSE均低于文獻[2]方法和文獻[3]方法,控制在0.2以內,表明本文方法具有良好的推薦精度,因為本文方法在模型訓練過程中加權融合多種損失函數,對聯合深度推薦模型展開訓練,提高了聯合深度推薦模型的精度。
點擊率(HR)用來衡量推薦項目與用戶之間的交互情況,HR越高,表明推薦的項目越符合用戶偏好。HR表達式為:
[HR=Nu M]" "(15)
式中:[M]表示方法推薦的項目數量;[Nu]表示項目點擊量。三種方法的點擊率(HR)如圖2所示。
分析上述測試結果可知,隨著生成推薦項目數量的增加,用戶點擊量隨之增高,點擊率(HR)整體呈上升趨勢,但在相同生成推薦項目數量下,本文方法生成的推薦項目更符合用戶偏好,用戶更愿意點擊本文方法生成的推薦項目,表明本文方法的推薦效果良好。
歸一化折現累積增益([NDCG])用于衡量推薦列表中項目是否處于正確的位置,其表達式如下:
[NDCG=DCG@NZ] (16)
式中:[DCG@N]代表理想折現累積收益;[Z]描述的是規范化常數。三種方法生成的推薦列表對應的NDCG如表2所示。
根據上述測試結果可知,本文方法的NDCG是三種方法中最高的,表明本文方法生成的推薦列表中項目排序正確,側面驗證了本文方法建立的聯合深度推薦模型具有較高的預測精度。
3" 結" 語
針對目前推薦方法存在的問題,本文方法在網絡中設置了雙層注意力機制,用于學習項目特征,同時通過全連接層學習用戶偏好特征。結合上述特征生成推薦列表,該模型將用戶行為、內容特征和上下文信息等多維度的數據聯合考慮,挖掘數據背后的深層關聯,為用戶提供更符合其需求和興趣的推薦結果。經驗證所提方法具有良好的推薦性能,在未來的發展中,聯合深度推薦模型將繼續優化,以適應不斷變化的市場需求和用戶行為。
注:本文通訊作者為段超。
參考文獻
[1] 黃震華,林威,吳正洋,等.基于最優傳輸和知識回放的新聞推薦模型增量學習方法[J].計算機學報,2023,46(10):2161?2177.
[2] 劉歡,李曉戈,胡立坤,等.基于知識圖譜驅動的圖神經網絡推薦模型[J].計算機應用,2021,41(7):1865?1870.
[3] 王永,王利,冉珣,等.基于時間權重因子的隱私保護推薦算法[J].湖南大學學報(自然科學版),2022,49(8):196?207.
[4] LAK P, BOZANTA A, KAVAKLIOGLU C, et al. A replication study on implicit feedback recommender systems with application to the data visualization recommendation [J]. Expert systems: The international journal of knowledge engineering, 2022, 39(4): 12871.
[5] LI Y, WANG R H, NAN G F, et al. A personalized paper recommendation method considering diverse user preferences [J]. Decision support systems, 2021, 146: 113546.
[6] 王琛,王穎,鄭濤,等.基于ResNet?LSTM網絡和注意力機制的綜合能源系統多元負荷預測[J].電工技術學報,2022,37(7):1789?1799.
[7] 李卓,葉林,戴斌華,等.基于IDSCNN?AM?LSTM組合神經網絡超短期風電功率預測方法[J].高電壓技術,2022,48(6):2117?2127.
[8] 胡從強,曲娜,張帥,等.連續小波變換和具有注意力機制的深度殘差收縮網絡在低壓串聯電弧故障檢測中的應用[J].電網技術,2023,47(5):1897?1905.
[9] 蒯紅權,吳建華,吳亮.基于注意力機制的深度循環神經網絡的語音情感識別[J].電子器件,2022,45(1):139?142.
[10] 汪璟玢,雷晶,張璟璇,等.基于Triplet注意力的循環卷積神經網絡模型[J].模式識別與人工智能,2022,35(2):116?129.
[11] 尹梓諾,馬海龍,胡濤.基于聯合注意力機制和一維卷積神經網絡?雙向長短期記憶網絡模型的流量異常檢測方法[J].電子與信息學報,2023,45(10):3719?3728.
[12] 任劍鋒,葉春明.嵌入指針網絡的深度循環神經網絡模型求解作業車間調度問題[J].計算機應用研究,2021,38(1):120?124.
[13] 趙偉,王文娟,甘玉芳.基于預訓練模型和多視角循環神經網絡的電力文本匹配模型[J].重慶郵電大學學報(自然科學版),2023,35(3):545?553.
[14] 戴永壽,高倩倩,孫偉峰,等.結合改進CNN和雙約束損失函數的疊前地震數據低頻補償方法[J].石油地球物理勘探,2022,57(6):1287?1295.
[15] 魏玉福,陳麗萍.基于注意力機制的深度學習體育運動姿態估計技術[J].電子設計工程,2023,31(2):152?155.
基金項目:2021年國家自然科學基金:面向智能化作業輔導的圖文混合題可理解機器解答研究(62177024);2023年國家自然科學基金:面向知識整合的碎片化學習及學習路徑引導研究(62207027);2022年度湖北省教育科學規劃課題:基于智慧學習環境的學習者模型構建及個性化學習路徑推薦研究(2022GB217);湖北省教育廳科學技術研究計劃指導性項目:面向數學課程的自適應學習路徑推薦研究(B2022560)
作者簡介:郭東坡(1992—),女,河南南陽人,博士研究生,講師,研究方向為數字化。
何" 彬(1981—),男,湖北恩施人,博士研究生,講師,碩士生導師,研究方向為機器解答和智能導學。
張明焱(1988—),男,湖北隨州人,博士研究生,講師,碩士生導師,研究方向為大數據學習分析。
段" 超(1987—),男,湖北黃岡人,博士研究生,講師,碩士生導師,研究方向為推薦系統和數據挖掘。