楊粟森,劉 勇,張舉勇
(1.中國(guó)科學(xué)技術(shù)大學(xué) 數(shù)學(xué)科學(xué)學(xué)院,合肥 230000;2.南洋理工大學(xué)及英屬哥倫比亞大學(xué)百合卓越聯(lián)合研究中心,新加坡 639798)
隨著網(wǎng)絡(luò)信息量的爆炸式增長(zhǎng),推薦系統(tǒng)在諸如電商平臺(tái)、在線多媒體平臺(tái)等場(chǎng)景中發(fā)揮著越來(lái)越重要的作用。推薦系統(tǒng)通過(guò)分析用戶過(guò)往的購(gòu)買(mǎi)或觀看行為,推斷用戶的喜好并為他們推薦感興趣的項(xiàng)目。傳統(tǒng)推薦算法[1]的性能受限于用戶行為的稀疏度,針對(duì)這一問(wèn)題,各種輔助信息被引入到推薦系統(tǒng)中。評(píng)論文本作為一種重要的輔助信息,能夠描述用戶對(duì)項(xiàng)目在不同方面的興趣愛(ài)好。
目前,基于評(píng)論文本的推薦方法主要包括基于主題建模的方法[2-4]和基于深度學(xué)習(xí)(如卷積神經(jīng)網(wǎng)絡(luò)、循環(huán)神經(jīng)網(wǎng)絡(luò))的方法[5-7],盡管這些方法已經(jīng)取得了一定的性能提升,但是仍然存在一些局限?;谥黝}建模的方法僅能捕捉全局水平的文本語(yǔ)義信息,忽略了文本中重要詞序和詞的上下文信息;基于深度學(xué)習(xí)的方法雖然可以有效捕捉相鄰詞的上下文信息,但是在捕捉詞與詞之間長(zhǎng)期、全局和非連續(xù)的依賴關(guān)系時(shí)存在一定的局限性。例如,對(duì)用戶在多條評(píng)論中出現(xiàn)的同一個(gè)詞而言,無(wú)法同時(shí)考慮到這個(gè)詞在不同評(píng)論中的相鄰詞信息(全局和非連續(xù)依賴)。除此之外,近年來(lái)出現(xiàn)的基于注意力機(jī)制的方法[8-10]對(duì)評(píng)論文本中每個(gè)詞、句子或者評(píng)論賦予重要性權(quán)重,但是該類方法只考慮用戶或者項(xiàng)目側(cè)的單一靜態(tài)喜好,無(wú)法捕捉交互水平的喜好特性。例如,對(duì)于用戶的“運(yùn)行速度快”這一評(píng)論,在預(yù)測(cè)用戶對(duì)平板電腦的評(píng)分時(shí)的重要性程度高于預(yù)測(cè)同一用戶對(duì)鼠標(biāo)的評(píng)分時(shí)的重要性程度。
針對(duì)上述問(wèn)題,本文提出基于評(píng)論文本圖表示學(xué)習(xí)的推薦算法RGP。將每個(gè)用戶或項(xiàng)目的所有評(píng)論集構(gòu)建成一個(gè)評(píng)論圖,圖中的節(jié)點(diǎn)為評(píng)論中的詞,邊為詞與詞之間的共現(xiàn)和詞序關(guān)系。通過(guò)圖的拓?fù)浣Y(jié)構(gòu)來(lái)捕捉評(píng)論文本中詞與詞之間長(zhǎng)期、全局和非連續(xù)的依賴關(guān)系。使用基于連接關(guān)系的圖注意力網(wǎng)絡(luò)聚合每個(gè)節(jié)點(diǎn)的鄰接點(diǎn)信息,同時(shí)考慮詞序關(guān)系。在此基礎(chǔ)上,使用基于交互關(guān)系的注意力機(jī)制加權(quán)融合圖中所有節(jié)點(diǎn)的表征,得到最終的圖表征。將用戶和項(xiàng)目ID 的嵌入表征以及其評(píng)論圖表征耦合輸入并采用因子分解機(jī)(Factorization Machine,F(xiàn)M)[11]進(jìn)行評(píng)分預(yù)測(cè)。
基于文本主題建模的方法對(duì)評(píng)論文本應(yīng)用主題建模技術(shù)學(xué)習(xí)用戶和項(xiàng)目的潛在特征分布。文獻(xiàn)[2]提出HFT 模型,通過(guò)LDA 主題模型[12]從評(píng)論文本中學(xué)習(xí)用戶和項(xiàng)目的特征表示。文獻(xiàn)[13]將主題模型和混合高斯模型相結(jié)合,提高推薦精度。文獻(xiàn)[14]利用非負(fù)矩陣分解法導(dǎo)出評(píng)論文本的主題分布,并使用轉(zhuǎn)換函數(shù)將主題分布和相應(yīng)的用戶或項(xiàng)目的潛在特征因子對(duì)齊。文獻(xiàn)[3]提出一種將評(píng)論文本與用戶喜好相結(jié)合的評(píng)分提升方法,該方法能獲得更準(zhǔn)確的主題分布。
深度學(xué)習(xí)的快速發(fā)展推動(dòng)了其在基于評(píng)論文本的推薦模型中的應(yīng)用。文獻(xiàn)[15]使用堆疊的去噪自編碼器(SDAE)學(xué)習(xí)評(píng)論文本的深度特征,并利用概率矩陣分解預(yù)測(cè)評(píng)分,SDAE 使得模型擁有自適應(yīng)學(xué)習(xí)特征的能力,但其未考慮文本中的詞序和局部相關(guān)性。文獻(xiàn)[5]提出DeepCoNN 模型,利用卷積神經(jīng)網(wǎng)絡(luò)從評(píng)論文本中提取語(yǔ)義信息,使用因子分解機(jī)捕捉用戶和項(xiàng)目表征之間的交互信息,卷積神經(jīng)網(wǎng)絡(luò)可以在提取文本特征時(shí)考慮詞與詞的先后順序和相關(guān)性,但是其不具備對(duì)文本更細(xì)粒度的特征融合和可解釋性。
近年來(lái),研究人員使用注意力機(jī)制來(lái)進(jìn)一步提高推薦的準(zhǔn)確性。文獻(xiàn)[7]通過(guò)聯(lián)合矩陣分解和基于注意力機(jī)制的門(mén)控循環(huán)網(wǎng)絡(luò)(GRU),從評(píng)論和評(píng)分中學(xué)習(xí)用戶和項(xiàng)目的表征,在捕捉詞序的同時(shí)使用注意力機(jī)制提高了模型的可解釋性。文獻(xiàn)[8]在DeepCoNN 的基礎(chǔ)上,通過(guò)注意力機(jī)制對(duì)每個(gè)評(píng)論進(jìn)行評(píng)分,從而學(xué)習(xí)更豐富和更細(xì)粒度的語(yǔ)義信息。但是,上述2 種模型在提取文本特征時(shí)都僅考慮用戶或項(xiàng)目單一側(cè)的文本信息,并未在交互水平上捕捉用戶和項(xiàng)目的相關(guān)性。為此,文獻(xiàn)[16]提出CARL 模型,其綜合考慮用戶和項(xiàng)目的評(píng)論,通過(guò)注意力機(jī)制來(lái)重點(diǎn)關(guān)注用戶和項(xiàng)目之間更相關(guān)的評(píng)論內(nèi)容。文獻(xiàn)[17]提出基于對(duì)偶的交互注意力機(jī)制,以捕捉用戶和項(xiàng)目評(píng)論的相關(guān)性,但其忽略了句子層面的細(xì)粒度信息和用戶的個(gè)性化喜好。為了捕捉更細(xì)粒度的語(yǔ)義,文獻(xiàn)[18]應(yīng)用3 個(gè)注意力網(wǎng)絡(luò)依次學(xué)習(xí)句子、評(píng)論和用戶與項(xiàng)目的表征。為了考慮用戶或項(xiàng)目本身的個(gè)性化喜好,文獻(xiàn)[10]應(yīng)用基于用戶/項(xiàng)目的注意力機(jī)制從評(píng)論文本中學(xué)習(xí)用戶/項(xiàng)目的個(gè)性化表征,但其缺乏對(duì)交互水平喜好特性的捕捉。除此之外,一些基于評(píng)論特性(aspect)的推薦方法[19-21]近年來(lái)被提出,這些方法通過(guò)應(yīng)用基于特性的表示學(xué)習(xí)來(lái)自動(dòng)檢測(cè)評(píng)論的不同特性,聯(lián)合學(xué)習(xí)特性、用戶與項(xiàng)目的表征。
不同于上述基于深度學(xué)習(xí)的推薦方法,本文借助圖表示的優(yōu)良性質(zhì),將每個(gè)用戶或項(xiàng)目包含的全部評(píng)論表示成一個(gè)圖,以更好地挖掘詞與詞之間的依賴關(guān)系,從而進(jìn)行更精確的評(píng)分預(yù)測(cè)和項(xiàng)目推薦。
本文基于評(píng)論文本圖表示學(xué)習(xí)的推薦算法RGP 網(wǎng)絡(luò)結(jié)構(gòu)如圖1 所示,其包含3 個(gè)模塊:用戶模塊(圖1 的左兩列);項(xiàng)目模塊(圖1 的右兩列);基于FM 的預(yù)測(cè)模塊。用戶模塊和項(xiàng)目模塊網(wǎng)絡(luò)架構(gòu)相同,分別用來(lái)學(xué)習(xí)用戶和項(xiàng)目表征,預(yù)測(cè)模塊以用戶和項(xiàng)目表征為輸入,計(jì)算用戶對(duì)項(xiàng)目的評(píng)分。
圖1 RGP 算法網(wǎng)絡(luò)結(jié)構(gòu)Fig.1 RGP algorithm network structure
用戶(項(xiàng)目)模塊包含3 個(gè)組成部分:構(gòu)建評(píng)論文本圖的部分將每個(gè)用戶(項(xiàng)目)的評(píng)論文本集構(gòu)建成一個(gè)圖;圖表示學(xué)習(xí)部分應(yīng)用基于連接關(guān)系的圖注意力網(wǎng)絡(luò)和基于交互關(guān)系的注意力機(jī)制提取整個(gè)圖的表征;表征融合部分耦合用戶(項(xiàng)目)ID 的嵌入表征及其圖表征得到最終用戶(項(xiàng)目)的表征。用戶模塊及項(xiàng)目模塊的網(wǎng)絡(luò)架構(gòu)相同,下文只介紹用戶模塊的各部分細(xì)節(jié)。
本文利用文獻(xiàn)[22]的方法構(gòu)建評(píng)論文本圖,在評(píng)論文本中若2 個(gè)詞共同出現(xiàn)在大小為ω的窗口中(即2 個(gè)詞的距離小于ω),則連接這2 個(gè)詞,本文在此基礎(chǔ)上保存詞序信息。對(duì)用戶u的評(píng)論文本集Su,首先使用諸如句子分詞、介詞清理的文本預(yù)處理技術(shù)挑選Su中每條評(píng)論的關(guān)鍵詞;然后將所有評(píng)論構(gòu)建成一個(gè)有向圖,圖中的節(jié)點(diǎn)為評(píng)論文本的關(guān)鍵詞,圖中的邊描述了詞與詞之間在一個(gè)固定大小為ω的滑動(dòng)窗口內(nèi)的共現(xiàn)關(guān)系。
評(píng)論文本的詞序關(guān)系在反映文本語(yǔ)義時(shí)顯得十分重要。例如,“不是非常好”和“非常不好”傳遞了不同水平的消極情緒。為在圖中保留詞序信息,本文定義前向關(guān)系ef、后向關(guān)系eb、自連接關(guān)系es這3 種類型的連接關(guān)系。以評(píng)論集Su中的一條評(píng)論為例,若挑選的關(guān)鍵詞(即節(jié)點(diǎn))x2在中出現(xiàn)在關(guān)鍵詞x1前,并且x2和x1的距離在原評(píng)論中小于ω,則在圖中建立從x2到x1的一條邊E(x2,x1),此邊的連接關(guān)系為ef。同時(shí),建立從x1到x2的一條邊E(x1,x2),此邊的連接關(guān)系為eb。若x2在x1前面和后面同時(shí)出現(xiàn)(較少見(jiàn)),則將邊的連接關(guān)系隨機(jī)設(shè)置為ef或eb。此外,為考慮詞本身的信息,圖中的每個(gè)節(jié)點(diǎn)增加一條連接到自身的邊(例如E(x1,x1))并將其連接關(guān)系定義為es。圖2 展示了將評(píng)論“朋友喜歡這個(gè)好看耐用的鼠標(biāo)”構(gòu)建成圖的例子,評(píng)論中“朋友”“喜歡”“好看”“耐用”“鼠標(biāo)”均被挑選成關(guān)鍵詞,“這個(gè)”詞被去除,并將窗口大小ω設(shè)置成3,關(guān)鍵詞“好看”在評(píng)論中和3 個(gè)關(guān)鍵詞(“喜歡”“耐用”“鼠標(biāo)”)的距離小于3,則建立3 條雙向邊并根據(jù)詞序定義邊的類型。以此類推,構(gòu)建評(píng)論文本圖。
圖2 評(píng)論文本圖示例Fig.2 Review text graph example
對(duì)用戶u,本文用Gu={Xu,Eu}表示其對(duì)應(yīng)的評(píng)論文本圖,Xu為節(jié)點(diǎn)(即關(guān)鍵詞)集,Eu為節(jié)點(diǎn)-邊-節(jié)點(diǎn)的三元組集(xh,r,xt),r為節(jié)點(diǎn)xh到xt的連接關(guān)系(上述3 種關(guān)系之一)。通過(guò)同樣的方式可以構(gòu)建項(xiàng)目i的評(píng)論文本圖Gi={Xi,Ei}。
2.2.1 嵌入層
用戶ID、項(xiàng)目ID、詞ID、連接關(guān)系ID 作為嵌入層的輸入,分別被映射到不同的嵌入空間,得到對(duì)應(yīng)的低維嵌入特征。本文分別用表示用戶u、項(xiàng)目i、詞x、連接關(guān)系r的低維嵌入特征,其中,d0為嵌入空間的向量維數(shù)。
2.2.2 基于連接關(guān)系的圖注意力網(wǎng)絡(luò)
在評(píng)論文本中,詞的信息并不獨(dú)立,一個(gè)詞的語(yǔ)義信息可以被其周?chē)脑~所豐富。為了聚合鄰接詞的信息,本文提出基于連接關(guān)系的圖注意力網(wǎng)絡(luò)。假設(shè)輸入圖為Gu={Xu,Eu},對(duì)于圖中的節(jié)點(diǎn)xh,用Nh={xt|(xh,r,xt)∈Eu}表示xh的鄰接點(diǎn),其中Nh包含xh本身。假設(shè)當(dāng)前處于圖注意力網(wǎng)絡(luò)的第l層,鄰接點(diǎn)xt的重要性權(quán)重計(jì)算方式為:
重要性權(quán)重描述了鄰接點(diǎn)的重要程度,根據(jù)此權(quán)重,融合鄰接點(diǎn)的向量表征,得到xh的輸出向量表征為:
其中:Tanh 為激活函數(shù)。通過(guò)堆疊多層圖注意力網(wǎng)絡(luò),傳播式地捕捉評(píng)論文本中詞與詞的長(zhǎng)期依賴關(guān)系。假設(shè)堆疊層數(shù)為L(zhǎng),可得到對(duì)應(yīng)L個(gè)xh的輸出向量表征為
2.2.3 基于交互關(guān)系的注意力機(jī)制
當(dāng)圖Gu的所有節(jié)點(diǎn)經(jīng)過(guò)L層基于連接關(guān)系的圖注意力網(wǎng)絡(luò)后,本文提出基于交互關(guān)系的圖注意力機(jī)制,聚合節(jié)點(diǎn)表征得到整個(gè)圖的表征。該注意力機(jī)制根據(jù)用戶u和項(xiàng)目i的信息,為圖中的每個(gè)節(jié)點(diǎn)賦予交互水平的重要性權(quán)重。假設(shè)對(duì)上述第l層的圖注意力網(wǎng)絡(luò)的輸出節(jié)點(diǎn)表征進(jìn)行聚合,節(jié)點(diǎn)xh權(quán)重的計(jì)算方式為:
2.2.4 表征融合
為提高模型的表達(dá)能力,首先對(duì)基于用戶ID 的低維嵌入特征eu應(yīng)用一層非線性變換:
按照同樣的流程,可以得到項(xiàng)目i的最終表征qi。
本文使用因子分解機(jī)計(jì)算用戶對(duì)項(xiàng)目的評(píng)分。首先拼接用戶和項(xiàng)目的最終表征:
其中:b0、bu、bi分別為全局偏差、用戶偏差、項(xiàng)目偏差量;w∈R1×d′為權(quán)重向量,且d'=2(L+1)d1;vn、vm∈R1×k為對(duì)應(yīng)于z的第n維、第m維元素的潛在因子向量;zn為z第n維元素的值;>為內(nèi)積操作。
為學(xué)習(xí)整個(gè)模型的參數(shù)Θ,本文定義模型的損失函數(shù)如下:
其中:λ為正則化系數(shù)。整個(gè)模型可以通過(guò)端對(duì)端的后向傳播算法進(jìn)行高效訓(xùn)練。
RGP 算法流程如下:
算法1RGP 算法
Vanavanan等[15]對(duì)年齡為30~79歲無(wú)心血管疾病史的一般人群,進(jìn)行了一項(xiàng)為期11.7年的前瞻性研究,結(jié)果顯示隨著sdLDL的四分位分組增高,其心血管疾病風(fēng)險(xiǎn)也隨著增加。
假設(shè)每個(gè)用戶或項(xiàng)目的評(píng)論文本所挑選關(guān)鍵詞的數(shù)量為Nw,則構(gòu)建評(píng)論圖的時(shí)間復(fù)雜度為O(ωNw),圖的構(gòu)建可在訓(xùn)練外離線進(jìn)行。基于連接關(guān)系的圖注意力網(wǎng)絡(luò)的時(shí)間復(fù)雜度為,L為堆疊層數(shù)?;诮换リP(guān)系的注意力機(jī)制的時(shí)間復(fù)雜度為綜上可知,RGP 算法的總時(shí)間復(fù)雜度為
3.1.1 實(shí)驗(yàn)數(shù)據(jù)
本次實(shí)驗(yàn)使用亞馬遜評(píng)論公開(kāi)數(shù)據(jù)集Amazon 5-score 中的3 個(gè)子類別數(shù)據(jù)集Instant Video、Tools and Home Improvement、Baby。3 個(gè)數(shù)據(jù)集均包含用戶對(duì)項(xiàng)目1~5 之間的顯示評(píng)分以及來(lái)自Amazon 網(wǎng)站的用戶真實(shí)評(píng)分。表1 所示為3 個(gè)數(shù)據(jù)集的統(tǒng)計(jì)信息。
表1 數(shù)據(jù)集統(tǒng)計(jì)信息Table 1 Datasets statistics
3.1.2 實(shí)驗(yàn)設(shè)定和度量指標(biāo)
本文將每個(gè)數(shù)據(jù)集隨機(jī)劃分成訓(xùn)練集(80%)、測(cè)試集(20%),隨機(jī)取訓(xùn)練集的10%作為驗(yàn)證集。為驗(yàn)證本文所提算法的預(yù)測(cè)準(zhǔn)確度,實(shí)驗(yàn)均采用均方差(MSE)來(lái)衡量預(yù)測(cè)評(píng)分和真實(shí)評(píng)分的差異,MSE計(jì)算公式如下:
其中:Dtest為測(cè)試集。MSE 值越小,表示模型預(yù)測(cè)結(jié)果越準(zhǔn)確。
3.1.3 對(duì)比算法
本文將RGP 算法與以下5 個(gè)基準(zhǔn)算法進(jìn)行對(duì)比:
1)PMF[1]是經(jīng)典的概率矩陣分解模型,未用到評(píng)論文本信息。
2)DeepCoNN[5]通過(guò)卷積神經(jīng)網(wǎng)絡(luò)CNN 提取評(píng)論文本集的語(yǔ)義特征,用來(lái)計(jì)算用戶對(duì)項(xiàng)目的評(píng)分。
3)NARRE[8]使用注意力機(jī)制計(jì)算每條評(píng)論的重要性分?jǐn)?shù),并為預(yù)測(cè)評(píng)分提供評(píng)論水平的解釋性。
4)NRPA[10]使用基于個(gè)性化注意力機(jī)制的評(píng)論表征編碼器和用戶/項(xiàng)目表征編碼器,依次得到評(píng)論表征和用戶/項(xiàng)目表征。
5)DAML[17]使用局部注意 力機(jī)制過(guò)濾評(píng)論 信息,使用交互注意力機(jī)制學(xué)習(xí)用戶和項(xiàng)目評(píng)論的互相關(guān)性。
3.1.4 超參數(shù)設(shè)置
對(duì)于RGP 算法,通過(guò)網(wǎng)格搜索法尋找最佳的超參數(shù):嵌入空間和表征空間的向量維數(shù)d0和d1在{8,16,32,48,64}中選取,學(xué)習(xí)率r在{0.005,0.001,0.000 5}中選取,正則化系數(shù)λ在{1,0.5,0.1,0.01}中選取,訓(xùn)練批次大小和堆疊層數(shù)L分別在{64,128,256}和{1,2,3,4}中選取。對(duì)比算法均根據(jù)原文獻(xiàn)進(jìn)行參數(shù)初始化,通過(guò)微調(diào)使其達(dá)到最佳性能。
本文RGP 算法和對(duì)比算法的實(shí)驗(yàn)結(jié)果如表2 所示。從表2 可以看出,與僅基于評(píng)分?jǐn)?shù)據(jù)的PMF 算法相比,利用評(píng)論文本的算法(DeepCoNN、NARRE、NRPA、DML、RGP)具有更好的推薦性能,因?yàn)樵u(píng)論文本中包含的用戶偏好和項(xiàng)目屬性信息可以對(duì)評(píng)分?jǐn)?shù)據(jù)進(jìn)行補(bǔ)充;在同樣利用評(píng)論文本的推薦算法中,使用注意力機(jī)制的算法(NARRE、NRPA、DAML、RGP)相較未使用注意力機(jī)制的算法(DeepCoNN)具有更優(yōu)的性能,這是因?yàn)樽⒁饬C(jī)制可以識(shí)別每個(gè)詞、句子或評(píng)論的重要性,針對(duì)評(píng)分行為更加細(xì)致地捕捉評(píng)論文本的語(yǔ)義信息;在所有基準(zhǔn)算法中,DAML 算法表現(xiàn)最佳,其融合CNN 和交互的注意力機(jī)制探索用戶和項(xiàng)目評(píng)論文本自身以及相互的相關(guān)性,可以捕捉到更加豐富的有關(guān)用戶喜好和項(xiàng)目特性的信息。
表2 不同推薦算法的性能對(duì)比結(jié)果Table 2 Performance comparison results of different recommendation algorithms
本文RGP 算法在3 個(gè)數(shù)據(jù)集上的性能都優(yōu)于對(duì)比算法:和使用注意力機(jī)制的NARRE、NRPA 算法相比,RGP 中基于交互關(guān)系的注意力機(jī)制更能捕捉用戶對(duì)不同項(xiàng)目的不同喜好;和使用交互注意力機(jī)制的DAML 相比,RGP 通過(guò)將評(píng)論文本表示成圖并應(yīng)用堆疊的圖注意力網(wǎng)絡(luò),可以在捕捉交互水平喜好特性的同時(shí)有效捕捉評(píng)論中詞與詞之間長(zhǎng)期、非連續(xù)和全局的拓?fù)渑c依賴信息。
為了進(jìn)一步驗(yàn)證RGP 算法各個(gè)部分的有效性,本文進(jìn)行消融實(shí)驗(yàn)以評(píng)估以下4 個(gè)RGP 變種算法的性能:
1)RGP-T 算法:從RGP 算法中去除評(píng)論圖中的邊的連接關(guān)系,即不考慮詞序信息。
2)RGP-A 算法:從RGP 算法的圖注意力網(wǎng)絡(luò)中去除注意力機(jī)制,即直接對(duì)鄰接點(diǎn)的表征做均值聚合。
3)RGP-G 算法:從RGP 算法中去除堆疊的圖注意力網(wǎng)絡(luò),對(duì)初始嵌入表征經(jīng)一層非線性變換后輸入到基于交互關(guān)系的注意力機(jī)制中。
4)RGP-I 算法:從RGP 算法中去除基于交互關(guān)系的注意力機(jī)制,直接對(duì)圖的節(jié)點(diǎn)表征做均值聚合。
5 種算法在Instant Video 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果如圖3 所示(在其他2 個(gè)數(shù)據(jù)集上的結(jié)果與圖3 所示結(jié)果類似)。從圖3 可以看出:原始RGP 算法的性能優(yōu)于4 個(gè)變種算法,說(shuō)明在RGP 算法中,基于連接關(guān)系的圖注意力網(wǎng)絡(luò)和基于交互關(guān)系的注意力機(jī)制對(duì)性能提升均起到積極作用;在變種算法中,RGP-G 算法的性能最差,驗(yàn)證了將評(píng)論文本表示成圖的有效性。
圖3 在Instant Video 數(shù)據(jù)集中的消融實(shí)驗(yàn)結(jié)果Fig.3 Ablation experimental results in the Instant Video dataset
為分析超參數(shù)對(duì)模型性能的影響,本文進(jìn)行2 組參數(shù)分析實(shí)驗(yàn),2 個(gè)超參數(shù)分別是表征空間的向量維數(shù)d1和基于連接關(guān)系的圖注意力網(wǎng)絡(luò)層的堆疊數(shù)量L。
針對(duì)不同的表征空間向量維數(shù){8,16,32,48,64},在Instant Video 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)的結(jié)果如圖4 所示(在其他2 個(gè)數(shù)據(jù)集上的結(jié)果與圖4 所示結(jié)果類似)。從圖4 可以看出:當(dāng)維數(shù)設(shè)置為16 時(shí),模型推薦性能最佳,更高的維數(shù)不僅不會(huì)提升性能,還會(huì)造成時(shí)間和空間復(fù)雜度提升;對(duì)于不同的數(shù)據(jù)集,最佳維數(shù)不是固定不變的;當(dāng)數(shù)據(jù)集的訓(xùn)練樣本足夠時(shí),應(yīng)適當(dāng)提高維數(shù)以增強(qiáng)模型的擬合能力,而當(dāng)訓(xùn)練樣本較少時(shí),應(yīng)適當(dāng)減少維數(shù)以避免模型過(guò)擬合。
圖4 表征空間的向量維數(shù)對(duì)模型性能的影響Fig.4 Effect of vector dimensions of representation space on model performance
針對(duì)不同的圖注意力網(wǎng)絡(luò)堆疊層數(shù){1,2,3,4},在Instant Video 數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn)的結(jié)果如圖5 所示(在其他2 個(gè)數(shù)據(jù)集上的結(jié)果與圖5 所示結(jié)果類似)。從圖5 可以看出:當(dāng)層數(shù)設(shè)置為3 層時(shí),模型推薦性能最佳,這是因?yàn)楫?dāng)層數(shù)太少時(shí),模型無(wú)法從評(píng)論文本中捕捉足夠的有效信息;而當(dāng)層數(shù)太多時(shí),模型會(huì)由于參數(shù)過(guò)多導(dǎo)致過(guò)擬合。
圖5 圖注意力網(wǎng)絡(luò)堆疊層數(shù)對(duì)模型性能的影響Fig.5 Effect of stack layers of graph attention network on model performance
為驗(yàn)證模型中注意力機(jī)制所發(fā)揮的作用,本文提取一對(duì)在Instant Video 測(cè)試集中的用戶(ID 為742)和項(xiàng)目(ID 為1551)的交互記錄(評(píng)分為5),并提取模型在此用戶和項(xiàng)目的評(píng)論文本圖中所計(jì)算的注意力分?jǐn)?shù)。
基于連接關(guān)系的圖注意力網(wǎng)絡(luò)在用戶和項(xiàng)目的評(píng)論文本圖中所計(jì)算的注意力分?jǐn)?shù)分別如圖6、圖7所示。由于真實(shí)評(píng)論文本圖的節(jié)點(diǎn)數(shù)和鄰點(diǎn)數(shù)過(guò)多,此處只呈現(xiàn)了部分有說(shuō)明性的重要節(jié)點(diǎn)。可以看出,不同的鄰點(diǎn)擁有不同的注意力權(quán)重,并且能夠表達(dá)用戶或項(xiàng)目特性的鄰點(diǎn)權(quán)重相對(duì)更高。例如,在圖6節(jié)點(diǎn)“great”的鄰點(diǎn)中,“storyline”(權(quán)重0.099 2)和“show”(權(quán)重0.098 1)更能表達(dá)用戶喜歡視頻的劇情和故事線,則對(duì)應(yīng)的權(quán)重更高一些,而鄰點(diǎn)“job”(權(quán)重0.056 3)的權(quán)重更低一些。圖7 的情況與圖6 類似。因此,基于連接關(guān)系的圖注意力網(wǎng)絡(luò)可以有效捕捉不同鄰點(diǎn)對(duì)中心節(jié)點(diǎn)的重要性程度,從而實(shí)現(xiàn)過(guò)濾信息的作用。
圖6 用戶的部分評(píng)論文本圖和注意力分?jǐn)?shù)Fig.6 User’s partial review text graph and attention scores
圖7 項(xiàng)目的部分評(píng)論文本圖和注意力分?jǐn)?shù)Fig.7 Item’s partial review text graph and attention scores
基于交互關(guān)系的注意力機(jī)制在用戶和項(xiàng)目的評(píng)論文本圖中所計(jì)算的注意力分?jǐn)?shù)(括號(hào)中的數(shù)值)如表3 所示,這里只呈現(xiàn)和圖6、圖7 相關(guān)并且更能說(shuō)明用戶和項(xiàng)目特性的節(jié)點(diǎn)詞??梢钥闯?,在注意力機(jī)制中,更能體現(xiàn)其特性的詞的注意力權(quán)重更高,而一些無(wú)關(guān)詞的權(quán)重相對(duì)較低。如在用戶評(píng)論圖中,“characters”和“storyline”的權(quán)重更高,說(shuō)明用戶比較注重視頻的演員和劇情;項(xiàng)目評(píng)論圖中“actors”和“story”的權(quán)重更高,并且伴有正向評(píng)價(jià),說(shuō)明此視頻的劇情和演員都不錯(cuò)。因此,用戶對(duì)此視頻的評(píng)分為5 分,說(shuō)明喜歡該視頻?;诮换リP(guān)系的注意力機(jī)制可以使得模型更加注重評(píng)論中意義豐富的詞,從而實(shí)現(xiàn)動(dòng)態(tài)捕捉用戶和項(xiàng)目特性的目的。
表3 部分詞及其對(duì)應(yīng)的基于交互關(guān)系的注意力分?jǐn)?shù)Table 3 Partial words and their corresponding attention scores based on interaction
本文提出一種基于評(píng)論文本圖表示學(xué)習(xí)的推薦算法RGP,其能有效融合評(píng)論文本和圖表示學(xué)習(xí)的性能優(yōu)勢(shì)。引入基于連接關(guān)系的圖注意力網(wǎng)絡(luò)和基于交互關(guān)系的注意力機(jī)制,可以更加充分地捕捉詞與詞、交互行為與評(píng)論文本之間的相關(guān)信息。在Amazon 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,相對(duì)PMF、DAML等算法,RGP 算法可有效提高推薦精度。下一步將嘗試引入更多的非評(píng)分輔助信息,以建立更為準(zhǔn)確的用戶偏好和項(xiàng)目特征分布,從而提高推薦精度。