陳昊峰,劉學(xué)軍+,王步美
(1.南京工業(yè)大學(xué) 計算機科學(xué)與技術(shù)學(xué)院,江蘇 南京211816;2.江蘇省特種設(shè)備安全監(jiān)督檢驗研究院 直屬分院安全評價室,江蘇 南京 210002)
為深入挖掘用戶的歷史行為信息從而捕獲用戶的興趣偏好,推薦系統(tǒng)應(yīng)運而生。推薦系統(tǒng)根據(jù)分析用戶過去的行為記錄和屬性等相關(guān)信息,以此來預(yù)測用戶未來的興趣偏好,并基于這些預(yù)測結(jié)果以個性化的方式為用戶提供所需要的商品項目[1]。
傳統(tǒng)的推薦系統(tǒng)方法使用協(xié)同過濾推薦算法(collaborative filtering recommendation algorithm,CF[2]),該算法主要根據(jù)用戶的歷史交互進行推薦,然而對于那些交互信息較少的用戶,推薦的效果就會受到影響。
現(xiàn)有的跨域推薦研究主要是通過相關(guān)的源域作為輔助信息,利用跨域評級矩陣來實現(xiàn)知識的遷移,當(dāng)用戶的交互信息不足時往往會導(dǎo)致評級矩陣產(chǎn)生稀疏性問題,因此相關(guān)研究人員考慮把用戶的評論信息作為知識進行轉(zhuǎn)移,評論信息可以豐富用戶和項目的建模,不但可以反應(yīng)用戶對項目的愛好程度,而且還能提高推薦的可解釋性。但是當(dāng)用戶對一個項目的評論較少容易產(chǎn)生評論稀疏性問題。
針對上述問題,提出了一種基于評論文本和融入專業(yè)度評分的跨域混合推薦方法(hybrid cross-domain recommendation based on comment text and rating recommendation,CTR-HCDR)。該方法通過不同領(lǐng)域用戶的評論來連接多個用戶的內(nèi)在特征,能夠提取用戶和項目評論文本中的方面特征信息,并通過注意力機制識別和加權(quán)全局跨域方面相關(guān)性進行用戶偏好估計。同時利用評論文本中的評分信息,引入基于評分的跨域推薦方法,對聚類用戶對聚類項目的評分做出了改進,融入用戶專業(yè)度來細化每個用戶的評分,使得專業(yè)度高的用戶對項目評分具有更大的權(quán)重,從而提高推薦效果。
按照域中的不同信息可以將跨域推薦方法分為基于評分的跨域推薦方法和基于評論的跨域推薦方法。早期的Ajit等[3]提出了CMF模型,通過分解多個評分矩陣來進行跨域關(guān)系學(xué)習(xí),當(dāng)評級矩陣存在過于稀疏的現(xiàn)象時,則會影響推薦的效果。于是Ling等[4]提出將共享的評級傳播到一個集群級別中,通過將觀察到的評級傳播到粗矩陣中未觀察到的評級來降低評級矩陣的稀疏性。Xue等[5]創(chuàng)新性地提出CBT方法,通過聚類分析用戶和項目的特征來提取內(nèi)在特征,并采用”CodeBook”結(jié)構(gòu)存儲壓縮后的評分模式信息,進而實現(xiàn)目標(biāo)域的遷移。而Li等[6]則提出了三元橋遷移學(xué)習(xí)策略,首先借助矩陣分解提取用戶與項目共享的評分模式及其潛在因子,并構(gòu)建鄰接圖來表示其內(nèi)在關(guān)系。最后,將共享評分模式、鄰接圖及潛在因子形成的“三元橋”進行遷移學(xué)習(xí),顯著增強了正向遷移效果。
為了捕捉用戶交互中重要信息,研究人員通過評論信息進一步挖掘用戶交互的興趣偏好。Fu等[7]提出了RC-DMF,利用降噪堆疊自動編碼器aSDAE用于用戶和項目的表示,并融合了項目的評論信息,實現(xiàn)了冷啟動用戶推薦的SOTA性能指標(biāo)。Lu等[8]使用注意力機制的GRU模型,對評論信息進行建模,得到用戶和項目的特征向量,提取了跨域全局特征。LesKovec等[9]提出HFT模型,結(jié)合了評論信息和評分數(shù)據(jù),將用戶和項目的評論文本作為輸入,結(jié)合用戶評論和項目評論中的隱因子,但是HFT模型很難保留評論文本中的詞序信息,從而忽略上下文信息。Zhao等[10]提出了一個通過方面特征轉(zhuǎn)移網(wǎng)絡(luò)的跨域推薦模型CATN,從評論文本中提取用戶和項目的方面特征,并利用輔助用戶來進一步增強用戶表示,但是當(dāng)評論信息稀疏時,會導(dǎo)致評論稀疏性問題。
本節(jié)先給出問題的定義,然后介紹了基于評論文本和融入專業(yè)度評分的跨域混合推薦方法,再詳細介紹了基于用戶評論文本的跨域推薦和融入專業(yè)度評分跨域推薦的具體過程,最后通過加權(quán)混合推薦實現(xiàn)該方法。
首先使用DS和Dt來表示源域和目標(biāo)域,源域DS和目標(biāo)域Dt都應(yīng)包括用戶、項目以及用戶對項目的交互行為,該交互行為包括評分活動以及評論內(nèi)容。重疊用戶定義為在源域和目標(biāo)域中均呈現(xiàn)出歷史交互行為的用戶群體,而冷啟動用戶特指在源域內(nèi)具有歷史交互記錄,但在目標(biāo)域內(nèi)尚無此類行為的用戶群體。針對給定的冷啟動用戶,通過整合其在源域的評論信息和評分數(shù)據(jù),來實現(xiàn)跨域混合推薦的精準預(yù)測。
本小節(jié)借鑒CATN中的推薦方法,基于評論文本的跨域推薦整體結(jié)構(gòu)如圖1所示。它由兩部分組成:方面特征抽取和跨域方面特征推薦預(yù)測。在源域中,Du用于表示用戶的評論文檔,Di表示項目的評論文檔,目標(biāo)域中也有用戶和項目的評論文檔,而重疊用戶則有兩份用戶文檔,分別來自不同的域。
圖1 基于評論文本的跨域推薦模型
模型訓(xùn)練使用一個跨域偏好匹配流程如圖2所示。為了將源域中的知識遷移到目標(biāo)域,利用重疊用戶的評論文檔在源域和目標(biāo)域交替訓(xùn)練,從而優(yōu)化相關(guān)參數(shù)。該訓(xùn)練流程如下:①通過目標(biāo)域中的項目評論信息與源域用戶的評論信息,優(yōu)化目標(biāo)域內(nèi)用戶評分預(yù)測的模型參數(shù);②通過源域中的項目評論信息和目標(biāo)域用戶的評論信息,對源域的用戶評分預(yù)測模型參數(shù)進行優(yōu)化。
圖2 跨域偏好匹配流程
2.2.1 方面特征抽取
方面特征的抽取過程如下,由于源域和目標(biāo)域中對文本方面特征抽取的過程相同,所以以項目文檔Dt為例。
文本卷積(text convolution):首先給定一個項目文檔Di=[w1,w2,…,wl],l表示文檔長度。在使用文檔之前,需要將文檔中的內(nèi)容轉(zhuǎn)換為結(jié)構(gòu)化的向量表示。利用Google News中預(yù)先訓(xùn)練好的單詞嵌入來獲得項目文檔中每個單詞對應(yīng)的詞向量,并將其映射到嵌入表示Ei中,其中Ei=[e1,e2,…,el],e∈Rd,d表示單詞嵌入的維度。為了捕捉每個單詞的上下文,卷積操作的激活函數(shù)采用ReLU,使用卷積濾波器應(yīng)用在矩陣Ei提取單詞的上下文特征,并構(gòu)建一個項目特征矩陣Ci=[C1,i,C2,i,…,Cl,i],其中Cj,i∈Rn表示該項目文檔下第j個單詞的上下文特征向量。
門控機制(gate control):由于單詞的上下文特征具有多個語義方面,采用門控機制捕捉各特征與不同語義層面之間的關(guān)聯(lián)。對于第m個方面,第j個單詞的方面特征gm,j,i定義如式(1)所示
(1)
Gm,i=[gm,1,i,gm,2,i,…,gm,l,i]
(2)
Gi=[G1,i,G2,i,…,GM,i]
(3)
其中,Gm,i是項目i的第m個方面特征,由所有單詞的第m個方面特征構(gòu)成。
方面特征注意力(aspect attention):由于評論來自不同的領(lǐng)域,因此項目的評論文檔會體現(xiàn)出不同的方面。例如,音樂領(lǐng)域的評論注重于曲風(fēng)和演唱者,而圖書領(lǐng)域則側(cè)重于情節(jié)和作者。因此,使用兩個全局方面特征表示矩陣Vs和Vt用于查詢源域和目標(biāo)域的方面特征的抽取。于是可以從Gm,i中推導(dǎo)出第m個方面特征的表示am,i,其推導(dǎo)方式如式(4)和式(5)
(4)
(5)
其中,Bm,j,i表示第m個方面特征對第j個單詞的重要性,Vm,t表示查詢第m個方面特征的抽取。因此,從項目評論文本Di中得到M個方面特征的表示,構(gòu)建方面特征矩陣Ai=[a1,i,a2,i,…,aM,i]。同理按照同樣的步驟可以從用戶評論文本Du中構(gòu)建方面特征矩陣Au=[a1,u,a2,u,…,aM,u]。值得注意的是:用戶和項目評論文本的方面特征提取參數(shù)在兩個學(xué)習(xí)流中是共享的,盡管這些參數(shù)來自不同領(lǐng)域。
2.2.2 跨域方面特征推薦預(yù)測
現(xiàn)在有了用戶和項目的抽象方面特征矩陣Au和Ai。由于每個領(lǐng)域中的方面有不同的重要性,例如電影領(lǐng)域中的演員和電影時長兩個方面特征,前者的重要性往往是大于后者。因此,模型的推薦預(yù)測不能簡單的對Au和Ai兩個方面特征進行聚合。為了在每個領(lǐng)域中突出重要的方面特征,利用前面提到的全局方面特征表示矩陣Vs和Vt來構(gòu)建全局跨域方面特征相關(guān)矩陣S,具體表示為式(6)
(6)
式中:S∈RM×M,W∈Rk×k是一個近似預(yù)測的可學(xué)習(xí)矩陣,LeakyReLU是一個激活函數(shù)。在得到全局跨域方面特征相關(guān)矩陣S后,可以用S(x,y) 反映來自源域第x個方面特征對目標(biāo)域第y個方面特征偏好轉(zhuǎn)移的重要性。
再計算方面特征矩陣Au和Ai之間每個方面特征的語義匹配矩陣Su,i,表示為式(7)
(7)
式中:Au和Ai是用戶和項目的方面特征矩陣,W和式(6)一樣,是一個可學(xué)習(xí)矩陣。在得到語義匹配矩陣Su,i后,可以用Su,i(x,y) 表示方面特征x和方面特征y之間的匹配程度。
(8)
(9)
其中,M表示方面數(shù),S是全局跨域方面特征相關(guān)矩陣,Su,i是語義匹配矩陣,bu和bi是用戶偏差和項目偏差。
2.3.1 用戶專業(yè)度
(10)
(11)
2.3.2 推薦步驟
(1)首先通過用戶評分信息建立聯(lián)合評分矩陣R。
(2)對聯(lián)合評分矩陣R進行矩陣分解,分解矩陣后得到用戶潛在因子P和項目潛在因子Q。
(3)使用k-means聚類方法對潛在因子P和Q進行聚類。
(4)在計算簇用戶對簇項目評分形成跨域粗矩陣前,引入用戶專業(yè)度,利用式(11)來計算每個簇用戶的權(quán)重au,其計算公式為式(12)
(12)
式中:N表示該簇中用戶數(shù)量,Zf(fu) 表示簇用戶專業(yè)度。
(5)引入專業(yè)度權(quán)重計算簇用戶對簇項目的評分,如式(13)
(13)
(6)在計算集群級別的評分后,可以得到跨域粗矩陣RC,其定義為式(14)
(14)
(15)
(16)
(17)
R*=tR′+(1-t)RC′
(18)
(19)
其中,t∈[0,1]是一個調(diào)優(yōu)參數(shù),隨著實驗不斷進行調(diào)整。
(20)
模型訓(xùn)練中的損失函數(shù)定義如式(21)
(21)
式中:*表示源域或目標(biāo)域,O表示訓(xùn)練集合中包含的元素,λ表示正則化的系數(shù),Θ是訓(xùn)練的參數(shù)。
在本節(jié)中,首先描述了實驗中使用到的數(shù)據(jù)集,再介紹數(shù)據(jù)預(yù)處理的相關(guān)操作和評價指標(biāo),然后將CTR-HCDR跨域推薦方法與其它方法進行比較分析。
本實驗選擇在亞馬遜審查數(shù)據(jù)集上進行模型推薦預(yù)測的性能評估,在最大的類別中,選擇圖書、電影和音樂作為3個領(lǐng)域,用戶評分的數(shù)值為1到5之間的整數(shù)。表1給出了實驗數(shù)據(jù)集的詳細數(shù)據(jù)記錄。
表1 實驗數(shù)據(jù)集
本實驗構(gòu)建了3個跨域場景,選擇圖書、電影、音樂3個類別作為3個領(lǐng)域。3個跨域場景分別為“圖書->電影”、“電影->音樂”和“圖書->音樂”。在“圖書->電影”這一跨域場景中,圖書域表示源域,電影域表示目標(biāo)域,冷啟動用戶表示為在圖書域中有過歷史交互行為但是在電影域中沒有交互行為的用戶,在該跨域場景中,推薦的任務(wù)是推薦預(yù)測冷啟動用戶在電影域中可能感興趣的電影,從而進行推薦。針對重疊用戶,采用隨機抽樣策略,選擇其中50%的用戶作為冷啟動用戶群體,推薦模型在訓(xùn)練過程中將忽略這些用戶在目標(biāo)域內(nèi)的交互行為記錄。接著對這部分冷啟動用戶進一步劃分:隨機抽取30%作為測試集,20%作為驗證集。余下50%的重疊用戶則構(gòu)成了模型訓(xùn)練數(shù)據(jù)集。為了模擬不同比例的重疊用戶對推薦準確性的影響,用不同比例的n∈{100%,50%,10%} 來構(gòu)建訓(xùn)練集,表2報告了3個跨域場景的具體信息以及在不同比例下的重疊用戶信息。
表2 跨域推薦場景統(tǒng)計數(shù)據(jù)
首先對用戶和項目的評論文檔進行預(yù)處理,主要包括:①對各個領(lǐng)域中的評論信息進行數(shù)據(jù)清洗,剔除所有未曾獲得用戶評論的數(shù)據(jù)條目。為了確保數(shù)據(jù)的有效性,刪除交互記錄不足15次的用戶以及交互次數(shù)低于40次的項目;②刪除已經(jīng)停用的單詞和高頻詞(比如出現(xiàn)頻率大于0.5的單詞);③通過tf-idf的分數(shù)挑選前20 000個單詞作為詞匯表并刪除其它單詞。
在評價模型性能過程中,選取均方誤差(mean square error,MSE)作為性能度量指標(biāo),MSE通過量化實際評分與預(yù)測評分之間的差異程度,以此衡量推薦系統(tǒng)的準確性,它在許多相關(guān)性能評價的工作中被廣泛采用,其計算公式如式(22)
(22)
實驗與以下幾種基線方法進行對比實驗。
CMF:一種傳統(tǒng)的跨域評分推薦方法,利用輔助域中的用戶對項目評分信息預(yù)測冷啟動用戶在目標(biāo)域中評分。
CCBMF:在CMF的基礎(chǔ)上,通過加入粗矩陣集群級別建議來聚合未觀察到的評分信息,來減少原始評分矩陣的稀疏性。
TARMF:一種改進基于評論的推薦算法,提出了用注意力機制的GRU網(wǎng)絡(luò)學(xué)習(xí)用戶和項目的特征表示,提高了模型的可解釋性。
RC-DMF:一種集成了評論信息與內(nèi)容特征的跨域推薦模型。該模型創(chuàng)新性地運用了降噪堆疊自動編碼器(aSDAE),旨在通過深度學(xué)習(xí)增強用戶和項目的特征表達,并采用多層感知器(MLP)機制,以實現(xiàn)從源域到目標(biāo)域的映射構(gòu)建。
EMCDR[11]:通過mapping函數(shù)來解決交叉域推薦問題,提出了跨域推薦模型應(yīng)遵循三步優(yōu)化:知識獲取、知識映射、知識推薦。
ANR[12]:一種前沿的基于評論的單域推薦算法,其通過在目標(biāo)域中對用戶-項目匹配對進行精細化方面特征匹配來訓(xùn)練模型,并運用源域中的評論數(shù)據(jù)來提升匹配精度,提高推薦的準確性。
針對所有基線方法所涉及的超參數(shù)配置,采用網(wǎng)格搜索技術(shù)進行調(diào)整優(yōu)化。為了確保實驗結(jié)果的穩(wěn)定性,所有基線方法均經(jīng)過至少5次以上的獨立運行與驗證。
在實驗設(shè)置中,采用50個卷積濾波器應(yīng)用在嵌入表示矩陣上獲得上下文特征向量,并將批處理大小設(shè)定為256,同時確定滑動窗口大小為3。為了增強模型的泛化能力,訓(xùn)練階段運用了dropout策略隨機忽略小部分的方面特征表示,將dropout的保留率設(shè)為0.8,CTR-HCDR模型訓(xùn)練的學(xué)習(xí)率設(shè)為0.001。
本實驗在“圖書->電影,電影->音樂和圖書->音樂”3種跨域場景下進行,實驗結(jié)果顯示了所有對比模型的MSE性能比較,如表3所示。
表3 所有模型在3種跨域場景下的MSE比較
根據(jù)表3數(shù)據(jù)可得,CTR-HCDR方法在3種不同的場景中均優(yōu)于其它基線方法,特別是在“圖書->電影”的跨域推薦場景下,CTR-HCDR的MSE為1.042,比最好的EMCDR模型提高9.25%,在其它兩個場景中也同樣優(yōu)于其它對比模型,這表明在評論推薦基礎(chǔ)上引入具有專業(yè)度的評分推薦能夠提高推薦的準確性。同時,隨著n值的下降,用于訓(xùn)練的重疊用戶數(shù)量也隨之減少,CTR-HCDR依然保持較好的推薦效果,這說明在評分矩陣中加入粗矩陣能夠緩解數(shù)據(jù)稀疏性問題。實驗結(jié)果表明,CTR-HCDR方法將評論和評分推薦結(jié)合進行混合跨域推薦,不僅能夠提高預(yù)測的準確性,而且能夠有效解決冷啟動問題。
在所有對比模型中,CMF在所有評估的表現(xiàn)最差,這是因為CMF僅僅通過聯(lián)合評分矩陣分解來學(xué)習(xí)用戶表示。CCBMF加入粗矩陣緩解原始評分矩陣稀疏性問題,使其優(yōu)于CMF模型。TARMF通過優(yōu)化矩陣分解和基于注意力機制的GRU網(wǎng)絡(luò),聯(lián)合學(xué)習(xí)評論和評分中的用戶項目信息從而得到了不錯的推薦效果。RC-DMF模型雖然通過整合評論數(shù)據(jù)和內(nèi)容特征實現(xiàn)了良好的推薦,但其依賴自動編碼器aSDAE以原始評分向量作為輸入。當(dāng)處理維度接近10萬級別的數(shù)據(jù)集時,模型所需的訓(xùn)練參數(shù)規(guī)??蛇_數(shù)百萬級別,這顯著增加了模型收斂的復(fù)雜度。而EMCDR是針對兩個領(lǐng)域來設(shè)計的,當(dāng)模型擴展到多個領(lǐng)域時就需要找更多組合的mapping函數(shù)來確定域和域之間的關(guān)系。ANR利用評論數(shù)據(jù),通過設(shè)計一個注意力機制來學(xué)習(xí)方面特征表達,考慮到了項目對應(yīng)方面特征的重要性,最終取得較好的實驗結(jié)果,說明評論信息和方面特征對推薦具有一定重要性。
實驗研究了調(diào)優(yōu)參數(shù)t在“圖書->電影”場景下,對融入專業(yè)度評分的跨域推薦方法MSE性能的影響,如圖3所示。
圖3 調(diào)優(yōu)參數(shù)t在“圖書->電影”中MSE性能
圖3表明,當(dāng)調(diào)優(yōu)參數(shù)t取0.5時,該方法的推薦效果最好,這是因為在原始評分矩陣上加入集群級別的建議能夠有效降低評分矩陣的稀疏性。因此,選擇50%的預(yù)測評分矩陣R′和50%的集群級預(yù)測評分矩陣RC′進行線性積分得到最終預(yù)測評分矩陣R*。
最后,分別在3種跨域場景中研究不同調(diào)整參數(shù)a對模型CTR-HCDR的MSE性能影響,圖4顯示不同調(diào)整參數(shù)a在不同場景的MSE性能,從圖中可以發(fā)現(xiàn)當(dāng)a=0時,模型主要依賴跨域評分推薦,這說明忽略評論信息的推薦模型,推薦的效果不理想,當(dāng)a=0.4時,CTR-HCDR模型獲得最好的推薦分數(shù),這表明結(jié)合評論信息和評分數(shù)據(jù)能夠更好挖掘用戶的興趣偏好。當(dāng)a為0.2和0.6時,CTR-HCDR的性能略有變化。當(dāng)a=1時,模型只基于評論信息進行推薦,這意味著只使用評論信息進行跨域推薦是不夠的。
圖4 不同調(diào)整參數(shù)a在3種場景的性能
為緩解數(shù)據(jù)稀疏性問題,提出了一種基于評論文本和融入專業(yè)度評分的跨域混合推薦方法,簡稱CTR-HCDR。該方法不僅利用評論信息實現(xiàn)用戶偏好從源域到目標(biāo)域的有效遷移,而且結(jié)合評分信息進行混合推薦,通過生成一個跨域粗矩陣來避免評級矩陣中的數(shù)據(jù)稀疏性問題,引入專業(yè)度細化了評分推薦中不同用戶對不同項目進行評分的重要性從而提高推薦效果。通過實驗與其它方法進行對比分析,本文提出的CTR-HCDR優(yōu)于其它方法,一定程度上緩解了冷啟動和數(shù)據(jù)稀疏性問題,具有良好的推薦效果。