許星波,張明西,趙 瑞,朱衍熹
(上海理工大學(xué) 出版印刷與藝術(shù)設(shè)計(jì)學(xué)院,上海 200093)
電影是人們生活中不可或缺的娛樂(lè)方式之一。對(duì)于數(shù)量眾多的電影,用戶需要一個(gè)評(píng)價(jià)標(biāo)準(zhǔn)幫助他們進(jìn)行選擇。其中,數(shù)值評(píng)分能直觀表示一部電影的質(zhì)量,準(zhǔn)確地預(yù)測(cè)評(píng)分有助于用戶尋找到其喜愛(ài)的電影,減輕信息過(guò)載問(wèn)題[1]?,F(xiàn)有電影評(píng)分預(yù)測(cè)方法主要包括從用戶和電影的歷史交互信息方面預(yù)測(cè)評(píng)分,針對(duì)交互信息建立共現(xiàn)矩陣,計(jì)算矩陣相似度或生成隱向量預(yù)測(cè)用戶對(duì)電影的評(píng)分,例如基于鄰域[2-3]、基于矩陣分解[4-6]的協(xié)同過(guò)濾;基于深度學(xué)習(xí)的方法構(gòu)建神經(jīng)網(wǎng)絡(luò),挖掘交互信息中用戶行為規(guī)律和潛在特征向量,以減小模型預(yù)測(cè)誤差[7-9]。
然而,單一的歷史交互信息難以充分反映用戶的偏好信息,會(huì)影響預(yù)測(cè)結(jié)果的準(zhǔn)確性。為此,將輔助信息引入評(píng)分預(yù)測(cè)模型,例如通過(guò)自然語(yǔ)言技術(shù)對(duì)用戶評(píng)論[10]、電影簡(jiǎn)介[11]等進(jìn)行文本信息向量化,并對(duì)特征向量進(jìn)行建模訓(xùn)練;結(jié)合映射函數(shù)[12]和自動(dòng)編碼器[13]優(yōu)化矩陣分解模型,利用其分解屬性的潛在特征提升預(yù)測(cè)準(zhǔn)確性,雖然該類方法通過(guò)輔助信息能更有效地捕捉用戶偏好,但大多將文本作為輔助信息未能直接、充分利用屬性特征。
為此,本文提出一種基于交互屬性增強(qiáng)的電影評(píng)分預(yù)測(cè)模型(Prediction Model for Movie Ratings Based on Interactive Attribute Enhancement,MRIAE),根據(jù)用戶、電影和屬性間的關(guān)系構(gòu)建電影信息網(wǎng)絡(luò)。首先,利用metapath2vec算法以網(wǎng)絡(luò)節(jié)點(diǎn)形式,將不同屬性映射到對(duì)應(yīng)特征空間,以獲得能表達(dá)網(wǎng)絡(luò)結(jié)構(gòu)和語(yǔ)義信息的特征向量;然后通過(guò)雙塔預(yù)測(cè)模型嵌入用戶和電影特征,并與各自屬性特征融合實(shí)現(xiàn)評(píng)分預(yù)測(cè)。
現(xiàn)有電影評(píng)分預(yù)測(cè)方法主要分為基于交互信息和結(jié)合輔助信息的方法。早期研究中,學(xué)者們分析用戶對(duì)電影的歷史交互信息預(yù)測(cè)用戶行為。Sarwar 等[2]利用交互信息構(gòu)建共現(xiàn)矩陣提出一種基于物品的協(xié)同過(guò)濾算法計(jì)算電影間相似性,通過(guò)用戶對(duì)相似電影的歷史評(píng)分?jǐn)?shù)據(jù)預(yù)測(cè)用戶對(duì)目標(biāo)電影的評(píng)分。Koren 等[6]針對(duì)共現(xiàn)矩陣提出矩陣分解算法(MF),將用戶和電影映射到相同的潛在特征空間,通過(guò)計(jì)算用戶和項(xiàng)目特征向量的內(nèi)積預(yù)測(cè)評(píng)分。
近年來(lái),深度學(xué)習(xí)技術(shù)通過(guò)復(fù)雜網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)一步挖掘評(píng)分?jǐn)?shù)據(jù)間的潛在特征。Lund 等[7]結(jié)合用戶的歷史評(píng)分?jǐn)?shù)據(jù)設(shè)計(jì)了一種基于協(xié)同過(guò)濾的自動(dòng)編碼器,相較于基于鄰域的基線模型具有更好的預(yù)測(cè)性能。He 等[8]針對(duì)數(shù)據(jù)特征交互提出NFM 模型,通過(guò)組合二階線性特征和高階非線性特征進(jìn)一步提升了模型評(píng)分預(yù)測(cè)的準(zhǔn)確性。Zhou等[9]通過(guò)距離計(jì)算得到用戶和電影的交互特征及權(quán)重,使用Item2vec 映射特征向量設(shè)計(jì)多層全連接神經(jīng)網(wǎng)絡(luò)進(jìn)行評(píng)分預(yù)測(cè)。
然而,上述方法依賴單一的歷史交互信息,提升的預(yù)測(cè)性能有限,因此研究人員進(jìn)一步引入評(píng)論、屬性等輔助信息分析用戶偏好。Zhu 等[10]對(duì)用戶評(píng)論進(jìn)行文本向量化,結(jié)合BiLSTM 網(wǎng)絡(luò)分析情感傾向并填充用戶評(píng)分矩陣進(jìn)行相似度計(jì)算,以預(yù)測(cè)用戶對(duì)電影的評(píng)分。Won 等[11]首先向量化電影概述,然后由嵌入層得到用戶及其交互電影的潛在ID 表示,通過(guò)改進(jìn)DeepFM 模型學(xué)習(xí)特征間的高階、低階信息,然后輸出最終預(yù)測(cè)評(píng)分。Gantner 等[12]通過(guò)映射函數(shù)將用戶或電影屬性映射到潛在向量空間,然后結(jié)合映射函數(shù)優(yōu)化得到具有屬性意識(shí)的矩陣分解模型,從而提升模型的預(yù)測(cè)準(zhǔn)確性。Xin 等[13]首先利用自動(dòng)編碼器提取用戶、電影的屬性與評(píng)分特征,然后結(jié)合特征重構(gòu)評(píng)分矩陣,并最小化原始評(píng)分矩陣和重建評(píng)分矩陣之間的誤差。Wang 等[14]將項(xiàng)目屬性作為知識(shí)圖的補(bǔ)充信息并引入,通過(guò)知識(shí)圖嵌入方法將實(shí)體和關(guān)系轉(zhuǎn)化為向量表示,然后結(jié)合圖形注意機(jī)制學(xué)習(xí)不同屬性對(duì)用戶的影響,最后通過(guò)聚合傳播層的用戶和項(xiàng)目表示得到預(yù)測(cè)評(píng)分。
電影信息網(wǎng)絡(luò)可定義為一個(gè)無(wú)向圖G=(V,E),如圖1所示。其中,V=VU∪VM∪VD1∪...∪VDi,VU為用戶節(jié)點(diǎn)集合,VM為電影節(jié)點(diǎn)集合,VDi為第i種類型的屬性節(jié)點(diǎn)集合;E=EUM∪EUDU∪EMDU,EUM表示用戶與電影的交互關(guān)系邊集合,EUDU表示用戶及其屬性的包含關(guān)系邊集合,EMDM表示電影及其屬性的包含關(guān)系邊集合。同時(shí),節(jié)點(diǎn)類型映射滿足Φ:V→A,邊類型映射滿足Ψ:E→R,A、R分別表示節(jié)點(diǎn)類型集合與邊類型集合。
Fig.1 Movie information network圖1 電影信息網(wǎng)絡(luò)
本文設(shè)置一個(gè)描述電影信息網(wǎng)絡(luò)中節(jié)點(diǎn)類型與節(jié)點(diǎn)類型間關(guān)系的元結(jié)構(gòu)(見(jiàn)圖2),形式化定義為T(mén)G=(A,R),其中節(jié)點(diǎn)類型集合A={U,M,DU,DM},邊類型集合R={UM,UDU,UDM},DU=Du1∪… ∪Dun表示n種用戶屬性節(jié)點(diǎn)類型集合,DM=Dm1∪… ∪Dmn表示n種電影屬性節(jié)點(diǎn)類型集合。
Fig.2 Network schema圖2 網(wǎng)絡(luò)模式
給定電影信息網(wǎng)絡(luò)G和網(wǎng)絡(luò)模式TG=(A,R),根據(jù)用戶與電影交互中不同的語(yǔ)義信息定義元路徑(見(jiàn)圖3),如式(1)所示。其中,R=R0°R1°...°Rl-1表示V1節(jié)點(diǎn)到Vl節(jié)點(diǎn)間路徑的組合。
Fig.3 Metapath圖3 元路徑
給定用戶信息、電影信息及用戶對(duì)電影的歷史評(píng)分信息,電影評(píng)分預(yù)測(cè)問(wèn)題就是將用戶信息、電影信息中各特征轉(zhuǎn)換為對(duì)應(yīng)向量,即將用戶和目標(biāo)電影的ID 特征轉(zhuǎn)換為向量eu、em,屬性特征轉(zhuǎn)換為向量dui、dmj(i=1,2,…,n),將ID 特征與各自屬性特征向量交互融合得到用戶特征u和電影特征m,以預(yù)測(cè)用戶對(duì)電影的評(píng)分。
為了準(zhǔn)確預(yù)測(cè)電影評(píng)分,本文提出一個(gè)基于交互屬性增強(qiáng)的電影評(píng)分預(yù)測(cè)模型MRIAE,主要分為屬性嵌入增強(qiáng)模塊和評(píng)分預(yù)測(cè)模塊,如圖4所示。
Fig.4 Model process framework圖4 模型流程框架
3.1.1 Metapath2vec
屬性嵌入增強(qiáng)模塊為獲得屬性特征的增強(qiáng)表征,深入挖掘電影信息網(wǎng)絡(luò)中屬性節(jié)點(diǎn)的潛在規(guī)律,通過(guò)屬性節(jié)點(diǎn)在電影信息網(wǎng)絡(luò)中的嵌入向量表示屬性特征信息。網(wǎng)絡(luò)中的用戶節(jié)點(diǎn)VU、電影節(jié)點(diǎn)VM和多種屬性節(jié)點(diǎn)VDi,由用戶ID、電影ID 及各自屬性特征抽象及編號(hào)獲得,不同類型的邊由節(jié)點(diǎn)間的關(guān)系構(gòu)成。考慮到屬性節(jié)點(diǎn)的結(jié)構(gòu)信息和元路徑語(yǔ)義信息提取因素,將選擇Metapath2vec 算法[15]對(duì)電影信息網(wǎng)絡(luò)中的屬性節(jié)點(diǎn)進(jìn)行向量化表示。Metapath2vec 算法將Word2vec 算法[16]學(xué)習(xí)文本語(yǔ)料庫(kù)中單詞上下文信息的概念引入異構(gòu)網(wǎng)絡(luò),通過(guò)基于元路徑的隨機(jī)游走策略生成可被Skip-gram 模型學(xué)習(xí)的節(jié)點(diǎn)序列,隨機(jī)游走的概率為:
式中:∈Vt為在第i種的t類型的節(jié)點(diǎn),Nt+1()表示節(jié)點(diǎn)的鄰居節(jié)點(diǎn)類型為t+1;(vi+1,) ∈E;?(vi+1)=t+1表示第i個(gè)節(jié)點(diǎn)與第i+1個(gè)節(jié)點(diǎn)間存在邊,并且第i+1 個(gè)節(jié)點(diǎn)的類型為t+1,隨機(jī)游走過(guò)程中的節(jié)點(diǎn)類型t和t+1取決于定義的元路徑P。
Skip-gram 模型設(shè)定窗口大小為w,將每個(gè)節(jié)點(diǎn)序列中的節(jié)點(diǎn)輪流作為中心詞,最大化計(jì)算中心詞節(jié)點(diǎn)和上下文節(jié)點(diǎn)的平均出現(xiàn)概率,以獲得每個(gè)節(jié)點(diǎn)的表示向量:
Metapath2vec 在Skip-gram 模型的基礎(chǔ)上,添加了對(duì)不同結(jié)點(diǎn)類型的限制,對(duì)于給定節(jié)點(diǎn)v,最大化其異構(gòu)上下文的概率,具體的目標(biāo)函數(shù)為:
式中:Nt(v)表示節(jié)點(diǎn)Vt的鄰居集合,類型為t,即給定節(jié)點(diǎn)v,計(jì)算該點(diǎn)鄰居節(jié)點(diǎn)ct出現(xiàn)的平均概率,并使其最大化。
P(ct|v;θ)為softmax 函數(shù)(見(jiàn)式(5)),Xv為節(jié)點(diǎn)v的表示向量。
3.1.2 屬性節(jié)點(diǎn)表示學(xué)習(xí)
由于不同屬性反映的偏好不同,準(zhǔn)確把握用戶興趣是提升預(yù)測(cè)準(zhǔn)確性的關(guān)鍵,為最大程度學(xué)習(xí)各類屬性節(jié)點(diǎn)中的網(wǎng)絡(luò)子結(jié)構(gòu)與元路徑語(yǔ)義信息,本文提出單屬性元路徑,如式(6)、式(7)所示。
式中:Di?DU且|Di|=1;Dj?DM且|Dj|=1。
圖3 定義了電影信息網(wǎng)絡(luò)中的4 條單屬性元路徑,如式(6)、式(7)所定義,每條單屬性元路徑中包含了一種用戶屬性或電影屬性節(jié)點(diǎn),模型利用Metapath2vec 每次依據(jù)一條單屬性元路徑隨機(jī)游走并訓(xùn)練,可得到該元路徑中對(duì)應(yīng)類型屬性節(jié)點(diǎn)的所有向量表示。
由式(2)可知,當(dāng)t類型的第i個(gè)節(jié)點(diǎn)與下一節(jié)點(diǎn)vi+1間存在鏈接,且下一節(jié)點(diǎn)符合當(dāng)前單屬性元路徑定義下的節(jié)點(diǎn)類型,則以概率p進(jìn)行節(jié)點(diǎn)跳轉(zhuǎn)。由此可得,用戶、目標(biāo)電影的不同類型屬性的向量dui、dmj,其中dui表示第i種用戶屬性向量,dmj表示第j種電影屬性向量。屬性節(jié)點(diǎn)向量生成結(jié)構(gòu)如圖5所示。
Fig.5 Attribute node vector generation process圖5 屬性節(jié)點(diǎn)向量生成過(guò)程
通過(guò)單屬性元路徑的訓(xùn)練方式,不同網(wǎng)絡(luò)子結(jié)構(gòu)信息和元路徑語(yǔ)義信息被有效融入對(duì)應(yīng)的屬性向量表示。例如,元路徑UMTMU(用戶—電影—電影類型—電影—用戶)表示兩個(gè)用戶間共同觀看相同類型電影的關(guān)系,而MUOUM(電影—用戶—職業(yè)—用戶—電影)表示具有相似職業(yè)兩個(gè)用戶觀看同一部電影的關(guān)系,有助于充分學(xué)習(xí)不同屬性節(jié)點(diǎn)的潛在特征,增強(qiáng)不同偏好的表達(dá),使模型預(yù)測(cè)結(jié)果更準(zhǔn)確。
3.2.1 DSSM模型
2013 年,微軟發(fā)布DSSM 模型的核心思想是將查詢?cè)~和文檔進(jìn)行特征編碼,計(jì)算其相似度以達(dá)到檢索排序的目的[17]。Elkahky 等[18]在DSSM 基礎(chǔ)上進(jìn)行改進(jìn)和擴(kuò)展,將DSSM 應(yīng)用到推薦系統(tǒng)召回任務(wù)中,分別使用兩個(gè)深度神經(jīng)網(wǎng)絡(luò)構(gòu)建用戶特征和物品特征,一般稱為雙塔模型。該模型結(jié)構(gòu)簡(jiǎn)單,能快速訓(xùn)練模型、優(yōu)化參數(shù),由于訓(xùn)練得到的用戶特征及物品特征能離線存儲(chǔ)在數(shù)據(jù)庫(kù)中,因此有效提升了在線預(yù)測(cè)效率。通過(guò)屬性嵌入增強(qiáng)模塊預(yù)訓(xùn)練得到所有屬性特征的向量表示后,考慮到用戶屬性特征和電影屬性特征反映的偏好不同,本文使用雙塔模型作為評(píng)分預(yù)測(cè)模塊框架。如圖6 所示,將用戶和電影ID 作為向量嵌入,并輸入用戶和電影屬性特征對(duì)應(yīng)的向量,通過(guò)用戶側(cè)和電影側(cè)網(wǎng)絡(luò)交互融合來(lái)探索不同屬性偏好對(duì)用戶、電影的影響,最后對(duì)投影在各自統(tǒng)一空間的用戶特征向量和電影特征向量進(jìn)行評(píng)分預(yù)測(cè)。
Fig.6 Attribute node vector generation process圖6 屬性節(jié)點(diǎn)向量生成過(guò)程
3.2.2 Embedding層
模型輸入的用戶特征分為兩部分,一部分通過(guò)屬性嵌入增強(qiáng)模塊得到的用戶屬性向量,另一部分將用戶ID 作為用戶本身通過(guò)Embedding 層生成的用戶特征向量,輸入電影特征也分為相同的兩部分。Embedding 層在模型建立時(shí),將隨機(jī)初始化權(quán)重參數(shù)矩陣E作為Embedding 矩陣,其中E∈Rm×k,m代表實(shí)體個(gè)數(shù),k為向量維度。Embedding矩陣將實(shí)體i的ID 編號(hào)xi映射到表示空間Ei,如式(8)所示。經(jīng)過(guò)Embedding 層,每個(gè)用戶和電影ID 都轉(zhuǎn)換為對(duì)應(yīng)用戶特征向量eu和電影特征向量em。
3.2.3 特征融合層
模型的用戶側(cè)子網(wǎng)絡(luò)和電影側(cè)子網(wǎng)絡(luò)分別為兩個(gè)同樣的多層感知機(jī),將用戶特征向量eu和用戶屬性向量dui、電影特征向量em和電影屬性向量dmj進(jìn)行融合,然后投影到各自統(tǒng)一的特征空間。
首先,將eu、em與各自屬性向量拼接得到用戶特征u和電影特征m。其中,電影類型的多值屬性對(duì)應(yīng)多個(gè)屬性向量,通過(guò)相加后拼接。
然后,將得到的用戶特征u和電影特征m分別輸入用戶側(cè)和項(xiàng)目側(cè)的多層感知機(jī)進(jìn)行訓(xùn)練,得到融合交互后的用戶特征u'和電影特征m'。
式中:wul、bul為用戶側(cè)第l層權(quán)重和第l層偏置;wml、bml為電影側(cè)第l層權(quán)重和第l層偏置;σ為激活函數(shù)Relu。
3.2.4 評(píng)分預(yù)測(cè)層
將得到的用戶特征u'和電影特征v'進(jìn)行點(diǎn)積得到最終預(yù)測(cè)評(píng)分,并與真實(shí)樣本評(píng)分比較,通過(guò)MSE 函數(shù)優(yōu)化損失。
式中:y為用戶對(duì)電影的真實(shí)評(píng)分;為預(yù)測(cè)評(píng)分。
4.1.1 數(shù)據(jù)集
本文在由Grouplens Research 團(tuán)隊(duì)收集的真實(shí)數(shù)據(jù)集Movielens-1m 上進(jìn)行實(shí)驗(yàn)[19]。該數(shù)據(jù)集包括用戶信息、電影信息和評(píng)分信息,通過(guò)抽象、編號(hào)信息中的各個(gè)字段得到用戶節(jié)點(diǎn)、電影節(jié)點(diǎn)和屬性節(jié)點(diǎn)。
(1)用戶數(shù)據(jù)集包括用戶ID、性別、年齡和職業(yè)字段,分別有6 040 名用戶、性別、7 個(gè)年齡層和21 種職業(yè),不同數(shù)字指代不同年齡層和職業(yè)類別。
Table 1 User dataset表1 用戶數(shù)據(jù)集
(2)電影數(shù)據(jù)集包括電影ID 和電影類型字段,包括了3 883部電影和18種電影類型。
Table 2 Movie dataset表2 電影數(shù)據(jù)集
(3)評(píng)分?jǐn)?shù)據(jù)集包括用戶ID、電影ID 和用戶對(duì)電影的評(píng)分字段。
Table 3 Rating dataset表3 評(píng)分?jǐn)?shù)據(jù)集
4.1.2 評(píng)價(jià)指標(biāo)
為了評(píng)估不同模型的預(yù)測(cè)性能,實(shí)驗(yàn)使用平均絕對(duì)誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Square Error,RMSE)作為評(píng)價(jià)指標(biāo),預(yù)測(cè)誤差越小代表模型準(zhǔn)確性越高。MAE 表示預(yù)測(cè)值與真實(shí)值yi絕對(duì)誤差的平均值,代表預(yù)測(cè)值的平均誤差幅度;RMSE 代表預(yù)測(cè)值i與真實(shí)值yi誤差的平方和預(yù)測(cè)次數(shù)n比值的平方根。
4.1.3 比較方法
本文模型使用了用戶與電影間的評(píng)分和屬性信息,將其與使用評(píng)分信息或評(píng)分與屬性信息的方法進(jìn)行比較。其中,ItemCF 為基于物品的協(xié)同過(guò)濾算法,通過(guò)歷史評(píng)分?jǐn)?shù)據(jù)構(gòu)建交互矩陣,完成物品間的相似度計(jì)算,然后利用與用戶目標(biāo)電影相似的鄰居電影的評(píng)分,預(yù)測(cè)用戶對(duì)目標(biāo)電影的評(píng)分[2];PMF 為概率矩陣分解算法,將用戶和項(xiàng)目的交互矩陣分解為用戶隱式矩陣和電影隱式矩陣,再利用隱式矩陣預(yù)測(cè)用戶對(duì)電影的評(píng)分[20];Wide&Deep 由線性模型與DNN 融合的組合模型,通過(guò)線性模型捕捉用戶和物品低階特征交叉,基于深度神經(jīng)網(wǎng)絡(luò)模型學(xué)習(xí)高階特征交叉,然后聯(lián)合訓(xùn)練兩種模型共享輸入層[21];NFM 為融合了FM 與DNN 的組合模型,通過(guò)設(shè)計(jì)Bi-Interaction 的方法處理二階交叉信息,然后基于深度神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)交叉特征[8];DeepFM 為結(jié)合了FM 模塊和Deep 模塊的模型,F(xiàn)M 模塊學(xué)習(xí)用戶和物品低階特征交叉,Deep 模塊學(xué)習(xí)高階特征交叉,使模型實(shí)現(xiàn)高階特征和低階特征的交互[22];EDCN為結(jié)合bridge 和regulation module 對(duì)DCN 進(jìn)行加強(qiáng)的模型,通過(guò)在隱藏層中進(jìn)行信息交叉以捕獲cross 和deep 層的隱藏信息[23]。
4.1.4 參數(shù)設(shè)置
MRIAE 模型分為屬性嵌入增強(qiáng)模塊和評(píng)分預(yù)測(cè)模塊,根據(jù)經(jīng)驗(yàn)初始化參數(shù)并分析數(shù)據(jù),通過(guò)微調(diào)使其達(dá)到最佳性能。本文使用Metapath2vec 算法對(duì)屬性特征進(jìn)行預(yù)訓(xùn)練得到向量表示,設(shè)置游走長(zhǎng)度為10,每個(gè)節(jié)點(diǎn)游走次數(shù)為100,窗口大小為7。由于嵌入維度參數(shù)對(duì)模型預(yù)測(cè)準(zhǔn)確性存在重要影響,實(shí)驗(yàn)發(fā)現(xiàn)嵌入維度參數(shù)設(shè)置為16 時(shí),可得到最佳預(yù)測(cè)效果。
在雙塔預(yù)測(cè)模型中,選取80%的實(shí)驗(yàn)數(shù)據(jù)為訓(xùn)練集,剩余數(shù)據(jù)為測(cè)試集,用戶側(cè)和電影側(cè)的MLP 網(wǎng)絡(luò)各層神經(jīng)元數(shù)量都設(shè)置為[516,256,128],學(xué)習(xí)率為0.000 1,訓(xùn)練次數(shù)epochs 為50,同時(shí)采用早停機(jī)制避免模型發(fā)射過(guò)擬合現(xiàn)象。ItemCF 和PMF 代表分析用戶與電影交互行為的傳統(tǒng)算法,只利用用戶對(duì)電影的歷史評(píng)分?jǐn)?shù)據(jù)。WideDeep、NFM、DeepFM 和EDCN 代表學(xué)習(xí)高低階特征交互的深度神經(jīng)網(wǎng)絡(luò),為了保證模型間的公平性,本文模型使用相同的用戶和電影信息,嵌入維度設(shè)置一致且模型參數(shù)規(guī)格設(shè)置接近。
表4為各算法在Movielens-1m 數(shù)據(jù)集上的結(jié)果實(shí)驗(yàn)結(jié)果。由此可知,傳統(tǒng)ItemCF、PMF 算法只考慮了用戶和電影的交互關(guān)系,ItemCF 預(yù)測(cè)誤差最大,PMF 相較于ItemCF在MAE、RMSE 指標(biāo)上分別降低4.88%、5.83%。深度神經(jīng)網(wǎng)絡(luò)模型NFM、WideDeep、EDCN 和DeepFM 由于引入多種屬性特征作為輔助信息,并學(xué)習(xí)了這些特征間的高階和低階交互,其評(píng)分預(yù)測(cè)誤差均低于ItemCF、PMF,其中Deep-FM 表現(xiàn)最好。本文所提MRIAE 模型相較于傳統(tǒng)算法ItemCF、PMF,在MAE 上分別降低了7.96%、6.93%,在RMSE 上分別降低3.24%、1.16%;相較于NFM、WideDeep、EDCN 和DeepFM,在MAE 上分別降低了1.5%、1.18%、1.16%和0.98%,在RMSE 上分別降低了1.07%、0.84%、0.71%和0.65%。
Table 4 Results of contrast experiment表4 對(duì)比實(shí)驗(yàn)結(jié)果
實(shí)驗(yàn)表明,本文模型不僅考慮了屬性特征,還通過(guò)挖掘用戶與電影的交互和從屬關(guān)系,豐富了屬性特征向量的表示,能學(xué)習(xí)得到具有不同屬性偏好的用戶和電影特征向量,可有效提升了評(píng)分預(yù)測(cè)準(zhǔn)確率。
4.3.1 屬性表示對(duì)模型的影響
MRIAE 模型通過(guò)在屬性嵌入增強(qiáng)模塊學(xué)習(xí)用戶和電影各屬性特征的向量表示,作為評(píng)分預(yù)測(cè)模塊的屬性輸入。為驗(yàn)證網(wǎng)絡(luò)結(jié)構(gòu)和語(yǔ)義信息對(duì)屬性向量的增強(qiáng)效果,使用Embedding 層替代屬性嵌入增強(qiáng)模塊中的Metapath2vec 算法,在MAE、RMSE 指標(biāo)上進(jìn)行比較,如表5所示。
Table 5 Experimental results of different attribute representation methods表5 不同屬性表示方法的實(shí)驗(yàn)結(jié)果
由表5 可見(jiàn),通過(guò)Metapath2vec 學(xué)習(xí)屬性節(jié)點(diǎn)嵌入后表示的各屬性特征向量,在融合電影信息網(wǎng)絡(luò)中不同元路徑結(jié)構(gòu)及語(yǔ)義信息后的結(jié)果較好,相較于Embedding 層在MAE、RMSE 指標(biāo)上分別降低3.99%和4.27%,能有效提升模型預(yù)測(cè)的準(zhǔn)確性。
此外,本文還研究了不同比例訓(xùn)練數(shù)據(jù)對(duì)預(yù)測(cè)結(jié)果的影響,如圖7 所示。由此可見(jiàn),隨著訓(xùn)練數(shù)據(jù)比例提升,兩種模型的MAE、RMSE 值逐漸減小,使用Metapath2vec 的MRIAE 模型在不同比例訓(xùn)練數(shù)據(jù)下的結(jié)果均優(yōu)于僅用Embedding 層提取屬性特征的模型。實(shí)驗(yàn)證明了利用電影信息網(wǎng)絡(luò)的結(jié)構(gòu)和語(yǔ)義信息能有效增強(qiáng)屬性特征的表示能力,可提升模型預(yù)測(cè)準(zhǔn)確性。
Fig.7 Influence of different scales of training data on error圖7 不同比例訓(xùn)練數(shù)據(jù)對(duì)誤差的影響
4.3.2 嵌入維度對(duì)模型的影響
在將節(jié)點(diǎn)轉(zhuǎn)化為表示向量的過(guò)程中,特征維度的選擇對(duì)模型預(yù)測(cè)準(zhǔn)確性有著重要影響。為驗(yàn)證屬性向量維度對(duì)預(yù)測(cè)結(jié)果的影響,以MAE、RMSE 為指標(biāo)分別選擇維度d=[8,16,32,64,128]在數(shù)據(jù)集上進(jìn)行實(shí)驗(yàn),結(jié)果如表6所示。由此可知,當(dāng)d=16 時(shí)預(yù)測(cè)誤差最低;當(dāng)d由8 向16增加時(shí)MAE 和RMSE 降低,因?yàn)檫^(guò)低的向量維度會(huì)損失部分用戶和電影信息,隨著向量維度增加,屬性特征表示就更豐富,因此預(yù)測(cè)誤差更??;當(dāng)d由16 增加到32 及更高時(shí)MAE 和RMSE 逐漸升高,因?yàn)檫^(guò)高的維度增加了屬性特征的向量表示的噪聲,導(dǎo)致模型誤差上升。
Table 6 Experimental results of different embedding dimensions表6 不同嵌入維度的實(shí)驗(yàn)結(jié)果
圖8 為不同嵌入維度的MAE 值、RMSE 值隨迭代次數(shù)的變化情況。由此可見(jiàn),隨著嵌入維度增加,模型到達(dá)最優(yōu)解所需的訓(xùn)練輪次越來(lái)越少,當(dāng)d=16 時(shí)預(yù)測(cè)誤差最小,而d=128 時(shí)模型收斂所需的輪次最少,但預(yù)測(cè)誤差最大。
Fig.8 Influence of embedding dimension on error圖8 嵌入維度對(duì)誤差的影響
為了進(jìn)一步理解模型的預(yù)測(cè)過(guò)程,本文隨機(jī)選取5 個(gè)對(duì)目標(biāo)電影作出不同評(píng)分等級(jí)的用戶進(jìn)行案例研究,預(yù)測(cè)結(jié)果如表7 所示。表7 詳細(xì)展示了預(yù)測(cè)過(guò)程中使用的用戶信息、電影信息、真實(shí)評(píng)分及預(yù)測(cè)結(jié)果。其中,ID 代表用戶及電影自身;用戶屬性包括性別、年齡和職業(yè);電影屬性包括電影類型。
Table 7 Movie rating prediction case表7 電影評(píng)分預(yù)測(cè)案例
實(shí)驗(yàn)表明,對(duì)于1~5 分的5 個(gè)實(shí)例,模型預(yù)測(cè)評(píng)分分別為0.79、1.78、2.62、3.74、4.33,誤差較小,表明屬性能在一定程度上表現(xiàn)用戶偏好,為預(yù)測(cè)提供參考。
考慮到現(xiàn)有方法中對(duì)屬性特征表示能力不足的問(wèn)題,提出一種基于交互屬性增強(qiáng)的電影評(píng)分預(yù)測(cè)模型。首先,通過(guò)分析用戶和電影信息間的多種關(guān)系構(gòu)建電影信息網(wǎng)絡(luò),使用Metapath2vec 算法向量表示網(wǎng)絡(luò)中的屬性節(jié)點(diǎn),以充分挖掘?qū)傩蕴卣髟陔娪靶畔⒕W(wǎng)絡(luò)中的結(jié)構(gòu)和語(yǔ)義信息。然后,使用雙塔預(yù)測(cè)模型將表征用戶和電影的ID 特征向量與各自的屬性向量交叉融合,得到用戶和電影的特征向量。最后,通過(guò)點(diǎn)積實(shí)現(xiàn)用戶對(duì)電影的評(píng)分預(yù)測(cè)。
在Movielens-1m 數(shù)據(jù)集上的實(shí)驗(yàn)結(jié)果表明,本文模型的預(yù)測(cè)準(zhǔn)確性相較于現(xiàn)有方法均存在不同程度的提升,證明了模型的有效性。