?

基于交互屬性增強的電影評分預測

2024-02-21 06:00許星波張明西朱衍熹
軟件導刊 2024年1期
關鍵詞:向量預測節點

許星波,張明西,趙 瑞,朱衍熹

(上海理工大學 出版印刷與藝術設計學院,上海 200093)

0 引言

電影是人們生活中不可或缺的娛樂方式之一。對于數量眾多的電影,用戶需要一個評價標準幫助他們進行選擇。其中,數值評分能直觀表示一部電影的質量,準確地預測評分有助于用戶尋找到其喜愛的電影,減輕信息過載問題[1]?,F有電影評分預測方法主要包括從用戶和電影的歷史交互信息方面預測評分,針對交互信息建立共現矩陣,計算矩陣相似度或生成隱向量預測用戶對電影的評分,例如基于鄰域[2-3]、基于矩陣分解[4-6]的協同過濾;基于深度學習的方法構建神經網絡,挖掘交互信息中用戶行為規律和潛在特征向量,以減小模型預測誤差[7-9]。

然而,單一的歷史交互信息難以充分反映用戶的偏好信息,會影響預測結果的準確性。為此,將輔助信息引入評分預測模型,例如通過自然語言技術對用戶評論[10]、電影簡介[11]等進行文本信息向量化,并對特征向量進行建模訓練;結合映射函數[12]和自動編碼器[13]優化矩陣分解模型,利用其分解屬性的潛在特征提升預測準確性,雖然該類方法通過輔助信息能更有效地捕捉用戶偏好,但大多將文本作為輔助信息未能直接、充分利用屬性特征。

為此,本文提出一種基于交互屬性增強的電影評分預測模型(Prediction Model for Movie Ratings Based on Interactive Attribute Enhancement,MRIAE),根據用戶、電影和屬性間的關系構建電影信息網絡。首先,利用metapath2vec算法以網絡節點形式,將不同屬性映射到對應特征空間,以獲得能表達網絡結構和語義信息的特征向量;然后通過雙塔預測模型嵌入用戶和電影特征,并與各自屬性特征融合實現評分預測。

1 相關工作

現有電影評分預測方法主要分為基于交互信息和結合輔助信息的方法。早期研究中,學者們分析用戶對電影的歷史交互信息預測用戶行為。Sarwar 等[2]利用交互信息構建共現矩陣提出一種基于物品的協同過濾算法計算電影間相似性,通過用戶對相似電影的歷史評分數據預測用戶對目標電影的評分。Koren 等[6]針對共現矩陣提出矩陣分解算法(MF),將用戶和電影映射到相同的潛在特征空間,通過計算用戶和項目特征向量的內積預測評分。

近年來,深度學習技術通過復雜網絡結構進一步挖掘評分數據間的潛在特征。Lund 等[7]結合用戶的歷史評分數據設計了一種基于協同過濾的自動編碼器,相較于基于鄰域的基線模型具有更好的預測性能。He 等[8]針對數據特征交互提出NFM 模型,通過組合二階線性特征和高階非線性特征進一步提升了模型評分預測的準確性。Zhou等[9]通過距離計算得到用戶和電影的交互特征及權重,使用Item2vec 映射特征向量設計多層全連接神經網絡進行評分預測。

然而,上述方法依賴單一的歷史交互信息,提升的預測性能有限,因此研究人員進一步引入評論、屬性等輔助信息分析用戶偏好。Zhu 等[10]對用戶評論進行文本向量化,結合BiLSTM 網絡分析情感傾向并填充用戶評分矩陣進行相似度計算,以預測用戶對電影的評分。Won 等[11]首先向量化電影概述,然后由嵌入層得到用戶及其交互電影的潛在ID 表示,通過改進DeepFM 模型學習特征間的高階、低階信息,然后輸出最終預測評分。Gantner 等[12]通過映射函數將用戶或電影屬性映射到潛在向量空間,然后結合映射函數優化得到具有屬性意識的矩陣分解模型,從而提升模型的預測準確性。Xin 等[13]首先利用自動編碼器提取用戶、電影的屬性與評分特征,然后結合特征重構評分矩陣,并最小化原始評分矩陣和重建評分矩陣之間的誤差。Wang 等[14]將項目屬性作為知識圖的補充信息并引入,通過知識圖嵌入方法將實體和關系轉化為向量表示,然后結合圖形注意機制學習不同屬性對用戶的影響,最后通過聚合傳播層的用戶和項目表示得到預測評分。

