




摘" 要: 為了解決長序列推薦算法的準確率低和冷啟動問題,提高推薦算法的性能,提出一種融合GCN與Informer的序列推薦算法VGIN。使用圖卷積網絡提取數據中節點之間的空間特征,引入Informer模型來處理數據潛在的時間依賴性,再將兩種特征輸入多層感知器得出預測評分,實現長序列預測,改善長序列推薦效果較差的問題;同時利用變分自編碼器(VAE)填補用戶的數據缺失,改善用戶冷啟動問題。實驗結果表明:構建的VGIN模型與基線模型相比得到了最高的HR@20值(0.248 4)和NDCG@20值(0.113 7),與基線版本中最優的SASRec模型相比,NDCG@20值和HR@20值分別提高了約7.87%、8.24%。該模型能有效提高長序列推薦準確率,同時降低了用戶冷啟動對推薦準確率的影響。
關鍵詞: 序列推薦算法; 冷啟動; 圖卷積網絡; Informer模型; 變分自編碼器; 特征提取
中圖分類號: TN919?34; TP311.1" " " " " " " " " 文獻標識碼: A" " " " " " " " " " "文章編號: 1004?373X(2025)08?0039?06
A sequence recommendation algorithm integrating GCN and Informer
FAN Lili, LI Ran, WANG Ning, WANG Kecheng, WU Jiang
(School of Information Engineering, Dalian Ocean University, Dalian 116023, China)
Abstract: In order to solve the problems of low accuracy and cold start of the long sequence recommendation algorithm and improve the performance of the recommendation algorithm, a sequence recommendation algorithm variational autoencoders graph convolutional Informer network, VGIN, is proposed. The spatial features between nodes in the data are extracted by means of graph convolutional network (GCN), and the Informer model is introduced to handle the potential temporal dependencies in the data. The two features are input into the multi?layer perceptron to obtain the scoring prediction, realize long sequence prediction, and improve the problem of poor long sequence recommendation effect. The variational autoencoder (VAE) is used to fill missing user data, thus improving the user cold start. The experimental results demonstrate that the constructed VGIN model can realize the highest HR@20 value (0.248 4) and NDCG@20 value (0.113 7) compared with the baseline model. In comparison with the optimal SASRec model in the baseline version, the NDCG@20 and HR@20 values can increase about by 7.87% and 8.24%, respectively. This model can effectively improve the accuracy of long sequence recommendations while reducing the impact of user cold start on recommendation accuracy.
Keywords: sequence recommendation algorithm; cold start; graph convolutional network; Informer model; variational autoencoder; feature extraction
0" 引" 言
近年來,隨著互聯網的高速發展,所產生的數據呈爆發式增長,如何從海量數據中提取出有效的信息,是當前互聯網領域發展的一個重要方向,而推薦系統[1]是其中的一個重要工具。推薦系統根據用戶的歷史行為數據提取出有用的特征信息,從而精確地推薦出用戶需要的商品或服務,可以為用戶提供個性化推薦體驗。
推薦系統主要應用在網絡購物、旅游、餐飲、短視頻等領域,傳統的推薦方法主要是基于協同過濾的推薦算法和基于內容的推薦算法。基于協同過濾的推薦算法通過用戶與項目之間的交互信息,例如評分信息和購買記錄等,發現用戶之間的相似性,從而確定推薦項目;基于內容的推薦算法是通過比較用戶交互過的項目與未交互的項目相似度來做出推薦。
序列推薦是將用戶的歷史行為記錄看作一個序列,通過挖掘序列中的信息,為用戶推薦可能需要的項目。用戶的歷史數據通常較多,大多包含近幾年的行為數據,傳統的推薦算法并沒有考慮其中的時序關系,導致其不適合序列推薦;而序列推薦算法考慮了用戶行為的順序性,可以捕捉長期依賴關系,但當前序列推薦算法針對長序列推薦性能欠佳且沒有對冷啟動問題進行有效處理,導致推薦效果較差。為此,本文提出一種融合圖卷積網絡(Graph Convolutional Network, GCN)與Informer的序列推薦算法VGIN(Variational Autoencoders Graph Convolutional Informer Network)。
1" 相關工作
1.1" 基于圖神經網絡的推薦方法
隨著深度學習的發展,2007年Hinton首次將深度學習應用到推薦系統中,目前推薦算法與深度學習相結合已成為主流的研究方向[2]。圖神經網絡(Graph Neural Network, GNN)是一種用于處理圖數據的算法模型。推薦系統數據大部分本質是圖結構,而GNN可以高效地處理圖結構數據并從中提取特征,這與用戶?項目的結構十分貼合,故使用GNN捕捉數據之間隱藏的特征。
文獻[3]使用注意力機制對GNN網絡的輸出進行分層加權池化。通過加深GNN的網絡層可以捕獲到目標節點的多條鄰居信息,從而獲得足夠的輔助信息來學習目標節點的表示,但是這也會導致過平滑問題。文獻[4]提出的GC?SAN(Graph Contextualized Self?Attention Network for Session?based Recommendation)算法原理是:利用自注意力機制和GNN的優點互補來提高算法的推薦性能。該算法通過圖神經網絡建模分離的序列中的局部圖結構依賴關系,利用多層自注意力機制獲取每個項目的全局上下文表示。
上述基于GNN的推薦算法難以捕捉序列的長期依賴關系,導致對于序列推薦效果不佳。
1.2" 基于序列的推薦方法
早期關于序列推薦的研究通常采用馬爾可夫鏈來捕捉用戶歷史交互中的順序模式。文獻[5]提出一種個性化馬爾可夫鏈,將馬爾可夫鏈和矩陣分解相結合,對順序行為進行建模。隨著Transformer[6]的提出,SASRec(Self?attentive Sequential Recommender)[7]首次將自注意力機制引入序列推薦,實現了較好的推薦性能。但由于其內部架構設計,Transformer存在計算復雜度高等問題。而循環神經網絡(Recurrent Neural Network, RNN)有模型輕量化、效率高等優勢,在處理短序列數據時性能優于Transformer。但RNN采用固定長度的隱藏狀態來傳遞信息,因此在處理長序列時隱藏狀態的記憶能力受到限制,很難有效地保留和傳遞序列中的長期信息,并且易出現梯度消失或爆炸等問題。另外,Transformer和RNN模型只能獨立地處理不同節點數據,沒有考慮不同節點間的連通性。
近期,有研究提出了基于GNN的方法來理解時空信息,這些模型通常將Transformer或RNN與GNN相結合,以適應復雜的預測任務。基于GNN的時空模型已經被證明在處理短序列預測問題上比單一RNN或GNN模型有更好的性能,但針對長序列推薦仍然存在一些局限性。
1.3" 針對冷啟動的推薦方法
當推薦系統面對新用戶時,由于缺乏相關的歷史數據和用戶行為記錄,傳統推薦算法通常未對缺失的評分進行處理,普遍面臨冷啟動的問題,影響推薦效果。文獻[8]提出一種基于二部圖的數據填補方法與協同過濾結合,使用交互視圖的多視角融合策略,有效緩解了冷啟動的問題。但該算法可拓展性差,數據集越大則推薦效果越差。文獻[9]提出基于SlopeOne的協同過濾推薦算法,首先對評分矩陣缺失的值進行填充,其次利用K?means聚類預測目標用戶的評分。以上方法雖然解決了推薦算法冷啟動問題,但未處理其中的時序關系,所以并不能應用在序列推薦中。
針對上述問題,本研究提出了一種新的融合GCN與Informer的序列推薦算法模型。該模型使用Informer[10]的Encoder部分提取時間特征,有效地捕獲序列中的長期依賴關系,并采用稀疏化概率機制大大降低長序列計算的復雜度;再利用GCN[11]增強序列的空間特征表達,將空間特征與時間特征進行融合得到最終特征表達,提升推薦效果;最后對數據進行預處理,利用變分自編碼器(Variational Autoencoder, VAE)[12]填補用戶缺失偏好信息,以改善冷啟動對于推薦效果的影響。
2" 融合GCN與Informer的序列推薦算法
2.1" 模型框架
本文提出的VGIN模型整體框架如圖1所示,包括用戶偏好重構層、特征提取層和預測層三個主要模塊。
1) 空間特征提取模塊將序列構建成項目信息圖,使用多層GCN學習不同位置的不同子空間特征,增強不同節點之間的空間特征提取能力。時間特征提取模塊通過Informer?encoder來提取時序特征。
2) 用戶偏好重構層將缺失的用戶數據進行填補后,輸入到模型中以改善用戶冷啟動對推薦效果的影響。
3) 預測層先連接時間和空間的潛在特征,然后將其輸入多層感知器(Multilayer Perceptron, MLP),最終得到預測的評分。
2.2" 特征提取層
2.2.1" 空間特征提取
本研究利用GCN處理數據空間結構,將序列看作一個節點,對節點特征進行聚合操作,通過一個可學習的權重矩陣進行線性變換,生成新的節點特征表示。GCN利用鄰居節點的特征來更新當前節點的特征,再將鄰居節點的特征進行加權平均,并將結果與當前節點的特征進行拼接或加和,得到更新后的節點特征。GCN在解釋模型的輸出和分析節點影響力時具有較好的可解釋性,有助于深入理解圖數據中的節點關系和特征重要性,公式如下:
式中:[A]是自相關的鄰接矩陣;[D]表示對角矩陣;[H(l)]表示第[l]層的特征;[W(l)]為權重矩陣。GCN每個節點的表示由其鄰居節點的特征加權平均得到,可以更好地提取圖中信息的全局空間特征。
2.2.2" 時間特征提取
由于人類的行為具有一定的周期性,利用該特點可以分析用戶的行為特征。本研究使用Informer?encoder來提取時序特征信息,Informer中使用ProbSparse自注意力機制替代Transformer中的自注意力機制,并引入稀疏化概率,使得模型只關注序列中的少數重要位置,從而減少了計算復雜度,提高了模型的計算效率。其中稀疏性度量M的公式為:
式中:qi為Q矩陣中的第i行;lK為K矩陣長度;din為輸入特征的維度;[kTj]為第j個K向量;前半部分為qi對所有K的LSE(Log?Sum?Exp)計算,后半部分為它們的算術平均值。
關于K的自注意力分數公式如下:
式中:Q、K、V分別為從輸入特征矩陣中提取的Query、Key、Value矩陣;Softmax為歸一化函數;d為K的向量維度;[Q]為處理后的矩陣。
Informer在ProbSparse自注意力層中間加入了蒸餾操作,利用卷積和池化將xt長度減半,保留較重要的特征并降低了冗余。從第j層到第j+1層的蒸餾操作公式為:
式中:MaxPool為最大池化操作;ELU為激活函數;Conv1d為一維的卷積操作;[ ]AB表示多頭概率稀疏自注意力操作。經此蒸餾操作,自注意力時間復雜度降低至O(Llog L),大大減輕了模型的開銷。
2.3" 用戶偏好重構層
針對用戶缺少歷史交互信息,即缺少偏好,存在用戶冷啟動問題,本研究使用VAE模型重構用戶偏好。VAE是基于變分貝葉斯推斷提出的一種深度生成模型,通過定義一個潛在空間的先驗分布和一個由潛在空間到觀測空間的生成模型來學習數據分布,這使得VAE模型能夠對缺失值進行建模,并對樣本的原始數據分布有較好的擬合能力。VAE模型通過潛在變量來捕捉數據的關鍵特征,這些潛在變量可以用于數據填補時插值和生成合理的缺失值。VAE模型是一種基于編碼?解碼器結構的生成模型,如圖2所示。
1) 編碼層:編碼器輸出潛在變量[Z]的均值Z_mean和方差Z_log_var,再從正態分布中取采樣[ε],通過計算得到Zi,公式如下:
式中:Zi∈Z;mi∈Z_mean;[σi]∈Z_log_var。
2) 解碼層:解碼器將采樣得到的潛在變量Z映射回原始數據空間中,生成重建數據X′。
2.4" 預測層
預測層連接空間和時間的潛在特征,再將其輸入到MLP。MLP由輸入層、隱藏層和輸出層組成,采用sigmoid激活函數捕獲空間與時間特征之間的復雜非線性關系,從而進行評分預測。本文選擇TopN項推薦,公式為:
式中:Gi和Mj分別表示空間和時間特征向量;bl為偏置;W為權重矩陣;l表示隱藏層的索引;[R′ij]為預測的評分。
3" 實驗結果與分析
3.1" 數據集
本研究采用的數據集為Foursquare[13],這是一個基于地理位置分享的移動服務網站。數據集的信息包括項目編號、用戶編號、項目的經緯度和簽到時間戳等信息,為了充分評估算法的準確性,需要對數據集進行預處理,將序列較短、不適合本模型學習的數據即簽到記錄進行剔除處理。最后選用數據集的70%作為訓練集,30%作為測試集。Foursquare數據集信息見表1。
3.2" 實驗設置和評價指標
3.2.1" 實驗設置
本研究使用PyTorch框架來完成模型的搭建,實驗在i5?10200H CPU和NVIDIA GeForce RTX?3060顯卡設備上進行。為了評估算法模型的效率和效果,實驗將Epochs設置為10,Batch_size設置為96,Dropout設置為0.05,Adam的初始學習速率設置為0.01。
3.2.2" 評價指標
本文使用兩個廣泛采用的指標NDCG@N和HR@N來評估模型的推薦性能,從而衡量不同用戶推薦的前N項的準確性。
1) NDCG@N:為排名靠前的項目分配更高的分數,考慮了推薦結果的相關性以及它們的排名順序,因此是一個更加全面和準確的評估指標。
式中:[Sju(N)]表示j位置的預測分數;Tu表示序列集合;C是一個歸一化常數。
2) HR@N:表示命中率,衡量在推薦列表中是否包含了用戶實際感興趣的項目。
式中:[Su(N)]表示排序后的前N項集合;Tu表示序列集合;[I(·)]表示指示函數。
3.3" 對比模型結果與分析
為了測試VGIN模型的性能,將其與GRU4Rec+、TransRec、SR?GNN、ST?RNN和SASRec模型進行對比。
1) GRU4Rec+:是一種基于結合GRU和GNN的序列化推薦模型,使用了不同的損失函數和采樣策略。
2) TransRec:是一種基于翻譯的一階順序推薦模型,添加了一個全局翻譯向量來初始化所有的用戶,有效地緩解了用戶冷啟動問題。
3) SR?GNN:是一種基于GNN的模型,捕捉會話中項目之間復雜的轉換關系。
4) ST?RNN:是一種基于改進RNN的推薦模型,用于興趣點推薦。
5) SASRec:將自注意力機制融合到推薦系統中。
表2和表3分別是模型在Foursquare數據集中的NDCG@N和HR@N結果。首先在所有基線模型中,SR?GNN在NDCG@N指標中性能最差,這是因為SR?GNN沒有考慮數據的時序性,說明了單純的GNN模型不適合序列推薦。GRU4Rec+、ST?RNN都是循環神經網絡結構,具有對序列數據進行遞歸處理的能力,可以捕獲序列中的信息,它們相較于SR?GNN的NDCG@N和HR@N指標均有所提升,但循環神經網絡結構本身難以捕捉序列長期依賴關系。TransRec模型雖然通過對用戶初始化的方式,在一定程度上改善了冷啟動問題,但其僅僅考慮局部特征,未考慮全局特征,導致性能提升有限。SASRec使用了自注意力網絡,提高了模型的表達能力和捕捉長距離依賴關系能力,從而對序列行為有較強的建模能力,但未考慮節點之間的空間聯系。而VGIN引入Informer模型中的稀疏注意力機制取代了自注意力機制,并考慮了節點的空間聯系,還使用VAE降低了冷啟動對推薦性能的影響,性能較優異。
實驗數據表明,VGIN模型優于所有基線模型,在NDCG@5、NDCG@10、NDCG@20指標上相較基線模型SASRec分別提升約3.58%、7.12%、7.87%,在HR@5、HR@10、HR@20指標上分別提升約3.07%、2.91%、8.24%。
3.4" 推薦長度對模型影響分析
在本節中研究了不同序列長度對模型效果的影響,如圖3所示,其中序列長度的取值范圍為20~300。
由圖3可以得出:對比的基準模型在序列長度超過120后,HR@20指標均有大幅降低,而本研究提出的VGIN模型在序列為200時性能最優,且序列長度到達300時性能仍能保持平穩。模型利用Informer?encoder模塊對長序列的特征信息充分提取,證明了VGIN模型對于長序列推薦相比其他基準模型有較強的處理能力。
3.5" 消融實驗結果與分析
為了解各模塊對模型性能的影響,本研究進行了消融實驗,得到了變體的性能表現,具體如下。
1) VGIN?α:移除用戶偏好重構層VAE模塊;
2) VGIN?β:移除特征提取層的Informer?encoder模塊。
由表4的消融實驗對比結果得出:當移除Informer?encoder模塊后,模型效果提升不明顯,在HR@5、HR@10指標上低于基準模型SASRec,原因是模型對于時序信息感知較差,同時說明了Informer?encoder模塊的有效性;模型移除VAE模塊后NDCG@N和HR@N指標均有所下降,從側面說明VAE可以重構用戶缺失的評分信息,以降低用戶冷啟動對性能的影響,提升模型性能。
4" 結" 語
現有的序列推薦算法對于長序列推薦計算復雜度高,容易產生梯度爆炸或消失,且未針對冷啟動問題做出優化。針對上述問題,本研究提出了一種新的融合GCN和Informer的序列推薦算法VGIN。該算法可以有效提取數據的時空特征,對長序列數據的時序關系提取能力有較大提升,進一步降低了預測的評分誤差,提高了模型的性能;同時模型引入VAE重構用戶偏好,解決了用戶冷啟動導致的推薦精度下降問題。從實驗結果看,所提模型的NDCG@N和HR@N指標均優于基線模型,證明了該模型的有效性。未來將選用多種數據集進行實驗,以提高模型的普適性。
注:本文通訊作者為李然。
參考文獻
[1] RODPYSH K V, MIRABEDINI S J, BANIROSTAM T. Resolving cold start and sparse data challenge in recommender systems using multi?level singular value decomposition [J]. Computers amp; electrical engineering, 2021, 94: 107361.
[2] SALAKHUTDINOV R, MNIH A, HINTON G. Restricted Boltzmann machines for collaborative filtering [C]// Proceedings of the 24th International Conference on Machine Learning. [S.l.]: ACM, 2007: 791?798.
[3] HE X, DENG K, WANG X, et al. LightGCN: simplifying and powering graph convolution network for recommendation [C]// Proceedings of the 43rd International ACM SIGIR Conference on Research and Development in Information Retrieval. [S.l.]: ACM, 2020: 639?648.
[4] XU C, ZHAO P, LIU Y, et al. Graph contextualized self?attention network for session?based recommendation [C]// Proceedings of the Twenty?Eighth International Joint Conference on Artificial Intelligence. Macao, China: International Joint Conferences on Artificial Intelligence Organization, 2019: 3940?3946.
[5] STEFFEN R, CHRISTOPH F, LARS S T. Factorizing persona?lized markov chains for next?basket recommendation [C]// 19th International World Wide Web Conference. New York, NY, USA: ACM, 2010: 811?820.
[6] VASWANI A, SHAZEER N, PARMAR N, et al. Attention is all you need [C]// Advances in Neural Information Processing Systems 30: Annual Conference on Neural Information Processing Systems. [S.l.]: NeurIPS, 2017: 59988?60008.
[7] KANG W C, MCAULEY J J. Self?attentive sequential recommendation [C] // International Conference on Data Mining. [S.l.]: IEEE, 2018: 197?206.
[8] 張寶鑫,楊丹,聶鐵錚,等.基于自監督的多視角圖協同過濾推薦方法[J].計算機工程,2024,50(5):100?110.
[9] 關菲,周藝,張晗.個性化推薦系統中協同過濾推薦算法優化研究[J].運籌與管理,2022,31(11):9?14.
[10] ZHOU H, ZHANG S, PENG J, et al. Informer: beyond efficient transformer for long sequence time?series forecasting [J]. AAAI conference on artificial intelligence, 2021, 35(12): 11106?11115.
[11] XU B B, CEN K T, HUANG J J, et al. A survey on graph convolutional neural network [J]. Chinese journal of computers, 2020, 43(5): 755?780.
[12] KINGMA D P, WELLING M. Auto?encoding variational bayes [EB/OL]. [2024?02?17]. https://export.arxiv.org/pdf/1312.6114.
[13] YANG D, ZHANG D, ZHENG V W, et al. Modeling user activity preference by leveraging user spatial temporal characteristics in LBSNs [J]. IEEE transactions on systems, man, and cybernetics: systems, 2014, 45(1): 129?142.
[14] WEI Y, LIU W, LIU F, et al. LightGT: a light graph transformer for multi?media recommendation [C]// Proceedings of the 46th International ACM SI?GIR Conference on Research and Development in Information Retrieval. [S.l.]: ACM, 2023: 1508?1517.
[15] 馮健.基于用戶長短期興趣的自注意力序列推薦[J].計算機應用與軟件,2023,40(6):103?111.
[16] 范鈺,范洪博.基于圖神經網絡的推薦系統模型[J].現代電子技術,2024,47(3):85?90.
[17] 郭海鋒,許宏偉,周子盛.深度時空混合圖卷積的城市交通預測模型[J/OL].小型微型計算機系統,1?8[2024?04?13].http://kns.cnki.net/ kcms/detail/21.1106.tp.20231221.1618.014.html.
[18] 王新峰,黃偉.變分自編碼器對甲基化缺失數據的填補[J].計算機工程與應用,2022,58(12):149?154.
作者簡介:范利利(1997—),男,山東菏澤人,碩士研究生,研究方向為推薦算法。
李" 然(1967—),女,遼寧大連人,碩士研究生,副教授,研究方向為計算機科學與技術。
王" 寧(1999—),男,遼寧大連人,碩士研究生,研究方向為推薦算法。
王客程(2000—),男,遼寧沈陽人,碩士研究生,研究方向為深度學習。
吳" 江(1998—),男,甘肅白銀人,碩士研究生,研究方向為深度學習。
收稿日期:2024?04?17" " " " " "修回日期:2024?05?23
基金項目:中國醫藥教育協會2022重大科學攻關問題和醫藥技術難題重點課題(2022KTM036)