概要
より適切なレコメンデーションを実現するには、ユーザーとアイテムのインタラクションをモデル化するだけでなく、関係情報も考慮する必要があります。
従来の方法の因数分解マシンは、各インタラクションを独立したインスタンスとして扱いますが、項目間の関係を無視します (例: ある映画の監督が別の映画の俳優でもある)
高次の関係: 2 つの項目を 1 つ以上のリンク属性で接続します。
KG+ユーザー項目グラフ+高次関係—>KGAT
隣接ノード (ユーザー、アイテム、属性など) のエンベディングを再帰的に伝播して自身のノードのエンベディングを更新し、アテンション メカニズムを使用して隣接ノードの重要性を区別します。
序章
u1u_1あなた1レコメンデーションが提供されるターゲット ユーザーです。黄色と灰色の円は、高次の関係を通じて発見されたものの、従来の方法では無視された重要なユーザーとアイテムを示します。
たとえば、ユーザーu 1 u_1あなた1映画を見ましたi 1 i_1私1、CF メソッドは、i 1 i_1の表示にも重点を置いています。私1u 4 u_4の類似ユーザーの履歴あなた4和 u 5 u_5 あなた5、教師あり学習はi 1 i_1との関係に焦点を当てます。私1同じ属性を持つe 1 e_1e1映画i 2 i_2私2明らかに、これら 2 種類の情報は推奨を補完するものですが、既存の教師あり学習では 2 つを統合できません。たとえば、ここではi 1 i_1私1和 i 2 i_2 私2r2r_2 _r2属性はすべてe 1 e_1ですe1、しかし、 r 3 r_3を渡すことができません。r3リーチi 3 i_3私3,i 4 i_4私4, これはそれらを独立した部分として扱い、データ内の上位関係を考慮できないためです。たとえば、黄色の円内のユーザーは同じ監督e 1 e_1を視聴していました。e1i 2 i_2のその他の動画私2、または灰色の円内の映画もe 1 e_1に関連していますe1他にも関係があります。これも推奨事項を作成するための重要な情報です。
u 1 ⟶ r 1 i 1 ⟶ − r 2 e 1 ⟶ r 2 i 2 ⟶ − r 1 { u 2 , u 3 } , u 1 ⟶ r 1 i 1 ⟶ − r 2 e 1 ⟶ r 3 { i 3 , i 4 } , \begin{array}{l} u_{1} \stackrel{r_{1}}{\longrightarrow} i_{1} \stackrel{-r_{2}}{\longrightarrow} e_{1} \ stackrel{r_{2}}{\longrightarrow} i_{2} \stackrel{-r_{1}}{\longrightarrow}\left\{u_{2}, u_{3}\right\}, \\ u_{ 1} \stackrel{r_{1}}{\longrightarrow} i_{1} \stackrel{-r_{2}}{\longrightarrow} e_{1} \stackrel{r_{3}}{\longrightarrow}\left\ {i_{3}、i_{4}\right\}、\end{配列}あなた1⟶r1私1⟶− r2e1⟶r2私2⟶− r1{
あなた2、あなた3}、あなた1⟶r1私1⟶− r2e1⟶r3{
私は3、私4}、
問題があります
この高度な情報を活用することは困難です。
1) ターゲット ユーザーとの高次の関係を持つノードの数は、次数が増加するにつれて急激に増加し、モデルに計算負荷がかかります。
2) 高次の関係は予測に不均等に寄与します。
この目的を達成するために、この論文では、近隣ノードのエンベディングに基づいてノードのエンベディングを更新し、このエンベディング伝播を再帰的に実行して線形時間計算量で高次の接続を捕捉するナレッジ グラフ アテンション ネットワーク (KGAT) モデルを提案します。さらに、伝播中に各近隣ノードの重みを学習するためにアテンション メカニズムが使用されます。
GNN->KGAT
1. 再帰的な埋め込みの伝播。ドメイン ノードの埋め込みを使用して現在のノードの埋め込みを更新します。
2. アテンション メカニズムを使用して、伝播中に各近傍の重みを学習します。
アドバンテージ:
1. パスベースの方法と比較して、パスの手動調整が不要になります。
2. ルールベースの方法と比較して、高次の関係を予測モデルに直接組み込む
3. モデルの枠組み
3.1 問題の定義
入力: 共同知識グラフG \数学 GG、G \数学 GGはユーザー項目データG 1 \mathcal G_1G1そして知識グラフG 2 \mathcal G_2G2構成
出力:ユーザーuuu点击 item i i i的概率 y ^ u i \hat y_{ui} y^あなたは私
高次の接続: 高品質のレコメンデーションを実行するには、高次の接続を活用することが重要です。私たちはLLしますL次接続 (LLL -order connectivtiy) は、マルチホップ関係パスとして定義されます:
e 0 ⟶ r 1 e 1 ⟶ r 2 . . . ⟶ r L e L e_0 \stackrel {r_1}{\longrightarrow} e_1 \stackrel {r_2}{ \longrightarrow } \ ... \ \stackrel{r_L}{\longrightarrow}e_L\\e0⟶r1e1⟶r2 ... ⟶rLeL
3.2 埋め込み層
この論文では、ナレッジ グラフの埋め込みに TransR モデルを使用しています。その主な考え方は、異なるエンティティは異なる関係の下で異なる意味を持つため、エンティティは特定の関係空間に投影される必要があるということです。と、とrrがあるr関係の場合、それらはrrr関係空間の式は近い必要があり、そうでない場合は遠くなければなりません。式の式は次のようになります。
ehr + er ≈ etr \mathbf e_h^r + \mathbf e_r \about \mathbf e_t^r \\ehr+er≈etr
ここで、 et ∈ R d \mathbf e_h, \mathbf e_t \in \mathbb R^deふ、eた∈Rd ,er ∈ R k \mathbf e_r \in \mathbb R^ker∈Rkはh、t、rh、t、rですh 、t 、rの埋め込み。
結果は次のとおりです:
g ( h , r , t ) = ∣ ∣ W reh + er − W ret ∣ ∣ 2 2 g(h,r,t)=||\mathbf W_r\mathbf e_h+\mathbf e_r-\mathbf W_r\mathbf e_t||_2^2\\g ( h ,r 、t )=∣∣ Wreふ+er−Wreた∣ ∣22
その中W r ∈ R k × d \mathbf W_r \in \mathbb R^{k\times d}Wr∈Rk × dは関係rrrの変換行列ddd次元立体空間のkkk次元の関係空間内で。g ( h , r , t ) g(h,r,t)g ( h ,r 、t )の値が低いほど、トリプレットが真である確率が高くなります。
最後に、ペアごとの順位付け損失を使用して効果を測定します。
LKG = ∑ ( h , r , t , t ' ) ∈ τ − ln σ ( g ( h , r , t ' ) − g ( h , r , t ) ) \ mathcal L_{KG} = \sum_{(h,r,t,t^{'})\in \tau} -ln \ \sigma(g(h,r,t^{'})-g(h, r 、t))\\LKG _=( h 、r 、t 、t' )∈τ∑− l n σ ( g ( h , r 、t) _−g ( h ,r 、) )
この式の意味は、ネガティブ サンプルの値からポジティブ サンプルの値を引いた値をできるだけ大きくすることです。負のサンプルの選択にはttを使用します。tはランダムに他のいずれかに置き換えられます。
3.3 伝播層の注意深い埋め込み
情報発信
エンティティhhを検討しますhの場合、 N h = { ( h , r , t ) ∣ ( h , r , t ) ∈ G } \mathcal N_h = \{ (h,r,t)|(h,r,t) \in \ を使用します。数学G\}Nふ={( h ,r 、t ) ∣ ( h ,r 、t )∈G } hhで終わるものhはヘッド エンティティのトリプレットです。hhを計算する自我ネットワーク:
e N h = ∑ ( h , r , t ) ∈ N h π ( h , r , t ) et \mathbf e_{\mathcal N_h} = \sum _ {(h,r,t) \in \mathcal N_h} \pi(h,r,t) \mathbf e_t\\eNふ=( h , r , t ) ∈ Nふ∑π ( h ,r 、ト)エた
π ( h , r , t ) \pi(h,r,t)π ( h ,r 、t )は、関係rrを意味します。ttからのrtからhhまでhの情報量。
知識 認識 注意
情報普及における重みπ ( h , r , t ) \pi(h,r,t)π ( h ,r 、t )は、アテンション メカニズム
π ( h , r , t ) = ( W ret ) T Tanh ( W reh + er ) \pi(h,r,t) = (\mathbf W_r \mathbf e_t)^Ttanh ( \mathbf W_r \mathbf e_h+\mathbf e_r)\\π ( h ,r 、t )=( Wreた)タン(W__reふ+er)
ここではタンタンを使います活性化関数として使用すると、関係空間内のeh \mathbf e_hを近づけることができます。eふ和と \mathbf e_teた注意スコアが高い。ソフトマックスの使用so f t ma x归一化:
π ( h , r , t ) = exp ( π ( h , r , t ) ) ∑ ( h , r ′ , t ′ ) ∈ N heexp ( π ( h , r ′ , t ' ) ) \pi(h,r,t)=\frac{exp(\pi(h,r,t))}{\sum_{(h,r^{'},t^{'}) \ \mathcal N_h} exp(\pi(h,r^{'},t^{'}))}\\π ( h ,r 、t )=∑( h 、r「、、」' )∈Nふe x p ( π ( h ,r「、」t) )e x p ( π ( h ,r 、) )
最後に、 π ( h , r , t ) \pi(h,r,t)により、π ( h ,r 、t )どの隣接ノードにもっと注意を払う必要があるかを知ることができます。
情報集約
最終的にはああなるだろう立体空間eh \mathbf e_hにおけるhの表現eふそしてその自我ネットワーク表現e N h \mathbf e_{\mathcal N_h}eNふhhとして集計されるh新しいもの:
eh ( 1 ) = f ( eh , e N h ) \mathbf e_h^{(1)} = f(\mathbf e_h,\mathbf e_{\mathcal N_h})\\eh( 1 )=f ( eふ、eNふ)
f ( ⋅ ) f (・)f ( ⋅)次の方法で:
- GCN アグリゲータ:
f GCN = Leaky Re LU ( W ( eh + e N h ) ) f_{GCN}=LeakyReLU(\mathbf W(\mathbf e_h+\mathbf e_{\mathcal N_h}))fGCN=リーキーレLU ( W ( e _ _ _ _ _ふ+eNふ)) - GraphSage アグリゲーター:
f Graph Sage = Leaky Re LU ( W ( eh ∣ ∣ e N h ) ) f_{GraphSage} = LeakyReLU( \mathbf W(\mathbf e_h || \mathbf e_{\mathcal N_h}); )fグラフセージ_ _ _ _ _ _ _=リーキーレLU ( W ( e _ _ _ _ _ふ∣∣ eNふ)) - Bi-Interaction Aggregator:
f B i − Interaction = Leaky Re LU ( W 1 ( eh + e N h ) ) + Leaky Re e LU ( W 2 ( eh ⊙ e N h ) ) f_{Bi-Interaction } = LeakyReLU(\mathbf W_1(\mathbf e_h+\mathbf e_{\mathcal N_h}))+LeakyReLU(\mathbf W_2(\mathbf e_h\odot\mathbf e_{\mathcal N_h}))fB i −インターアクション_ _ _ _ _ _ _ _=リーキーレルー( W ) _ _ _ _ _1( eふ+eNふ))+リーキーレルー( W ) _ _ _ _ _2( eふ⊙eNふ))
高次の伝播:
さらに、より多くの伝播層をスタックして、高次の接続情報を探索し、より高いホップの近隣から伝播される情報を収集することができます。l步中:
eh ( l ) = f ( eh ( l − 1 ) , e N h ( l − 1 ) ) \mathbf e_h^{(l)} = f( \mathbf e_h^{(l-1)} ,\mathbf e_{\mathcal N_h}^{(l-1)})\\eh( l )=f ( eh( l − 1 )、eNふ( l − 1 ))
N h ( l − 1 ) = ∑ ( h , r , t ) ∈ N h π ( h , r , t ) et ( l − 1 ) \mathbf e_{\mathcal N_h}^{(l-1) } とします。= \sum_{(h,r,t)\in\mathcalN_h}\pi(h,r,t)\mathbf e_t^{(l-1)};eNふ( l − 1 )=∑( h , r , t ) ∈ Nふπ ( h ,r 、ト)エt( l − 1 ), et ( l − 1 ) \mathbf e_t^{(l-1)}et( l − 1 )また、 et 0 \mathbf e_t^0から上記の手順を実行します。et0所有している。
3.4 予測層
LL実行中L層の後uuをu的多山运動:{ eu ( 1 ) , . 。。, eu ( L ) } \{\mathbf e_u^{(1)},...,\mathbf e_u^{(L)} \}{ eあなた( 1 )、... 、eあなた( L )}、および項目iiiの多山可以:{ ei ( 1 ) , . 。, ei ( L ) } \{\mathbf e_i^{(1)},...,\mathbf e_i^{(L)} \}{ e私( 1 )、.. 、e私( L )}
電影電影電影、すなわち:
eu ∗ = eu ( 0 ) ∣ ∣ 。。。∣ ∣ eu ( L )、ei ∗ = ei ( 0 ) ∣ ∣ 。。。∣ ∣ ei ( L ) \mathbf e_u^{*} = \mathbf e_u^{(0)} || ...||\mathbf e_u^{(L)} \ ,\ \mathbf e_i^{*} = \mathbf e_i^{(0)} || ...||\mathbf e_i^{(L)} \\eあなた∗=eあなた( 0 )∣∣...∣∣ eあなた( L ) 、 e私∗=e私( 0 )∣∣...∣∣ e私( L )
最後に、相関スコアは内積によって計算されます:
y ^ ( u , i ) = eu ∗ T ei ∗ \hat y(u,i) = {\mathbf e_u^*}^T \mathbf e_i^*\\y^(あなた、私)=eあなた∗それだけです私∗
3.5 損失関数
BPR 損失:
LCF = ∑ ( u , i , j ) ∈ O − ln σ ( y ^ ( u , i ) − y ^ ( u , j ) ) \mathcal L_{CF}=\sum_{( u,i, j) \in O} - ln \ \sigma(\hat y(u,i)-\hat y(u,j))\\LCF=( u 、i 、j ) ∈ O∑− l n σ ( y^(あなた、私)−y^(あなた、j ))
ただしO = { ( u , i , j ) ∣ ( u , i ) ∈ R + , ( u , j ) ∈ R − } O = \{(u,i,j)|(u,i) \in \ mathcal R^+, (u,j) \in \mathcal R^- \}○={(あなた、私、j ) ∣ ( u ,私)∈R+、(あなた、j )∈R− },R + \mathcal R^+R+正のサンプルR − \mathcal R^-R−は陰性サンプルを表します。
定義:
LKGAT = LKG + LCF + λ ∣ ∣ Θ ∣ ∣ 2 2 \mathcal L_{KGAT} = \mathcal L_{KG} + \mathcal L_{CF} + \lambda||\Theta||_2^2\\Lキログラム_ _ _=LKG _+LCF+λ ∣∣Θ∣ ∣22