2 相關概念

2.1 異構網絡

電影信息網絡可定義為一個無向圖G=(V,E),如圖1所示。其中,V=VU∪VM∪VD1∪...∪VDi,VU為用戶節點集合,VM為電影節點集合,VDi為第i種類型的屬性節點集合;E=EUM∪EUDU∪EMDU,EUM表示用戶與電影的交互關系邊集合,EUDU表示用戶及其屬性的包含關系邊集合,EMDM表示電影及其屬性的包含關系邊集合。同時,節點類型映射滿足Φ:V→A,邊類型映射滿足Ψ:E→R,A、R分別表示節點類型集合與邊類型集合。

Fig.1 Movie information network圖1 電影信息網絡

2.2 網絡模式

本文設置一個描述電影信息網絡中節點類型與節點類型間關系的元結構(見圖2),形式化定義為TG=(A,R),其中節點類型集合A={U,M,DU,DM},邊類型集合R={UM,UDU,UDM},DU=Du1∪… ∪Dun表示n種用戶屬性節點類型集合,DM=Dm1∪… ∪Dmn表示n種電影屬性節點類型集合。

Fig.2 Network schema圖2 網絡模式

2.3 元路徑

給定電影信息網絡G和網絡模式TG=(A,R),根據用戶與電影交互中不同的語義信息定義元路徑(見圖3),如式(1)所示。其中,R=R0°R1°...°Rl-1表示V1節點到Vl節點間路徑的組合。

Fig.3 Metapath圖3 元路徑

2.4 電影評分預測

給定用戶信息、電影信息及用戶對電影的歷史評分信息,電影評分預測問題就是將用戶信息、電影信息中各特征轉換為對應向量,即將用戶和目標電影的ID 特征轉換為向量eu、em,屬性特征轉換為向量dui、dmj(i=1,2,…,n),將ID 特征與各自屬性特征向量交互融合得到用戶特征u和電影特征m,以預測用戶對電影的評分。

3 模型設計

為了準確預測電影評分,本文提出一個基于交互屬性增強的電影評分預測模型MRIAE,主要分為屬性嵌入增強模塊和評分預測模塊,如圖4所示。

Fig.4 Model process framework圖4 模型流程框架

3.1 屬性嵌入增強模塊

3.1.1 Metapath2vec

屬性嵌入增強模塊為獲得屬性特征的增強表征,深入挖掘電影信息網絡中屬性節點的潛在規律,通過屬性節點在電影信息網絡中的嵌入向量表示屬性特征信息。網絡中的用戶節點VU、電影節點VM和多種屬性節點VDi,由用戶ID、電影ID 及各自屬性特征抽象及編號獲得,不同類型的邊由節點間的關系構成??紤]到屬性節點的結構信息和元路徑語義信息提取因素,將選擇Metapath2vec 算法[15]對電影信息網絡中的屬性節點進行向量化表示。Metapath2vec 算法將Word2vec 算法[16]學習文本語料庫中單詞上下文信息的概念引入異構網絡,通過基于元路徑的隨機游走策略生成可被Skip-gram 模型學習的節點序列,隨機游走的概率為:

式中:∈Vt為在第i種的t類型的節點,Nt+1()表示節點的鄰居節點類型為t+1;(vi+1,) ∈E;?(vi+1)=t+1表示第i個節點與第i+1個節點間存在邊,并且第i+1 個節點的類型為t+1,隨機游走過程中的節點類型t和t+1取決于定義的元路徑P。

Skip-gram 模型設定窗口大小為w,將每個節點序列中的節點輪流作為中心詞,最大化計算中心詞節點和上下文節點的平均出現概率,以獲得每個節點的表示向量:

Metapath2vec 在Skip-gram 模型的基礎上,添加了對不同結點類型的限制,對于給定節點v,最大化其異構上下文的概率,具體的目標函數為:

式中:Nt(v)表示節點Vt的鄰居集合,類型為t,即給定節點v,計算該點鄰居節點ct出現的平均概率,并使其最大化。

P(ct|v;θ)為softmax 函數(見式(5)),Xv為節點v的表示向量。

3.1.2 屬性節點表示學習

由于不同屬性反映的偏好不同,準確把握用戶興趣是提升預測準確性的關鍵,為最大程度學習各類屬性節點中的網絡子結構與元路徑語義信息,本文提出單屬性元路徑,如式(6)、式(7)所示。

式中:Di?DU且|Di|=1;Dj?DM且|Dj|=1。

