王宏琳 楊 丹 聶鐵錚 寇 月
1(遼寧科技大學計算機與軟件工程學院 遼寧鞍山 114051) 2(東北大學計算機科學與工程學院 沈陽 110169)
網絡嵌入由于其自身良好的有效性和靈活性,不僅可以解決數據稀疏[1]等網絡數據存在的問題,在各種下游任務中也已經取得顯著的成果,如節點分類[2]、鏈路預測[3]、節點聚類[4]、網絡可視化[5]以及推薦[6].
基于網絡嵌入的推薦算法根據網絡中存在節點類型的數量與邊類型的數量分為基于同構信息網絡嵌入的推薦算法與基于異構信息網絡嵌入的推薦算法2種.針對同構信息網絡的網絡嵌入已經有許多經典的算法,如文獻[7-8];針對異構信息網絡的網絡嵌入也有許多經典的算法,如文獻[9-10]等.

Fig. 1 An example of attributed heterogeneous information network composed of users and products圖1 用戶與商品組成的屬性異構信息網絡示例圖
然而現實存在的網絡節點與邊不但分為多種類型,每個節點還擁有自己的屬性信息.比如在一個商品推薦網絡中,節點類型分為用戶和商品2種,用戶有年齡、性別等屬性信息,商品有種類、價格等屬性信息,用戶與商品之間的關系分為瀏覽、加入購物車和購買3種.用戶在選擇商品時考慮商品不同的屬性信息,這也意味著不同的屬性信息對推薦結果有不同程度的影響,用戶和商品之間不同類型的邊關系也意味著用戶對商品不同程度的偏好.但是現有的網絡嵌入方法更關注單一邊類型的網絡結構,不但忽略了網絡中的邊分為多種類型,還忽略了節點的屬性信息與節點的屬性信息對推薦結果的影響.
將擁有多種類型的節點與邊且節點擁有屬性信息的網絡稱為屬性異構信息網絡,如圖1所示的是一個由用戶與商品組成的屬性異構信息網絡.處理屬性異構信息網絡的嵌入方法為屬性異構信息網絡嵌入.在處理屬性異構信息網絡時會面臨一些特別的挑戰:
1) 豐富的屬性信息.屬性異構信息網絡中的每個節點都擁有自己豐富的屬性信息,而且用戶在選擇項目時會考慮項目不同的屬性信息,如何在考慮不同屬性信息對推薦結果影響的同時,學習屬性嵌入表示是屬性異構信息網絡嵌入面臨的一大挑戰.
2) 網絡異構性.現實網絡中的節點與節點之間的邊分為多種類型,不同類型的邊意味著用戶對商品不同程度的偏好,如何在學習每種邊類型對推薦結果影響的同時,為在每種邊關系情況下的節點學習統一的嵌入表示是一大挑戰.
3) 融合節點屬性嵌入與節點結構嵌入.在網絡嵌入中引入屬性信息解決推薦問題時,如何融合學習到的節點屬性嵌入與節點結構嵌入,學習節點統一低維的嵌入表示是一大挑戰.
除這3種屬性異構信息網絡嵌入所要面臨的挑戰外,在使用網絡嵌入解決推薦問題時,現有的網絡嵌入方法大多采用點積方法作為匹配函數計算匹配分數,然后根據匹配分數進行商品排序從而得到商品推薦列表.但是點積方法在解決推薦問題時表現力和求取低秩關系的能力較弱,降低了推薦性能.而基于匹配函數學習的推薦方法相比于學習節點表示更注重如何有效學習匹配函數,這就導致了學習節點表示能力的不足.
為了解決上述問題,本文提出一個自注意力機制的屬性異構信息網絡嵌入的商品推薦(attributed heterogeneous information network embedding with self-attention mechanism for product recommendation, AHNER)框架.該框架基于自注意力機制利用屬性異構信息網絡嵌入學習用戶嵌入表示與商品嵌入表示,并結合深度神經網絡(deep neural network, DNN)學習高效的匹配函數用于解決商品推薦問題.
AHNER在獲取節點豐富的屬性信息的同時,考慮到不同的屬性信息對推薦結果有不同程度的影響,AHNER引入自注意力機制學習每個屬性信息的權重,并為每個屬性信息學習統一低維的屬性嵌入表示.由于屬性異構信息網絡擁有多種類型的邊關系,所以在學習節點的結構嵌入時,AHNER在每種邊類型情況下為每個節點學習嵌入表示,然后引入自注意力機制學習每種邊類型之間的相互影響,并融合每種邊類型情況下的節點嵌入學習最后的節點結構嵌入.最后通過融合機制將學習到的屬性嵌入與結構嵌入融合成統一低維的嵌入表示,并將學習到的節點嵌入應用在基于DNN的匹配函數學習模型中,學習匹配分數解決推薦問題.
本文的主要工作概括為4個方面:
1) 強調屬性信息在學習節點嵌入時的重要性,引入屬性信息學習節點更有效的嵌入表示,并在學習節點屬性信息時,引入自注意力機制學習節點屬性的權重系數.
2) 詳細闡述屬性異構信息網絡嵌入的學習過程,考慮到不同類型的邊關系反映用戶對商品不同程度的偏好,引入自注意力機制學習每種邊關系的權重,并融合網絡結構信息與節點屬性信息學習更有效的、統一的、低維的用戶嵌入表示與商品嵌入表示.
3) 提出一個推薦框架AHNER用于解決商品推薦問題,并克服傳統點積方法在屬性異構信息網絡嵌入解決推薦問題時的局限性,提高推薦算法的性能.
4) 在3個公共數據集上進行大量的實驗,并完成Top-K推薦任務與鏈路預測任務.實驗結果表明,所提出的框架AHNER的性能優于其他方法的性能.
本文的相關工作主要包括基于網絡嵌入的推薦技術、基于屬性網絡嵌入的推薦技術、基于異構信息網絡嵌入的推薦技術與基于匹配函數學習的推薦技術這4方面.
現有的基于網絡嵌入的推薦技術大致分為基于矩陣分解的網絡嵌入推薦技術[11]、基于深度學習的網絡嵌入推薦技術、基于隨機游走的網絡嵌入推薦技術3種.早期針對基于矩陣分解的網絡嵌入推薦技術研究較多,但是由于對深度神經網絡持續的研究發現,深度神經網絡可以為網絡嵌入尋求一個有效的非線性函數學習模型,如文獻[12-14].與此同時,還發現深度神經網絡非常適合學習推薦問題中復雜的匹配函數,因為它們能夠逼近任何連續函數[15].例如,文獻[16]使用神經網絡學習匹配函數;文獻[17]采用表示學習和多層感知機(multilayer perceptron, MLP),從用戶和項目的輸入特征和分類特征中學習匹配函數.基于隨機游走的網絡嵌入推薦技術的思想是通過鄰域的嵌入表示學習推薦網絡中節點的嵌入表示,并利用節點的嵌入表示解決推薦問題.例如,word2vec[18]是一種通過鄰域詞的向量構建出中心詞的向量的網絡嵌入方法.專家發現可以利用word2vec根據用戶前后交互的內容推測用戶的興趣,并學習推薦系統中用戶、項目的嵌入表示,如文獻[19-20]就是使用word2vec的方法解決推薦問題.Deepwalk[7]通過游走策略隨機選擇游走路徑,并將隨機路徑看作一個句子,將節點看作一個詞學習節點的嵌入表示.node2vec[8]通過使用廣度優先(breadth-first search, BFS)和深度優先(depth-first search, DFS)遍歷探索不同的鄰居節點,從而進一步擴充了Deepwalk.LINE[21]是一種能夠處理大規模網絡的利用鄰域相似假設的嵌入方法.基于隨機游走的網絡嵌入推薦技術通過利用word2vec,Deepwalk等基于隨機游走的網絡嵌入方法解決推薦問題.
屬性網絡[22]除了網絡的結構信息外,還包括節點的屬性信息.屬性網絡嵌入會將節點的屬性信息作為另一種信息源將其映射到一個聯合的低維向量空間中學習節點的嵌入表示.MMDW[23]是一種利用節點標記信息的半監督網絡嵌入方法,它基于深度游走矩陣分解與支持向量機[24]結合節點的標簽信息學習節點表示.TADW[25]是一種基于深度游走矩陣分解結合網絡結構與文本信息學習節點嵌入表示的方法,但是它的計算成本高,節點屬性也只是簡單地合并為無序特征,失去了大量的語義信息.文獻[26]將文本內容視為一種特殊的節點,并構建一個增強網絡使用邏輯回歸(logistic)函數學習節點表示.文獻[27]基于光譜技術將標簽信息引入到屬性網絡嵌入中學習節點嵌入表示.文獻[28]提出一個可以融合結構信息與屬性信息的社交網絡通用框架.文獻[29]在使用鄰居增強自動編碼器建模節點屬性信息的同時使用跳字模型(skip-gram)匯集鄰居節點的特征來學習節點表示.文獻[30]利用文本信息學習網絡節點表示.
基于異構信息網絡嵌入的推薦技術將用戶不同類型的偏好集成到同一公共空間中學習節點統一低維的嵌入表示.例如,metapath2vec[9]通過圖上的采樣路徑自動利用鄰居結構.文獻[31]提出一個推薦系統,它通過獲取異構信息網絡中的用戶隱式偏好進行推薦.文獻[32]利用user,meta_path,item三元組將基于上下文的元路徑合并到交互模型中,并通過MLP對項目進行打分完成Top-K推薦任務.文獻[33]通過基于元路徑的交互矩陣和注意力機制來識別不同的語義信息并推薦.基于異構信息網絡嵌入的推薦技術在推薦效果、多樣性等性能都有優秀的表現,但是基于異構信息網絡嵌入的推薦技術也存在2點不足:1)忽略屬性信息與不同屬性信息對推薦結果的影響;2)較少考慮用戶與項目之間不同的交互行為對推薦結果的影響.
基于匹配函數學習的推薦技術更注重學習有效、準確的匹配函數來解決推薦問題.例如,NeuMF[16]利用神經網絡代替香草矩陣分解中使用的點積來學習匹配函數,還將矩陣分解與多層感知機結合在一個模型中解決推薦問題.文獻[34]是NeuMF的一個變體,它以用戶鄰居和項目鄰居作為輸入解決推薦問題.文獻[35]使用外部產品操作,以便能夠更好地學習推薦系統中用戶與項之間的相關性.文獻[36]使用基于神經網絡的分解機(factorization machines, FM)來避免人工特征工程,解決推薦問題.
基于屬性網絡嵌入的推薦技術大多局限在同構信息網絡中學習節點嵌入表示;基于異構信息網絡嵌入的推薦技術不僅忽略了節點豐富的屬性信息與不同屬性信息對推薦結果的不同影響,還忽略了節點之間不同類型的邊對推薦結果的影響.為了解決上述問題,本文使用基于自注意力機制的屬性異構信息網絡嵌入學習節點的嵌入表示,并為了克服點積方法在推薦問題中存在的局限性,將屬性異構信息網絡嵌入與DNN結合起來,提出一個通用的推薦框架,在引入節點屬性信息的同時學習異構信息網絡中節點的嵌入表示,并通過DNN學習高效的匹配函數解決推薦問題.
一個網絡通常定義為G=(V,E).其中,V表示節點的集合,且V={v1,v2,…,vn},n表示節點總數;E表示邊的集合.本文符號具體如表1所示:

