張 杰,張月琴,張澤華,劉志鑫,雷 祥
1.太原理工大學 信息與計算機學院,山西 晉中030600
2.太原清眾鑫科技有限公司,太原020300
網絡信息日益復雜,數據海量增長。如何迅速而準確地從冗雜數據中獲取有效信息已成為當前的熱點[1]。個性化推薦技術就是一種可用于解決海量數據信息過載問題的有效途徑[2-3]。協同過濾[4-5]可通過對用戶歷史行為數據進行挖掘,來發現用戶的喜好偏向,并對用戶傾向的產品進行篩選與預測。然而,面對數據規模快速增長,以及日益復雜的推薦問題,傳統協同過濾算法存在一些無法回避的問題:僅考慮用戶和項目間的交互矩陣。同時,對于用戶數據稀疏以及冷啟動推薦問題[6]也缺少有效的解決策略。
因此,國內外諸多學者開始結合異質信息網絡(Heterogeneous Information Network,HIN)進行融合推薦。Gao等人[7]結合HIN提出充分挖掘網絡中隱藏的上下文信息來提高推薦性能。吳賓等人[8]通過融合多關系數據和視覺信息的多源異構信息來最大化提升推薦性能。Hu等人[9]則考慮多種類型的外部關系提出了在HIN上基于語義偏好的個性化推薦。Gao等人[10]考慮引入特征向量和時間權重函數的多信息源融合的推薦算法來提高Top-N推薦的準確度。Zhao等人[11]則考慮HIN中用戶行為和商品信息中復雜關聯提出利用不同關系的重要性來提升推薦性能。
此外,由于元路徑(Meta path)可以有效刻畫對象間的語義關系,并抽取對象間的特征信息。如圖1所示,從圖中網絡模式(Network schema)可抽取該異質網絡中兩元路徑,其中U、M、A分別表示用戶、電影和演員。顯然基于不同的元路徑,對象之間的語義不同。Sun等[12]最早提出使用元路徑來針對異質網絡信息中的相似性搜索進行Top-N推薦。Shi等人[13]提出了通過基于元路徑的隨機游走網絡嵌入方法學習HIN中用戶和項目的潛在表示用于推薦。Yin等人[14]通過在源域和目標域中建立基于元路徑的HIN嵌入實現跨域推薦。Philip SYu課題組[15]結合異質信息網絡提出異構神經注意因子分解機模型用于從元路徑中提取特征來提升推薦性能。Hu等人[16]使用異構信息網絡中基于上下文的元路徑和共同關注機制的神經網絡模型建立推薦系統。

