王永貴,王 陽,陶明陽,蔡永旺
遼寧工程技術(shù)大學(xué) 電子與信息工程學(xué)院,遼寧 葫蘆島 125105
推薦系統(tǒng)[1]可以緩解大數(shù)據(jù)時代下“信息過載”的問題,幫助用戶從繁雜的信息中挑選出有價值的信息,為用戶提供個性化服務(wù)。傳統(tǒng)推薦模型[2]常依賴于用戶資料可用性和長期歷史交互,但在許多真實場景中用戶訪問在線流媒體網(wǎng)站(例如,YouTube 和Tiktok)時很少有注冊登錄的習(xí)慣,更多的用戶訪問時使用匿名方式。因此,如何根據(jù)給定的匿名用戶行為序列預(yù)測用戶下一個感興趣的物品[3],成為現(xiàn)階段一項重要任務(wù),即基于會話推薦任務(wù)。
早期,基于會話推薦的模型大多數(shù)是基于馬爾可夫鏈[4]進行研究,該類模型的主要思想是根據(jù)用戶之前的動作預(yù)測用戶下一個興趣。然而,該類模型依賴于強獨立性假設(shè),在實際應(yīng)用中,可能會受到噪聲數(shù)據(jù)問題的影響。目前研究SRS 的主流模型為基于循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural netwoks,RNN)的深度學(xué)習(xí)模型[5-6]。該模型處理用戶長會話時性能顯著,能夠捕捉較遠(yuǎn)距離的用戶意圖。但此類模型只對物品之間的連續(xù)單向轉(zhuǎn)移關(guān)系進行建模,忽略了會話中其他物品之間的轉(zhuǎn)移關(guān)系。為了克服上述模型的不足,基于圖結(jié)構(gòu)的會話推薦模型[7]被提出,該類模型將會話物品轉(zhuǎn)移序列構(gòu)建成圖結(jié)構(gòu),然后應(yīng)用圖神經(jīng)網(wǎng)絡(luò)模型探索多個物品之間復(fù)雜的轉(zhuǎn)移關(guān)系。
目前,基于圖結(jié)構(gòu)的會話推薦模型取得了較好的效果,但仍存在一定的局限性,具體如下:(1)之前的工作僅基于目標(biāo)會話對用戶偏好建模,忽略了全局會話信息,即其他會話中有用物品之間的轉(zhuǎn)換關(guān)系。全局會話信息中包含著有價值的補充信息,有利于更準(zhǔn)確地推斷目標(biāo)會話的用戶偏好。本文通過圖1 中的示例進行說明。在不失一般性的前提下,目標(biāo)會話為“Session 1”。從目標(biāo)會話觀察v3和v4均為v2的一階鄰居且v2→v3和v2→v4訪問次數(shù)均為1次,說明v3、v4與v2的關(guān)聯(lián)程度相近,但考慮全局會話,v2→v3的訪問次數(shù)為1次,v2→v4的訪問次數(shù)為4次,從全局角度出發(fā)可以看出v2和v4之間關(guān)聯(lián)更密切。因此,不同會話間可能具有相似的用戶意圖和行為模式,融合全局會話信息能夠更準(zhǔn)確預(yù)測用戶在目標(biāo)會話中的下一個動作。(2)基于圖結(jié)構(gòu)的會話推薦模型在構(gòu)建圖的過程中,出現(xiàn)在不同時間的相同物品都視為同一節(jié)點,以至于不同的會話序列構(gòu)建出的會話圖結(jié)構(gòu)可能完全相同,如圖2所示。因此會話中每個物品的位置信息尤為重要。(3)由于每個用戶操作行為不同,需要處理的會話長度可能會出現(xiàn)長短不一的情況,因此提高模型對不同輸入數(shù)據(jù)的理解能力是有必要的。
本文針對上述問題,分別提出改進方案,以便更好地為用戶推薦物品。首先將用戶會話序列構(gòu)建成全局會話圖和目標(biāo)會話圖,并根據(jù)相鄰物品之間出現(xiàn)的頻率生成物品轉(zhuǎn)移矩陣,同時為了避免將其他會話中無關(guān)物品引入目標(biāo)會話,從全局會話圖中抽取與目標(biāo)會話圖相關(guān)信息為用戶推薦其感興趣物品。其次由于出現(xiàn)在不同時間的相同物品重要性對用戶偏好影響并不相同,因此提出一種位置感知注意網(wǎng)絡(luò),將反向位置信息嵌入物品中。最后每個用戶的操作習(xí)慣不同,會話長度可能出現(xiàn)長短不一的情況,且會話長度越長,用戶興趣越易被短期的環(huán)境和心情所影響。因此融合會話長度信息,為長期偏好和短期偏好分配不同的權(quán)重,從而為用戶做出更有效的推薦。
傳統(tǒng)的基于會話推薦系統(tǒng)模型,如矩陣分解模型(matrix factorization,MF)[8]和馬爾科夫鏈模型(Markov chains,MC)[9],由于用戶-物品矩陣中用戶評分的缺失和無法有效建模序列中的上下文信息等問題,因此并不能較好地應(yīng)用于SRS 任務(wù)中。受MF 和MC 優(yōu)點的啟發(fā),一些研究人員提出二者優(yōu)點混合模型,如個性化馬爾可夫鏈模型(FPMC)[10]。利用矩陣分解和馬爾可夫鏈結(jié)合,生成物品評級列表實現(xiàn)基于會話的推薦任務(wù)。
近年來,隨著深度學(xué)習(xí)的不斷發(fā)展,深度神經(jīng)網(wǎng)絡(luò)在序列數(shù)據(jù)建模方面取得顯著成果。Hidasi等人[5]提出多層門控遞歸單元循環(huán)神經(jīng)網(wǎng)絡(luò)模型(GRU4Rec),在SRS 任務(wù)中,GRU4Rec 通過RNN 結(jié)構(gòu)綜合考慮用戶歷史行為,并利用歷史點擊記錄建模會話數(shù)據(jù)。在GRU4Rec模型研究基礎(chǔ)上,Quadrana等人[11]結(jié)合用戶畫像并使用分層循環(huán)神經(jīng)網(wǎng)絡(luò)進行個性化推薦。Li 等人[12]提出新的注意力機制模型(NARM),明確考慮會話中每個物品的重要程度,將注意機制集成到堆棧GRU編碼器中,以捕獲SRS 更具有代表性的物品轉(zhuǎn)換信息。Liu等人[13]提出了一種基于注意力機制的短期記憶網(wǎng)絡(luò)(STAMP),該模型能夠從會話上下文的長期記憶中獲取用戶的長期興趣,同時強調(diào)用戶最后一次點擊行為作為用戶的當(dāng)前興趣?;赗NN的模型雖然對實驗效果具有一定的提升,但RNN 側(cè)重于對相鄰物品的順序轉(zhuǎn)換關(guān)系建模[14],通過給定序列的信息推斷用戶偏好,因此不能建模復(fù)雜的物品轉(zhuǎn)換關(guān)系。
圖神經(jīng)網(wǎng)絡(luò)(graph neural network,GNN)作為一種從圖嵌入和卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)思想啟發(fā)而來的新型神經(jīng)網(wǎng)絡(luò),能夠?qū)D結(jié)構(gòu)數(shù)據(jù)進行特征提取,是一種易擴展且高效的新型神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)[15-16],在學(xué)習(xí)圖數(shù)據(jù)方面表現(xiàn)出極強的能力。與循環(huán)神經(jīng)網(wǎng)絡(luò)方法相比,GNN 能夠通過構(gòu)建圖結(jié)構(gòu)反映實體之間的關(guān)系。目前,國內(nèi)外對GNN 的研究在不同方向取得顯著成果,如特征關(guān)系提取[17]、自然語言處理[18]、文本分類[19]、疾病預(yù)測[20]、圖片分類[21]等。
隨著圖神經(jīng)網(wǎng)絡(luò)的發(fā)展[22],為人們進一步分析推薦系統(tǒng)實體及其相互之間的關(guān)系提供更好的表示方式。使用圖模型學(xué)習(xí)SRS 物品嵌入也引起了廣泛關(guān)注,在SRS任務(wù)中,物品之間的交互序列對應(yīng)于圖中的節(jié)點和邊。因此,利用GNN將交互序列構(gòu)造為圖結(jié)構(gòu)數(shù)據(jù),用來實現(xiàn)基于會話的推薦任務(wù)。Wu等人[7]提出圖神經(jīng)網(wǎng)絡(luò)模型(SR-GNN)學(xué)習(xí)會話圖上的物品嵌入,將目標(biāo)會話編碼為未加權(quán)的有向圖,結(jié)合門控圖神經(jīng)網(wǎng)絡(luò)(gated graph neural network,GGNN)[23]和注意力機制[24-25]獲得有代表性的會話嵌入,并計算每個物品與最后一個物品之間的相關(guān)性。基于這項工作,Xu 等人[26]提出基于GNN 的推薦器和自我注意網(wǎng)絡(luò)模型(GC-SAN),使用GGNN 網(wǎng)絡(luò)提取局部上下文信息和自注意網(wǎng)絡(luò)(selfattention network,SAN)捕獲遠(yuǎn)程位置依賴關(guān)系。此外,Qiu等人[27]提出加權(quán)注意網(wǎng)絡(luò)圖模型(FGNN),區(qū)別于SR-GNN,將目標(biāo)會話轉(zhuǎn)換為加權(quán)有向圖,其中邊的權(quán)重為物品轉(zhuǎn)換的數(shù)目。并采用自適應(yīng)的加權(quán)圖注意網(wǎng)絡(luò)提取物品特征,但該模型忽略了會話內(nèi)一些遠(yuǎn)程依賴關(guān)系。Chen等人[28]提出快捷圖注意網(wǎng)絡(luò)模型,引入了門循環(huán)單元(gate recurrent unit,GRU)邊緣順序保留聚合層和捷徑圖關(guān)注層,用于處理無損編碼圖和捕獲遠(yuǎn)程依賴關(guān)系,進而有效解決消息缺失問題。Fang等人[29]提出基于自注意網(wǎng)絡(luò)(SR-SAN)會話推薦的新模型,利用自注意網(wǎng)絡(luò)捕獲會話中所有物品之間依賴關(guān)系。Zhou 等人[30]提出基于會話推薦的時間增強圖神經(jīng)網(wǎng)絡(luò)(TASRec),在長時間內(nèi)模擬動態(tài)用戶的興趣。然而,上述所有模型都只模擬目標(biāo)會話上的物品轉(zhuǎn)換信息。相比之下,本文提出GCI-GNN 模型通過考慮會話全局上下文信息學(xué)習(xí)物品之間的轉(zhuǎn)換關(guān)系,以增強用戶興趣的推斷。
SRS 任務(wù)通過給定用戶與物品的交互記錄(如點擊、瀏覽)預(yù)測用戶下一步操作。下面給出本文的符號定義?;跁捦扑]任務(wù)中,V={v1,v2,…,vn}表示會話中所有點擊物品集合,S={s1,s2,…,s|s|}表示所有會話數(shù)據(jù)集合,每個會話對應(yīng)一個順序點擊物品序列si=(v1,v2,…,vl),l表示每條會話si的長度,其中vi∈V表示在會話s中用戶第i次點擊的物品。GCI-GNN 模型利用會話數(shù)據(jù)預(yù)測用戶下一步操作,即利用已知會話前綴=[v1,v2,…,vn] 預(yù)測用戶n+1 步將要點擊的物品vn+1。為此,本文利用會話前綴為每個候選物品生成評分,y^=(y^1,y^2,…,y^|V|)表示模型輸出的評分向量,其中y^i表示對應(yīng)物品vi的分?jǐn)?shù)。由此,GCI-GNN模型是通過輸入會話si預(yù)測評分y^的分類模型。為了使用戶會話數(shù)據(jù)適用于模型,將用戶會話數(shù)據(jù)轉(zhuǎn)換為圖結(jié)構(gòu)數(shù)據(jù),即會話序列構(gòu)建有向圖Gs=(Vs,Es),Vs表示物品集合,Es表示物品間有向邊集合。其中圖中每個節(jié)點vi代表一個物品,(vi,vi+1)∈Es作為一條邊,代表在會話中用戶點擊vi之后點擊了vi+1。
本文提出融合全局上下文信息注意力增強的圖神網(wǎng)絡(luò)模型(GCI-GNN),模型架構(gòu)如圖3所示。由于用戶的目標(biāo)會話蘊含的信息非常有限,因此本文將全局會話信息融入目標(biāo)會話中,進而提高推薦效果。具體做法是,首先將全部會話構(gòu)建全局會話圖,并根據(jù)相鄰物品之間出現(xiàn)的頻率生成物品轉(zhuǎn)移矩陣,同時為了避免將全局會話中無關(guān)物品引入目標(biāo)會話,從全局會話圖中抽取與目標(biāo)會話圖相關(guān)信息為用戶推薦其感興趣物品。其次由于出現(xiàn)在不同時間的相同物品重要性對用戶偏好影響并不相同,因此提出位置感知注意網(wǎng)絡(luò),將反向位置信息嵌入物品中。最后每個用戶的操作習(xí)慣不同,會話長度可能出現(xiàn)長短不一的情況,且會話長度越長,用戶興趣越易被短期的環(huán)境和心情所影響。因此融合會話長度信息,為長期偏好和短期偏好分配不同的權(quán)重,從而為用戶做出更有效的推薦。
現(xiàn)有的會話推薦方法大多數(shù)僅關(guān)注于目標(biāo)會話的內(nèi)部信息,忽略了其他會話的信息,但其他會話信息往往包含著非常有價值的補充信息,有利于更準(zhǔn)確地推斷目標(biāo)會話的用戶偏好。例如:
目標(biāo)會話序列:華為手機→數(shù)據(jù)線→藍牙耳機
會話序列1:藍牙耳機→頭戴耳機→有線耳機
會話序列2:華為手機→華為電腦→藍牙耳機
現(xiàn)有方法只關(guān)注目標(biāo)會話序列對用戶下一步操作的影響,但對于會話序列1 而言,用戶可能具有買耳機的意圖而進行同類物品的比較,因此對目標(biāo)會話產(chǎn)生耳機種類的影響,對于會話2 而言,用戶可能喜歡華為品牌,對目標(biāo)會話可能產(chǎn)生品牌種類的影響。因此,可以利用全局會話信息和目標(biāo)會話信息之間的聯(lián)系,克服僅僅使用目標(biāo)會話的限制,挖掘更多的隱藏信息,從而為用戶提供更加精確地推薦。
在本節(jié)中,進一步利用會話中涉及的節(jié)點向量表示用戶短期和長期偏好。并考慮會話中各個節(jié)點的位置信息和會話長度信息生成用戶偏好。
傳統(tǒng)的會話推薦方法只使用會話內(nèi)的物品表示獲取用戶興趣,這些方法將會話壓縮為固定向量,但考慮到目標(biāo)物品的多樣性,固定向量將限制推薦模型的表示能力。為了改善這一缺陷,本文使用目標(biāo)感知注意網(wǎng)絡(luò)模塊,在會話圖中捕獲節(jié)點嵌入后,使用目標(biāo)感知注意網(wǎng)絡(luò)激活與目標(biāo)物品va相關(guān)的用戶興趣。其va為要預(yù)測的所有候選物品,計算會話s中所有物品vi與每個目標(biāo)物品va∈V之間的注意力分?jǐn)?shù),并將權(quán)重矩陣W∈Rd×d應(yīng)用于目標(biāo)物品va與每個節(jié)點hi中,使用softmax 函數(shù)對注意力得分進行歸一化處理,定義如下:
長期偏好:在瀏覽的過程中,用戶對每個物品喜愛程度不同,并且不同物品對下一個物品預(yù)測的貢獻并不相等。直觀地說,物品的重要性依賴于它在會話中所處的位置,以及它與最新訪問物品之間的相關(guān)性。因此本文提出了一種位置感知注意網(wǎng)絡(luò),將反向位置信息納入物品嵌入中。使用一個可學(xué)習(xí)的位置嵌入矩陣P=[p1,p2,…,pl],其中pi∈Rd是特定位置i的位置向量,l表示會話序列的長度。位置信息zi通過拼接和非線性變換進行融合,如式(9):
其中,q,b2∈Rd和W2,W3,W4∈Rd×d是權(quán)重參數(shù)。
最后,艾賓浩斯遺忘原理指出,人的記憶在遺忘的過程中是有規(guī)律的,最新的瀏覽內(nèi)容所體現(xiàn)的興趣比較長時間前瀏覽內(nèi)容體現(xiàn)的興趣更加重要,其重要性隨時間而逐漸衰減。因此對于不同的會話長度,用戶的長期偏好和短期偏好對用戶有不同的影響,隨著時間的推移,會話長度越長,短期偏好對用戶的影響越重要。因此本文采用歸一化的方法對會話長度l進行處理,對于長期偏好和短期偏好分配不同的權(quán)重,即會話長度越長,越重點捕獲用戶短期偏好,從而提升預(yù)測準(zhǔn)確性。定義如下:
xˉ表示會話的平均長度,W5∈Rd×3d將兩個向量嵌入到統(tǒng)一空間Rd中,為每個目標(biāo)物品生成不同的會話嵌入,會話嵌入st由長短期偏好以及目標(biāo)嵌入拼接而成。
本文根據(jù)每個物品初始嵌入和會話的表示去預(yù)測每一個候選物品成為用戶下一個點擊的概率,根據(jù)概率進行降序排序,排在前面的物品,作為用戶感興趣的物品進行推薦,應(yīng)用softmax函數(shù)獲得輸出,定義如下:
對于模型的時間復(fù)雜度,本文從編碼器和解碼器兩個部分進行分析。假設(shè)數(shù)據(jù)集物品總數(shù)為n,每個物品的嵌入向量維度為d,當(dāng)前會話的長度為l。編碼器的時間復(fù)雜度可以近似為圖神經(jīng)網(wǎng)絡(luò)的復(fù)雜度,即O(l2d+ld2)。對于解碼器的部分,復(fù)雜度主要集中在Attention模塊和目標(biāo)感知注意網(wǎng)絡(luò)模塊兩部分。其中,Attention模塊的復(fù)雜度為O(ld2),目標(biāo)感知注意網(wǎng)絡(luò)模塊的復(fù)雜度為O(nd) 。因此,模型的復(fù)雜度O(l2d+ld2+nd),即模型的效率由會話的平均長度、候選物品的個數(shù)、物品嵌入向量的維度共同決定。
為了驗證模型的有效性,本文在公開的數(shù)據(jù)集Yoochoose 和Diginetica 進行實驗,Yoochoose 該數(shù)據(jù)集來自數(shù)據(jù)挖掘會議RecSys 2015 競賽,包含6 個月內(nèi)電子商務(wù)網(wǎng)站的點擊流,Diginetica 數(shù)據(jù)集來自CIKM 2016競賽,本文只使用已發(fā)布的事務(wù)數(shù)據(jù)。為了進行公平的比較,本文采用文獻[7]的數(shù)據(jù)預(yù)處理方案。在Yoochoose 數(shù)據(jù)集上,首先將用戶會話日志中最后幾天的數(shù)據(jù)作為測試集,余下數(shù)據(jù)作為訓(xùn)練集,并且過濾長度為1 的會話和出現(xiàn)次數(shù)小于5 的物品。經(jīng)過預(yù)處理,實驗相關(guān)數(shù)據(jù)如表1所示。
表1 實驗數(shù)據(jù)集相關(guān)數(shù)據(jù)Table 1 Statistics of experiment datasets
本文在模型訓(xùn)練之前,通過序列分割生成序列和相應(yīng)標(biāo)簽。例如對于給定輸入會話si=[v1,v2,…,vn],生成子序列{([v1],v2),([v1,v2],v3),…,([v1,v2,…,vn-1],vn)},將每個子序列括號內(nèi)的物品作為輸入數(shù)據(jù),而剩余一項作為標(biāo)簽數(shù)據(jù)。由于Yoochoose 數(shù)據(jù)量過大,并且現(xiàn)有研究表明在最近數(shù)據(jù)集上訓(xùn)練比在整個數(shù)據(jù)集上訓(xùn)練效果更好。因此,本文取訓(xùn)練數(shù)據(jù)的最后1/64作為模型的實際訓(xùn)練集,即為Yoochoose1/64。
為了評價本文提出的GCI-GNN 模型性能,使用下面的模型作為基線模型,在上述兩個數(shù)據(jù)集中將GCIGNN與基線模型進行對比。
(1)POP:最簡單的SRS算法模型,始終根據(jù)訓(xùn)練集中物品出現(xiàn)頻率排名進行推薦。
(2)FPMC[10]:將MF 和MC 相結(jié)合的下一個物品混合推薦模型。
(3)GRU4Rec[5]:在會話推薦中采用RNN 對用戶序列建模,利用并行小批處理訓(xùn)練過程將會話拼接,使用基于排序的損失函數(shù)學(xué)習(xí)模型。
(4)NARM[12]:提出在RNN 中加入注意力機制的模型,該模型利用注意力機制從隱狀態(tài)捕捉用戶的意圖,并結(jié)合用戶瀏覽時順序行為信息生成最終興趣表達進行推薦。
(5)STAMP[13]:在RNN 編碼器加入注意力層,通過依賴于當(dāng)前會話中最后一個物品捕捉用戶的短期興趣,從而緩解興趣漂移對模型的影響。
(6)CSRM[6]:使用內(nèi)部內(nèi)存編碼器和一個外部內(nèi)存編碼器,將協(xié)作鄰域信息應(yīng)用到基于會話的推薦中。
(7)SR-GNN[7]:將會話信息映射為圖結(jié)構(gòu),并通過門控圖神經(jīng)網(wǎng)絡(luò)獲得物品之間的轉(zhuǎn)移信息,同時應(yīng)用注意力機制生成會話向量。
(8)GC-SAN[26]:利用圖神經(jīng)網(wǎng)絡(luò)和多層注意力網(wǎng)絡(luò),獲得用戶長期興趣,最后通過門控機制將長期興趣和短期興趣結(jié)合獲得會話最后的表示。
(9)FGNN[27]:將目標(biāo)會話轉(zhuǎn)換為有向加權(quán)圖,使用加權(quán)注意力圖結(jié)構(gòu)和讀取函數(shù)學(xué)習(xí)會話特征。
(l0)TA-GNN[32]:在SR-GNN 基礎(chǔ)上使用目標(biāo)注意網(wǎng)絡(luò),為基于會話的推薦任務(wù)引入目標(biāo)注意單元,能夠準(zhǔn)確地捕捉不同物品的優(yōu)先級。
(11)LESSR[28]:引入了GRU邊緣順序保留聚合層和捷徑圖關(guān)注層,用于處理無損編碼圖和捕獲遠(yuǎn)程依賴關(guān)系,進而解決信息缺失的問題。
(12)SR-SAN[29]:利用自我注意力機制學(xué)習(xí)物品之間的依賴關(guān)系。同時利用多頭注意力機制獲取會話重要部分。
本文采用P@K(Precision)和MRR@K(mean reciprocal rank,MRR)評價指標(biāo)對實驗結(jié)果進行評估。本次實驗K值設(shè)為10和20。
P@K 被廣泛用于衡量會話推薦系統(tǒng)預(yù)測精度,表示推薦結(jié)果排名列表在前K個推薦物品中正確推薦的條目比例。算法定義如下:
其中,N表示推薦物品數(shù)量,n表示返回的正確相關(guān)的推薦物品。
MRR@K 指平均倒數(shù)排名。當(dāng)排名超過K時,倒數(shù)排名被設(shè)置為0。MRR 的度量值考慮了推薦排名的順序,其中較大的MRR 值表示在排名列表的頂部有正確的推薦。定義如下:
其中,Rank(t)是目標(biāo)物品在推薦物品列表中的位置。
本文GCI-GNN模型的物品潛在向量維度d=100,批量大小batch 設(shè)置為100。使用均值為0 且標(biāo)準(zhǔn)差為0.1 的高斯分布初始化所有參數(shù)。使用初始學(xué)習(xí)率為lr=0.001 的Adam 優(yōu)化器,每迭代3 次學(xué)習(xí)率將衰減0.1,將正則化系數(shù)μ設(shè)置為10-5,所有的權(quán)重矩陣都通過正態(tài)分布N( 0,0.052)的抽樣初始化,在Diginetica 數(shù)據(jù)集下η=0.5,在Yoochoose1/64數(shù)據(jù)集下η=0.6。隨機抽取訓(xùn)練集的10%作為驗證集。
品牌創(chuàng)新能力的路徑系數(shù)達到了0.92,說明其對新疆農(nóng)產(chǎn)品區(qū)域品牌競爭力具有非常顯著的作用。因此在品牌創(chuàng)新能力提升方面,首先應(yīng)加強新疆農(nóng)業(yè)技術(shù)創(chuàng)新,增加農(nóng)業(yè)科研投入,加強先進適用技術(shù)的研發(fā)和推廣;其次應(yīng)加強農(nóng)業(yè)管理創(chuàng)新,推動農(nóng)業(yè)供給側(cè)結(jié)構(gòu)性改革,探索和優(yōu)化農(nóng)業(yè)管理體系;再次是加強農(nóng)業(yè)發(fā)展的形象創(chuàng)新能力,應(yīng)加強新疆農(nóng)業(yè)標(biāo)準(zhǔn)化建設(shè),實施農(nóng)產(chǎn)品市場準(zhǔn)入制度,確保農(nóng)產(chǎn)品質(zhì)量絕對安全,同時完善區(qū)域品牌保護機制,完善市場秩序,落實知識產(chǎn)權(quán)保護,促進專利技術(shù)轉(zhuǎn)化實施,建設(shè)誠信體系,加大懲處違規(guī)者,營造新疆農(nóng)產(chǎn)品區(qū)域品牌良好競爭環(huán)境。
3.5.1 整體性能
為了演示GCI-GNN的整體性能,通過評估P@K和MRR@K 分?jǐn)?shù),將其與4.2 節(jié)中提到的基線方法進行了比較,表2 顯示了基線模型和本文提出的GCI-GNN 模型在兩個真實數(shù)據(jù)集上的實驗結(jié)果,其中每一個列的最佳結(jié)果都用加粗突出顯示??梢杂^察到,GCI-GNN 在兩個評價指標(biāo)上的性能均優(yōu)于基線模型。
表2在幾個方面具有啟發(fā)性,在傳統(tǒng)模型中POP的性能最差,它主要強調(diào)具有高共現(xiàn)性的物品,在基于會話的推薦中過于簡單。與POP相比,F(xiàn)PMC在兩個數(shù)據(jù)集上表現(xiàn)更好,顯示了馬爾可夫鏈在建模序列數(shù)據(jù)方面的優(yōu)勢。但是,它無法捕獲會話中復(fù)雜的順序轉(zhuǎn)換。與傳統(tǒng)模型相比,基于神經(jīng)網(wǎng)絡(luò)的模型具有更好的性能。GRU4Rec 作為第一個基于RNN 的SBR 模型,展示了RNN 在建模會話序列方面的能力。然而,它完全依賴于RNN 對會話內(nèi)復(fù)雜轉(zhuǎn)換關(guān)系建模,只能捕獲相鄰節(jié)點之間的依賴關(guān)系,并且可能會生成假依賴關(guān)系。隨后提出的NARM 和STAMP 模型明顯優(yōu)于GRU4REC。NARM結(jié)合RNN和注意力機制,使用RNN的最后一個隱藏狀態(tài)作為用戶的主要偏好,本文觀察到STAMP 比NARM 具有更好的性能,它在會話的最后一個物品上結(jié)合了自我注意力機制模擬用戶短期興趣,這個結(jié)果證明了給不同物品分配注意力權(quán)重對模型至關(guān)重要。CSRM 在兩個數(shù)據(jù)集上的表現(xiàn)優(yōu)于NARM 和STAMP,這顯示了使用其他會話的物品轉(zhuǎn)換的有效性。然而,CSRM使用內(nèi)存網(wǎng)絡(luò)具有有限的空間,并且它將其他會話視為一個整體,可能將其他會話中不相關(guān)信息嵌入到目標(biāo)會話中。
在所有的基線方法中,基于GGNN 的方法在Diginetia 和Yoochoose1/64 數(shù)據(jù)集上表現(xiàn)更好。通過將每個會話序列建模為子圖并用GNN 對物品進行編碼,能夠捕獲用戶行為的復(fù)雜交互。這表明圖結(jié)構(gòu)比時序模型RNN 建模更合適。雖然FGNN 使用的轉(zhuǎn)換方法比SR-GNN使用的方法能捕獲更多信息,但從實驗結(jié)果觀察到FGNN并不在所有數(shù)據(jù)集上都優(yōu)于SR-GNN,這表明選擇一個強大的消息傳遞方案的重要性。LESSR和SR-SAN比SR-GNN表現(xiàn)出更好的性能,它們使用注意力機制捕獲遠(yuǎn)程物品之間的全局依賴關(guān)系,顯示考慮遠(yuǎn)程依賴關(guān)系的有效性。同時TASRec通過構(gòu)建了一個有效的時間圖,合并新的物品轉(zhuǎn)換和衰減舊的邊權(quán)值來過濾過時的信息。對比基線模型,本文的GCI-GNN 模型將會話中的每一物品聚合到會話圖中,通過考慮會話全局信息,反向位置信息以及會話長度對用戶偏好的影響,從而為用戶作出更有效的推薦。從表2中可以明顯看出,在兩個數(shù)據(jù)集中本文提出的GCI-GNN 模型兩個指標(biāo)上均取得了較好的性能。
3.5.2 會話長度的影響
為了進一步驗證模型的有效性,將圖模型LESSR、SR-SAN 和TASRec 以及GCI-GNN 在不同會話長度下進行比較,以展示GCI-GNN 在不同情況下的性能和優(yōu)勢。將會話分為短會話和長會話,“短”表示會話長度為5個物品或更少,“長”表示具有5個物品以上的會話,其中5 是所有原始數(shù)據(jù)中會話的平均總長度。Diginetica測試數(shù)據(jù)集中,短組會話占70.10%,長組會話占29.90%。對于每種模型,本文選取K=20 分析每個數(shù)據(jù)集P@20和MRR@20的結(jié)果。Diginetica實驗結(jié)果如圖5所示。
圖5 顯示了Diginetica 的結(jié)果。可以看到,與短組相比,長組中所有模型的P@20和MRR@20的結(jié)果都比較低,這突出了在數(shù)據(jù)集上針對長會話提出挑戰(zhàn)。這可能因為用戶在當(dāng)前會話開始時的單擊取決于歷史上的用戶交互,隨著會話時間的延長,用戶興趣就會逐漸轉(zhuǎn)移,從而難以處理更大長度的會話。從圖5 觀察到LESSR 和SR-SAN 模型在長會話中性能較TASRec 突出,是因為SR-SAN和LESSR模型的注意網(wǎng)絡(luò)能夠捕獲遠(yuǎn)程依賴關(guān)系,也證實了會話長度對模型有一定的影響。GCI-GNN模型在長組會話相對于其他模型提升更加明顯,這表明會話長度信息的融入能夠解決由于長會話引起的興趣漂移問題。綜上所述,GCI-GNN 仍然是性能最好的模型。
3.5.3 參數(shù)影響
本文測試不同的權(quán)重參數(shù)η對模型的影響,實驗結(jié)果如圖6 所示。從圖中觀察到,隨著η的增加,模型性能在增加,說明融合全局信息能夠提高模型的性能,在Diginetica 參數(shù)η選取0.6,效果達到最優(yōu),在Yoochoose數(shù)據(jù)集上,參數(shù)η選取0.5 時,效果達到最優(yōu)。其次,圖中的虛線代表GCI-GNN 在不同η下的平均性能,以Diginetica數(shù)據(jù)集為例,GCI-GNN在P@10和P@20指標(biāo)下的平均性能為37.43%和51.93%,與表2 中的其他模型相比,GCI-GNN 的平均性能仍較高于其他模型。最后,從整體來看,GCI-GNN 模型的整體結(jié)果趨于穩(wěn)定,在參數(shù)邊界處,也能取得較好的結(jié)果。本文認(rèn)為,當(dāng)η為0時,GCI-GNN的轉(zhuǎn)移矩陣生成完全依賴于目標(biāo)會話信息,即GCI-GNN 的轉(zhuǎn)移矩陣生成模塊退化為類似TAGNN 的轉(zhuǎn)移矩陣生成模塊。當(dāng)η為1 時,GCI-GNN的轉(zhuǎn)移矩陣生成完全依賴于全局信息,因此,GCI-GNN模型性能較為穩(wěn)定。
3.5.4 消融實驗
在本節(jié)中對會話嵌入策略進行消融實驗。設(shè)計了3個模型變體分析用戶偏好的不同表示如何影響模型性能,本文選取K=20 進行分析:(1)不使用會話全局信息模塊,只使用目標(biāo)會話信息(GCI-NA);(2)不使用會話中物品位置信息模塊(GCI-NP);(3)不使用會話長度信息模塊(GCI-NL)。表3 顯示了使用不同會話表示的實驗結(jié)果。
表3 消融實驗的對比結(jié)果Table 3 Comparison results of ablation experiments單位:%
表3 給出了不同模型變體和SR-SAN 之間的對比結(jié)果??梢杂^察出,在全局信息模塊缺失的情況下,模型性能表現(xiàn)不佳??傮w看,GCI-NA 模型與GCI-GNN模型性能相差的較大,這表明探索其他會話的物品轉(zhuǎn)換信息對模型做出更準(zhǔn)確的預(yù)測尤為重要。同時位置信息模塊的移除使得模型的性能退化,證明了位置信息的嵌入可以提升模型的表現(xiàn)能力。因此反向位置信息注意力網(wǎng)絡(luò)可以更準(zhǔn)確地表明每個物品的重要性。同時由于每個用戶操作行為不同,需要處理會話長度會出現(xiàn)長短不一的情況,且會話長度越長越難捕捉用戶的長期偏好,因此不考慮會話長度信息將限制模型表現(xiàn)能力。同時,各個變體模型的實驗結(jié)果均較好于SR-SAN,證明了每個子模塊均可提升對用戶推薦物品的準(zhǔn)確度。
3.5.5 optimizer分析
在本節(jié)中,分析了不同的optimizer 對模型效果的影響,選取了SGD、Momentum、RMSprop、Adam 進行實驗,實驗結(jié)果如圖7 所示。從實驗結(jié)果可以看出,相比于其他優(yōu)化器,SGD的效果較差,本文認(rèn)為主要原因是SGD 容易收斂到局部最優(yōu)且收斂速度較慢,因此并不適用于較復(fù)雜的圖神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)。Momentum 是模擬物理里動量的概念,積累之前的動量來代替真正的梯度,因此在訓(xùn)練初期時,對訓(xùn)練速度有較大的提升,但仍達不到較好的收斂效果。RMSprop 可以較好地修正收斂幅度,使各維度的擺動都較小,從而達到較好的效果。綜合來看,Adam是效果最好的優(yōu)化器,Adam是將Momentum和RMSprop結(jié)合起來使用的一種優(yōu)化器,收斂速度和收斂程度均有較好的效果。
3.5.6 嵌入維度分析
在本節(jié)中,分析不同維度對模型性能影響。實驗測試在嵌入維度d取不同值時,GCI-GNN 模型的性能。設(shè)定嵌入維度d的取值范圍為0 到120,選擇P@20 為評估指標(biāo),在兩個數(shù)據(jù)集上進行實驗,實驗結(jié)果如圖8所示。從圖8 可以看出,隨著嵌入維度d的增加,GCIGNN模型的性能均有所提升,對于Diginetia數(shù)據(jù)集,嵌入維度d達到80 時,模型的性能不再隨著嵌入維度d的增加而提升。對于Yoochoose 1/64數(shù)據(jù)集,嵌入維度d達到90 時,模型的性能不再隨著嵌入維度d的增加而提升。
3.5.7 模型耗時分析
本節(jié)中,對不同模型預(yù)測所用的耗時進行分析。本文選用1 000 條樣本數(shù)據(jù)進行耗時測試,取平均值作為該模型的耗時,具體結(jié)果如表4 所示。可以看出,GCI-GNN 融入全局會話信息后,對模型的耗時并無較大增長。主要原因是,全局會話信息為先驗知識,耗時遠(yuǎn)少于神經(jīng)網(wǎng)絡(luò)的耗時。同時,本文發(fā)現(xiàn)Diginetia數(shù)據(jù)集的耗時略高于Yoochoose 1/64數(shù)據(jù)集,本文認(rèn)為主要原因是Diginetia數(shù)據(jù)集擁有更多的items。
表4 對比基線的實驗結(jié)果Table 4 Comparison of baseline單位:ms
為了進一步驗證GCI-GNN 的模型復(fù)雜度,本文使用FLOPs和Params兩個評價指標(biāo)對模型進行評測。其中,F(xiàn)LOPs 為模型的計算量,用于衡量模型的時間復(fù)雜度,Params 為模型的參數(shù)量,用于衡量模型的空間復(fù)雜度。本文在Diginetia數(shù)據(jù)集上進行實驗,實驗結(jié)果如表5 所示。從表中可以看出,與其他模型相比,GCI-GNN在提升實驗指標(biāo)的同時,并沒有產(chǎn)生較多的額外開銷。因此,GCI-GNN可以適用于大規(guī)模的推薦。
表5 FLOPs和Params的實驗結(jié)果Table 5 Experimental results of FLOPS and Params
本文提出融合全局上下文信息的注意增強圖神經(jīng)網(wǎng)絡(luò)模型(GCI-GNN)。該模型考慮會話上下文信息,從而豐富了目標(biāo)會話信息。同時融合會話中各個節(jié)點位置信息,采用位置注意力網(wǎng)絡(luò)更好地學(xué)習(xí)每個物品的重要性。并考慮不同用戶操作的會話長度會出現(xiàn)長短不一的情況,結(jié)合會話長度信息處理不同的會話,進而為用戶做出有效的推薦。本文在兩個真實數(shù)據(jù)集上進行了大量的實驗證明了GCI-GNN優(yōu)于其他模型。
在未來,模型將探索上下文信息之間的組合方式,同時考慮引入多種類型的數(shù)據(jù),甚至包括聲音、圖像、視頻、各種傳感器信息。如何融合這些異構(gòu)的多元數(shù)據(jù)提高會話推薦的準(zhǔn)確性將是研究的重點。