圖3 定義了電影信息網絡中的4 條單屬性元路徑,如式(6)、式(7)所定義,每條單屬性元路徑中包含了一種用戶屬性或電影屬性節點,模型利用Metapath2vec 每次依據一條單屬性元路徑隨機游走并訓練,可得到該元路徑中對應類型屬性節點的所有向量表示。

由式(2)可知,當t類型的第i個節點與下一節點vi+1間存在鏈接,且下一節點符合當前單屬性元路徑定義下的節點類型,則以概率p進行節點跳轉。由此可得,用戶、目標電影的不同類型屬性的向量dui、dmj,其中dui表示第i種用戶屬性向量,dmj表示第j種電影屬性向量。屬性節點向量生成結構如圖5所示。

Fig.5 Attribute node vector generation process圖5 屬性節點向量生成過程

通過單屬性元路徑的訓練方式,不同網絡子結構信息和元路徑語義信息被有效融入對應的屬性向量表示。例如,元路徑UMTMU(用戶—電影—電影類型—電影—用戶)表示兩個用戶間共同觀看相同類型電影的關系,而MUOUM(電影—用戶—職業—用戶—電影)表示具有相似職業兩個用戶觀看同一部電影的關系,有助于充分學習不同屬性節點的潛在特征,增強不同偏好的表達,使模型預測結果更準確。

3.2 評分預測模塊

3.2.1 DSSM模型

2013 年,微軟發布DSSM 模型的核心思想是將查詢詞和文檔進行特征編碼,計算其相似度以達到檢索排序的目的[17]。Elkahky 等[18]在DSSM 基礎上進行改進和擴展,將DSSM 應用到推薦系統召回任務中,分別使用兩個深度神經網絡構建用戶特征和物品特征,一般稱為雙塔模型。該模型結構簡單,能快速訓練模型、優化參數,由于訓練得到的用戶特征及物品特征能離線存儲在數據庫中,因此有效提升了在線預測效率。通過屬性嵌入增強模塊預訓練得到所有屬性特征的向量表示后,考慮到用戶屬性特征和電影屬性特征反映的偏好不同,本文使用雙塔模型作為評分預測模塊框架。如圖6 所示,將用戶和電影ID 作為向量嵌入,并輸入用戶和電影屬性特征對應的向量,通過用戶側和電影側網絡交互融合來探索不同屬性偏好對用戶、電影的影響,最后對投影在各自統一空間的用戶特征向量和電影特征向量進行評分預測。

Fig.6 Attribute node vector generation process圖6 屬性節點向量生成過程

3.2.2 Embedding層

模型輸入的用戶特征分為兩部分,一部分通過屬性嵌入增強模塊得到的用戶屬性向量,另一部分將用戶ID 作為用戶本身通過Embedding 層生成的用戶特征向量,輸入電影特征也分為相同的兩部分。Embedding 層在模型建立時,將隨機初始化權重參數矩陣E作為Embedding 矩陣,其中E∈Rm×k,m代表實體個數,k為向量維度。Embedding矩陣將實體i的ID 編號xi映射到表示空間Ei,如式(8)所示。經過Embedding 層,每個用戶和電影ID 都轉換為對應用戶特征向量eu和電影特征向量em。

3.2.3 特征融合層

模型的用戶側子網絡和電影側子網絡分別為兩個同樣的多層感知機,將用戶特征向量eu和用戶屬性向量dui、電影特征向量em和電影屬性向量dmj進行融合,然后投影到各自統一的特征空間。

首先,將eu、em與各自屬性向量拼接得到用戶特征u和電影特征m。其中,電影類型的多值屬性對應多個屬性向量,通過相加后拼接。

然后,將得到的用戶特征u和電影特征m分別輸入用戶側和項目側的多層感知機進行訓練,得到融合交互后的用戶特征u'和電影特征m'。

式中:wul、bul為用戶側第l層權重和第l層偏置;wml、bml為電影側第l層權重和第l層偏置;σ為激活函數Relu。

3.2.4 評分預測層

將得到的用戶特征u'和電影特征v'進行點積得到最終預測評分,并與真實樣本評分比較,通過MSE 函數優化損失。

式中:y為用戶對電影的真實評分;為預測評分。

4 實驗結果與分析

4.1 實驗設置

4.1.1 數據集

本文在由Grouplens Research 團隊收集的真實數據集Movielens-1m 上進行實驗[19]。該數據集包括用戶信息、電影信息和評分信息,通過抽象、編號信息中的各個字段得到用戶節點、電影節點和屬性節點。

