李昆侖,林 娜,王 珺
(河北大學(xué) 電子信息工程學(xué)院,河北 保定071000) E-mail:likunlun@hbu.edu.cn
盡管現(xiàn)在已有許多基于評(píng)分實(shí)現(xiàn)用戶偏好與物品特征建模的推薦模型,但是依然存在兩個(gè)主要的挑戰(zhàn)[1-3].一方面,實(shí)際應(yīng)用場(chǎng)景中用戶-物品的交互數(shù)據(jù)十分稀疏,訓(xùn)練出精準(zhǔn)的推薦模型十分困難,導(dǎo)致物品有效推薦具有很大的局限性.另一方面,僅僅依賴評(píng)分?jǐn)?shù)據(jù)很難完整地解釋用戶的興趣偏好和物品的屬性特征.
很多研究者選擇添加各種輔助信息增強(qiáng)推薦性能[4,5],如:物品屬性標(biāo)簽、用戶評(píng)論等.充分的利用這些信息,可以進(jìn)一步獲取用戶的偏好與物品的特性.其中,用戶評(píng)論文本是提高推薦性能的重要信息資源.各大電商平臺(tái)積極鼓勵(lì)用戶發(fā)表相關(guān)評(píng)論,希望借助語義信息豐富的隱式評(píng)論特征,更好地理解用戶偏好與物品屬性,從而提高推薦算法性能.將評(píng)分信息與評(píng)論文本信息相結(jié)合,不但可以捕捉更多的用戶偏好特征和物品屬性特征,還可以更好的理解用戶是如何給該物品進(jìn)行打分,使用戶的潛在偏好與物品潛在屬性具有可解釋性.文獻(xiàn)[6]利用評(píng)論文本信息作為輔助信息,從文本信息中學(xué)習(xí)特征分布.該模型僅僅從物品整體評(píng)論進(jìn)行特征建模,沒有關(guān)注每個(gè)用戶的歷史評(píng)論,忽略了用戶與物品的交互行為,很難把握用戶具體偏好.文獻(xiàn)[7]為了避免文本信息在不同情況下因含義不同帶來的差異性,該模型將用戶偏好與物品特征分別建模.同一用戶的所有歷史評(píng)論構(gòu)成了用戶的評(píng)論文本,而物品收到的所有用戶評(píng)論構(gòu)成物品評(píng)論文本.利用卷積神經(jīng)網(wǎng)絡(luò)(Convolutional neural network,CNN)分別對(duì)用戶評(píng)論文本信息與物品評(píng)論文本信息進(jìn)行特征提取,得到相對(duì)應(yīng)的特征表示.單純利用CNN進(jìn)行文本特征提取,捕捉的是文本局部特征,很難捕獲長距離特征以及上下文信息.
已有各種不同技術(shù)被應(yīng)用于推薦評(píng)論的建模,特別是卷積神經(jīng)網(wǎng)絡(luò)(CNN),且取得較好的效果.但CNN針對(duì)自然語言處理方面具有一定的局限性.CNN進(jìn)行文本特征提取主要通過滑動(dòng)窗口加池化的方式捕捉文本局部特征.但獲取精準(zhǔn)的語義信息僅考慮局部語義是不足夠的,需結(jié)合文本的上下文關(guān)系.如“這個(gè)版本不如原版那樣經(jīng)典,但其仍然豐富有趣”很可能因?yàn)镃NN模型捕獲到“不如”該字眼,被分類為消極情感,而非整體情感傾向.因此,CNN進(jìn)行文本特征提取很難同時(shí)考慮到語義的局部與全局信息,導(dǎo)致語義信息特征提取不準(zhǔn)確,尤其對(duì)于長文本信息更加明顯.
針對(duì)以上問題,本文提出了融合評(píng)分與評(píng)論的深度評(píng)分預(yù)測(cè)模型DMRR(Deep Model combining Rating and Review).該模型在進(jìn)行文本特征提取時(shí),將CNN與GRU(Gated Recurrent Unit)進(jìn)行有效的結(jié)合,希望可以從局部與全局兩方面提取文本特征.并根據(jù)用戶-物品歷史評(píng)分信息引入了物品可推薦度與用戶偏好程度.為了有效結(jié)合評(píng)分與評(píng)論信息,該模型利用融合策略將二者構(gòu)建的特征矩陣進(jìn)行融合.提取融合特征的高階特征向量,并通過矩陣分解預(yù)測(cè)用戶評(píng)分.
目前已經(jīng)有一些基于用戶-物品歷史評(píng)分提供精確推薦的相關(guān)工作,基于用戶的協(xié)同過濾(User-based collaborative filtering)是最為經(jīng)典的推薦算法[8].其核心是利用用戶個(gè)人偏好信息尋找與用戶相似的目標(biāo)用戶.但是無論新老用戶,個(gè)人偏好信息總是很難捕獲,這一關(guān)鍵信息的缺乏導(dǎo)致了推薦的冷啟動(dòng)問題.
為了緩解冷啟動(dòng)問題,文獻(xiàn)[3,5]在協(xié)同過濾算法中引入矩陣分解.目的是將用戶偏好和物品屬性分別表示成兩個(gè)隱向量,然后將這兩個(gè)向量進(jìn)行內(nèi)積運(yùn)算得到預(yù)測(cè)評(píng)分.研究表明,矩陣分解技術(shù)的引入一定程度緩解了冷啟動(dòng)問題,提升了推薦性能.但是,矩陣分解模型也存在一些不足,如數(shù)據(jù)稀疏性、以及該模型單純的利用顯示評(píng)分特征很難捕獲用戶的具體偏好以及物品屬性等.為了克服矩陣分解模型的不足,許多研究者引入各種輔助信息,如標(biāo)簽、社交網(wǎng)絡(luò)、用戶隱性行為、評(píng)論文本等[4,5,9].目前,結(jié)合評(píng)分與評(píng)論進(jìn)行預(yù)測(cè)的方法較為受歡迎.一方面,在推薦系統(tǒng)的可解釋性方面會(huì)做得更好;另一方面,可以利用評(píng)論隱式特征彌補(bǔ)評(píng)分稀疏性問題.
基于評(píng)論文本的推薦算法大多利用傳統(tǒng)的NLP模型進(jìn)行文本特征處理,如LDA、TF-IDF等[10].文獻(xiàn)[11]將LDA主題模型應(yīng)用于評(píng)論文本,并將主題與評(píng)分映射到相同空間,以提高預(yù)測(cè)精度.該方法判斷文本相似度時(shí)沒有考慮語義間的關(guān)聯(lián),導(dǎo)致推薦效果不理想.隨著深度學(xué)習(xí)網(wǎng)絡(luò)在各個(gè)領(lǐng)域的成功應(yīng)用,人們嘗試?yán)蒙疃葘W(xué)習(xí)網(wǎng)絡(luò)模型對(duì)用戶-物品評(píng)論進(jìn)行特征提取,捕獲文本語義信息[12].特別是卷積神經(jīng)網(wǎng)絡(luò)在ImageNet圖像分類競賽中取得巨大成功后,該網(wǎng)絡(luò)模型在圖像、文本、音頻等各個(gè)領(lǐng)域廣泛使用.文獻(xiàn)[13-15]則均通過CNN自動(dòng)提取文本特征信息,進(jìn)一步增強(qiáng)了評(píng)分預(yù)測(cè)準(zhǔn)確率.
相對(duì)于卷積神經(jīng)網(wǎng)絡(luò),自然語言處理領(lǐng)域更常用的是循環(huán)神經(jīng)網(wǎng)絡(luò)(Recurrent Neural Network,RNN).因?yàn)槲谋拘畔⒅g具有很強(qiáng)的依賴性,然而卷積神經(jīng)網(wǎng)絡(luò)恰恰忽略掉了這點(diǎn),無法將發(fā)生的事情給出關(guān)聯(lián)分析.文獻(xiàn)[16]利用LSTM模型進(jìn)行文本特征提取,希望考慮詞序,使文本特征提取更準(zhǔn)確,從而提高推薦性能.文獻(xiàn)[17]利用了改進(jìn)循環(huán)神經(jīng)網(wǎng)絡(luò)雙向GRU從用戶評(píng)論和商品評(píng)論中分別提取用戶和商品的深層非線性特征向量,來預(yù)測(cè)出用戶對(duì)商品的評(píng)分.
深度學(xué)習(xí)的應(yīng)用開辟了推薦系統(tǒng)的新天地,其“黑盒效應(yīng)”導(dǎo)致推薦算法可解釋性差[18].文獻(xiàn)[19]提出了基于評(píng)論的深度注意力推薦模型ADR.該模型從評(píng)論文本中學(xué)習(xí)到用戶和物品特征,并通過注意力網(wǎng)絡(luò)得到權(quán)重矩陣,從而動(dòng)態(tài)調(diào)節(jié)文本特征的重要性,提高推薦性能.文獻(xiàn)[20]提出了基于注意力機(jī)制的GRU模型,結(jié)合矩陣分解得到的潛在因子,有效增加了模型可解釋性.
綜上所述,本文將CNN與GRU進(jìn)行有效結(jié)合,并融合用戶-物品評(píng)論與評(píng)分,構(gòu)建深度評(píng)分預(yù)測(cè)模型.與之前工作最大不同的是,本文不僅在語義特征提取階段考慮了上下文信息,還將評(píng)分與評(píng)論信息結(jié)合,以提高推薦算法的泛化能力.
本節(jié)中重點(diǎn)討論本文提出的DMRR模型(Deep Model combining Rating and Review),該模型是一個(gè)利用評(píng)分與評(píng)論文本特征預(yù)測(cè)用戶評(píng)分的模型.該模型主要包含3個(gè)模塊:文本特征處理模塊、特征融合模塊以及高階特征提取模塊.具體模型結(jié)構(gòu)如圖1所示.
圖1 DMRR模型結(jié)構(gòu)Fig.1 Model structure of DMRR
在文本的特征提取模塊中,有效的結(jié)合了GRU與CNN網(wǎng)絡(luò),可以更加精準(zhǔn)地從文本中獲取語義信息,并利用了注意力機(jī)制網(wǎng)絡(luò)(Attention Mechanism)增強(qiáng)算法可解釋性.在特征融合模塊中,希望大量的評(píng)分?jǐn)?shù)據(jù)與評(píng)論文本信息結(jié)合,可以進(jìn)一步提高推薦系統(tǒng)的推薦精度.將文本特征提取模塊學(xué)習(xí)構(gòu)建的用戶文本特征矩陣與物品文本特征矩陣,分別與用戶-物品評(píng)分?jǐn)?shù)據(jù)得到的用戶偏好程度與物品可推薦度,通過融合策略進(jìn)行特征融合.高階特征提取模塊,通過卷積操作的得到用戶與物品的高階特征向量.最后,通過矩陣分解進(jìn)行評(píng)分預(yù)測(cè).
由于用戶評(píng)論文本更多包含用戶偏好,而物品評(píng)論更多包含物品屬性.因此,本文將同一用戶的所有歷史評(píng)論形成一個(gè)單獨(dú)的文件作為用戶評(píng)論文本.同樣,將同一物品收到的所有用戶評(píng)論構(gòu)成一個(gè)單獨(dú)文件作為物品評(píng)論文本.本模型在評(píng)論文本特征學(xué)習(xí)階段,主要希望通過聯(lián)合學(xué)習(xí)用戶-物品評(píng)論文本,構(gòu)造出潛在特征向量.卷積神經(jīng)網(wǎng)絡(luò)在很多自然語言處理與信息檢索任務(wù)中取得較好成就,WU等人提出的CARL模型便選擇利用CNN進(jìn)行文本特征學(xué)習(xí),取得很好的結(jié)果[7].但是,CNN很難把握序列關(guān)系以及上下文信息.本文在進(jìn)行文本特征提取時(shí),不僅利用CNN,同時(shí)還利用了GRU網(wǎng)絡(luò)學(xué)習(xí)文本之間的序列關(guān)系以及上下文信息,進(jìn)一步捕獲更精準(zhǔn)的語義信息特征.然后,利用注意力機(jī)制網(wǎng)絡(luò)層動(dòng)態(tài)調(diào)節(jié)用戶、物品特征向量,獲取重要特征信息,構(gòu)造用戶文本特征矩陣以及物品文本特征矩陣.圖2給出了文本特征提取的基本過程.
圖2 文本特征提取模塊Fig.2 Architecture of the review-based feature learning
通常,一個(gè)用戶評(píng)論文本中對(duì)于不同物品的偏好程度是不同的.也就是說,評(píng)論文本中并非所有信息對(duì)于預(yù)測(cè)評(píng)分都是必要的.為了獲取有效信息,Attention分別對(duì)u,v特征進(jìn)行處理.先將u,v映射在同一潛在空間,然后利用一個(gè)注意力矩陣T∈Rf*f,根據(jù)用戶文本特征u和物品文本特征v,得到用戶-物品文本特征的相關(guān)性矩陣R,如公式(1)所示:
R=tanh(uTTv)
(1)
(2)
(3)
再根據(jù)文本特征的相關(guān)性,分別計(jì)算文本特征在用戶u和物品v中的重要性,從而獲取用戶偏好特征以及物品的屬性特征:
(4)
(5)
最后,結(jié)合注意力權(quán)重矩陣構(gòu)造用戶文本特征矩陣U′∈Rn*k和物品文本特征矩陣V′∈Rn*k:
U′=diag(au)uT
(6)
V′=diag(av)vT
(7)
文本特征提取模塊算法描述如算法1.
算法1.
輸入:用戶評(píng)論文本Du,物品評(píng)論文本Di
輸出:用戶文本特征矩陣U′和物品文本特征矩陣V′
Step 1.評(píng)論文本經(jīng)過embedding,得到詞向量特征表示wi∈R1*t;
Step 2.詞嵌入向量表示分別送入CNN和GRU中進(jìn)行語義信息特征提取;
Step 3.將局部與全局特征進(jìn)行融合,得到用戶文本特征u以及物品文本特征v;
Step 4.通過Attention,得到用戶注意力權(quán)重矩陣au以及物品注意力權(quán)重矩陣av;
Step 5.利用式(6)、式(7)構(gòu)造用戶文本特征矩陣U′和物品文本特征矩陣V′.
Tan和Zhang提出聯(lián)合用戶-物品評(píng)分來增強(qiáng)之前根據(jù)文本信息學(xué)習(xí)得到的潛在特征,可以更好地對(duì)物品屬性特征與用戶偏好特征進(jìn)行建模[21].本文利用用戶-物品歷史評(píng)分?jǐn)?shù)據(jù)計(jì)算出物品可推薦度與用戶偏好程度,更明確地區(qū)分不同物品評(píng)論之間以及不同用戶評(píng)論之間語義信息的不同.同一單詞對(duì)于不同語境,表達(dá)的語義有時(shí)可能偏差較小,有時(shí)可能相差甚遠(yuǎn).評(píng)分的高低,則可以直接表達(dá)用戶對(duì)該物品的喜歡程度,同時(shí)間接表明對(duì)應(yīng)評(píng)論的情感傾向.利用評(píng)分輔助評(píng)論,可以更明確地確定其代表的情感傾向,有助于更精準(zhǔn)提取語義信息.二者融合方式如公式(8)、公式(9)所示:
U″=vuU′
(8)
V″=fiV′
(9)
其中,vu為用戶偏好特征分布,fi為物品可推薦特征分布,U′為結(jié)合注意力權(quán)重矩陣構(gòu)造的用戶文本特征矩陣,V′為結(jié)合注意力權(quán)重矩陣構(gòu)造的物品文本特征矩陣.
3.2.1 物品可推薦度
為每一個(gè)物品計(jì)算可推薦度,并與物品文本特征進(jìn)行特征融合,達(dá)到評(píng)分對(duì)文本語義增強(qiáng)的效果.也就是說,一個(gè)物品平均評(píng)分和整體平均分差值為正時(shí),則值得推薦,該物品收到的評(píng)論文本語義應(yīng)偏向積極情感,且值的大小代表其情感傾向程度.該物品從文本中提取到的所有特征會(huì)按照對(duì)應(yīng)可推薦度得到增強(qiáng).一個(gè)物品平均評(píng)分和整體平均分差值為負(fù)時(shí),則不值得推薦,該物品收到的評(píng)論文本語義應(yīng)傾向消極情感.物品從文本中提取到的所有特征會(huì)按照對(duì)應(yīng)可推薦度減弱.即使某些物品評(píng)分較高,但評(píng)分?jǐn)?shù)量可能過少,故僅考慮物品平均分是不合理的.本文不僅考慮了平均評(píng)分等級(jí),還考慮了評(píng)分?jǐn)?shù)量.對(duì)于評(píng)分高且評(píng)分?jǐn)?shù)量多的物品,則表明該物品可推薦性較強(qiáng),更應(yīng)該值得被推薦.可推薦度fi計(jì)算公式如下:
(10)
(11)
(12)
3.2.2 用戶偏好程度
首先,定義用戶u對(duì)物品i的偏好程度gu,i=ru,i-mu,其中mu是用戶u歷史評(píng)分的均值.本文選擇將每個(gè)用戶歷史評(píng)分的均值作為其衡量界限的原因是不同用戶打分偏好可能不同.即同一單詞對(duì)于不同用戶,其表達(dá)語義可能存在偏差.也就是說,用戶u對(duì)物品i的偏好程度gu,i為正值時(shí),該用戶評(píng)論文本包含的語義信息應(yīng)正面積極,表達(dá)用戶對(duì)物品的喜愛.值越大,則用戶u對(duì)物品i喜歡程度越高;反之,gu,i為負(fù)值時(shí),為消極評(píng)論.值越小,則表明用戶u對(duì)物品i的不喜歡程度越高.用戶u對(duì)所有打過分的t個(gè)物品的偏好程度構(gòu)成了向量Gu=(gu,1,gu,2,…,gu,t)∈R1*t,代表了用戶偏好特征的重要性.該t個(gè)物品的可推薦特征分布為F=[f1,f2,…,ft]∈R1*t,得到最終的用戶u的偏好程度vu:
(13)
文本特征提取以及評(píng)分融合處理后,可能導(dǎo)致用戶評(píng)論文本與物品評(píng)論文本中涉及到的無關(guān)信息占很大比例.為了避免該操作引入過多的噪聲,本文選擇利用卷積操作對(duì)融合特征向量U″,V″,提取更高階的語義特征.首先,通過卷積-池化操作進(jìn)行更高階的特征提取.
(14)
(15)
hu=[h1,…,hf]
(16)
hi=[h1,…,hf]
(17)
其中,Wj是卷積核大小,f是relu激活函數(shù),mean()則代表平均池化操作.
其次,將物品向量hi以及用戶向量hu分別送入全連接層,得到物品的高階特征向量ti與用戶高階特征向量tu:
tu=f(W*hu+b)
(18)
ti=f(W*hi+b)
(19)
其中,W是權(quán)重矩陣,b為偏置.
本文選擇因子分解機(jī)(Factorization Machine,FM)進(jìn)行評(píng)分預(yù)測(cè).不同用戶有不同的打分習(xí)慣,所以在進(jìn)行評(píng)分預(yù)測(cè)時(shí),不僅考慮了全局偏置,還考慮了相關(guān)的用戶與物品偏置.希望通過該變量調(diào)節(jié)評(píng)分預(yù)測(cè),提高預(yù)測(cè)性能,具體計(jì)算如公式(20)-公式(22)所示:
zu,i=tu?ti
(20)
(21)
(22)
其中,?是concatenation操作,μ是全局偏置,bu和bi分別是用戶偏置和物品偏置,m是潛在特征向量zu,i的系數(shù)向量,M是二階交叉特征向量的權(quán)重矩陣(其對(duì)角元素為0),vj∈Rv,vk∈Rv和分別是特征向量zu,i維度j,k,相關(guān)的潛在特征向量,y′是預(yù)測(cè)評(píng)分.
在參數(shù)優(yōu)化時(shí),本文選用了平方差作為損失函數(shù),并加入了正則化項(xiàng)避免過擬合.
(23)
其中,T是用戶-物品的評(píng)分集合,y是用戶u對(duì)物品i的真實(shí)評(píng)分,y′則是預(yù)測(cè)評(píng)分,θ是所有參數(shù),λ是正則系數(shù).本文評(píng)分預(yù)測(cè)算法如算法2.
算法2.
輸入:用戶-物品歷史評(píng)分矩陣M,用戶評(píng)論文本Du,物品評(píng)論文本Di
輸出:用戶評(píng)分預(yù)測(cè)y′
Step 1.利用文本特征提取模塊,學(xué)習(xí)構(gòu)建用戶文本特征矩陣U′和物品文本特征矩陣V′;
Step 2.利用式(10)-式(13)求解物品可推薦度和用戶偏好程度,并構(gòu)建相應(yīng)的特征分布;
Step 3.根據(jù)融合規(guī)則,得到融合特征矩陣;
Step 4.通過卷積和池化操作進(jìn)行高階特征提取;
Step 5.通過全連接層,得到用戶高階特征tu以及物品高階特征ti;
Step 6.利用式(21)進(jìn)行評(píng)分預(yù)測(cè).
本實(shí)驗(yàn)均在CPU為i7-9750H和GPU為GTX 1660 Ti,內(nèi)存為16.00GB的計(jì)算機(jī)上運(yùn)行的.實(shí)驗(yàn)環(huán)境為python3.6,運(yùn)行工具為PyCharm2019.為了評(píng)估本模型的性能,本文在數(shù)據(jù)集Amazon 5-core的4個(gè)不同子數(shù)據(jù)集上(Musical Instruments,Automotive,Office Products,Tools Improvement)以及Yelp數(shù)據(jù)集上分別進(jìn)行了實(shí)驗(yàn).每一個(gè)子數(shù)據(jù)集均來自Amazon上同一類別產(chǎn)品,包含“用戶ID”,“物品ID”,“評(píng)分(1-5)”以及“用戶對(duì)物品評(píng)論”4個(gè)特征.數(shù)據(jù)集具體信息統(tǒng)計(jì)如表1所示.最后一列給出了各種數(shù)據(jù)集的稀疏度,可以看出其數(shù)據(jù)是十分稀疏的.數(shù)據(jù)稀疏度指無評(píng)分?jǐn)?shù)據(jù)占整體評(píng)分?jǐn)?shù)據(jù)的比率,即:
(24)
表1 數(shù)據(jù)集基本信息Table 1 Basic information of datasets
其中,n為用戶數(shù)量,m為物品數(shù)量,k為評(píng)分?jǐn)?shù)量.
本實(shí)驗(yàn)詞向量維度為300,bach_size均為100,選用Adam優(yōu)化器更新模型參數(shù).FM預(yù)測(cè)層的潛在特征向量維度在{15,30,50,100,200}上進(jìn)行優(yōu)化調(diào)節(jié).卷積核大小為3*3,卷積核數(shù)量為45,GRU的隱藏單元個(gè)數(shù)與卷積核個(gè)數(shù)保持一致.正則系數(shù)和dropout分別為0.01和0.5.Musical Instruments,Automotive,Office Productss 3個(gè)數(shù)據(jù)集的學(xué)習(xí)率為0.001,Tools Improvement和Yelp兩個(gè)較大數(shù)據(jù)集的學(xué)習(xí)率為0.01.對(duì)于基線模型的超參數(shù)設(shè)置,是根據(jù)其原論文相關(guān)參數(shù)進(jìn)行設(shè)置的.
為了對(duì)本文提出模型進(jìn)行性能評(píng)估,選用了6種相關(guān)模型進(jìn)行比較,分別為PMF,DeepCoNN,D-attn,NARRE,CARL和RPR.以上方法只有PMF是利用用戶-物品評(píng)分?jǐn)?shù)據(jù)的經(jīng)典算法,其他均為近幾年較為新穎且具有代表性的方法,且這些方法均結(jié)合了評(píng)論文本構(gòu)建深度評(píng)分預(yù)測(cè)模型.
PMF:概率矩陣分解模型(Probabilistic Matrix Factorization),一個(gè)僅僅用到評(píng)分?jǐn)?shù)據(jù)的標(biāo)準(zhǔn)矩陣分解模型[22].
DeepCoNN:深度協(xié)同神經(jīng)網(wǎng)絡(luò)模型(Deep cooperative Neural Networks),是首個(gè)同時(shí)結(jié)合用戶評(píng)論集和商品評(píng)論集的深度學(xué)習(xí)模型,其性能優(yōu)越[7].該模型使用兩個(gè)并行的CNN網(wǎng)絡(luò)從物品評(píng)論文本以及用戶評(píng)論文本中提取潛在特征,然后利用矩陣分解進(jìn)行評(píng)分預(yù)測(cè).
D-attn:雙重注意力模型(dual attention-based model),利用雙重注意力機(jī)制模塊從局部與全局兩方面學(xué)習(xí)潛在特征表示,實(shí)現(xiàn)評(píng)分預(yù)測(cè)[23].
NARRE:具有評(píng)論可解釋性的神經(jīng)注意力評(píng)分回歸模型(Neural attentional rating regression with review-level explanations),利用兩個(gè)平行的CNN對(duì)評(píng)論中的詞進(jìn)行特征提取,并利用注意機(jī)制學(xué)習(xí)評(píng)論的有效性[24].
CARL:感知上下文的表示學(xué)習(xí)模型(context-aware user-item representation learning model),利用卷積操作與注意力機(jī)制方法共同進(jìn)行文本特征提取,并結(jié)合歷史交互的評(píng)分?jǐn)?shù)據(jù)進(jìn)行用戶評(píng)分預(yù)測(cè)[14].
RPR:基于評(píng)論兩極性的推薦模型(Review Polarity-wise Recommender model),利用CNN結(jié)構(gòu)分別從積極評(píng)論和消極評(píng)論中提取用戶喜歡以及不喜歡相關(guān)語義信息,進(jìn)行用戶-物品評(píng)分預(yù)測(cè)[25].
在實(shí)驗(yàn)過程中,為了避免因數(shù)據(jù)處理過程導(dǎo)致模型性能評(píng)估的偏差,所有方法的數(shù)據(jù)處理過程均一致.將隨機(jī)打亂的數(shù)據(jù)按8:2分為訓(xùn)練集和測(cè)試集,采用十折交叉驗(yàn)證在訓(xùn)練數(shù)據(jù)上進(jìn)行模型訓(xùn)練.評(píng)論文本數(shù)據(jù)只會(huì)用于用戶偏好特征以及物品屬性特征建模,不會(huì)出現(xiàn)在驗(yàn)證集以及測(cè)試集.具體文本處理過程如下:
1)將文本中所有字母都轉(zhuǎn)換為小寫并進(jìn)行標(biāo)點(diǎn)移除;
2)將每個(gè)句子拆分為一系列的詞;
3)去除停用詞;
4)利用TF-IDF計(jì)算詞頻,忽略高于0.5的文檔頻率的詞條,并選擇前20000個(gè)詞構(gòu)建詞典;
5)移除評(píng)論文本中所有超出詞典的詞;
6)將所有文本長度固定為300,若文本長度大于300,則只取前300個(gè)詞;若文本長度小于300,則進(jìn)行填充.
為了評(píng)估預(yù)測(cè)性能,本文選用均方差(MSE)和平均絕對(duì)誤差(MAE)作為評(píng)價(jià)指標(biāo).模型性能與MSE和MAE值成反比例關(guān)系.各種方法性能對(duì)比結(jié)果如表2所示.
(25)
(26)
其中,T是測(cè)試樣本,yui是用戶u對(duì)物品i的實(shí)際評(píng)分,而y′ui是預(yù)測(cè)評(píng)分.
根據(jù)表2可知,PMF方法性能整體表現(xiàn)均最差,尤其對(duì)于數(shù)據(jù)集較大且稀疏性較高的Tools Improvement和Yelp數(shù)據(jù)集.其原因是PMF是唯一一個(gè)只利用評(píng)分進(jìn)行評(píng)分預(yù)測(cè)的方法,而其他方法均融合了評(píng)論文本信息.從此,可以看出評(píng)論信息作為輔助信息有效提高了評(píng)分預(yù)測(cè)準(zhǔn)確性,且一定程度上緩解了推薦算法的數(shù)據(jù)稀疏性問題.DeepCoNN和RPR方法相對(duì)其他方法,在評(píng)論文本信息較長的Automotive和Yelp數(shù)據(jù)集上性能表現(xiàn)不是很好,其原因可能是該方法僅僅選用CNN進(jìn)行文本特征提取.也就是說,CNN對(duì)于提取長文本信息不是很優(yōu)秀.D-attn、NARRE和CARL等方法引入注意力機(jī)制,相比DeepCoNN性能提高較大,說明注意力的引入有利于幫助CNN從文本特征中捕獲重要信息,減少噪聲和不相關(guān)信息.考慮特征提取引入噪聲問題,CARL進(jìn)行了高階特征提取.相比NARRE方法,CARL方法在5個(gè)不同類別數(shù)據(jù)集上性能均有較大的提升.上述方法基本均是基于CNN進(jìn)行文本特征提取,雖然取得不錯(cuò)的成果,但是考慮CNN結(jié)構(gòu)對(duì)于捕獲長距離文本特征效果不是很理想.因此,本文提出了結(jié)合GRU和CNN的DMRR模型,以增強(qiáng)對(duì)長距離文本特征的提取.
表2 各種方法MSE和MAE對(duì)比結(jié)果Table 2 MSE and MAE of various methods
實(shí)驗(yàn)結(jié)果表明,在5個(gè)數(shù)據(jù)集上,DMRR模型的MSE值和MAE值均是所有基于評(píng)論基線模型中最小的.對(duì)于DeepCoNN、D-attn模型,性能具有很大的提升,MSE分別平均降低了19.69%、15.18%.在評(píng)論文本信息較長的Automotive和Office Products數(shù)據(jù)集上表現(xiàn)極為突出,相對(duì)性能最好CARL模型提升了9.40%、6.15%,但對(duì)于過長評(píng)論的Yelp數(shù)據(jù)集性能提升一般.分析其主要原因是,評(píng)論文本過長,評(píng)論之間差異性很大,基于文檔構(gòu)建會(huì)引入過多噪聲,導(dǎo)致模型性能下降.但根據(jù)整體實(shí)驗(yàn)結(jié)果表明,DMRR對(duì)于不同類型數(shù)據(jù)集的評(píng)分預(yù)測(cè)均有效可行,MSE平均降低了5.10%,MAE平均降低了4.33%.為了進(jìn)一步驗(yàn)證DMRR模型的有效性,下文將給出相關(guān)實(shí)驗(yàn)及分析.
本文融合了評(píng)論隱式特征與評(píng)分顯示特征進(jìn)行評(píng)分預(yù)測(cè),并提出利用GRU與CNN同時(shí)進(jìn)行文本特征提取,以及利用評(píng)分得到用戶偏好程度和物品可推薦度,從而提升推薦性能.為了更清晰地說明DMRR模型的有效性,本節(jié)對(duì)該算法進(jìn)行了橫向?qū)Ρ确治?表3展示了基于評(píng)論特征提取以及基于評(píng)分矩陣分解兩部分分別在5個(gè)數(shù)據(jù)集上對(duì)評(píng)分預(yù)測(cè)的影響.
表3 DMRR模型MSE和MAE結(jié)果Table 3 MSE and MAE of DMRR
值得注意的是,各個(gè)參數(shù)設(shè)置會(huì)影響模型性能.在比較相關(guān)模塊對(duì)模型影響時(shí),本實(shí)驗(yàn)涉及到的基本參數(shù)設(shè)置相同(如,潛在特征向量維度等).根據(jù)表3實(shí)驗(yàn)結(jié)果,無論MSE評(píng)價(jià)指標(biāo)還是MAE評(píng)價(jià)指標(biāo)都可以發(fā)現(xiàn),結(jié)合GRU和CNN進(jìn)行文本特征提取均比單純利用CNN進(jìn)行文本特征提取更有效,特別是在Amazon的數(shù)據(jù)集上提升較為明顯.這是因?yàn)槲谋局g具有嚴(yán)重的依賴性,GRU相對(duì)于CNN更適合處理該問題.本文選擇將二者進(jìn)行結(jié)合,而不是僅僅用GRU取代CNN的原因是,當(dāng)句子的情感分類是由整個(gè)句子決定的時(shí)候,GRU會(huì)更容易判斷正確;當(dāng)句子的情感分類是由幾個(gè)局部的key-phrases決定的時(shí)候,CNN會(huì)更容易判斷正確.本文則希望從局部與全局兩方面提取文本特征,使語義信息提取更加精準(zhǔn).CNN對(duì)關(guān)鍵詞進(jìn)行逐個(gè)特征提取,獲取評(píng)論的所有關(guān)鍵詞特征.而GRU從整句評(píng)論進(jìn)行特征提取和分析,進(jìn)一步增強(qiáng)關(guān)鍵詞之間的關(guān)聯(lián)性.對(duì)于Yelp數(shù)據(jù)集,結(jié)合GRU和CNN進(jìn)行文本特征提取效果不是很顯著,分析其原因可能為以下兩點(diǎn):一是,GRU對(duì)于過長文本序列仍然很難準(zhǔn)確捕捉上下文信息;二是,基于文檔構(gòu)建評(píng)論文本,可能會(huì)引入大量不相關(guān)信息,尤其對(duì)于過長文本.根據(jù)DMRR-CNN和DMRR-re的實(shí)驗(yàn)結(jié)果對(duì)比,可以明顯看出模型性能的提升.驗(yàn)證了根據(jù)評(píng)分?jǐn)?shù)據(jù)引入物品可推薦度以及用戶偏好程度以增強(qiáng)文本語義信息的方法,可以有效提升推薦模型性能.由此說明,評(píng)分與評(píng)論信息的有效結(jié)合,可以有效提升預(yù)測(cè)準(zhǔn)確性.
在保證實(shí)驗(yàn)數(shù)據(jù)集和實(shí)驗(yàn)環(huán)境相同的條件下,本文分析研究了不同超參數(shù)對(duì)該模型的性能影響.
1)潛在特征向量維度l
圖3展示了分別在{15,30,50,100,200}不同潛在特征向量維度上對(duì)模型的影響.根據(jù)實(shí)驗(yàn)結(jié)果,可以發(fā)現(xiàn)DMRR在很大范圍內(nèi)性能變化均較小,即潛在維度數(shù)量對(duì)該模型的影響不大.雖然個(gè)別數(shù)據(jù)集(Office_Products)在一定范圍內(nèi),性能隨著維度增加略微有所提升,但FM利用二階交叉特征進(jìn)行評(píng)分預(yù)測(cè)的計(jì)算消耗也越大.本實(shí)驗(yàn)最終選擇了l=15.
圖3 潛在特征向量維度l對(duì)模型的影響Fig.3 Impact of dimension number l across the six datasets
2)dropout
在訓(xùn)練過程中會(huì)選擇拋棄一些神經(jīng)元避免過擬合,提升模型性能.但是如果拋棄率選擇不合適,甚至可能會(huì)對(duì)降低模型性能.圖4展示了不同dropout對(duì)模型的影響.根據(jù)實(shí)驗(yàn)結(jié)果可以發(fā)現(xiàn),隨著dropout比率增大,MSE值先逐漸減小后又持續(xù)上升.剛好符合前面得到的結(jié)論,dropout需選擇適當(dāng).在該實(shí)驗(yàn)過程中,當(dāng)dropout為0.5,模型性能最好.
圖4 dropout對(duì)模型的影響Fig.4 Impact of the different dropout ratios
3)正則系數(shù)
在訓(xùn)練過程中,模型的空間大小對(duì)模型在訓(xùn)練數(shù)據(jù)上的表現(xiàn)具有很大的影響.當(dāng)模型空間很大,挑選到合適模型的概率就會(huì)降低,易于出現(xiàn)過擬合現(xiàn)象;當(dāng)模型空間很小,很難找到數(shù)據(jù)擬合很好的模型.正則化實(shí)則是一種控制模型空間的方法,限制參數(shù)空間大小,減少泛化誤差.如果正則系數(shù)過大,模型空間可能較小,導(dǎo)致模型可能因沒有學(xué)習(xí)到訓(xùn)練數(shù)據(jù)中一些特征屬性而產(chǎn)生欠擬合;如果正則系數(shù)過小,模型空間會(huì)很大,能夠?qū)⒂?xùn)練數(shù)據(jù)特征屬性學(xué)習(xí)很好,但測(cè)試性能可能不高.因此理想的正則系數(shù)可以讓模型擁有較好的泛化能力,提高模型性能.本實(shí)驗(yàn)在[0.001,0.005,0.01,0.05,0.1]進(jìn)行調(diào)節(jié),根據(jù)圖5可以看出,正則系數(shù)為0.01時(shí),模型性能最好.
圖5 正則系數(shù)對(duì)模型的影響Fig.5 Impact of the size of lambda
本文提出了融合評(píng)分與評(píng)論的深度評(píng)分預(yù)測(cè)模型DMRR.該模型有效結(jié)合評(píng)分與評(píng)論信息,提高模型的泛化能力.一方面,利用用戶-物品評(píng)論文本更好的理解用戶給出評(píng)分的原因;另一方面,利用評(píng)分?jǐn)?shù)據(jù)進(jìn)一步增強(qiáng)從評(píng)論文本中學(xué)習(xí)到的文本特征.理論分析與實(shí)驗(yàn)結(jié)果均表明,DMRR較目前相關(guān)模型,進(jìn)一步提高了評(píng)分預(yù)測(cè)準(zhǔn)確性.