Table 1 Symbols and Their Definitions表1 符號及其含義
定義1.異構信息網絡.一個異構信息網絡定義為G=(V,E,O,R).節點與邊分別關聯一個類型映射函數Φ:V→O與Ψ:E→R,其中O表示節點類型的集合,R表示邊類型的集合.如果一個網絡中的|O|+|R|>2,則此網絡為異構信息網絡,否則為同構信息網絡.



本節將詳細描述提出的推薦框架AHNER,框架結構如圖2所示.該框架主要包含2部分:1)基于商品推薦的屬性異構信息網絡嵌入;2)基于DNN的匹配函數學習模型.

Fig. 2 Overview of AHNER圖2 AHNER總體框架圖
3.1.1 商品推薦屬性異構信息網絡的構建
構建基于商品推薦的屬性異構信息網絡時,節點類型分為用戶與商品2種.AHNER使用用戶信息作為網絡中用戶節點的屬性信息,如性別、年齡等,使用商品信息作為網絡中商品節點的屬性信息,如種類、價格等;又從用戶的交互信息中得到節點間的邊關系,其中用戶與商品之間的邊關系分為3種,分別是瀏覽、加入購物車與購買.通過使用2組節點集合(即用戶和商品)和節點間不同的邊關系來連接節點,從而得到屬性異構信息網絡.
3.1.2 基于自注意力機制的屬性嵌入表示學習
在實際推薦問題中,網絡中的節點屬性信息是多種多樣的,不同的屬性信息對推薦結果產生不同程度的影響.比如,在用戶選擇商品時,除考慮商品本身的特征外,還要考慮商品的價格.在2個商品本身特征相似的情況下,大部分用戶會選擇優惠力度比較大或價格更便宜的那一個商品.為了建模不同屬性信息對推薦結果不同程度的影響,AHNER引入自注意力機制來學習每個屬性的權重系數,并學習統一的節點屬性嵌入.具體的基于自注意力機制的屬性嵌入結構如圖3所示:

