陳道佳,陳志云
(1.華東師范大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)學(xué)院,上海 200062;2.華東師范大學(xué) 數(shù)據(jù)科學(xué)與工程學(xué)院,上海 200062)
在信息爆炸的時(shí)代,推薦系統(tǒng)可以減少用戶(hù)在眾多產(chǎn)品和服務(wù)面前決策的復(fù)雜度,同時(shí)增加平臺(tái)提供服務(wù)的機(jī)會(huì),因此其被廣泛應(yīng)用于現(xiàn)今的在線服務(wù)平臺(tái).其中,電商和社交等網(wǎng)站上,用戶(hù)寫(xiě)下大量關(guān)于消費(fèi)物品的意見(jiàn)和評(píng)論.這些評(píng)論中包含著豐富的用戶(hù)偏好和物品屬性的語(yǔ)義信息,挖掘評(píng)論信息能顯著提升推薦系統(tǒng)預(yù)測(cè)評(píng)分的效率.大量的工作專(zhuān)注于利用評(píng)論數(shù)據(jù)進(jìn)一步提升推薦系統(tǒng)的性能.
推薦系統(tǒng)的關(guān)鍵在于從用戶(hù)歷史行為中學(xué)習(xí)用戶(hù)表示和物品表示.傳統(tǒng)的協(xié)同過(guò)濾算法使用如評(píng)分、購(gòu)買(mǎi)記錄和觀看歷史等顯性反饋建模用戶(hù)表示和物品表示,如矩陣分解(matrix factorization,MF)方法分解用戶(hù)–物品評(píng)分矩陣為2 個(gè)隱因子分別代表用戶(hù)和物品.這些方法因僅僅依賴(lài)顯性交互而遭遇數(shù)據(jù)稀疏問(wèn)題的困擾,而且無(wú)法處理新用戶(hù)或物品加入的冷啟動(dòng)問(wèn)題.考慮到評(píng)論中僅利用評(píng)分和購(gòu)買(mǎi)記錄等顯性反饋不能完全傳達(dá)內(nèi)容語(yǔ)義信息,使用評(píng)論建模用戶(hù)偏好和物品特征可以緩解以上問(wèn)題并且為推薦結(jié)果提供解釋性.早期的方法基于主題技術(shù)從評(píng)論中提取主題分布作為MF 的隱因子,比如,HFT(hidden factors as topics)[1]和RMR(ratings meet reviews)[2]整合MF 與主題技術(shù),分別從評(píng)分和評(píng)論中學(xué)習(xí)物品的隱表示、用戶(hù)的隱表示.
基于深度學(xué)習(xí)(deep learning,DL)的方法通常使用神經(jīng)網(wǎng)絡(luò)用評(píng)論編碼物品和用戶(hù),可以簡(jiǎn)單分為平行對(duì)稱(chēng)模型和交互模型.平行對(duì)稱(chēng)模型使用對(duì)稱(chēng)的網(wǎng)絡(luò)分別建模用戶(hù)和物品,例如,DeepCoNN(deep cooperative neural networks)[3]模型使用2 個(gè)對(duì)稱(chēng)的卷積神經(jīng)網(wǎng)絡(luò)(convulutional neural network,CNN)去學(xué)習(xí)用戶(hù)和物品表示,然后輸入因子分解機(jī)預(yù)測(cè)評(píng)分;D-Attn(dual attention)[4]模型使用2 個(gè)基于注意力的網(wǎng)絡(luò)去關(guān)注評(píng)論中重要的單詞;NARRE(neural attentional regression model with review-level explanations)[5]基于注意力學(xué)習(xí)每條評(píng)論的有用性.交互模型建模用戶(hù)和物品的評(píng)論交互,基于推薦的上下文動(dòng)態(tài)地學(xué)習(xí)物品和用戶(hù)表示,例如,DAML(dual attention mutual learning)[6]模型基于用戶(hù)和物品評(píng)論詞向量之間的歐氏距離,學(xué)習(xí)物品和用戶(hù)之間單詞的相關(guān)性;CARL(context-aware user-item representation learning)[7]模型學(xué)習(xí)物品和用戶(hù)評(píng)論文檔的語(yǔ)義矩陣,并映射到相同的隱空間計(jì)算用戶(hù)–物品對(duì)之間的相關(guān)性;ANR(aspect-based neural recommender)[8]模型基于方面的協(xié)同注意力提取不同方面的交互信息.
盡管通過(guò)上述方法取得了顯著的推薦性能的提升,但仍有一些問(wèn)題沒(méi)有系統(tǒng)研究.為了全面理解建模物品和用戶(hù),應(yīng)該考慮如下挑戰(zhàn): ①分層建模.DeepCoNN 和CARL 將評(píng)論拼接成一個(gè)長(zhǎng)文檔,沒(méi)有考慮每條評(píng)論的獨(dú)立性,直接建模包含了大量異質(zhì)信息的文檔,可能忽視句子和評(píng)論級(jí)別的細(xì)粒度信息,引入的注意力機(jī)制的變體模型可視為僅有單詞級(jí)別注意力;NARRE 和ERP(enhanced review-based rating prediction)[9]引入輔助信息學(xué)習(xí)每條評(píng)論的有用性,但忽視了不同單詞的有用性.② 動(dòng)態(tài)興趣建模.大多現(xiàn)有的推薦方法通常學(xué)習(xí)靜態(tài)的用戶(hù)和物品表示,如建模用戶(hù)時(shí),沒(méi)有考慮用戶(hù)面對(duì)不同目標(biāo)物品可能顯示不同的興趣偏好;MPCN(multi-pointer co-attention networks)[10]引入基于指針的學(xué)習(xí)方法,強(qiáng)調(diào)用戶(hù)和物品的交互;每次基于相似度得到選取K條評(píng)論會(huì)讓模型變得不穩(wěn)定,CARL 和DAML 同樣基于評(píng)論文本相似性,動(dòng)態(tài)地學(xué)習(xí)不同單詞的有用性,但是過(guò)度依賴(lài)文本語(yǔ)義相似可能讓模型仍缺乏靈活性.③個(gè)性化.用戶(hù)通常有個(gè)性化的偏好,物品也有個(gè)體的特征,對(duì)于一條同時(shí)描述價(jià)格和質(zhì)量的評(píng)論,不同用戶(hù)會(huì)側(cè)重不同的方面,對(duì)價(jià)格敏感的用戶(hù)更關(guān)注價(jià)格的評(píng)論,但是現(xiàn)有的推薦模型大多為所有的用戶(hù)和物品學(xué)習(xí)統(tǒng)一的模型,不能識(shí)別特定用戶(hù)的差異個(gè)性化特征,僅從普通注意力機(jī)制捕捉重要單詞,不能體現(xiàn)相同單詞對(duì)不同用戶(hù)的重要性不同.HUITA(hierarchical user and item representation model with three-tier attention)[11]和HSACN(hierarchical self-attentive convolution network)[12]分別采用普通注意力和自注意力模塊,從單詞、句子和評(píng)論這3 個(gè)層級(jí)建模,但是缺乏建模動(dòng)態(tài)交互且缺乏個(gè)性化;CARL 僅考慮單詞級(jí)別的交互,但是缺乏層級(jí).因此,本文同時(shí)考慮這3 個(gè)關(guān)鍵挑戰(zhàn),提出了分層的描述感知的個(gè)性化推薦方法.
在單詞層級(jí),評(píng)論中相同的單詞對(duì)不同的用戶(hù)或者物品有著不同的信息量,本文從用戶(hù)ID 或物品ID 推導(dǎo)注意力向量,設(shè)計(jì)注意力網(wǎng)絡(luò)選擇重要且個(gè)性化的單詞,獲得每條評(píng)論的個(gè)性化表示.在評(píng)論層級(jí),用戶(hù)的評(píng)論是對(duì)不同物品的歷史評(píng)論,用戶(hù)面對(duì)不同的物品,可能會(huì)激發(fā)不同的評(píng)論有用性,受到深度興趣網(wǎng)絡(luò)啟發(fā),本文從物品ID 推導(dǎo)注意力向量,形成物品感知的交叉注意力網(wǎng)絡(luò)選擇和當(dāng)前目標(biāo)物品相關(guān)的用戶(hù)評(píng)論,從而動(dòng)態(tài)地獲得用戶(hù)表示,同理,獲得物品表示.此外,考慮到評(píng)論的摘要文本包含的信息更加簡(jiǎn)潔和密集,通常都是對(duì)特定方面描述的短句,拼接評(píng)論摘要成一個(gè)文檔可用作物品或用戶(hù)的客觀描述信息,本文針對(duì)物品和用戶(hù)的描述,設(shè)計(jì)協(xié)同注意力網(wǎng)絡(luò)捕捉上下文感知的動(dòng)態(tài)興趣偏好和物品特征.注意到評(píng)論的語(yǔ)義特征只反應(yīng)部分的內(nèi)容信息,基于描述的特征可動(dòng)態(tài)表示關(guān)鍵方面的特征,基于評(píng)分矩陣的評(píng)分特征有豐富的協(xié)同信息,將評(píng)論特征和評(píng)分特征融合可以完成互補(bǔ)得到更全面的物品和用戶(hù)表示.本文的主要貢獻(xiàn)如下.
(1)分別設(shè)計(jì)了單詞層級(jí)和注意力層級(jí)的注意力網(wǎng)絡(luò),學(xué)習(xí)了不同單詞和評(píng)論的有用性,提取了個(gè)性化的用戶(hù)偏好和物品屬性.
(2)將評(píng)論摘要拼接為客觀描述,基于用戶(hù)和物品描述,設(shè)計(jì)了協(xié)同注意力網(wǎng)絡(luò),以捕捉上下文感知的動(dòng)態(tài)特征.
(3)在5 個(gè)數(shù)據(jù)集上進(jìn)行的大量實(shí)驗(yàn)證明了本文所提方法的有效性.
基于評(píng)論的推薦系統(tǒng),早期基于矩陣分解(MF)的協(xié)同過(guò)濾技術(shù)僅僅利用評(píng)分矩陣分解得到用戶(hù)和物品的隱因子表示,假設(shè)隱因子分布為概率分布則可擴(kuò)展為概率矩陣分解模型.之后,Koren 等[13]為用戶(hù)和物品的隱因子引入偏差項(xiàng),進(jìn)一步優(yōu)化了MF 方法.盡管這些協(xié)同過(guò)濾算法能取得較優(yōu)的表現(xiàn),但是仍然受到評(píng)分矩陣數(shù)據(jù)稀疏問(wèn)題的困擾.
隨著用戶(hù)和物品交互產(chǎn)生的大量諸如評(píng)論文本的隱性反饋數(shù)據(jù),研究者們嘗試通過(guò)將評(píng)論作為輔助信息來(lái)緩解數(shù)據(jù)稀疏問(wèn)題并提升推薦性能.與自然語(yǔ)言處理的語(yǔ)義理解研究線路一致,早期的引入評(píng)論的推薦方法是基于主題模型的,即將從評(píng)論中挖掘的主題特征替代為MF 模型的隱因子,比如,Macauley 等[1]使用隱含狄利克雷分布(latent Dirichlet allocation,LDA)模型提取用戶(hù)和物品評(píng)論中的主題語(yǔ)義,并將其作為用戶(hù)和物品的表示;RBLT(rating-boosted latent topics)[14]模型假設(shè)高分評(píng)論包含更多信息,因此先基于評(píng)分復(fù)制多份高分評(píng)論,而后再挖掘主題;Yang 等[15]先使用主題模型從評(píng)論中提取語(yǔ)義特征,然后將這些提取出的特征和從MF 模型提取的評(píng)分特征進(jìn)行融合,并作為用戶(hù)和物品的隱表示;Diao 等[16]同時(shí)使用評(píng)論的主題詞、評(píng)分和情感建模用戶(hù)和物品的興趣分布;CDL(collaborative deep learning)[17]模型使用去噪自編碼器建模物品內(nèi)容,并整合到概率矩陣分解框架.以上這些方法都超過(guò)了僅依賴(lài)評(píng)分矩陣的方法;但是,主題模型依賴(lài)詞袋機(jī)制忽視了詞序和局部語(yǔ)境信息,故損失了大量評(píng)論文本的上下文語(yǔ)境特征.
近年來(lái),受益于深度神經(jīng)網(wǎng)絡(luò)(deep neural network,DNN)的強(qiáng)大表征能力,越來(lái)越多的研究使用神經(jīng)網(wǎng)絡(luò)去提取評(píng)論上下文信息.CNN 和循環(huán)神經(jīng)網(wǎng)絡(luò)(recurrent neural network,RNN)通常用于組合上下文語(yǔ)義信息到一個(gè)連續(xù)的向量表示,以提升推薦性能.ConvMF[18]使用CNN 從物品描述中提取物品特征.DeepCoNN[3]使用2 個(gè)平行的CNN 從用戶(hù)和物品評(píng)論文檔中提取語(yǔ)義特征,建模用戶(hù)和物品的隱表示,然后將其拼接之后輸入因子分解機(jī)模型去預(yù)測(cè)評(píng)分.TransNets[19]通過(guò)增加額外的轉(zhuǎn)換層去推斷目標(biāo)用戶(hù)–物品對(duì)的評(píng)論表示,擴(kuò)展了DeepCoNN.由于神經(jīng)網(wǎng)絡(luò)可提取語(yǔ)義的優(yōu)越性,這些模型獲得了比傳統(tǒng)主題模型更好的性能;但是,樸素的神經(jīng)網(wǎng)絡(luò)忽視了不同的單詞或評(píng)論的有用性.因此,許多研究專(zhuān)注于引入注意力機(jī)制,比如,D-Attn[4]考慮不同單詞的重要性,分別使用局部注意力和全局注意力去捕捉評(píng)論文檔中的重要單詞;NARRE[5]考慮評(píng)論集合中的不同評(píng)論有用性不同,引入評(píng)論級(jí)別的注意力來(lái)計(jì)算不同評(píng)論對(duì)用戶(hù)或物品的重要性;RPRM(review properties-based recommendation model)[20]認(rèn)為不同的評(píng)論屬性會(huì)影響用戶(hù)的信息采用過(guò)程,基于用戶(hù)處理評(píng)論信息的框架學(xué)習(xí)相應(yīng)評(píng)論的有用性;HUITA[11]分別在單詞、句子和評(píng)論級(jí)別分別應(yīng)用注意力機(jī)制,整合出了一個(gè)3 層的層級(jí)注意力框架.這些方法都是將用戶(hù)和物品建??醋麟p塔,學(xué)習(xí)靜態(tài)的用戶(hù)和物品表示,沒(méi)有考慮用戶(hù)和物品之間文本級(jí)別的交互.為了增強(qiáng)評(píng)論交互,DAML[6]在文檔層級(jí),基于用戶(hù)和物品評(píng)論表示的歐氏距離,添加交互注意力層學(xué)習(xí)物品和用戶(hù)的相關(guān)性;ANR[8]提出了基于方面詞的協(xié)同注意力網(wǎng)絡(luò),端到端地計(jì)算評(píng)論中不同方面的重要性;MPCN[10]采用基于指針的協(xié)同注意力網(wǎng)絡(luò),在上下文感知的模式下,利用指針選擇機(jī)制,選擇用戶(hù)和物品評(píng)論最相關(guān)的評(píng)論并抽取出來(lái);AHN(asymmetrical hierarchical network)[21]認(rèn)為物品評(píng)論是圍繞單一主題的同質(zhì)數(shù)據(jù),相關(guān)用戶(hù)評(píng)論是關(guān)于多個(gè)主題的異構(gòu)數(shù)據(jù),可采用非對(duì)稱(chēng)的注意力學(xué)習(xí)用戶(hù)表示和物品表示;CARL[7]使用上下文感知注意力機(jī)制,同時(shí)從評(píng)分和評(píng)論這兩種信息源學(xué)習(xí)特定用戶(hù)–物品對(duì)的表示;CARP(capsule network based model for rating prediction)[22]基于膠囊網(wǎng)絡(luò)分別從評(píng)論文檔提取多個(gè)用戶(hù)視圖和多個(gè)物品方面的不同信息;進(jìn)一步地,MRCP(multi-aspect neural recommendation model with context-aware personalized)[23]基于多頭網(wǎng)絡(luò)學(xué)習(xí)多個(gè)方面的用戶(hù)偏好.
文本作為輔助信號(hào)引入?yún)f(xié)同過(guò)濾框架,一些研究[24]還嘗試建模文字、圖網(wǎng)絡(luò)和圖片描述等特征表示,并專(zhuān)注于使用協(xié)同注意力建模多種模態(tài)之間的交互,優(yōu)化異構(gòu)特征融合,形成最終的用戶(hù)表示和物品表示.此外,因?yàn)樵u(píng)論中包含大量的特定空間和時(shí)間的表達(dá),研究者們也嘗試抽取評(píng)論中的地理屬性用于地點(diǎn)推薦,以及抽取評(píng)論中的時(shí)間屬性增強(qiáng)序列推薦[16].
本章首先介紹推薦任務(wù),然后描述本文提出的DAPR 模型.DAPR 模型結(jié)構(gòu)如圖1 所示,其中MLP(multi-layer perception)表示多層感知器,Cat(catenate)表示連接.框架大體結(jié)構(gòu): 對(duì)用戶(hù)網(wǎng)絡(luò)和物品網(wǎng)絡(luò)采用分層的注意力,選擇信息量大的單詞和評(píng)論建模用戶(hù)評(píng)論表示和物品評(píng)論表示;基于協(xié)同注意力網(wǎng)絡(luò),從評(píng)論描述中捕捉動(dòng)態(tài)的用戶(hù)偏好和物品屬性,并分別用uSum 和gSum 表示.
推薦系統(tǒng)的目的是根據(jù)用戶(hù)的偏好去識(shí)別并推薦物品.將系統(tǒng)中的用戶(hù)集合表示為U{u1,u2,···,uN},物品集合表示為G{g1,g2,···,gM},評(píng)分矩陣表示為RRM×N,用戶(hù)對(duì)物品g的評(píng)分表示為Ru,g,其中,N、M分別表示用戶(hù)和物品的數(shù)量.每一個(gè)用戶(hù)u有歷史評(píng)論集合du{du,1,du,2,···,du,n},每一個(gè)物品g有多個(gè)用戶(hù)為它寫(xiě)下的評(píng)論集合dg{dg,1,dg,2,···,dg,m},其中n、m分別表示用戶(hù)評(píng)論集合的數(shù)量和物品評(píng)論集合的數(shù)量.探究根據(jù)用戶(hù)寫(xiě)下的評(píng)論準(zhǔn)確地預(yù)測(cè)用戶(hù)對(duì)未曾交互過(guò)的物品的評(píng)分,幫助用戶(hù)找到最感興趣的物品.
用戶(hù)ID(identity)(uID)和物品ID(gID)是用戶(hù)和物品的唯一標(biāo)志,其作為一種強(qiáng)特征信息在推薦系統(tǒng)中被廣泛使用.首先,映射每一個(gè)用戶(hù)ID 和物品ID 到一個(gè)低維的向量表示,且作為ID 嵌入向量.用戶(hù)和物品的ID 嵌入向量分別表示為
式(1)―(2)中:xu、xg分別為用戶(hù)和物品的one-hot 編碼向量;QRd×N、PRd×M分別是用戶(hù)ID 和物品ID 的向量矩陣,其中d表示Q、P的維度.然后,將矩陣隨機(jī)初始化作為用戶(hù)/物品的初始表示,且在訓(xùn)練的過(guò)程中不斷地更新ID 向量表示,以表征它們個(gè)性化的內(nèi)在屬性.最后,引入ID 向量到單詞級(jí)別的特征選擇中.
給定一條包含T個(gè)單詞序列的用戶(hù)文本評(píng)論du,1{w1,w2,···,wT},通過(guò)查找詞向量矩陣Rd×|V|獲得每個(gè)單詞的詞向量,得到向量序列X{e1,e2,···,eT},其中,eiRd為第i個(gè)單詞的詞向量,|V| 為單詞表的大小,d為各自對(duì)應(yīng)矩陣的維度.矩陣E可以通過(guò)Word2Vec 和Glove 等預(yù)訓(xùn)練詞向量初始化.TextCNN[25]通過(guò)一維卷積抽取文本N-gram 的特征表示,獲得語(yǔ)義信息,并使用CNN 從評(píng)論單詞序列提取語(yǔ)義特征.相比于RNN 和Transformer[26]結(jié)構(gòu)的模型,CNN 計(jì)算更加高效.因此,本文選用CNN 作為評(píng)論編碼器.對(duì)于每個(gè)卷積核fj,第j個(gè)卷積核在第i個(gè)窗口的計(jì)算結(jié)果是
式(3)中:Wj是第j個(gè)卷積核;Xi:i+h-1表示相鄰的h個(gè)單詞; R eLU 表示激活函數(shù);bj為偏差項(xiàng).經(jīng)過(guò)K個(gè)卷積核的計(jì)算,可以獲得特征H{c1,c2,···,cK},HRT×K,其中T表示單詞的長(zhǎng)度.因?yàn)镠的每一行表示單詞的特征,H還可表示為H{c1,c2,···,cT}. 正如前面所述,一方面,不是所有的單詞對(duì)推斷評(píng)分都有用;另一方面,相同的單詞對(duì)于不同的用戶(hù)也有著不同的信息量.考慮用戶(hù)ID 向量作為獨(dú)一無(wú)二的標(biāo)志攜帶著個(gè)性化信息,基于ID 向量可選擇重要的單詞預(yù)測(cè)用戶(hù)偏好,本文設(shè)計(jì)了2 種捕捉特定用戶(hù)特征的神經(jīng)網(wǎng)絡(luò): 基于普通注意力機(jī)制和基于門(mén)控機(jī)制.
1)基于普通注意力機(jī)制
首先,將用戶(hù)ID 向量經(jīng)過(guò)一層線性變換層得到注意力的向量qwu;然后,經(jīng)過(guò)普通注意力方法計(jì)算單詞的注意力權(quán)重.相應(yīng)公式為
式(4)―(6)中:ai和αi分別代表每條評(píng)論中第i個(gè)單詞的注意力得分和注意力權(quán)重;ci代表評(píng)論中第i個(gè)單詞的經(jīng)過(guò)卷積后的向量表示;⊕表示拼接操作.經(jīng)過(guò)權(quán)重聚合評(píng)論的單詞,獲得用戶(hù)的第1 條評(píng)論的表示,具體為
2)基于門(mén)控機(jī)制
受門(mén)控單元在語(yǔ)言模型上成功應(yīng)用的啟發(fā)[27],本文引入用戶(hù)ID 設(shè)計(jì)特定用戶(hù)感知的門(mén)控單元.特別地,將用戶(hù)ID 向量經(jīng)過(guò)線性層變換之后的表示與詞向量卷積之后的表示進(jìn)行組合,通過(guò)sigmoid 函數(shù)形成門(mén)控去控制信息的傳遞.計(jì)算過(guò)程為
式(8)―(9)中:gj代表門(mén)控單元;bg為偏差項(xiàng);cj代表卷積后的表示(H矩陣第j列);zj代表經(jīng)過(guò)門(mén)控之后的表示,經(jīng)過(guò)門(mén)控計(jì)算之后可獲得特征矩陣H′[z1,z2,···,zK],H′RT×K;⊙表示按位相乘.經(jīng)過(guò)在單詞序列長(zhǎng)度維度執(zhí)行最大池化之后得到用戶(hù)第1 條評(píng)論的表示,具體為
其中 m axpool 為最大池化操作.
當(dāng)獲得所有用戶(hù)和物品的評(píng)論表示后,將探索怎樣聚合它們?nèi)ケ硎居脩?hù)或者物品.如上所述,不同的評(píng)論對(duì)用戶(hù)表示的建模貢獻(xiàn)是不同的.同時(shí),當(dāng)用戶(hù)面對(duì)不同的目標(biāo)物品時(shí),每一條評(píng)論信息的有用性也是不同的,基于不同的物品特征可能激發(fā)用戶(hù)不同的興趣.普通的池化或者平均聚合不但忽視了不同評(píng)論的重要性,還不能動(dòng)態(tài)地捕捉用戶(hù)的偏好.因此,本文設(shè)計(jì)了一個(gè)目標(biāo)物品感知的注意力模塊去學(xué)習(xí)當(dāng)前用戶(hù)歷史評(píng)論中不同評(píng)論的重要性,以便更好地建模用戶(hù)偏好表示.
式(11)―(12)中:w2和W1代表可訓(xùn)練的權(quán)重系數(shù);⊕表示拼接操作;b為偏差項(xiàng).將權(quán)重βi和評(píng)論向量ru,i相乘可得到權(quán)重后的評(píng)論表示du[du,1,du,2,···,du,n],最終的用戶(hù)表示Xu通過(guò)聚合評(píng)論表示得到.相應(yīng)公式為
其中 s um 為評(píng)論表示的加和操作.
對(duì)稱(chēng)地,通過(guò)將輸入的評(píng)論集合替換為物品評(píng)論集合,物品描述替換為用戶(hù)描述,可以獲得物品的最終評(píng)論表示Xg.
評(píng)論摘要通常以小貼士或者吸睛標(biāo)題的形式幫助用戶(hù)快速做出購(gòu)買(mǎi)決定.在深度學(xué)習(xí)中,一些研究嘗試從相應(yīng)的評(píng)論文檔中抽取摘要形成物品描述[28].評(píng)論的摘要文本很短,含有較少的噪聲,并且對(duì)物品總結(jié)的評(píng)論摘要都是圍繞物品的屬性寫(xiě)下的,話(huà)題更單一,信息密度更高.本文專(zhuān)注于將用戶(hù)摘要拼接為長(zhǎng)度為l1文檔序列,然后查詢(xún)?cè)~向量矩陣得到用戶(hù)描述表示PuRh×l1,其中h表示可學(xué)習(xí)矩陣的維度.同理可得物品描述表示QgRh×l2,其中,l2為物品摘要拼接后的文檔序列長(zhǎng)度.通過(guò)計(jì)算得到關(guān)聯(lián)矩陣S.相應(yīng)公式為
式(14)中:WsRh×h表示可學(xué)習(xí)的權(quán)重參數(shù);φ(·)表示激活函數(shù).關(guān)聯(lián)矩陣的每一個(gè)單元表示對(duì)應(yīng)的用戶(hù)描述和物品描述的相似性遵循視覺(jué)問(wèn)答模型[29].將關(guān)聯(lián)矩陣看作特征去計(jì)算用戶(hù)描述和物品描述的單詞的重要性.相應(yīng)公式為
式(15)―(16)中:Mu、Mg分別表示用戶(hù)描述和物品描述的單詞的重要性;Wx,WyRh1×h和vx,vyRh1都是可學(xué)習(xí)的參數(shù);wu、wg分別是用戶(hù)描述中和物品描述中單詞的權(quán)重系數(shù).通過(guò)聚合計(jì)算,可得用戶(hù)評(píng)論描述表示su和物品評(píng)論描述表示sg. 相應(yīng)公式為
式(17)中:pj和qj分別表示用戶(hù)和物品描述的第j個(gè)單詞的詞向量.
將用戶(hù)的ID 向量eu和物品ID 向量eg分別看作從用戶(hù)和物品評(píng)分矩陣學(xué)習(xí)的隱表示,將Xu和Xg分別看作用戶(hù)和物品的評(píng)論語(yǔ)義特征表示,將su和sg分別看作用戶(hù)和物品評(píng)論描述語(yǔ)義特征表示.融合這3 種不同信息源的表示可實(shí)現(xiàn)信息互補(bǔ).因此,本文將融合這3 種特征的表示作為用戶(hù)和物品的最終表示,具體為
式(18)中:Uu和Gg為最終的用戶(hù)偏好和物品屬性的表示向量.
本文采用隱因子模型預(yù)測(cè)評(píng)分,首先將物品表示和用戶(hù)表示融合,然后輸入線性轉(zhuǎn)換層得到預(yù)測(cè)評(píng)分. 相應(yīng)公式為
式(19)中:WfRf為預(yù)測(cè)層的權(quán)重系數(shù);bu、bg、bo分別表示用戶(hù)偏差、物品偏差和全局偏差;⊙表示按位相乘.在訓(xùn)練階段,最小化標(biāo)準(zhǔn)評(píng)分和預(yù)測(cè)評(píng)分之間的均方誤差為
式(20)中: |T| 表示訓(xùn)練的數(shù)據(jù)集大小;Ru,g表示用戶(hù)對(duì)物品的真實(shí)評(píng)分.
本文從Amazon 5 分?jǐn)?shù)據(jù)集上選擇Digital Music、Office Product、Grocery and Gourmet Food、Toys and Games 和Video Games 等5 個(gè)來(lái)自不同領(lǐng)域且大小規(guī)模不同的數(shù)據(jù)集.數(shù)據(jù)集包含用戶(hù)從1 分到5 分的評(píng)分,并且每個(gè)用戶(hù)–物品對(duì)都有相應(yīng)的評(píng)分.本文對(duì)所有的數(shù)據(jù)集執(zhí)行如下的操作: 刪除評(píng)論中文檔頻率高于0.90 的單詞,為每一個(gè)單詞計(jì)算TF-IDF(term frequency–inverse document frequency)得分,并選擇4 萬(wàn)個(gè)不同的單詞構(gòu)建詞匯表;刪除每條評(píng)論中所有不在詞匯表中的單詞;為了避免評(píng)論的長(zhǎng)度和數(shù)量造成的長(zhǎng)尾效應(yīng),設(shè)置評(píng)論的長(zhǎng)度和數(shù)量能覆蓋到70%的用戶(hù)評(píng)論和物品評(píng)論;對(duì)于拼接的評(píng)論文檔,設(shè)置固定長(zhǎng)度為500,對(duì)于拼接的評(píng)論摘要文檔設(shè)置長(zhǎng)度為30.表1 總結(jié)了預(yù)處理后數(shù)據(jù)集的統(tǒng)計(jì)信息和評(píng)論設(shè)置,其中評(píng)分密度表示評(píng)分矩陣的稀疏程度.隨機(jī)劃分每一個(gè)數(shù)據(jù)集合的80%作為訓(xùn)練集,10%作為驗(yàn)證集,10%作為測(cè)試集,并且訓(xùn)練集上保證每個(gè)用戶(hù)至少與物品交互過(guò)一次.
表1 5 個(gè)亞馬遜數(shù)據(jù)集的信息統(tǒng)計(jì)Tab.1 Statistical details for five Amazon datasets
1)評(píng)估指標(biāo)
為了驗(yàn)證本文提出的DAPR 模型的有效性,本文使用均方誤差MSE(mean square error)作為評(píng)估方法,并用EMS表示.給定真實(shí)評(píng)分Ru,g和預(yù)測(cè)評(píng)分,EMS的計(jì)算公式為
其中 |Ω| 表示測(cè)試集的數(shù)量.
為了評(píng)估本文DAPR 模型的性能,本文將DAPR 與6 個(gè)常用的基于評(píng)論的推薦模型(基線模型)進(jìn)行了比較.這6 個(gè)常用的基于評(píng)論的推薦模型如下.
(1)MF[9]: 是基礎(chǔ)的矩陣分解模型,僅依賴(lài)評(píng)分矩陣學(xué)習(xí)物品和用戶(hù)表示,通過(guò)點(diǎn)積預(yù)測(cè)評(píng)分.
(2)DeepCoNN[3]: 將用戶(hù)和物品評(píng)論集合拼接成文檔,使用2 個(gè)平行的CNN 從評(píng)論文檔提取語(yǔ)義信息,采用因子分解機(jī)預(yù)測(cè)評(píng)分.
(3)D-Attn(dual attention)[4]: 整合全局注意力和局部注意力網(wǎng)絡(luò),同時(shí)考慮評(píng)論文檔的全局和局部的信息量大的單詞,捕捉更準(zhǔn)確的語(yǔ)義特征.
(4)DAML[6]: 基于局部注意力捕捉局部語(yǔ)義信息,然后計(jì)算用戶(hù)表示和物品表示之間相關(guān)性得到交互注意力權(quán)重去選擇信息量大的單詞,實(shí)現(xiàn)用戶(hù)與物品之間的動(dòng)態(tài)交互.
(5)MPCN[18]: 結(jié)合協(xié)同注意力技術(shù)和Gumbel-Softmax 指針技術(shù)選擇相關(guān)性高的評(píng)論,并進(jìn)一步采用單詞級(jí)別的指針選擇評(píng)論中重要的單詞用作評(píng)分.
(6)NARRE[5]: 利用歷史交互的ID 信息設(shè)計(jì)單詞層級(jí)注意力網(wǎng)絡(luò)學(xué)習(xí)評(píng)論的有用性.
2)超參設(shè)置
為了公平比較,本文對(duì)所有模型執(zhí)行相同的預(yù)處理過(guò)程: 設(shè)定詞向量的維度為300,并且選擇Glove 作為預(yù)訓(xùn)練詞向量;ID 的嵌入向量維度設(shè)置為32;卷積核的個(gè)數(shù)設(shè)置為32,在[16,32,64]的范圍內(nèi)調(diào)節(jié),卷積的窗口設(shè)置為3;注意力網(wǎng)絡(luò)的隱藏層維度設(shè)置為32;最終用戶(hù)和物品的表示維度設(shè)置為32,在[16,32,64]的范圍內(nèi)調(diào)節(jié).對(duì)于D-Attn 和DAML,設(shè)置批量大小為32;對(duì)于MPCN,設(shè)置指針數(shù)量為4,其他所有模型批量大小設(shè)置為128.采用dropout 緩解過(guò)擬合問(wèn)題,設(shè)置dropout 的丟失率為0.3.采用Adam 優(yōu)化策略?xún)?yōu)化模型,學(xué)習(xí)率設(shè)為0.001,權(quán)重衰減設(shè)為0.000 1.設(shè)置模型的最大訓(xùn)練周期(epoch)為20,當(dāng)連續(xù)6 個(gè)epoch 模型性能沒(méi)有提升時(shí),停止訓(xùn)練.
表2 展現(xiàn)了本文提出的DAPR 模型和基線模型的MSE 比較結(jié)果,可以發(fā)現(xiàn): 基于評(píng)論文本的模型DeepCoNN 和NARRE 等都顯著好于僅依賴(lài)于評(píng)分?jǐn)?shù)據(jù)的模型MF,這說(shuō)明評(píng)論包含的語(yǔ)義特征有助于預(yù)測(cè)評(píng)分;并且使用注意力網(wǎng)絡(luò)的模型D-Attn 和NARRE 比沒(méi)有注意力的DeepCoNN 表現(xiàn)更好,表明注意力機(jī)制可以關(guān)注到信息量大的單詞和評(píng)論;MPCN 在所有的數(shù)據(jù)集上的表現(xiàn)都很不穩(wěn)定,可能是因?yàn)槭褂妹看芜x擇特定數(shù)量評(píng)論過(guò)濾了太多評(píng)論信息,并且動(dòng)態(tài)選擇給模型增加l 了不確定性;DAML 獲得比DeepCoNN 和D-Attn 更大的提升,證明動(dòng)態(tài)注意力網(wǎng)絡(luò)捕捉動(dòng)態(tài)的用戶(hù)偏好和物品屬性有助于推薦性能提升;使用評(píng)論文檔的方法DeepCoNN、D-Attn 和DAML 在較大的數(shù)據(jù)集Toys and Games 和Video Games 上的表現(xiàn)相對(duì)較差,表明在大的數(shù)據(jù)集上,采用基于文檔的方法會(huì)引入較多噪聲和不相關(guān)信息.
表2 DAPR 模型和基線模型的MSE 比較Tab.2 MSE comparison of DAPR and baseline models
本文提出的DAPR 模型在5 個(gè)數(shù)據(jù)集上取得了最好的結(jié)果,與當(dāng)下最優(yōu)的基線模型NARRE 相比,取得了0.29%(Grocery and Food)到1.75%(Video Games)范圍的提升.盡管NARRE 采用了注意力機(jī)制關(guān)注于重要的評(píng)論,但DAPR 采用分層的注意力網(wǎng)絡(luò),能更詳細(xì)建模用戶(hù)和物品.DAPR 顯著好于動(dòng)態(tài)建模的DAML 和MPCN,說(shuō)明本文在評(píng)論上采用交叉注意力模塊、在評(píng)論摘要上的協(xié)同注意力模塊能更好獲得用戶(hù)和物品的表示.DAPR-gate 為在單詞級(jí)別使用門(mén)控選擇重要信息的模型,同樣取得了小幅度的提升,證明引入ID 控制單詞層級(jí)的信息流動(dòng)可以提取更豐富的語(yǔ)義信息.
3.3.1 DAPR 模型不同模塊的有效性
DAPR 模型主要由單詞級(jí)別注意力、評(píng)論級(jí)別注意力和基于描述的協(xié)同注意力這3 部分組成.為了驗(yàn)證模型方法的有效性,本文分別將模塊消除或者換為可替代模型方法探究相應(yīng)模塊的有效性.消融結(jié)果如表3 所示,其中,Base 模型在單詞和評(píng)論的聚合中均采用maxpool 方式;Base+Ave 模型對(duì)單詞和評(píng)論采用平均聚合;DAPR-WA 表示DAPR 模型不使用單詞級(jí)別注意力,將卷積之后的隱藏表示平均聚合得到用戶(hù)評(píng)論;DAPR-RA 表示模式不使用評(píng)論級(jí)別注意力,平均聚合評(píng)論獲得用戶(hù)表示;DAPR-Co 表示不使用評(píng)論描述的交互注意力.
表3 DAPR 模型消融實(shí)驗(yàn)的MSE 結(jié)果Tab.3 MSE results of ablation experiments with DAPR model
實(shí)驗(yàn)結(jié)果表明,采用平均聚合和最大池化聚合,結(jié)果沒(méi)有顯著區(qū)別.DAPR-WA 和DAPR-RA 消除個(gè)性化機(jī)制之后,模型性能下降,表明引入單詞注意力和評(píng)論注意力模塊均能一定程度提升模型性能,其中,在數(shù)據(jù)集Digital Music 上,DAPR 性能差于DAPR-RA,這可能是應(yīng)用于評(píng)論的交叉注意力在小數(shù)據(jù)集上不穩(wěn)定所導(dǎo)致的.當(dāng)移除描述的協(xié)同注意力網(wǎng)絡(luò)時(shí),模型性能顯著下降,表明整合上下文感知的動(dòng)態(tài)偏好可幫助更好的建模用戶(hù)偏好和物品屬性.
3.3.2 不同預(yù)測(cè)模塊的有效性
在之前的研究中,不同的模型使用不同的方法進(jìn)行預(yù)測(cè),其中,DeepCoNN 和MPCN 采用FM 作為預(yù)測(cè)層,DAML 和NARRE 使用修改的LFM(latent factor model)作為預(yù)測(cè)層,MF 和D-Attn 采用點(diǎn)積預(yù)測(cè)評(píng)分.分別修改DAPR 的預(yù)測(cè)層模型為點(diǎn)乘和FM,探究不同預(yù)測(cè)層對(duì)實(shí)驗(yàn)結(jié)果的影響,結(jié)果如表4 所示.
表4 DAPR 采用不同預(yù)測(cè)層的MSE 結(jié)果Tab.4 MSE results of different prediction layers of DAPR
表4 結(jié)果表明,不同的預(yù)測(cè)層對(duì)模型的影響差異非常大,點(diǎn)乘的方法(Dot)顯著低于FM 和LFM 的表現(xiàn);注意到FM 建模二階的特征交互,在數(shù)據(jù)集Digital Music 和數(shù)據(jù)集Toys and Games 上均表現(xiàn)不好,DAPR 在文本階段已經(jīng)完成交互,高層的特征交互增加了模型的復(fù)雜度,不能進(jìn)一步提升性能,甚至損害模型性能;DAPR-LFM 為本文采用了預(yù)測(cè)層,表現(xiàn)性能最好.
本文提出了一種分層級(jí)描述感知的推薦算法DAPR,在捕捉特定的個(gè)性化特征的同時(shí),兼顧捕捉動(dòng)態(tài)的用戶(hù)偏好和物品屬性.在單詞層級(jí),因?yàn)椴煌膯卧~有不同的重要性,設(shè)計(jì)了ID 引導(dǎo)的注意力網(wǎng)絡(luò)選擇信息量大且具有個(gè)性化的單詞;在評(píng)論層級(jí),注意到用戶(hù)對(duì)不同物品展示出不同的興趣,設(shè)計(jì)了交叉注意力網(wǎng)絡(luò)動(dòng)態(tài)地學(xué)習(xí)物品表示和用戶(hù)表示;此外,引入評(píng)論摘要作為客觀描述信息,設(shè)計(jì)了協(xié)同注意力網(wǎng)絡(luò)以捕捉用戶(hù)和物品描述之間的相關(guān)性,進(jìn)一步捕捉用戶(hù)動(dòng)態(tài)的偏好;最后,將評(píng)分特征、動(dòng)態(tài)的評(píng)論特征和動(dòng)態(tài)的描述特征融合,預(yù)測(cè)評(píng)分.在5 個(gè)數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果證明了本文所提方法可以提升推薦性能.