周華平,周明
(安徽理工大學 計算機科學與工程學院,安徽 淮南 232001)
在當前信息爆炸的時代,人們利用大數據這把雙刃劍,在掌握信息、豐富知識、開闊眼界的同時,也被大量的“泡沫數據”所影響,被無效的信息所包圍,無從下手,無從關注。此外,用戶所關心的信息被嚴重封鎖,無法獲得。目前,緩解這些問題是當務之急。正是在這種情況下,推薦系統應運而生,以處理“泡沫數據”對用戶的負面影響。社會推薦系統在幫助目標用戶尋找潛在的感興趣的項目方面有著廣泛的應用。在社交推薦領域,由項目與項目、項目與用戶、用戶與用戶組成的多方互動可以用圖形來表達,項目和用戶是節點,互動是邊。因此,推薦系統與更豐富的社會網絡相結合,利用它們之間傳播的信息提高推薦的相關性和有效性。
社會化推薦考慮通過采用用戶感興趣的內容,即用戶關系鏈中的推薦內容來進行推薦。近年來,Guo等人[1]研究了物品特征之間的關聯性,并將用戶特征空間和物品特征空間抽象為兩個圖網絡,以提高社交推薦的準確性。Liu等人[2]提出了一個同時發現多種復雜關系的物品關系圖神經網絡[3],并為不能直接獲得的物品或用戶信息提供了一個解決方案。關于關系,實體之間也存在高階關系。許多研究考慮整合知識圖譜和用戶-項目圖譜來捕捉這些高階關系。鑒于圖神經網絡的力量,它們被納入了本文的框架。
自注意力機制被應用于模擬行為之間的相互作用。Zhou等人[4]指出,在電子商務領域中,用戶可能會進行多種行為,如瀏覽、購買和收藏產品,使用優惠券,點擊廣告,搜索關鍵詞,撰寫評論或觀看商家提供的產品介紹視頻等,因而從一個更全面的角度了解用戶行為,能為我們提供不同的視角。然而,面對用戶行為的異質性和多樣性,現有的推薦模型難以提供更準確的推薦結果。具體而言,自注意力機制用于將用戶每個行為的客觀表示轉化為其內部記憶中的表示。客觀表示是指當用戶A和B執行相同的行為時,行為本身的表示可能是相同的,但在A和B的記憶中,該行為的重要程度和清晰度可能完全不同,因為A和B的其他行為是不同的。
結合以上背景,本文提出了一種全新的圖神經網絡社交推薦系統。
-在特征融合階段,為全局特征的融合引入了一個自我關注的機制。
-提出使用門控遞歸單元對用戶和項目的時間交互歷史進行建模。
用U={u1,u2,…,um}和V={v1,v2,…,vn}分別表示用戶和項目的集合,其中m和n分別為用戶和項目的數量。L∈Li*j表示為用戶與項目的交互圖。用戶ui對相應項目vj給出的評分值用來表示eij。如果用戶不對項目進行評分或兩者沒有互動,則eij=0。一般來說,矩陣L是稀疏的。將用戶社交圖定義為PU=(U,QU),其中QU作為邊集連接用戶。

圖1 GFTI-Rec的總體框架
輸入層對原始數據進行預處理,然后構建項目關系圖,進一步將預處理后的數據轉換為用戶和項目嵌入,之后通過本文新提出的門控遞歸單元網絡進行聚合,獲得用戶的潛在因子偏差,項目建模被用來學習項目的潛在因子偏差。最后,潛在因素偏差通過輸出層輸出,最終得到預測分數。

(1)

(2)

Rt=σ(wirxt+ht-1whr+br)
(3)
Zt=σ(wizxt+ht-1whz+bz)
(4)
接下來需要通過對神經單元進行門控來計算候選的隱藏狀態pt,以便計算隱藏狀態qt:
pt=tanh(wipxt+(Rt?ht-1)whp+bh)
(5)
qt=pt?(1-Zt)+ht-1?Zt
(6)
其中wip和Rt表示權重,bh表示偏差向量。

為了提高模型的性能,我們使用雙向門控遞歸單元,如圖2所示,輸出是由全連接層的激活函數sigmoid得到的:

圖2 雙向門控循環單元示意圖
由于縫合操作是由前向和后向傳播的結果結合表示,所以最終的節點表示為:
(7)

由于自注意機制可以有效地捕捉全局特征,它解決了一般注意力機制只能局部學習的殘缺問題。同時,自注意機制不僅可以自動學習用戶自己的特征,還可以提供物品屬性的全面表述,見圖3。
使用的自注意機制的輸入由Q,K,V組成。這里Q,K,V的輸入由用戶和項目信息的嵌入向量組成,然后加權得到最終輸出:
(8)

(9)

(10)
其中,σ用于表示非線性激活函數,w和b分別表示權重和偏差,X(i)表示聚合的用戶意見感知互動。
(11)

最終得到的聚合函數如下:
(12)

(13)
其中,γ用于表示非線性激活函數,w和b分別表示權重和偏差,D(i)表示聚合的鄰居意見感知的相互作用。
(14)
其中goutput是一個三層神經網絡的多層感知器。
從評級預測的角度來評估我們提出的模型。讓α為數據集中的所有評級的集合,α={(i,j):eij≠0}。對于評級預測的任務,有一個常用的目標函數:
(15)
3.1.1 數據集 我們將模型分別放在Ciao和Epinions數據集上進行評估,這兩個數據集都取自流行的社交網站,都包含了用戶、項目、評分和社交關系等組成部分,每個社交數據項的 “關注者數據指數”和“關注者指數”都包括在內(表1)。