(1)用戶數據集包括用戶ID、性別、年齡和職業字段,分別有6 040 名用戶、性別、7 個年齡層和21 種職業,不同數字指代不同年齡層和職業類別。

Table 1 User dataset表1 用戶數據集

(2)電影數據集包括電影ID 和電影類型字段,包括了3 883部電影和18種電影類型。

Table 2 Movie dataset表2 電影數據集

(3)評分數據集包括用戶ID、電影ID 和用戶對電影的評分字段。

Table 3 Rating dataset表3 評分數據集

4.1.2 評價指標

為了評估不同模型的預測性能,實驗使用平均絕對誤差(Mean Absolute Error,MAE)和均方根誤差(Root Mean Square Error,RMSE)作為評價指標,預測誤差越小代表模型準確性越高。MAE 表示預測值與真實值yi絕對誤差的平均值,代表預測值的平均誤差幅度;RMSE 代表預測值i與真實值yi誤差的平方和預測次數n比值的平方根。

4.1.3 比較方法

本文模型使用了用戶與電影間的評分和屬性信息,將其與使用評分信息或評分與屬性信息的方法進行比較。其中,ItemCF 為基于物品的協同過濾算法,通過歷史評分數據構建交互矩陣,完成物品間的相似度計算,然后利用與用戶目標電影相似的鄰居電影的評分,預測用戶對目標電影的評分[2];PMF 為概率矩陣分解算法,將用戶和項目的交互矩陣分解為用戶隱式矩陣和電影隱式矩陣,再利用隱式矩陣預測用戶對電影的評分[20];Wide&Deep 由線性模型與DNN 融合的組合模型,通過線性模型捕捉用戶和物品低階特征交叉,基于深度神經網絡模型學習高階特征交叉,然后聯合訓練兩種模型共享輸入層[21];NFM 為融合了FM 與DNN 的組合模型,通過設計Bi-Interaction 的方法處理二階交叉信息,然后基于深度神經網絡學習交叉特征[8];DeepFM 為結合了FM 模塊和Deep 模塊的模型,FM 模塊學習用戶和物品低階特征交叉,Deep 模塊學習高階特征交叉,使模型實現高階特征和低階特征的交互[22];EDCN為結合bridge 和regulation module 對DCN 進行加強的模型,通過在隱藏層中進行信息交叉以捕獲cross 和deep 層的隱藏信息[23]。

4.1.4 參數設置

MRIAE 模型分為屬性嵌入增強模塊和評分預測模塊,根據經驗初始化參數并分析數據,通過微調使其達到最佳性能。本文使用Metapath2vec 算法對屬性特征進行預訓練得到向量表示,設置游走長度為10,每個節點游走次數為100,窗口大小為7。由于嵌入維度參數對模型預測準確性存在重要影響,實驗發現嵌入維度參數設置為16 時,可得到最佳預測效果。

在雙塔預測模型中,選取80%的實驗數據為訓練集,剩余數據為測試集,用戶側和電影側的MLP 網絡各層神經元數量都設置為[516,256,128],學習率為0.000 1,訓練次數epochs 為50,同時采用早停機制避免模型發射過擬合現象。ItemCF 和PMF 代表分析用戶與電影交互行為的傳統算法,只利用用戶對電影的歷史評分數據。WideDeep、NFM、DeepFM 和EDCN 代表學習高低階特征交互的深度神經網絡,為了保證模型間的公平性,本文模型使用相同的用戶和電影信息,嵌入維度設置一致且模型參數規格設置接近。

4.2 實驗結果

表4為各算法在Movielens-1m 數據集上的結果實驗結果。由此可知,傳統ItemCF、PMF 算法只考慮了用戶和電影的交互關系,ItemCF 預測誤差最大,PMF 相較于ItemCF在MAE、RMSE 指標上分別降低4.88%、5.83%。深度神經網絡模型NFM、WideDeep、EDCN 和DeepFM 由于引入多種屬性特征作為輔助信息,并學習了這些特征間的高階和低階交互,其評分預測誤差均低于ItemCF、PMF,其中Deep-FM 表現最好。本文所提MRIAE 模型相較于傳統算法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 對比實驗結果

實驗表明,本文模型不僅考慮了屬性特征,還通過挖掘用戶與電影的交互和從屬關系,豐富了屬性特征向量的表示,能學習得到具有不同屬性偏好的用戶和電影特征向量,可有效提升了評分預測準確率。