圖1 網絡模式與元路徑Fig.1 Network schema and Meta path
以上方法多致力于利用輔助信息將異質網絡融入推薦過程。但當前也存在一些挑戰:首先,基于HIN的主流推薦算法中,大多基于元路徑的相似度刻畫HIN中的語義關聯,往往不能直接用到推薦中,之前的方法利用線性加權的方法將該相似度與矩陣分解相結合,不能很好地利用語義關聯中的復雜關系,導致可解釋性缺失(Lack of interpretability);其次,針對信息有缺失,利用異質信息,但局部推理可能會有沖突,導致稀疏不一致性(Sparse inconsistency);進而無法充分挖掘用戶潛在的偏好特征,且有效地進行特征融合。
針對上述這些問題,本文提出了一種在異質信息網絡中融合網絡嵌入的注意力偏好推薦方法(Attention preference recommendation methods with fusing heterogeneous information network embedding,MFFHINE)。首先,在對稱元路徑上使用隨機游走策略生成節點序列,利用Skip-Gram模型學習用戶的偏好表示;其次,通過基于注意力的偏好權重融合技術將各條Meta-path生成的偏好特征有機融合;最后,將融合的用戶偏好因子集成到矩陣分解模型中,用于最終的評分預測任務。
本文的主要工作概括如下:
(1)針對傳統矩陣分解的可擴展性問題,提出了一種異質信息融合網絡嵌入的注意力偏好推薦方法,通過聯合優化矩陣分解模型和融合函數,可有效利用屬性信息。
(2)針對可解釋性缺失問題,采用了一種以對稱元路徑為指導的隨機游走策略,充分挖掘異質信息網絡中語義關聯所隱藏的復雜關系。
(3)針對異質信息中局部存在稀疏不一致性問題,給出了一種基于注意力機制的融合策略,將不同權重元路徑產生的偏好特征有機融合。
高維、稀疏和多種類型是異質信息網絡的數據特征,這使得必須提供元級別(例如模式級別)的描述,才能更好地了解HIN中的對象類型和鏈接類型。因此,研究人員提出了網絡模式的概念來描述網絡的元結構。
定義1異質信息網絡及網絡模式(Network schema)[17]。HIN是一個有向圖G={V,E}以及一個對象類型映射函數φ:V→A和一個鏈接類型映射函數ψ:E→?,其中V和E分別表示節點集和邊集,A和?表示預定義對象和鏈接的集合類型網絡模式表示為S=(A,?)。它是信息網絡G={V,E}的元模板,是一個以對象類型A為節點,關系?為邊的有向圖。
在HIN中,通過不同的語義連接兩個或多個對象的路徑稱為元路徑。
定義2元路徑(Meta path)[12]。元路徑ρ定義在網絡模式S=(A,?)上,并表示為在形式上的一條路徑(縮寫為它描述對象之間的復合關系?=?1°?2°…°?l,其中°表示對象關系運算符。
其中,圖1中的{UMDMU}、{UMAMU}這些具有相同開始和結束的對象類型元路徑稱為對稱元路徑。
定義3網絡嵌入[18]。給定一個網絡G={V,E},網絡嵌入的目標是學習到一個映射函數f:V→Rd將網絡中的每個節點ν∈V映射到低維空間Rd中,其中
網絡嵌入[19]作為網絡表征學習的方法旨在將網絡中的每個節點映射為低維空間上的特征向量,并保持節點之間的連接關系(即保存結構信息)。對于異質信息網絡而言,除了結構信息,捕獲豐富的語義信息對基于異質網絡的推薦系統也至關重要。
矩陣分解(Matrix Factorization,MF)其基本思想是,從評分矩陣R中學習用戶和項目在低維隱空間上U和V對應的優化模型為公式(1):

本章將分別介紹異質信息網絡嵌入過程和在異質信息網絡中如何融合網絡嵌入進行矩陣分解推薦。異質信息網絡嵌入過程如圖2所示。

圖2 MFFHINE模型中的異質信息網絡嵌入Fig.2 Heterogeneous information network embedding in MFFHINE model
受網絡嵌入的最新進展啟發[19],本文采用表征學習方法來提取和表示異質信息網絡中蘊含的屬性信息以供推薦。給定一個異質信息網絡G={V,E},其目標是學習每個節點ν∈V的低維表示δν∈Rd(也稱為網絡嵌入)。其中,δν是節點ν的低維表示,d為異質信息網絡嵌入的維度。學習到的低維表示可以高度概括HIN的結構信息和語義信息,有助于在異質信息上進行推薦。
但是,其中部分網絡嵌入方法主要關注在同質網絡上,導致無法有效地對異質網絡進行建模來挖掘語義關聯中的復雜關系。另外,一些異質信息網絡嵌入方法沒有考慮各條元路徑對用戶的潛在影響,即如何融合各條
元路徑所產生的用戶偏好特征。
2.1.1 基于對稱元路徑的隨機游走
在異質信息網絡的文獻中,元路徑[12,20]是描述其語義模式的重要概念。而對稱元路徑[9]所表示的語義信息可以很好地刻畫對象間的語義關系。因此,使用基于對稱元路徑的隨機游走方法生成節點序列。給定一個異質信息網絡G={V,E}和一條元路徑ρ:A1→?1A2→?2…→?l Al+1,游走路徑是根據公式(2)分布生成的,游走概率為:

其中,νi是游走中的第i個節點,Ai+1表示節點νi+1的對象類型集合,ΦAi+1(νi)表示節點νi的一階鄰居集,其類型為Ai+1。游走將重復遵循元路徑的模式直到達到預定步長,這樣一來就可以產生一條在不同類型的節點之間且能同時捕捉到網絡結構信息以及語義的路徑。
使用上面的方法,路徑很可能包含不同對象類型的節點,需要進一步過濾對象類型不同于起始對象類型的節點,這樣,最終節點序列將僅包含起始對象類型的節點數。接下來,本文將學習同構序列的有效表示。
2.1.2 優化目標
給定一條元路徑,可以基于固定長度窗口中的共現為節點νi構造鄰域Φ(νi)。遵循node2vec[21],本文通過采用Skip-Gram來學習節點表示形式,不同于原本每個訓練樣本更新所有的權重,負采樣每次讓一個訓練樣本僅僅更新一部分的權重,這樣就可以降低梯度下降過程中的計算量。使用負采樣的方式,以優化以下目標:
其中,f:ν→Rd是一個函數(旨在學習),將每個節點映射到d維特征空間,Φ′(νi)為節點νi的負樣本。本文通過應用隨機梯度下降(SGD)來優化此目標,從而學習嵌入映射函數f。
2.1.3 特征融合
本文所提出的模型中,給定一個節點ν∈V,就可以獲得一組特征表示,其中N表示元路徑集合,表示第τ條元路徑上節點ν的特征表示。如何將學習到偏好特征進行融合對提高推薦性能至關重要。現有研究大多沒有考慮各條元路徑對用戶的潛在影響,導致無法模擬用戶對元路徑的個性化偏好,進而無法獲得有效的用戶偏好因子以進行推薦。注意力機制[22]學習基于不同元路徑的權重,聚合來自基于各條元路徑的鄰居節點的特征來生成節點嵌入。因此,本文提出了一種偏好權重融合技術。

給定第τ條元路徑上用戶u潛在因子f(τ)u,通過使用公式(4)計算第τ條元路徑上用戶u的注意力得分其中,M(U)∈RF×d和b(U)∈RF分別表示用戶潛在因子的權重矩陣和偏置向量,F為偏好因子維度,d為網絡嵌入維度。
通過使用等式(5)給出的Softmax函數對上述注意力得分進行歸一化,可以得出用戶潛在因子在對稱元路徑上的最終注意力權重。

其中,N表示元路徑集合表示用戶u在第τ個元路徑上的偏好權重。
最終,用戶的融合函數分別如公式(6)所示:

根據上一節,已經學習到了如何從HIN中提取和表示用戶的偏好特征和進行特征融合。接下來本文研究如何利用融合的用戶偏好因子進行推薦。
2.2.1 評分預測
在推薦系統中,一種有效的方法是分解用戶-項目評分矩陣。其基本公式假設采用以下模型來預測用戶u對項目i的偏好:

其中,m是全局偏置,bu和bi分別為用戶和項目的偏差項,gu∈RD和gi∈RD分別表示用戶u和項目i的特征潛在因子,D為潛在因子維度。
HIN中包含豐富的語義信息,通過異質信息網絡嵌入方法,最終獲得用戶的偏好因子(f(U)u),將其融入到評分預測中,本文的擴展預測模型采用以下形式:

其中,m,bu,bi,gu和gi與公式(7)相同來自于公式(6),表示用戶u的偏好因子,fi是對應的項目特定潛在因子。接下來,可以引入一個偏置項b′,其與的內積模擬項目的整體屬性,朝著給定用戶的興趣偏好發展。綜上所述,最終的預測公式為:

整個模型框架的具體步驟如以下算法所示:
算法:模型MFFHINE
輸入:評分矩陣R;
元路徑集合N;


在步驟1~7中,通過執行異質信息網絡嵌入來獲得融合用戶因子。在步驟8~14中,通過聯合優化融合用戶因子和矩陣分解模型,得到預測評分值。
2.2.2 模型學習

將融合的用戶因子集成到矩陣分解框架中,以學習模型的參數。本文采用SGD來優化以下目標:其中,x?u,i是公式(9)預測的評分值,上式中的第1項(x?u,i-xu,i)表示預測評分值與真實評分值的誤差,第2、3、4和5項用于控制模型的復雜度以避免模型過擬合,l、αw、bf、bb分別為矩陣分解、用戶偏好因子、項目偏好因子以及偏置項的正則化參數,用于平衡上述公式的貢獻度。
2.2.3 模型復雜度分析
模型MFFHINE包括兩個主要的組成部分:
(1)異質信息網絡嵌入。DeepWalk的復雜度為Ο(d?|V|),其中d是網絡嵌入維度,|V|是網絡中的節點數。因此,單個元路徑下用戶的嵌入復雜度分別為Ο(d?|U|),其中,|U|是網絡中用戶的節點數。由于選擇元路徑個數為|N|,所以異質信息網絡嵌入的總復雜度為Ο(|N|?d?|U|)。
(2)矩陣分解。對于每個三元組,更新γu、γi、fi和b′需要Ο(D)的時間復雜度,其中D為潛在因子維度。更新的時間復雜度為在推薦模型中,||N通常較小,并且d和D最多為幾百,這使得該方法在大型數據集上有效。特別地,SGD具有非常好的實踐表現,它在本文數據集上具有很快的收斂速度。
為驗證本文所提算法的有效性,在三個真實大規模數據集上進行實驗,與其他推薦算法進行橫向比較分析,在本文所提算法的參數上進行縱向分析來驗證模型MFFHINE性能。
本文使用三個數據集來驗證模型的有效性。表1列出了這三個數據集的詳細說明。此外,這些數據集都包括用戶和項目的社會關系及屬性信息。同時還具有不同的評分稀疏度:Yelp數據集非常稀疏,而Douban Movie數據集則更密集。

表1 實驗數據集統計Table 1 Statistical analysis on experimental datasets
本文在衡量推薦性能時,為體現預測評分的準確度使用兩個通用指標來評估不同方法的性能,即均值絕對誤差(MAE)和均方根誤差(RMSE)。MAE和RMSE定義分別如公式(11)和(12)所示:

其中,xu,i是用戶u對項目i的實際評分,x?u,i是模型的預測評分,Htest表示表示測試集評分記錄。從定義中可以看到MAE或RMSE值越小,表示性能越好。
為了驗證本文所提出模型的性能,在MAE和RMSE兩個指標上,同以下算法進行了比較:
(1)PMF[23]:經典的概率矩陣分解模型,通過將用戶-項目評分矩陣顯式分解為兩個低維矩陣。
(2)SoMF[24]:將社交網絡信息融入推薦過程,社會關系以正則化項形式集成到基本矩陣分解模型。
(3)HERec[13]:基于HIN嵌入提出的推薦模型,它利用基于元路徑的算法來獲取異質信息豐富的語義信息。
(4)HecRec[14]:通過在源域和目標域中建立基于元路徑的HIN嵌入實現跨域推薦。
(5)HetNERec[25]:通過從面向推薦的HIN中提取多個共現關系來構造共現網絡,將多個網絡嵌入式表示形式集成到單個表示形式中,以增強推薦性能。
本文選擇的元路徑包含用戶、項目及相關實體的屬性信息,對于實驗的三個數據集,表2中詳細列出了選定的元路徑。

表2 對稱元路徑例子Table 2 Symmetric Meta path examples
通過比較MFFHINE與各基準算法的不同變化來驗證其有效性。為了對各基準算法進行公平地比較,本文中所有實驗均使用相同參數設置。潛在因子維度均固定為D=10。對本文提出的MFFHINE模型方法,設置異質信息網絡的嵌入維度d=64,用戶偏好因子F=10,正則化系數l、αw、bf、bb值分別為0.02、0.001、0.002和0.1。本實驗中,選擇在基于對稱元路徑的基礎上使用隨機游走策略作為異質信息網絡嵌入方法,因此固定窗口大小為5和步行長度為10以強調局部結構。
對于每個數據集,需要將整個評分記錄分為一個訓練集和測試集。針對Douban Movie和Book數據集,設置四個訓練比例,如{80%,60%,40%,20%};而對于Yelp數據集,考慮數據較稀疏,則設置了四個較大的訓練比例,如{90%,80%,70%,60%}。訓練集數據80%意味著需要從用戶-項目評分矩陣中選擇80%的評分作為訓練數據,以預測剩余20%評分。對于每個比例,隨機生成十個評估集。在三個真實數據集上驗證本文提出的模型。
實驗結果和實驗性能比較分別在圖3和圖4中所示。具體分析如下:

圖4 在三個數據集上評分預測的性能改進比較(以PMF模型為基線)Fig.4 Comparison of performance for rating predictions on three data sets(The PMF model is regarded as baseline of test)
基準評測比較。基于異質信息網絡的推薦方法(HERec、HecRec和HetNERec)性能要明顯優于傳統基于MF的方法(PMF和SoMF)。特別是在Yelp數據集上表現地更為明顯,如圖3(c)中所示,在所有的訓練集比例數據中,基于MF方法其MAE和RMSE的值大于所有基于HIN的方法(值越大表示性能越差),這表明融合異質信息網絡對提升推薦質量有促進作用,更深層次的原因是異質信息網絡中大多數原始特征是用戶或項目的屬性信息,它們可能包含有用的證據以改善推薦性能。

圖3 在三個數據集上的有效性實驗結果Fig.3 Effectiveness experimental results on three datasets
算法性能提升。如圖4所示,以PMF模型為基線,提出的模型算法MFFHINE在各項測試上始終優于對照的其他方法。與其他基于HIN的方法相比,MFFHINE采用基于注意力機制的偏好權重融合策略將學習到的各個偏好特征有效融合,并將其集成到矩陣分解模型中,通過聯合優化矩陣分解模型和融合函數,以改進推薦系統性能。MFFHINE的優勢在訓練數據較少的情況下改善效果更優。例如在Yelp數據集上使用60%訓練集數據,就性能指標MAE和RMSE而言,MFFHINE對PMF的提升率分別高達32%和37%,相對于HetNERec也分別提高了4%和3%。
通過比較本文實驗使用的三個不同數據稀度的數據集發現,數據越稀疏,模型MFFHINE的性能越好,原因是由于在異質信息網絡中,數據集越稠密,局部推理越可能發生沖突,導致稀疏不一致性,進而無法充分挖掘用戶潛在的偏好特征,影響推薦性能。與最新的算法Het-NERec比較,如圖3(a)、(b)所示,MFFHINE性能不差于HetNERec。而在圖3(c)上,MFFHINE性能要優于HetNERec。
為了進一步分析不同元路徑對推薦系統模型性能的影響,需要將這些元路徑逐漸納入到所提出的模型中,并檢查性能變化。
如圖5所示,通常情況下,在選定的元路徑集合中,每條元路徑包含的用戶和項目屬性信息不同,通過合并更多的元路徑,增加模型的信息增益,進而提高系統性能(MAE和RMSE值越小,性能越高)。但是,Douban Movie數據集在納入{UMTMU}元路徑時性能略有波動,原因是某些元路徑可能包含噪聲或與現有路徑信息沖突。

圖5 逐漸合并元路徑時模型的性能變化Fig.5 Effect of merging meta-paths on algorithm performance
基于矩陣分解的推薦系統方法,潛在因子維度是要調整的重要參數,本文模型也包含這樣的參數。設置將其從5改變到50,以5為步長,并檢查性能如何隨潛在因子維度而變化。潛在因子維度在80%訓練集數據上對性能的影響如圖6所示,對于Douban Movie和Douban Book數據集而言,潛在因子維度為10會達到最佳性能,而Yelp數據集潛在因子維度為15會達到最佳性能。

圖6 潛在因子維度的性能變化Fig.6 Impact of latent factors’dimensions on recommendation performance
最后,本文研究迭代次數對于性能變化的影響。迭代次數在80%訓練集數據上對性能影響的結果圖7所示,MFFHINE模型的收斂速度較快,并且密集數據集(Douban Movie和Douban Book)大約需要30次迭代,而稀疏數據集(Yelp)只需要約15次迭代即可。

圖7 迭代次數的性能變化Fig.7 Impact of iterations of MFFHINE on recommendation performance
本文提出了一種在異質信息網絡中融合網絡嵌入的注意力偏好推薦新方法。通過選擇對稱元路徑進行網絡嵌入來有效刻畫對象間的語義關系,是對可解釋性缺失的一種有益補充;給出的偏好權重融合策略,可將基于不同元路徑所產生的用戶潛在的偏好特征融合到統一的框架中,是對稀疏不一致性問題的有效緩解。在大規模真實數據集上與各基準算法比較,實驗結果表明:MFFHINE算法能準確地預測不同類型物品的實際評分;同時,模型在訓練集比例、元路徑設置、潛在因子維度和迭代影響等方面的實驗結果也表明其有效性。
此外,現實存在的復雜問題如:網絡鏈路含有屬性值的加權異質信息網絡、元路徑選擇和受限等,給異質信息網絡建模與分析提出了更多的挑戰。未來的工作將進一步考慮擴展元路徑的語義抽取能力,及利用神經網絡圖模型等來構造異質網絡的表征學習方法來面向網絡復雜異構,探討如何深度融合結構信息與其他模態信息進行特征抽取。