Fig. 3 The architecture of attributed embedding based on self-attention mechanism圖3 基于自注意力機制的屬性嵌入結構圖
假設一個節點vi共有τ個屬性信息,使用word2vec方法將節點vi的每個屬性信息表示成初始的屬性向量,作為基于自注意力機制的屬性嵌入的輸入數據,具體表示為

(1)

1) 通過一層全連接層學習輸入數據的隱藏狀態H=(h1,h2,…,hτ),其中ht表示第t層隱藏層學習到的隱藏狀態.H的具體表示為
H=σ(WA(vi)+b),
(2)
其中,H是維度為d1×τ的矩陣,W與b是模型的參數,σ是激活函數.
2) 通過注意力打分函數和softmax函數為節點vi的每個屬性信息計算權重系數.在AHNER中采用加性注意力作為注意力打分函數[37].節點vi的每個屬性信息的權重系數表示為

(3)


(4)
3) 通過全連接層將節點vi的每個屬性信息的屬性嵌入連接到一起,并輸出到輸出層得到節點vi的所有屬性信息的屬性嵌入表示.
3.1.3 節點結構嵌入表示學習
ρ:V1→V2→…→Vt→…→Vl.
基于元路徑的隨機游走方法產生的游走流取決于預定義的元路徑,預定義的長度決定游走流的長度.在游走后,會得到每一種邊類型情況下的基于不同元路徑的節點序列.隨機游走的轉移概率表示為
(5)
其中,vi∈Vt,Ni,r表示節點vi在邊的類型為r的情況下的鄰居節點集合,Er表示邊類型為r的邊集合.


