知识图谱论文阅读(十八)【KDD2019】AKUPM: Attention-Enhanced Knowledge-Aware User Preference Model for Recommend
論文題目: AKUPM: Attention-Enhanced Knowledge-Aware User Preference Model for Recommendation
論文代碼:
論文鏈接:
想法
- 什么叫折射到關系空間? (添加了一個關系矩陣,但是關系矩陣為啥要加?)
- 什么叫做自適應?
- 其中hvu,m0h_{v_{u,m}}^0hvu,m?0?表示和item vu,mv_{u,m}vu,m?連接的實體。如果為0,則表示是歷史點擊的初始items
創新
(1)提出了嶄新的基于自適應自注意力模型,同時是第一次將用戶和被包含的實體的交互分為兩種的;
(2)通過將實體映射到關系空間和利用自監督機制,intra(使用關系矩陣)和inter(自注意力模型,就是會考慮用戶交互過的item之間的關系)將會被描述。 這樣AKUPM能夠找到和每個用戶包含的實體最相關的。
摘要
難點:
KG的引入確實一定程度改變了冷啟動和稀疏問題,但是也包含了許多不相關的實體來表示user的嵌入。 很多論文并沒有意識到該問題。
我們:
探索這些實體之間的交互!從而根據交互區別對待生成相關特征。
首先: 我們將實體之間的交互分為了兩種:inter-entity-interaction和intra-entity-interaction。 Inter-entity-interaction是實體之間的交互,它影響實體代表用戶的重要性; intra-entity-interaction當涉及到不同的關系時,一個實體就會有不同的特征。 (如果還是有點抽象,可以看Introduction中的舉例)
考慮這兩種交互,我們提出了AKUPM模型來進行點擊率(CTR)預測,具體地說, Inter-entity-interaction,自注意力網絡會被用來通過學習每個實體與用戶之間適當的重要性來捕獲實體間的交互; 此外,intra-entity-interaction通過將每個實體映射到其連接的關系空間中來獲得該實體的特征,從而對實體內部的相互作用進行建模。
評價指標: AUC、ACC和Recall@top-K
1. Introduction
前人的缺點:
DKN(CNN)和RippleNet都利用KG來豐富在RS的users/items的表示。然鵝,圖中包含的實體本身與items/users之間的關系并沒有被研究,因此推薦結果可能會受到一些不相關的合并實體的影響。
以電影推薦為例,每個用戶都由KG中與之相連的實體決定,而它們之間的交互可以從兩方面定義:
1)Inter-entity-interaction: (出發點是別的實體對用戶的影響)由于實體之間的相互作用,一個實體包含在不同的實體集中時,其重要性會有很大的差異。比如上面的圖中,對于Bob來說,看的電影基本都來自USA,而對于Steph而言,來自各個國家,那么USA實體對Bob的影響要高于Steph。
2)Intra-entity-interaction:(出發點是自己,自己對不同電影的喜好)對于特定的用戶,實體在涉及不同的關系時可能會表現出不同的特征。比如上圖中,Alice喜歡City Lights 因為Charles Chaplin是該電影的導演,那么她可能喜歡Modern Time,因為Charles Chaplin是該不的主演。
整個模型架構是: 給定user-item pair,AKUPM的目的就是預測CTR(點擊率)。 首先初始化: 一個用戶的表示將會被和用戶點擊過的items所豐富。 而這些被點擊的items將會被初始化,然后沿著KG從近到遠的傳播。 這樣,就可以初始化user和其點擊的items。 其次再進行inter\intra-entity interaction! 我們的貢獻主要被總結如下:
(1)提出了嶄新的基于自適應自注意力模型,同時是第一次將用戶和被包含的實體的交互分為兩種的;
(2)通過將實體映射到關系空間和利用自監督機制,intra和inter將會被描述。 這樣AKUPM能夠找到和每個用戶包含的實體最相關的。
2 RELATED WORK
2.1 Knowledge Graph Embedding
自行看論文綜述! TransE、R等等! 本文使用TransR
2.2 Attention Mechanism
在本文中,我們提出使用注意機制來探討輸入item與被整合實體之間的關系。此外,引入自注意機制,通過給每個實體分配適當的權重,在關聯實體集合下生成被包含實體的表示
2.3 Knowledge-Aware Recommendation
也可以去看綜述! 包含了分開的,基于路徑的,基于兩種方法的!
3 PRELIMINARIES
常見的定義,user集合、item集、交互矩陣; 知識圖譜G、三元組、交互矩陣中實體和知識圖譜中實體的對應。
最終的目標就是CTR:
4 提出的方法
上圖顯示了AKUPM的整體框架,對于一個用戶而言,為了包含從一個KG中包含與他相關的豐富的實體從而探索他的興趣,一個基于用戶點擊歷史的特殊設計的實體傳播(4.1)將會被用于包含許多的實體。 接下來為了描述這些被包含的實體之間的intra-entity-interactions,我們建議將實體嵌入到關系空間中(4.2)。 為了對inter-entity-interactions進行建模(4.3),我們應用一個自注意網絡來獲得每一組實體的表示。這樣實體的表示更新完了,,我們提出應用一個注意網絡根據輸入item來表示user,通過聚合具有適當權重的實體表示。最后,根據輸入用戶和輸入項的潛在表示進行CTR預測。
4.1實體傳播
實體傳播的說明。所有灰色圓圈表示合并實體。不同藍環的實體屬于不同的對應實體集。
不是所有的實體都對用戶有用,所以為了過濾這些噪音,我們建議合并從用戶點擊歷史沿著知識圖的關系傳播的實體,這樣每個合并的實體都與用戶相關。
原始的實體傳播的定義為:
其中hvu,m0h_{v_{u,m}}^0hvu,m?0?表示和item vu,mv_{u,m}vu,m?連接的實體。如果為0,則表示是歷史點擊的初始items。 然后L0L^0L0中的實體可以伴隨著relation來迭代的傳播,這樣可以達到更多聯系的實體。 然后我們定義實體的kthk^{th}kth集合如下:
4.2 Entity Representation(intra-entity-interactions)
我們首先應用TransR初始化實體。對于每個三元組(h,r,t)∈G(h,r,t)\in \mathcal{G}(h,r,t)∈G中的h、r和t都被初始化為d維度向量。 對于每個關系r,我們設置一個投影矩陣R∈Rd×d\mathrm {R}\in \mathbb{R}^{d \times d}R∈Rd×d,它將實體從實體空間映射到對應的關系空間(是一個要學習的矩陣,是一個參數),如下所示:
上面將頭和尾都轉化為關系空間。
而對于初始的items(用戶點擊的items),,是沒有關系被嵌入的(這里看出是傳入的關系,而不是傳出的關系)。 所以這個實體只是它本身的嵌入:
除此之外,輸入item v的表示v\mathrm{v}v是不投影到關系空間的:
綜上:除了用戶歷史點擊的原始items和輸入item之外,其它都需要經過關系矩陣
4.3 Attention-based User Representation
常用方法:
對于H+1實體的集合Luk(k=0,1,...,H)L_u^k(k=0,1,...,H)Luk?(k=0,1,...,H),一個常用的方式來生成用戶的表示u\mathrm{u}u就是充分利用這些實體集合的表示,也就是
上面的e\mathrm{e}e是我們添加了intra-entity(乘關系矩陣后的)的實體表示!!
而 Luk(k=0,1,...,H)L_u^k(k=0,1,...,H)Luk?(k=0,1,...,H)是所有的鄰居哦!
所以上面的式子就是把所有的和u相關的都聚在一起求平均! 這是沒有考慮inter-entity的!
作者的方法: (分成兩組,每組一個聚合)
然而,這種方法忽略了第1節中討論的inter-entity-interactions。
首先,我們對每組LukL_u^kLuk?應用一個自注意力層來學習一個潛在的表示auka_u^kauk?,捕獲其實體之間的交互后來更新它;其次,得到auk(k=0,1,...,H)a_u^k(k=0,1,...,H)auk?(k=0,1,...,H)后,不管這個輸入item vvv,我們需要添加一個注意力network來計算每個auk(k=0,1,...,H)a_u^k(k=0,1,...,H)auk?(k=0,1,...,H)的重要性。而這表示了用戶對不同輸入item的不同興趣(因為這里的每一層鄰居從外到內聚合的話,基本每個item代表了一種風格!)。
自注意力
首先什么是attention mechanism和self attention? 注意力機制可以描述為將query和一組key-value pairs映射到輸出。輸出是values的加權和計算得來的,其中分配給每個value的權重是通過查詢和相應key的兼容性函數(兼容性分數,可以為內積計算的)。 在自監督中,the query, key and value 都是一樣的。
(這里的兼容性函數其實就是查詢集和key的點擊,查看兩個的相似度)
在我們中,我們采用了一個scaled dot-product 注意力。 整個的為auka_u^kauk?的計算過程在下圖展示。
其中,對于每個LukL_u^kLuk?,查詢集QukQ_u^kQuk?、鍵值KukK_u^kKuk?和值VukV_u^kVuk?都是從eu,mke_{u,m}^keu,mk?得到的!
其中N是鄰居實體的數量,而且是一個超參數。 如果∣Luk∣≥N\left | L_u^k \right | \ge N∣∣?Luk?∣∣?≥N,那么就該隨機從中選N個;相反,則需要全部設置為Null(也就是zero vectors)。
兼容性函數查詢集QukQ_u^kQuk?和鍵值KukK_u^kKuk?之間的被這樣計算:
最終對每個auka_u^kauk?上應用softmax函數:
d\sqrtze8trgl8bvbqd?用于縮放兼容性矩陣(兼容性分數),以避免式子10中的點積變得過大。 最后softmax 函數最終計算每列eu,mk∈Vk(m=1,...,N)e_{u,m}^k \in V^k(m=1, ...,N)eu,mk?∈Vk(m=1,...,N)的權重,
注意這里我們在softmax之前,會進行masking操作(也就是CukC_u^kCuk?的對角線都設置為0),這樣可以避免兼容性分數太大。
注意力機制
在根據式子11得到權重總和后,我們獲得了潛在表示auk∈Rd,(k=0,...,H)a_u^k \in \mathbb{R}^d,(k=0,...,H)auk?∈Rd,(k=0,...,H)。 和auka_u^kauk?是由eu,mke_{u,m}^keu,mk?的權重總和得到一樣,u\mathrm{u}u也是由auka_u^kauk?的權重總和得到的。
和上面一樣,查詢集QukQ_u^kQuk?、鍵值KukK_u^kKuk?和值VukV_u^kVuk?被這樣定義:
這樣u和式子11一樣,被這樣計算:
這里,我們不會使用masking,因此查詢集和key集合不相同。
最后,根據用戶的表示量和項目的表示量v,計算出預測的CTR
5 LEARNING ALGORITHM
給定user-item的交互矩陣YYY和知識圖譜G\mathcal{G}G, 目的是學習AKUPM的最優參數
假定Θ\ThetaΘ表明AKUPM中所有的參數,這里包含了h、t、r的嵌入,前面說的關系映射矩陣(映射空間)R\mathrm{R}R,自注意力網絡的參數β1\beta_1β1?和注意力網絡的參數β2\beta_2β2?,在觀察了G\mathcal{G}G和YYY后,我們希望最大化參數Θ\ThetaΘ的后驗概率:
這個等價于最大化下面的:
下一節講解評估知識圖譜和隱式反饋的優化細節
5.1 Likelihood of Observed Knowledge Graph and Implicit Feedback
對于三元組(h,r,t)∈G(h,r,t)\in \mathcal{G}(h,r,t)∈G,我們根據下面的工作,并定義分數函數:
上面的都放到了關系空間中!
我們會隨機地取消tail實體,從而組成新的知識圖譜 (h,r,t′)?G(h, r, t') \notin \mathcal{G}(h,r,t′)∈/?G,然后創建新的知識圖譜G′\mathcal{G}'G′,這樣一個四元組 (h,r,t,t′)∈G′(h, r, t, t') \in \mathcal{G}'(h,r,t,t′)∈G′,并且計算它的似然估計,
因此,觀察到的知識圖的似概率可以描述為:
對于每個屬于矩陣YYY里的條目yuvy_{uv}yuv?,概率可以定義為伯努利分布的乘積:
其中y^uv\hat{y}_{uv}y^?uv?是式子15的輸入對(u,v)(u, v)(u,v)的CTR預測
5.2 Loss Function
將式子20和式子21放到式子16:
對Eq. 22取負對數并加入正則項后,我們得到AKUPM的損失函數如下:
為了最小化Eq. 23中的目標,我們使用了一個批處理梯度下降算法,通過整個觀測到的訓練集YYY和G′\mathcal{G}'G′,并使用損失函數的相應梯度更新每個參數
6 EXPERIMENTS
數據集: MovieLens-1M 和 Book-Crossing
因為AKUPM是基于隱式反饋的,所以我們會設置閾值將現有數據集從顯示反饋轉化為隱式反饋。 具體的就是將他/她所有不低于閾值的評分轉換為積極的隱式反饋,也將相同數量的未打分的電影設置為消極的。
對比的模型: CKE、DKN、RippleNet、LibFM和DeepWide;
(2)所有模型在Book-Crossing數據集上的表現都不如在MovieLens-1M數據集上的表現。主要原因是Book-Crossing數據集的每用戶平均正反饋(3.91)遠小于MovieLens-1M數據集(62.44)。因此,在Book-Crossing數據集上沒有足夠的信息來讓模型了解用戶的興趣
(3)與其他相比,DKN表現最差。原因可能是,電影或書籍的標題比新聞短得多,使得單詞級嵌入和實體級嵌入包含的信息不足,無法提出建議。
(4)CKE在我們的實驗中表現很差。原因可能有兩個:文本描述和可視圖像在我們的數據集中不可用;AKUPM和RippleNet包含了許多可能與輸入項相關的實體,而CKE只使用與輸入項直接相關的一個實體進行推薦。
(5)嵌入是有用的
(6)RippleNet在所有基線中幾乎達到了最佳性能。AKUPM和RippleNet在合并實體以表示用戶的層次偏好方面是相似的。然而,RippleNet沒有探索用戶和合并實體之間的關系,因此結果可能會受到不相關實體的很大影響。
下面是消融實驗:
總結
以上是生活随笔為你收集整理的知识图谱论文阅读(十八)【KDD2019】AKUPM: Attention-Enhanced Knowledge-Aware User Preference Model for Recommend的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: matlab记录路径,matlab对文件
- 下一篇: 小程序 webview 分享_新的一周,