李 慧,於躍成
(江蘇科技大學(xué)計(jì)算機(jī)學(xué)院,江蘇鎮(zhèn)江 212100)
當(dāng)前科技的迅速發(fā)展,使得各種類型的網(wǎng)站如雨后春筍般出現(xiàn),造成數(shù)據(jù)進(jìn)一步爆炸式增長。因此,用戶若想從龐大的數(shù)據(jù)中篩選出真正感興趣的事物,需要花費(fèi)大量時(shí)間。推薦系統(tǒng)可以在搜集多類信息時(shí),為用戶推送符合其需求的產(chǎn)品。作為目前應(yīng)用最廣泛的單領(lǐng)域推薦技術(shù),協(xié)作過濾算法得到了學(xué)術(shù)界和工業(yè)界的重點(diǎn)關(guān)注[1-4]。矩陣分解作為最流行的協(xié)同過濾方法之一,也成為了關(guān)注的熱點(diǎn)。但是,用戶很少對(duì)一個(gè)物品作出評(píng)分,而且因物品種類繁多,導(dǎo)致矩陣分解通常使用的評(píng)分?jǐn)?shù)據(jù)具有稀疏性的缺點(diǎn),而這種稀疏性一定程度上降低了傳統(tǒng)協(xié)同過濾技術(shù)評(píng)分預(yù)測(cè)精度。此外,協(xié)同過濾需要大量與網(wǎng)站互動(dòng)的歷史記錄,才能給出高質(zhì)量的推薦,因而造成了用戶冷啟動(dòng)問題。在一個(gè)新領(lǐng)域,用戶通常很少或根本沒有與網(wǎng)站互動(dòng)的歷史。因此,傳統(tǒng)推薦方法往往不能為冷啟動(dòng)用戶提供高質(zhì)量的推薦。
近年來,為解決用戶冷啟動(dòng)問題和數(shù)據(jù)稀疏性問題,跨域推薦技術(shù)應(yīng)運(yùn)而生,其目的是利用遷移學(xué)習(xí)的思想,在多個(gè)領(lǐng)域更豐富數(shù)據(jù)的幫助下,獲得相較于單領(lǐng)域更好的推薦性能,完成在不同領(lǐng)域知識(shí)的有效遷移。文獻(xiàn)[5]提出EMCDR(Embedding and Mapping framework for Cross-Domain Recommendation)模型,利用評(píng)分信息學(xué)習(xí)源域和目標(biāo)域的潛在特征,然后利用多層感知機(jī)學(xué)習(xí)兩者的映射關(guān)系,以此完成跨域推薦;文獻(xiàn)[6]在EMCDR 的基礎(chǔ)上,在映射部分選用半監(jiān)督方法進(jìn)行學(xué)習(xí),通過對(duì)冷啟動(dòng)用戶的鄰居進(jìn)行重復(fù)聚合,計(jì)算出冷啟動(dòng)用戶在源域度量空間中的新向量,然后完成跨域推薦;文獻(xiàn)[7]使用兩個(gè)域重疊用戶提取的特征作為錨點(diǎn),以DNN 訓(xùn)練源域到目標(biāo)域的映射函數(shù),最終實(shí)現(xiàn)跨域、跨系統(tǒng)推薦。雖然跨域可以提高精度,但目前大多數(shù)跨域使用的僅僅是評(píng)分信息,未更好地融合評(píng)論及其他輔助信息。
評(píng)論文本等一些輔助信息可豐富用戶潛在特征,使其達(dá)到更好的效果[8-10]。例如文獻(xiàn)[11]考慮了具有時(shí)序性的醫(yī)療疾病上下文信息,利用Doc2vec 將每種疾病轉(zhuǎn)換成一個(gè)類似于其語義的數(shù)字向量;文獻(xiàn)[12]在對(duì)評(píng)分進(jìn)行矩陣分解的同時(shí),使用doc2vec 對(duì)評(píng)論提取用戶文檔特征,然后進(jìn)行融合處理與跨域推薦。在評(píng)論處理過程中,也證明了注意力機(jī)制可更好地篩選信息[13-15]。
用戶評(píng)論包含了該用戶對(duì)商品的具體喜好,可更好地解釋用戶偏好及其原因[16]。用戶評(píng)論已廣泛應(yīng)用于單域推薦,并顯著提升了包括矩陣分解推薦方法在內(nèi)的協(xié)同過濾性能。受此啟發(fā),本文以EMCDR 模型為基礎(chǔ),提出為源域目標(biāo)域融合評(píng)分與評(píng)論信息的跨域推薦模型DRCDR(A Cross Domain Recommendation Model Fusing Rating and Review for Source and Target Domains)。DRCDR 研究具有兩個(gè)可用源域和一個(gè)目標(biāo)域的跨域推薦方法,設(shè)計(jì)兩個(gè)源域之間同時(shí)融合了各自評(píng)分信息和評(píng)論信息的潛在特征融合機(jī)制,以實(shí)現(xiàn)多源域融合特征在源域與目標(biāo)域之間的映射,最終實(shí)現(xiàn)跨域推薦。
跨域推薦中包含源域和目標(biāo)域,其中源域表示已含有相對(duì)豐富信息,并可從中獲得需要傳遞潛在特征的域;目標(biāo)域表示需要獲取傳遞特征,數(shù)據(jù)相對(duì)比較稀疏的域。而跨域推薦則是指利用相對(duì)豐富的源域信息,提高更稀疏目標(biāo)域的推薦性能。
假設(shè)源域與目標(biāo)域存在部分重合的用戶,US和UT分別表示源域與目標(biāo)域重疊用戶在各自域內(nèi)的潛在特征。而源域與目標(biāo)域的項(xiàng)目之間沒有交集,即VS、VT分別代表源域和目標(biāo)域項(xiàng)目的潛在特征。根據(jù)每個(gè)域用戶與項(xiàng)目之間的隱式交互,可構(gòu)建用戶和項(xiàng)目的矩陣RS、RT。RS表示用戶源域的交互矩陣,即RS∈RN*|S|;RT表示用戶目標(biāo)域的交互矩陣,即RT∈RN*|T|。|S|表示源域項(xiàng)目個(gè)數(shù),|T|表示目標(biāo)域項(xiàng)目個(gè)數(shù)。
將用戶在源域和目標(biāo)域的評(píng)論信息分別表示為XS、XT,USR、UTR代表從評(píng)分矩陣RS、RT中通過矩陣分解獲得的用戶評(píng)分潛在特征向量,可使用USC、UTC分別表示從源域與目標(biāo)域評(píng)論中獲取的用戶評(píng)論潛在特征。
在現(xiàn)有跨域推薦方法中,嵌入源域信息并映射到目標(biāo)域的EMCDR 框架是一類具有較好性能的跨域推薦方法,尤其對(duì)于冷啟動(dòng)用戶的推薦具有明顯改善。EMCDR 模型可概括為:①在潛在空間中對(duì)用戶和項(xiàng)目進(jìn)行嵌入的過程;②學(xué)習(xí)源域與目標(biāo)域之間的映射關(guān)系,然后進(jìn)行跨域推薦。矩陣分解將用戶和項(xiàng)目潛在向量的內(nèi)積作為用戶與項(xiàng)目的交互,在EMCDR 嵌入過程中通過矩陣分解學(xué)習(xí)源域和目標(biāo)域用戶與項(xiàng)目的潛在特征[5]。EMCDR 映射部分的實(shí)現(xiàn)過程可形式化為有監(jiān)督的回歸問題,其主要以源域和目標(biāo)域的共同用戶為橋梁建立兩個(gè)域之間的關(guān)系,從而學(xué)習(xí)映射函數(shù)fmlp。
對(duì)映射部分進(jìn)行優(yōu)化時(shí),需要把映射函數(shù)從源域傳輸過來的用戶潛在特征與目標(biāo)域用戶潛在特征之間的差距最小化。映射函數(shù)學(xué)習(xí)完畢后,EMCDR 可根據(jù)映射函數(shù)獲得冷啟動(dòng)用戶在目標(biāo)域的用戶潛在特征向量,即從而可使用映射過來的用戶潛在特征和目標(biāo)域的項(xiàng)目特征向量VT改善冷啟動(dòng)用戶推薦效果。公式(1)是多層感知機(jī)(Multi-layer Perceptron,MLP)的映射損失是MLP 映射函數(shù),θ 是其參數(shù)集,代表多層感知機(jī)層與層之間的權(quán)重矩陣和偏差項(xiàng)。
本節(jié)提出一個(gè)用于跨域推薦的深度模型框架,稱為DRCDR。具體如圖1所示。
2.1.1 評(píng)分潛在特征提取
跨域推薦第一步的目的是獲取源域和目標(biāo)域中用戶與項(xiàng)目評(píng)分的潛在特征。矩陣分解就是實(shí)現(xiàn)這一目的的方法之一。實(shí)際用于推薦系統(tǒng)的矩陣分解思想很簡單:可直接通過訓(xùn)練集中的觀察值,利用最小化均方根學(xué)習(xí)U、V矩陣。這種模型也被稱作隱語義模型,其算法意義層面的解釋為通過隱含特征將用戶興趣與項(xiàng)目特征聯(lián)系起來[17]。正如公式(2)所示,分解后每個(gè)用戶得到一個(gè)用戶特征向量Ui,每個(gè)項(xiàng)目得到一個(gè)項(xiàng)目特征向量Vj。物品被關(guān)注的因素和用戶偏好的因素,其數(shù)量與意義是一致的。
Fig.1 Model framework of DRCDR圖1 DRCDR模型框架
因此,該算法在源域的損失函數(shù)可表示如下:
矩陣R 為m × n 的稀疏矩陣,Um×k代表用戶潛在特征,Vk×n代表項(xiàng)目潛在特征。后面兩項(xiàng)為正則項(xiàng),以此防止過擬合。具體過程可概括為使用用戶潛在特征U 和項(xiàng)目潛在特征V 來減小與真實(shí)評(píng)分矩陣之間的誤差,誤差越小,代表獲得的潛在特征越準(zhǔn)確。根據(jù)矩陣分解可獲得源域潛在特征USR1,VS1、USR2,VS2和 目標(biāo)域潛在特征UTR,VT。
2.1.2 評(píng)論潛在特征提取
人們?nèi)粘J褂玫恼Z言比較抽象,計(jì)算機(jī)不能識(shí)別該語言,所以需要把其轉(zhuǎn)換成數(shù)值形式,這種嵌入方式稱為詞嵌入。單詞嵌入層可將單詞序列轉(zhuǎn)換為密集的矩陣,這一部分可使用預(yù)先訓(xùn)練好的單詞嵌入,如Google 的Word2vec。Word2vec 是詞嵌入方式之一,屬于自然語言處理領(lǐng)域,可將詞轉(zhuǎn)化為可計(jì)算、結(jié)構(gòu)化的向量過程。Word2vec 更關(guān)注的是訓(xùn)練過程中的產(chǎn)物——模型參數(shù),并將其作為輸入的某種向量化表示,該向量被稱為詞向量[18]。
Doc2vec 是Le 等[19](同時(shí)也是Word2vec 的作者)在2014 年所提出的文章向量,主要講述如何將文章轉(zhuǎn)換成向量表示的算法。本文使用Doc2vec獲得句向量的表示。
RNN(Recurrent Neural Network)是一種將序列數(shù)據(jù)作為輸入的神經(jīng)網(wǎng)絡(luò),其與基礎(chǔ)神經(jīng)網(wǎng)絡(luò)之間的最大差距是其不僅在層之間建立全連接,而且在層之間的神經(jīng)元之間建立連接。LSTM(Long Short-Term Memory)是RNN 網(wǎng)絡(luò)一種效果很好的變體,較RNN 網(wǎng)絡(luò)結(jié)構(gòu)更加簡單,而且能夠有效解決RNN 的梯度消失和梯度爆炸問題,因此也是當(dāng)前非常流行的網(wǎng)絡(luò)。
其中,ht-1代表前一個(gè)輸出,xt代表當(dāng)前輸入,σ代表sigmoid 函數(shù),it代表輸入門輸出,ft代表遺忘門輸出,ot代表輸出門輸出,ht代表當(dāng)前單元輸出。LSTM 每個(gè)cell 輸入該用戶按時(shí)間順序輸入的評(píng)論句向量。LSTM 能夠記住需要長時(shí)間記憶的信息,忘記不重要的信息,因而LSTM 能夠獲得體現(xiàn)用戶喜好的潛在特征。
Bi-LSTM 在LSTM 基礎(chǔ)上,結(jié)合了輸入序列在前后兩個(gè)方向上的信息,可看作兩層神經(jīng)網(wǎng)絡(luò)。前向LSTM 從左邊作為系列的起始輸入,后向LSTM 則從右邊作為系列的起始輸入,反向與第一層作一樣的處理。最后對(duì)得到的兩個(gè)不同順序下LSTM 的結(jié)果進(jìn)行連接,獲得評(píng)論上下文中蘊(yùn)含的潛在特征。
詞級(jí)別的注意力機(jī)制會(huì)給每個(gè)單詞分配不同的注意力權(quán)重,以此體現(xiàn)出每個(gè)單詞對(duì)當(dāng)前整條信息的影響。本文針對(duì)句子級(jí)別的注意力,而句子級(jí)別的注意力與詞級(jí)別的注意力具有異曲同工的作用。句子級(jí)別注意力的輸入是Bi-LSTM 對(duì)應(yīng)輸出的句子向量hi,wi代表權(quán)重,bi代表偏置,經(jīng)過Softmax操作后可獲得αi。αi指相對(duì)于用戶每個(gè)句子i的權(quán)重,UC表示處理完評(píng)論后的輸出。針對(duì)每個(gè)用戶,用戶評(píng)論潛在特征UC是由注意力權(quán)重對(duì)Bi-LSTM 的輸出進(jìn)行加權(quán)求和得到的。最終獲得源域和目標(biāo)域的評(píng)論潛在特征USC1、USC2、UTC。具體公式如下:
2.2.1 融合評(píng)分與評(píng)論信息
由于融合評(píng)分或評(píng)論的潛在特征時(shí),無法確定其各自選取的比例,本文中向量的簡單融合方法是逐位相加,兩個(gè)向量的權(quán)重α 為0.5。融合評(píng)分與評(píng)論潛在特征,具體對(duì)兩個(gè)向量進(jìn)行如下操作:
2.2.2 融合雙源域評(píng)論信息
因?yàn)閱蝹€(gè)源域數(shù)據(jù)較為稀疏,所以添加另一個(gè)領(lǐng)域的信息到源域,對(duì)數(shù)據(jù)進(jìn)行補(bǔ)充。對(duì)于數(shù)據(jù)融合,本文選擇為雙方增加權(quán)值來為源域融合相關(guān)信息,以使源域數(shù)據(jù)相對(duì)豐富,以此獲得更豐富、更能代表目標(biāo)域冷啟動(dòng)用戶的潛在特征,最終實(shí)現(xiàn)跨域推薦。
2.2.3 融合評(píng)論信息的MLP 映射
MLP 多層感知器是一種前向結(jié)構(gòu)的人工神經(jīng)網(wǎng)絡(luò),映射一組輸入向量到另一組輸出向量。MLP 的優(yōu)勢(shì)在于:一個(gè)經(jīng)過訓(xùn)練的MLP 可由第一層的輸入經(jīng)過非線性變換映射到另一個(gè)線性可分的由隱層節(jié)點(diǎn)組成的空間里,并使用反向傳播算法的監(jiān)督學(xué)習(xí)方法訓(xùn)練MLP。在進(jìn)行MLP 反向傳播前,需要選擇一個(gè)損失函數(shù)來度量訓(xùn)練樣本計(jì)算出的輸出與真實(shí)訓(xùn)練樣本輸出之間的損失。
MLP 是將共同用戶在源域融合后的潛在特征US作為輸入,將該用戶在目標(biāo)域的評(píng)分潛在特征UTR作為輸出,以此訓(xùn)練網(wǎng)絡(luò),得到非線性映射函數(shù)。最后,MLP 易于通過反向傳播方法進(jìn)行優(yōu)化。具體來說,在跨域推薦中,對(duì)于用戶,可將優(yōu)化問題形式化為:
其中,是指源域的用戶潛在特征向量是指目標(biāo)域的用戶潛在特征向量是MLP 映射函數(shù),θ是其參數(shù)集,即層之間的權(quán)重矩陣和偏差項(xiàng)。
跨域方法主要運(yùn)用MLP 學(xué)習(xí)到的映射函數(shù)。首先根據(jù)獲得的源域和目標(biāo)域用戶潛在特征學(xué)習(xí)映射函數(shù),并利用映射函數(shù)獲得待推薦用戶在目標(biāo)域的潛在特征,然后結(jié)合目標(biāo)域評(píng)分信息獲得項(xiàng)目潛在特征VT,最終實(shí)現(xiàn)跨域推薦。fmlp(·;θ)是映射函數(shù)是用戶潛在特征是根據(jù)映射函數(shù)得到的冷啟動(dòng)用戶在目標(biāo)域?qū)?yīng)的潛在特征。
本文使用Amazon 數(shù)據(jù)集評(píng)估模型,數(shù)據(jù)集包含21 個(gè)不同項(xiàng)域,選擇電影、音樂和圖書3 個(gè)類別的數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。每個(gè)數(shù)據(jù)集包含用戶、項(xiàng)目、評(píng)分、評(píng)論和評(píng)論時(shí)間5 種類型節(jié)點(diǎn)。將每個(gè)觀察到的評(píng)分視為隱式反饋記錄,即用戶—項(xiàng)目交互,然后定義跨域推薦場(chǎng)景:電影,音樂→圖書。每個(gè)數(shù)據(jù)集的初始數(shù)據(jù)都有12 萬條以上,對(duì)于電影、音樂和圖書的兩個(gè)域中,首先過濾掉交互項(xiàng)數(shù)量少于10 個(gè)的共同用戶,也過濾掉非重疊用戶及少于120 條信息的電影和圖書,然后篩選具有超過30 條信息的共同用戶音樂數(shù)據(jù),將其設(shè)置為一個(gè)跨域場(chǎng)景的最終數(shù)據(jù)集。表1總結(jié)了CDR 場(chǎng)景詳細(xì)信息。
Table 1 The dataset表1 數(shù)據(jù)集
為衡量本文算法的預(yù)測(cè)準(zhǔn)確度,采用均方根誤差(Root Mean Squared Error,RMSE)和平均誤差(Mean Absolute Error,MAE)兩個(gè)指標(biāo)。
其中,m表示測(cè)試集評(píng)分集合,Ri表示評(píng)分集合中的實(shí)際評(píng)分表示實(shí)驗(yàn)得出的該評(píng)分預(yù)測(cè)值|表示測(cè)試集中的評(píng)分個(gè)數(shù)。
本文選取的基線方法包括:
(1)概率矩陣分解[20](PMF)。概率矩陣分解是一種基于基本矩陣分解引入概率模型進(jìn)行優(yōu)化的模型。
(2)聯(lián)合矩陣分解[21](CMF)。CMF 模型通過分別分解評(píng)分矩陣,將不同來源的信息結(jié)合起來,使用戶在不同矩陣中的潛在特征向量共享。
(3)一種嵌入和映射框架的跨域推薦(EMCDR)模型[5]。該模型分別在源域和目標(biāo)域采用兩個(gè)矩陣分解模型,然后使用多層感知機(jī)和線性映射建立兩個(gè)域之間的映射關(guān)系,并根據(jù)映射關(guān)系獲得相應(yīng)評(píng)分,最終為冷啟動(dòng)用戶進(jìn)行推薦。本文選取其中兩種方法MF_EMCDR_LIN(MEL)和MF_EMCDR_MLP(MEM)進(jìn)行對(duì)比。
(4)C-DRCDR。對(duì)于源域,只采用一個(gè)域的信息進(jìn)行跨域推薦。
本文采用Pytorch 對(duì)DRCDR 模型進(jìn)行實(shí)現(xiàn),為評(píng)估該框架在跨域推薦中的效果,選取一部分用戶,刪除其在目標(biāo)域的評(píng)分與評(píng)論信息,將其作為冷啟動(dòng)用戶進(jìn)行跨域推薦。同時(shí)為更好地對(duì)用戶進(jìn)行分析,設(shè)置φ代表冷啟動(dòng)用戶在所有用戶中的比例。實(shí)驗(yàn)中,設(shè)置φ值為50%、30%、10%,潛在特征大小為100。對(duì)于MLP 映射函數(shù),選擇其結(jié)構(gòu)為單層隱藏層,輸入輸出維度都為100,隱藏層節(jié)點(diǎn)個(gè)數(shù)為2×100,并設(shè)置正則化參數(shù)為0.01,學(xué)習(xí)率為0.000 1。由實(shí)驗(yàn)結(jié)果可知,當(dāng)β 取值為0.57 時(shí),效果較好。對(duì)于只需要一個(gè)源域的跨域方法,本文使用電影—圖書數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。
RMSE 和MAE 在電影音樂—圖書場(chǎng)景上的所有實(shí)驗(yàn)結(jié)果如表2、表3所示。
Table 2 RMSE experimental results of different models表2 不同模型RMSE實(shí)驗(yàn)結(jié)果
Table 3 MAE experimental results of different models表3 不同模型MAE實(shí)驗(yàn)結(jié)果
與基線方法相比,根據(jù)表中RMSE 和MAE 的數(shù)值分析,DRCDR 在為冷啟動(dòng)用戶提供推薦方面取得了優(yōu)異的成果。由表2 和表3 的第一列PMF 可觀察得出,隨著φ 值的增大,其對(duì)應(yīng)值的范圍變化相對(duì)較大,性能明顯降低,主要原因是PMF 為單域推薦,用戶信息的豐富性會(huì)影響推薦效果。此外,可由MEL 與MEM 兩列數(shù)據(jù)結(jié)果看出MLP 映射的優(yōu)勢(shì),其可有效獲得源域與目標(biāo)域之間的映射關(guān)系,同時(shí)也體現(xiàn)了使用MLP 映射的合理性。由圖2 可以看出,相對(duì)于前4 種方法,C-DRCDR、DRCDR 取得了更好的效果,證明了評(píng)論信息的有效性。不同φ值下的模型實(shí)驗(yàn)結(jié)果比較如圖2所示。
Fig.2 Comparison of experimental results of each model under different φ values圖2 不同φ值下模型實(shí)驗(yàn)結(jié)果比較
當(dāng)φ 為30%時(shí),DRCDR 模型的RMSE、MAE 相比MEL、MEM 模型提高了1%~3%,當(dāng)φ 值變大時(shí),RMSE 和MAE 值也隨之變大。因?yàn)棣?代表冷啟動(dòng)用戶占比,即測(cè)試集大小,每個(gè)基線方法的效果和DRCDR 模型性能都與訓(xùn)練集大小,即數(shù)據(jù)信息的豐富度有著重要關(guān)系。模型實(shí)驗(yàn)結(jié)果如圖3 所示。由圖3 可以看出,當(dāng)φ為10%時(shí),實(shí)驗(yàn)的每個(gè)模型都獲得了最優(yōu)結(jié)果。根據(jù)表2、表3 可看到,DRCDR模型的RMSE 和MAE 相較于傳統(tǒng)跨域方法提高了2%~4%,由此證明本文處理并融合評(píng)論信息方法的合理性,以及提出的通過增加源域信息來源以減少數(shù)據(jù)稀疏帶來影響方法的有效性。
Fig.3 Model experiment results圖3 模型實(shí)驗(yàn)結(jié)果
本文在EMCDR 基礎(chǔ)上提出融合評(píng)論上下文特征的深度跨域推薦框架DRCDR,該模型利用評(píng)分和評(píng)論中的上下文信息提高跨域推薦性能。本文主要在EMCDR 模型基礎(chǔ)上對(duì)兩部分進(jìn)行了優(yōu)化:①融合兩個(gè)領(lǐng)域信息以改善數(shù)據(jù)稀疏性;②不僅對(duì)源域增加了評(píng)論信息,而且考慮了目標(biāo)域的評(píng)論信息。雖然本文在原有模型基礎(chǔ)上的改進(jìn)獲得了顯著效果,但對(duì)于數(shù)據(jù)融合方法仍需要作進(jìn)一步改進(jìn)。未來也可在評(píng)論信息的基礎(chǔ)上,考慮加入其他數(shù)據(jù),例如用戶年齡、地域和朋友關(guān)系等信息,以進(jìn)一步提升跨域推薦的個(gè)性化程度。