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