表1 Ciao數據集和Epinions數據集的特點
3.1.2 評價指標 在比較本模型與其他比較模型的評分預測性能時,我們使用兩個指標來評估推薦算法的預測準確性,即MAE和RMSE。
(16)
(17)
其中,測試集中所有得分邊的權重用yi表示,測試集中每條得分邊的預測權重用xi表示。
3.1.3 基線模型 傳統的推薦算法:PMFcite[5],SocialMF[6],它只使用用戶和項目的潛在因素進行建模。
基于傳統方法的社會推薦:SoReC[7],TrustMF[8],在原先評分信息之上使用社會信息,即同時使用評分信息和社會網絡信息。
基于深度學習的推薦算法:Deep-SoR[9],一種深度社交推薦。
基于圖神經網絡的社交推薦算法: GraphRec[1],GDSRec[10]。

表2 對不同方法的預測性能進行評級
3.1.4 參數設置 我們使用Python 3.8、PyTorch 1.7和Cuda 11作為算法構建的環境。對于每個數據集的參數設置,0.8被用作學習參數的訓練集,0.1被用作優化的驗證集,最后0.1被用作測試集。對于嵌入大小,我們測試了[8,16,32,64,128,256]的值,而學習率在[ 0.0005,0.001,0.005,0.01,0.05,0.1]之間。對于Bi-Gru來說,層數不僅決定了模型的復雜性,也決定了對模型誤差的影響,我們將其設置為[1,2,3]。
3.2.1 自注意力機制的影響 本文分析和比較了以下2個模型的變體,以證明所提方法的有效性。
3.2.1.1 GFTI-Rec 使用一個自我注意機制來學習不同層次的信息(本文中的模型)。
3.2.1.2 GFTI-Rec-1 本文中的自我注意機制被一個由單層神經網絡組成的注意網絡取代,以證明本文中使用的注意機制的有效性。
3.2.1.3 GFTI-Rec-2 禁用注意層,直接輸入上下文信息,以證明第1層的注意機制對模型在信息過濾中的作用。

圖4 自注意力機制對獲得潛在因子偏差的影響
自我注意α,β,γ:消除了三種自我注意機制,即通過項目聚合、社會聚合和用戶聚合分別對用戶的潛在因子偏差進行建模,通過基于均值的項目聚合函數對項目空間用戶的潛在因子偏差進行建模,基于均值的社會聚合函數對用戶的潛在因子偏差進行建模,通過基于均值的項目聚合函數對項目空間用戶的潛在因子偏差進行建模,基于均值的社會聚合函數對社會用戶的潛在因子偏差進行建模。
3.2.2 雙向門控單元的影響 我們猜想,模型的復雜性可能由GRU的類型和GRU層的數量決定。為了避免過度擬合,我們分別研究了單層GRU、Bi-GRU和LSTM對模型誤差的影響。
從圖5中可以看出,Bi-GRU對數據集有較好的推薦作用,而層數過多則有較嚴重的過擬合現象,層數過少則削弱了模型的學習能力,如果使用單層GRU或LSTM,我們無法達到模型的最佳學習能力。

圖5 雙向門控循環單元對交互建模的影響
我們還研究了不同的超參數設置對我們的推薦算法有效性的影響:
(a) 迭代次數的影響;
(b) 不同批次大小的影響;
(c) 不同丟棄率下Dropout的影響。

圖6(a) 迭代次數對模型性能的影響
(a)實驗結果表明,模型的性能隨著迭代次數的增加而變化,隨著迭代次數的增加,模型性能先增加后減少。迭代次數為4時,模型性能最佳。如果迭代次數太少,模型訓練就不能收斂,出現欠擬合。

圖7(b) 不同的批次大小對Ciao和Epinions數據集的影響

圖8(c) 在Ciao和Epinions數據集上不同丟棄率的Dropout的影響
(b)隨著批處理量的增加,模型的性能并沒有變好,而相對較小的批處理量,再加上一點隨機性,就相當于在學習過程中加入了噪聲,從某種意義上說,會有一些典范效應。
(c)在大多數非線性激活單元的輸出和GRU層之間,通過增加一個輟學層和調整全局統一輟學概率,可以使模型在抑制過擬合方面有更好的表現。輟學概率的變化決定了模型的最佳預測誤差,當輟學概率在0.5時,模型將在預測誤差和過擬合之間達到良好的平衡當輟學概率在0.5時,模型將在預測誤差和過擬合之間達到良好的平衡。
可以看出,Epinions數據集比Ciao數據集有更多的用戶項目互動,而且用戶對特定項目的興趣往往會隨著時間而波動。因此,像PMF和NCF這樣僅僅利用評級信息的模型在Ciao數據集上的表現稍好,但像SoRec和Graphrec這樣利用數據集的社會關系的模型在Epinions數據集上的表現稍好。相對而言,我們的方法優于以前的推薦模型,因為它結合了社會數據,并更廣泛地利用了數據本身的全局特征。