(6)
其中,aggregator表示聚合函數.
聚合函數有2種計算方法[38],分別是平均池化和最大池化,AHENR采用平均池化的方法進行計算,變換后的節點嵌入表示為

(7)
其中,σ表示激活函數,Wk表示權重矩陣.
每個邊嵌入的維度為z,邊類型的總數為m.連接不同邊類型下的節點vi的嵌入表示得到維度z×m的矩陣Mi:
Mi=(ei,1,ei,2,…,ei,m).
(8)
由于不同類型的邊反映用戶不同的偏好程度,所以引入自注意力機制捕捉不同邊類型之間的影響因素,學習每種邊類型下各個邊嵌入的權重系數αi,r:

(9)
其中,wr和Wr是模型訓練得到的參數.
最后節點vi的結構嵌入表示為

(10)
其中,δr是邊嵌入在整個節點嵌入中重要性的超參數,Hr是維度為z×d的可訓練的轉換矩陣,gi是節點vi的拓撲嵌入,拓撲嵌入是提取網絡中的基礎結構形成的嵌入表示,它會在每個邊嵌入中共享.
3.1.4 節點嵌入表示學習
AHNER采用融合節點結構嵌入與屬性嵌入的融合機制學習節點統一的低維嵌入表示,具體結構如圖4所示:

Fig. 4 The architecture of fusion mechanism圖4 融合機制結構圖
輸入層的輸入數據是節點的屬性嵌入表示a與節點的結構嵌入表示s,具體表示為

(11)
通過輸入層將數據送入隱藏層中,每個隱藏層表示為h(1),h(2),…,h(z),具體定義為
h(t)=θt(Wtht-1+bt),t=1,2,…,z,
(12)
其中,t代表隱藏層的層數,Wt與bt分別表示第t層的權重矩陣與偏置向量,θt表示第t層的激活函數.
經過z個隱藏層,輸出層得到最后的節點表示為

(13)
其中,Do是節點vi的特征轉換矩陣,o是節點的類型,βr是系數.節點vi的拓撲嵌入gi由節點的屬性嵌入通過融合機制學到的轉化函數fo進行計算.
3.1.5 屬性異構信息網絡嵌入優化
假設P=(v1,v2,…,vl)是在邊類型為r的情況下得到的長度為l的游走序列,其中(vt-1,vt)∈Er,t=2,3,…,l.
通過基于元路徑的隨機游走得到的節點vt的上下文節點集合定義為
C={vk|vk∈P,|k-1|≤c,t≠k},
(14)
其中,vk是游走序列P中的節點,c是上下文窗口的范圍.
給定一個節點和元路徑,可以得到在固定大小窗口中的基于共現概率的鄰居節點,則優化目標是最小化式(15):

(15)
其中,η表示所有可優化的參數,C表示上下文節點集合.
遵循metapath2vec采用異構softmax函數計算Pη(vj|vi),具體表示為
(16)
其中,xk表示節點vk的上下文嵌入表示.
為了高效優化,引入負采樣方法近似-logPη(vj|vi)并得到最終的目標函數表示為

(17)

為了克服傳統點積方法在網絡嵌入中求取低秩關系的局限性,AHNER提出基于DNN的匹配函數學習模型,用于學習高效的匹配函數,從而提升推薦性能,具體結構如圖5所示.

Fig. 5 The architecture of matching function learning model based on DNN圖5 基于DNN的匹配函數學習模型結構圖
輸入層的輸入數據是用戶與商品形成的交互矩陣和通過屬性異構信息網絡嵌入學習到的用戶嵌入表示與商品嵌入表示.基于DNN的匹配函數學習模型的輸入層定義為

(18)
其中,pu表示用戶u的嵌入表示,qp表示商品p的嵌入表示.
通過輸入層將數據送入隱藏層中,經過多個隱藏層學習匹配函數,每個隱藏層表示為h(1),h(2),…,h(z),具體定義為

(19)
其中,Wt和bt分別表示第t層感知器的權重矩陣與偏置向量,θt表示第t層的激活函數,隱藏層的激活函數采用ReLU函數.
最后學習到的匹配函數公式為

(20)
其中,σ是激活函數sigmoid,W表示權重矩陣.
本節首先介紹實驗數據集、對比方法和評價指標,然后根據實驗數據說明AHNER的性能.本節實驗是在Intel?Xeon?E5-2620 v4@2.10 GHz的硬件環境下,基于python3.6的Keras與TensorFlow實現.
AHNER在3個公開數據集Retailrocket,Amazon Product,YouTube上完成Top-K推薦任務與鏈路預測任務的性能評價.表2是3個實驗數據集的統計數據:

Table 2 Statistics of Datasets表2 數據集的統計信息
Retailrocket數據集是從一個真實的電子商務網站中收集的數據.其中:包含“用戶”“商品”2種節點類型;節點之間的邊類型分為“購買”“加入購物車”“瀏覽”3種;商品節點包括“種類”“價格”等屬性信息.
Amazon Product數據集提供Amazon的產品評論和元數據.由于Amazon的產品分為多種類別,每種類別的產品數量都很大,所以在實驗中只使用電子類產品的元數據.其中:節點類型只有“產品”1種;節點間的邊關系分為“共同瀏覽”“共同購買”2種;產品節點包括“價格”“銷售排行”“品牌”“種類”等屬性信息.
YouTube數據集的節點類型只有“用戶”1種;邊的類型分為“聯系人”“共享好友”“共享訂閱”“共享訂閱者”“用戶之間共享最喜歡的視頻”5種.
實驗針對AHNER中的屬性異構信息網絡嵌入和匹配函數學習模型選擇不同的對比方法.針對屬性異構信息網絡嵌入,本節選擇網絡嵌入的方法進行對比實驗.針對匹配函數學習模型,采用點積方法作為匹配函數進行對比實驗.
4.2.1 屬性異構信息網絡嵌入的對比實驗
選擇網絡嵌入對比方法時,考慮到網絡結構的不同,分別選擇基于同構信息網絡的嵌入方法與基于異構信息網絡的嵌入方法.針對同構信息網絡,選擇Deepwalk,node2vec,LINE作為對比方法.針對異構信息網絡,選用metapath2vec作為對比方法.除此之外,選擇AHNER方法的變形——AHNER-NS驗證AHNER基于自注意力機制學習屬性嵌入的必要性.下面逐一介紹各方法.
1) Deepwalk.在網絡圖上分離出不同邊種類的子圖,為每個子圖使用隨機游走和skip-gram分析節點結構關系并學習節點的向量表示.
2) node2vec.設計了一種二階隨機游走策略對鄰域節點進行采樣,在BFS和DFS之間平滑插入.在本節實驗中,參數p=2,參數q=0.5.
3) LINE.該方法是一種運用一階相似度與二階相似度學習節點嵌入表示的同構網絡嵌入方法.在本節實驗中,節點嵌入表示的維度設置為100.
4) metapath2vec.該方法能夠處理網絡中節點的異構性.但是當網絡節點只有一種時,方法會退化為Deepwalk.由于Amazon Product,YouTube數據集的節點類型都為1種,所以metapath2vec在這2個數據集中退化為Deepwalk.在Retailrocket數據集上,節點類型包括用戶U和項目I,元路徑在實驗中設置為U—I—U和I—U—I.
5) AHNER-NS.該方法是AHNER的一種變形.在對比實驗中使用該方法時,處理離散類型的屬性信息使用one-hot方法,處理連續型屬性信息使用word2vec方法.AHNER-NS與AHNER的主要區別是當AHNER-NS學習屬性嵌入時,不使用自注意力機制.
4.2.2 匹配函數學習的對比實驗
針對匹配函數學習的對比,使用AHNER-ND作為對比方法.
1) AHNER-ND.該方法是AHNER方法的一種變形,在實驗中使用傳統的點積作為匹配函數代替提出的基于DNN的匹配函數學習模型.通過該方法作為對比方法,可以根據實驗結果觀察到AHNER在為匹配函數學習做出改進的重要性.
2) AHNER.該方法是本文提出的商品推薦的方法.在實驗中為了公平性,使用與metapath2vec相同的元路徑方案U—I—U和I—U—I.節點嵌入維度d設置為200,邊嵌入維度z設置為10.每個節點的隨機游走次數設置為20,隨機游走的長度設置為10,窗口大小設置為5,用于生成節點上下文.每個訓練對的負樣本數設置為5,訓練skip-gram模型的迭代次數設置為100,epoch設置為50,每個邊類型下的系數δr和βr都設置為1.AHNER在TensorFlow中使用Adam優化器的默認設置,學習速率設置為0.001.
在實現對比方法時,對比方法中的參數設置與AHNER中的參數設置相同.
實驗通過完成Top-K推薦任務與鏈路預測任務來測試AHNER的性能.在完成Top-K推薦任務時,根據當前和以前會話中用戶已購買、加入購物車和瀏覽的商品來預測用戶在當前會話中下一個瀏覽的商品,并選取2個廣泛使用的命中率(hit ratio,HR)和歸一化折損累計增益(normalized discounted cumulative gain,NDCG)作為Top-K推薦任務的評價指標,并以10作為推薦列表的截至數量來評估提出推薦框架的推薦性能.HR評估測試集中的商品是否在所得推薦列表的前10個商品中,HR的值越高說明推薦性能越好;NDCG評估的是排名質量,NDCG的值越高說明推薦性能越好.在鏈路預測任務中,評價指標為常用的受試者工作特征曲線下的面積(area under curve,AUC),AUC的值越大說明預測效果越好.在本節中,隨機選取3次實驗的實驗數據,計算它們的平均數作為本節統計的實驗數據.
在實驗中,按照90%,7%,3%的比例隨機選擇訓練集、測試集與驗證集.在完成Top-K推薦任務時,為了更方便地觀察AHNER的性能,在實現Deepwalk,node2vec,LINE,metapath2vec,AHNER-NS時,將這5種方法學習到的嵌入表示輸入基于DNN的匹配函數學習模型中求出相應評價指標的值,在實現AHNER-ND時采用傳統的點積方法作為匹配函數得到推薦結果并計算相應的評價指標的值,具體實驗結果如表3所示:

Table 3 Results of Top-K Recommendation Experiments with Different Methods on Three Datasets表 3 3個數據集上不同方法的Top-K推薦任務實驗結果
實驗結果表明AHNER在很大程度上明顯優于其他方法.在完成鏈路預測任務時,各個對比方法采用點積作為匹配函數,具體實驗結果如表4所示.
從表4發現:
1) 異構信息網絡嵌入引入屬性信息會顯著提高推薦性能.通過表3與表4中的實驗結果可以發現,引入屬性信息會顯著提高網絡嵌入方法的性能,將更多的屬性信息納入推薦系統將提高總體的推薦性能;與其他只關注用戶與項目的方法相比,AHNER通過結合屬性信息更能捕獲節點間的相互關系,從而提升推薦性能.從表4中可以觀察到在鏈路預測問題上AHNER的性能也是優于其他對比方法的,這也體現出AHNER的適用性與普遍性.

Table 4 AUC of Link Prediction Experiments withDifferent Methods on Three Datasets
2) 使用基于自注意力機制的屬性嵌入表示學習能夠提高推薦性能.通過對比AHNER-NS與AHNER的實驗結果可以發現,AHNER通過自注意力機制學習帶有權重的屬性嵌入后,能捕獲更多屬性信息和節點之間的相互作用關系,提升了推薦系統的性能.數據集提供的屬性信息越多,提升性能的幅度越大,Retailrocket在這3個數據集中提供的屬性信息最多,所以提升的性能幅度更大,在HR@10上提升4.3%,在NDCG@10上提升2.9%.
3) 基于DNN的匹配函數學習模型比基于點積的方法更有優勢.通過對比AHNER-ND與AHNER的實驗結果可以發現,使用深度神經網絡作為匹配函數的方法比使用點積作為匹配函數的方法取得了更好的結果.這種性能增益是合理的,因為神經單元增加了模型的容量.結果表明,通過使用參數神經網絡替換傳統的點積方法作為匹配函數來解決推薦問題,能夠更好地在推薦系統中進行學習和交互建模,提升推薦性能.
4.4.1 冷啟動場景的實驗結果
為了研究AHNER在冷啟動場景中的性能,本節改變Retailrocket數據集中訓練集的比例,將用于實驗的訓練集比例從90%逐漸降低至20%,然后利用AHNER解決鏈路預測問題,具體實驗結果如表5所示:

Table 5 AUC of Cold Start on Retailrocket Dataset表5 Retailrocket數據集上冷啟動場景的AUC
通過分析實驗結果,在訓練集比例從90%逐漸降低至20%時,2個對比方法的AUC值分別下降4.6%與7.2%,但AHNER的性能僅下降1.7%~1.8%.這表明AHNER即使用戶與商品之間的交互稀疏,也能保持預測性能.
4.4.2 屬性權重可視化
本節在Amazon數據集中隨機選擇5個商品進行屬性權重系數可視化,結果如圖6所示:

Fig. 6The attribute weight coefficient of different products圖6 不同商品的屬性權重系數圖
圖6中所示的權重系數都是由基于自注意力機制的屬性嵌入表示學習出的商品屬性的權重系數,其中每一行記錄一個商品(由商品ID號表示)的權重系數.從實驗結果中可以觀察出:
1) 商品不同的屬性信息,權重系數也是不同的.這一現象與本文的猜想是一致的,即不同的屬性信息對最終嵌入表示的貢獻是不同的.
2) “價格”屬性的權重系數在每個商品的屬性信息中占比較大.這一發現與用戶在實際推薦系統中的消費行為相一致.除此之外,“品牌”屬性的權重系數也比較大,這種現象也反映出用戶的消費行為規律,即用戶傾向于購買同一品牌的商品,以方便降低價格或領取優惠.
3) 對于不同的商品,用戶傾向考慮的屬性信息也會不同.比如商品ID為14 704的商品,用戶除考慮商品本身的特征外,相比于“銷售排行”會更加考慮商品的品牌,所以“品牌”的權重占比會比較大.而在商品ID為92 007的商品中,用戶會相比于“品牌”屬性更多地考慮商品的“銷售排行”屬性.
4.4.3 參數分析
本節將討論AHNER的參數問題,主要涉及在進行屬性異構信息網絡嵌入學習時所采用的邊嵌入維度z.通過保持其他設置不變,改變邊嵌入維度z的值,觀察AHNER的性能變化,圖7給出了調整邊嵌入維度z時,AHNER在Retailrocket數據集上性能的表現.

Fig. 7 Parameter performance changes of AHNER on Retailrocket dataset圖7 Retailrocket數據集上AHNER參數性能變化圖
從圖7中可以觀察到,邊嵌入維度對AHNER的推薦性能影響較弱,當維度取值在10左右時AHNER的性能最好,當維度取值大于10時性能平緩下降,當維度取值小于10時性能平穩上升.
本文提出一個通用的基于自注意力機制的屬性異構信息網絡嵌入的商品推薦框架——AHNER,該框架通過基于自注意力機制的屬性異構信息網絡嵌入學習用戶與商品的嵌入表示并解決推薦問題.AHNER在學習嵌入表示時充分利用節點的屬性信息,學習不同屬性信息的權重系數,并學習節點的屬性嵌入表示.在學習節點的結構嵌入時,使用自注意力機制解決屬性異構信息網絡中多種邊類型的問題,并為其學習統一的節點嵌入表示.然后融合節點的屬性嵌入與節點的結構嵌入為節點學習整體統一的、低維的節點嵌入表示,并在推薦過程中克服點積作為匹配函數的局限性,利用DNN學習高效的匹配函數并解決推薦問題.AHNER在3個公開數據集上進行實驗,實驗結果證明AHNER比以前的方法取得了更好的性能.在未來的工作中:1)研究如何引入多模態的商品描述信息,如用戶對商品的評論、商品圖片、視頻等來豐富網絡中的節點屬性信息,從而提高推薦性能;2)研究如何引入知識圖譜來增強推薦系統的可解釋性.
作者貢獻聲明:王宏琳負責方法的設計與實現,以及論文的撰寫;楊丹負責確定研究思路和全文結構設計,并指導論文撰寫;聶鐵錚指導實驗方案的實現;寇月負責審閱和完善論文內容.