4.3 參數分析

4.3.1 屬性表示對模型的影響

MRIAE 模型通過在屬性嵌入增強模塊學習用戶和電影各屬性特征的向量表示,作為評分預測模塊的屬性輸入。為驗證網絡結構和語義信息對屬性向量的增強效果,使用Embedding 層替代屬性嵌入增強模塊中的Metapath2vec 算法,在MAE、RMSE 指標上進行比較,如表5所示。

Table 5 Experimental results of different attribute representation methods表5 不同屬性表示方法的實驗結果

由表5 可見,通過Metapath2vec 學習屬性節點嵌入后表示的各屬性特征向量,在融合電影信息網絡中不同元路徑結構及語義信息后的結果較好,相較于Embedding 層在MAE、RMSE 指標上分別降低3.99%和4.27%,能有效提升模型預測的準確性。

此外,本文還研究了不同比例訓練數據對預測結果的影響,如圖7 所示。由此可見,隨著訓練數據比例提升,兩種模型的MAE、RMSE 值逐漸減小,使用Metapath2vec 的MRIAE 模型在不同比例訓練數據下的結果均優于僅用Embedding 層提取屬性特征的模型。實驗證明了利用電影信息網絡的結構和語義信息能有效增強屬性特征的表示能力,可提升模型預測準確性。

Fig.7 Influence of different scales of training data on error圖7 不同比例訓練數據對誤差的影響

4.3.2 嵌入維度對模型的影響

在將節點轉化為表示向量的過程中,特征維度的選擇對模型預測準確性有著重要影響。為驗證屬性向量維度對預測結果的影響,以MAE、RMSE 為指標分別選擇維度d=[8,16,32,64,128]在數據集上進行實驗,結果如表6所示。由此可知,當d=16 時預測誤差最低;當d由8 向16增加時MAE 和RMSE 降低,因為過低的向量維度會損失部分用戶和電影信息,隨著向量維度增加,屬性特征表示就更豐富,因此預測誤差更??;當d由16 增加到32 及更高時MAE 和RMSE 逐漸升高,因為過高的維度增加了屬性特征的向量表示的噪聲,導致模型誤差上升。

Table 6 Experimental results of different embedding dimensions表6 不同嵌入維度的實驗結果

圖8 為不同嵌入維度的MAE 值、RMSE 值隨迭代次數的變化情況。由此可見,隨著嵌入維度增加,模型到達最優解所需的訓練輪次越來越少,當d=16 時預測誤差最小,而d=128 時模型收斂所需的輪次最少,但預測誤差最大。

Fig.8 Influence of embedding dimension on error圖8 嵌入維度對誤差的影響

4.4 案例研究

為了進一步理解模型的預測過程,本文隨機選取5 個對目標電影作出不同評分等級的用戶進行案例研究,預測結果如表7 所示。表7 詳細展示了預測過程中使用的用戶信息、電影信息、真實評分及預測結果。其中,ID 代表用戶及電影自身;用戶屬性包括性別、年齡和職業;電影屬性包括電影類型。

Table 7 Movie rating prediction case表7 電影評分預測案例

實驗表明,對于1~5 分的5 個實例,模型預測評分分別為0.79、1.78、2.62、3.74、4.33,誤差較小,表明屬性能在一定程度上表現用戶偏好,為預測提供參考。

5 結語

考慮到現有方法中對屬性特征表示能力不足的問題,提出一種基于交互屬性增強的電影評分預測模型。首先,通過分析用戶和電影信息間的多種關系構建電影信息網絡,使用Metapath2vec 算法向量表示網絡中的屬性節點,以充分挖掘屬性特征在電影信息網絡中的結構和語義信息。然后,使用雙塔預測模型將表征用戶和電影的ID 特征向量與各自的屬性向量交叉融合,得到用戶和電影的特征向量。最后,通過點積實現用戶對電影的評分預測。

在Movielens-1m 數據集上的實驗結果表明,本文模型的預測準確性相較于現有方法均存在不同程度的提升,證明了模型的有效性。

猜你喜歡
向量預測節點
無可預測
CM節點控制在船舶上的應用
選修2-2期中考試預測卷(A卷)
選修2-2期中考試預測卷(B卷)
向量的分解
Analysis of the characteristics of electronic equipment usage distance for common users
聚焦“向量與三角”創新題
基于AutoCAD的門窗節點圖快速構建
不必預測未來,只需把握現在
向量垂直在解析幾何中的應用
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合