当前位置:   article > 正文

KGIN 2021(WWW)Learning Intents behind Interactions with Knowledge Graph for Recommendation

kgin

背景

利用知识图谱的结构信息进行嵌入丰富物品表示

  • Collaborative Knowledge Base Embedding for Recommender Systems(2016)
  • Learning Heterogeneous Knowledge Base Embeddings for Explainable Recommendation(2019)
  • Unifying Knowledge Graph Learning and Recommendation: Towards a Better Understanding of User Preferences(2019)

利用用户物品之间的多跳路径来刻画用户物品之间的相关性

  • Leveraging meta-path based context for top-n recommendation with a neural co-attention model(2019)
  • Explainable Reasoning over Knowledge Graphs for Recommendation(2019)
  • Reinforcement Knowledge Graph Reasoning for Explainable Recommendation(2019)

通过GNN图神经网络,将邻居信息聚集到表示中,丰富用户物品信息

  • Knowledge-aware Graph Neural Networks with Label Smoothness Regularization for Recommender Systems(2019)
  • Knowledge Graph Convolutional Networks for Recommender Systems(2019)
  • Knowledge Graph Attention Network for Recommendation(2019)
  • : Collaborative Knowledge-aware Attentive Network for Recommender System(2019)

提出问题

  • 从更细致的角度看待用户对某一物品的喜爱,例如:一个用户喜欢一部电影,可能时因为喜欢它的导演,喜欢它的主演,喜欢它的类型等。即:用户意图:一个用户有多种意图,驱使用户购买不同的物品。在本论文中,作者假设和用户相关的意向有n个, p 1 , p 2 , ⋯   , p n p_1,p_2,\cdots,p_n p1,p2,,pn,这些意向是通过知识图谱中的关系的不同影响程度构成,比如,第一个意向只由关系 r 1 r_1 r1, r 2 r_2 r2决定。
  • 关系路径:现有的知识图谱主要通过node-based聚集邻居节点信息,通过一跳,二跳,三跳获取不同的路径,但是,这种方法并没有保留路径中的关系,没有充分利用关系中隐含的交互信息。
    • 没有区分路径来源:节点 u 1 u_1 u1 和两跳邻居 v 2 v_2 v2 u 1 ⟵ p 1 i 1 ⟵ r 2 v 2 u_{1} \stackrel{p_{1}}{\longleftarrow} i_{1} \stackrel{r_{2}}{\longleftarrow} v_{2} u1p1i1r2v2 u 1 ⟵ p 2 i 2 ⟵ r 2 v 2 u_{1} \stackrel{p_{2}}{\longleftarrow} i_{2} \stackrel{r_{2}}{\longleftarrow} v_{2} u1p2i2r2v2,基于节点的聚合器主要通过衰减因子来转换和重新缩放 v 2 v_2 v2的表示,没有考虑不同的通道。
    • 目前的node-based使用注意力网络调控邻居节点的贡献度,但是关系依赖性并没有被捕获 ( \left(\right. ( e.g., ( p 2 , r 2 , r 3 ) \left(p_{2}, r_{2}, r_{3}\right) (p2,r2,r3) in path u 1 ⟵ p 2 i 2 ⟵ r 2 v 2 ⟵ r 3 v 3 ) \left.u_{1} \stackrel{p_{2}}{\longleftarrow} i_{2} \stackrel{r_{2}}{\longleftarrow} v_{2} \stackrel{r_{3}}{\longleftarrow} v_{3}\right) u1p2i2r2v2r3v3)

主要贡献

  • 在基于KG的推荐中显示交互背后的用户意图,以提供更好的模型能力和可解释性。
  • 提出一个新的模型KGIN,该模型在GNN范式下以更精细的意图粒度和关系路径的远程语义考虑用户-项目关系。

模型输入

  1. 交互数据
    O + = { ( u , i ) ∣ u ∈ U , i ∈ I } O^{+}=\{(u, i) \mid u \in \mathcal{U}, i \in I\} O+={(u,i)uU,iI}
  2. 知识图谱
    该知识图谱包含物品的属性,分类,常识等异构信息。

基础架构

user intent modeling用户意图建模

利用多个潜在意图来描述用户与物品的关系,并将每个意图表述为KG中关系的组合,同时鼓励不同的意图相互独立,提供用户不同的影响力因子。

intent graph意向图

P \mathcal{P} P:用户共享的意向集合,我们可以假设用户共享的意向数量,本论文中是4个。
我们可以把用户物品交互信息 ( u , i ) (u, i) (u,i)转为 { ( u , p , i ) ∣ p ∈ P } \{(u, p, i) \mid p \in \mathcal{P}\} {(u,p,i)pP},从而建立意向图,从而以更细粒度的假设来探索用户物品之间的关系。

Representation Learning of Intents

假设一种意向是由多种关系构成,且不同的关系对意向的影响程度不同,因此采用注意力机制来形成对intent embedding。
e p = ∑ r ∈ R α ( r , p ) e r \mathbf{e}_{p}=\sum_{r \in \mathcal{R}} \alpha(r, p) \mathbf{e}_{r} ep=rRα(r,p)er
α ( r , p ) = exp ⁡ ( w r p ) ∑ r ′ ∈ R exp ⁡ ( w r ′ p ) \alpha(r, p)=\frac{\exp \left(w_{r p}\right)}{\sum_{r^{\prime} \in \mathcal{R}} \exp \left(w_{r^{\prime} p}\right)} α(r,p)=rRexp(wrp)exp(wrp)

Independence Modeling of Intents

不同的意图应包含有关用户偏好的不同信息。如果一个意图可以被其他意图推断出来,则描述用户与项目的关系可能是多余的,信息量也较小。 相反,具有独特信息的意图将提供一个有用的角度来表征用户的行为模式。 因此,为了获得更好的模型能力和可解释性,我们鼓励意图的表示彼此不同,可以使用统计方法例如互信息,皮尔逊相关,距离相关性来实现。

Mutual information

最小化两个不同的意向表示之间的互信息,损失函数为
L I N D = ∑ p ∈ P − log ⁡ exp ⁡ ( s ( e p , e p ) / τ ) ∑ p ′ ∈ P exp ⁡ ( s ( e p , e p ′ ) / τ ) \mathcal{L}_{\mathrm{IND}}=\sum_{p \in \mathcal{P}}-\log \frac{\exp \left(s\left(\mathbf{e}_{p}, \mathbf{e}_{p}\right) / \tau\right)}{\sum_{p^{\prime} \in \mathcal{P}} \exp \left(s\left(\mathbf{e}_{p}, \mathbf{e}_{p^{\prime}}\right) / \tau\right)} LIND=pPlogpPexp(s(ep,ep)/τ)exp(s(ep,ep)/τ)

Distance correlation

L I N D = ∑ p , p ′ ∈ P , p ≠ p ′ d Cor ⁡ ( e p , e p ′ ) \mathcal{L}_{\mathrm{IND}}=\sum_{p, p^{\prime} \in \mathcal{P}, p \neq p^{\prime}} d \operatorname{Cor}\left(\mathbf{e}_{p}, \mathbf{e}_{p^{\prime}}\right) LIND=p,pP,p=pdCor(ep,ep)
d Cor ⁡ ( e p , e p ′ ) = d Cov ⁡ ( e p , e p ′ ) d Var ⁡ ( e p ) ⋅ d Var ⁡ ( e p ′ ) d \operatorname{Cor}\left(\mathbf{e}_{p}, \mathbf{e}_{p^{\prime}}\right)=\frac{d \operatorname{Cov}\left(\mathbf{e}_{p}, \mathbf{e}_{p^{\prime}}\right)}{\sqrt{d \operatorname{Var}\left(\mathbf{e}_{p}\right) \cdot d \operatorname{Var}\left(\mathbf{e}_{p^{\prime}}\right)}} dCor(ep,ep)=dVar(ep)dVar(ep) dCov(ep,ep)

relational path-aware aggregation路径关系信息聚集

强调多跳路径中关系的依赖性,保路径中关系的语义信息。

Aggregation Layer over Intent Graph

利用IG意向图获取用户表示,依据协同过滤的思想,具有相似行为的用户具有相似的物品偏好,因为我们可以将用户历史物品信息作为原始现存特征,在IG中,是以更细粒度的用户意图体现的。对于用户u,我们另 N u = { ( p , i ) ∣ ( u , p , i ) ∈ C } \mathcal{N}_{u}=\{(p, i) \mid(u, p, i) \in C\} Nu={(p,i)(u,p,i)C}表示意图历史,因此,用户表示为
e u ( 1 ) = f I G ( { ( e u ( 0 ) , e p , e i ( 0 ) ) ∣ ( p , i ) ∈ N u } ) \mathbf{e}_{u}^{(1)}=f_{\mathrm{IG}}\left(\left\{\left(\mathbf{e}_{u}^{(0)}, \mathbf{e}_{p}, \mathbf{e}_{i}^{(0)}\right) \mid(p, i) \in \mathcal{N}_{u}\right\}\right) eu(1)=fIG({(eu(0),ep,ei(0))(p,i)Nu})
e u ( 1 ) ∈ R d \mathbf{e}_{u}^{(1)} \in \mathbb{R}^{d} eu(1)Rd是用户表示, f IG  ( ⋅ ) f_{\text {IG }}(\cdot) fIG ()是聚集函数,本文中采用如下
e u ( 1 ) = 1 ∣ N u ∣ ∑ ( p , i ) ∈ N u β ( u , p ) e p ⊙ e i ( 0 ) \mathbf{e}_{u}^{(1)}=\frac{1}{\left|\mathcal{N}_{u}\right|} \sum_{(p, i) \in \mathcal{N}_{u}} \beta(u, p) \mathbf{e}_{p} \odot \mathbf{e}_{i}^{(0)} eu(1)=Nu1(p,i)Nuβ(u,p)epei(0)
不同的意图对用户的影响力不同,因此利用注意力得分来表示不同意图的重要性
β ( u , p ) = exp ⁡ ( e p ⊤ e u ( 0 ) ) ∑ p ′ ∈ P exp ⁡ ( e p ′ ⊤ e u ( 0 ) ) \beta(u, p)=\frac{\exp \left(\mathbf{e}_{p}^{\top} \mathbf{e}_{u}^{(0)}\right)}{\sum_{p^{\prime} \in \mathcal{P}} \exp \left(\mathbf{e}_{p^{\prime}}^{\top} \mathbf{e}_{u}^{(0)}\right)} β(u,p)=pPexp(epeu(0))exp(epeu(0))

Aggregation Layer over Knowledge Graph

利用知识图谱获取物品表示,在知识图谱中,一个实体和其他多个实体相关联,这些实体可以反应物品对应实体的特征。对于物品i, N i = { ( r , v ) ∣ ( i , r , v ) ∈ G } \mathcal{N}_{i}=\{(r, v) \mid(i, r, v) \in \mathcal{G}\} Ni={(r,v)(i,r,v)G}表示物品i的属性或者第一链接实体集,然后将关系信息整合到实体中
e i ( 1 ) = f K G ( { ( e i ( 0 ) , e r , e v ( 0 ) ) ∣ ( r , v ) ∈ N i } ) \mathbf{e}_{i}^{(1)}=f_{\mathrm{KG}}\left(\left\{\left(\mathbf{e}_{i}^{(0)}, \mathbf{e}_{r}, \mathbf{e}_{v}^{(0)}\right) \mid(r, v) \in \mathcal{N}_{i}\right\}\right) ei(1)=fKG({(ei(0),er,ev(0))(r,v)Ni})
e i ( 1 ) = 1 ∣ N i ∣ ∑ ( r , v ) ∈ N i e r ⊙ e v ( 0 ) \mathbf{e}_{i}^{(1)}=\frac{1}{\left|\mathcal{N}_{i}\right|} \sum_{(r, v) \in \mathcal{N}_{i}} \mathbf{e}_{r} \odot \mathbf{e}_{v}^{(0)} ei(1)=Ni1(r,v)Nierev(0)

Capturing Relational Paths

在对一阶连通性建模后,我们进一步聚集深层邻居信息来得到有帮助的信息,我们递归的定义用户u和物品i 的表示
e u ( l ) = f I G ( { ( e u ( l − 1 ) , e p , e i ( l − 1 ) ) ∣ ( p , i ) ∈ N u } ) e i ( l ) = f K G ( { ( e i ( l − 1 ) , e r , e v ( l − 1 ) ) ∣ ( r , v ) ∈ N i } )

eu(l)=fIG({(eu(l1),ep,ei(l1))(p,i)Nu})ei(l)=fKG({(ei(l1),er,ev(l1))(r,v)Ni})
eu(l)=fIG({(eu(l1),ep,ei(l1))(p,i)Nu})ei(l)=fKG({(ei(l1),er,ev(l1))(r,v)Ni})
为了强调关系依赖性,令 s = i ⟶ r 1 s 1 ⟶ r 2 ⋯ s l − 1 ⟶ r l s l s=i \stackrel{r_{1}}{\longrightarrow} s_{1} \stackrel{r_{2}}{\longrightarrow} \cdots s_{l-1} \stackrel{r_{l}}{\longrightarrow} s_{l} s=ir1s1r2sl1rlsl,表示以物品i为根节点的 l l l跳路径,关系的序列为 ( r 1 , r 2 , ⋯   , r l ) \left(r_{1}, r_{2}, \cdots, r_{l}\right) (r1,r2,,rl),因此物品的表示可以为
e i ( l ) = ∑ s ∈ N i l e r 1 ∣ N s 1 ∣ ⊙ e r 2 ∣ N s 2 ∣ ⊙ ⋯ ⊙ e r l ∣ N s l ∣ ⊙ e s l ( 0 ) \mathbf{e}_{i}^{(l)}=\sum_{s \in \mathcal{N}_{i}^{l}} \frac{\mathbf{e}_{r_{1}}}{\left|\mathcal{N}_{s_{1}}\right|} \odot \frac{\mathbf{e}_{r_{2}}}{\left|\mathcal{N}_{s_{2}}\right|} \odot \cdots \odot \frac{\mathbf{e}_{r_{l}}}{\left|\mathcal{N}_{s_{l}}\right|} \odot \mathbf{e}_{s_{l}}^{(0)} ei(l)=sNilNs1er1Ns2er2Nslerlesl(0)

模型预测

经过l层后,获得了用户和物品的表示,可以得到最终的表示
e u ∗ = e u ( 0 ) + ⋯ + e u ( L ) , e i ∗ = e i ( 0 ) + ⋯ + e i ( L ) \mathbf{e}_{u}^{*}=\mathbf{e}_{u}^{(0)}+\cdots+\mathbf{e}_{u}^{(L)}, \quad \mathbf{e}_{i}^{*}=\mathbf{e}_{i}^{(0)}+\cdots+\mathbf{e}_{i}^{(L)} eu=eu(0)++eu(L),ei=ei(0)++ei(L)
然后使用内积获取用户对物品的评分 y ^ u i = e u ∗ ⊤ e i ∗ \hat{y}_{u i}=\mathbf{e}_{u}^{* \top} \mathbf{e}_{i}^{*} y^ui=euei

模型优化

采用BPR损失函数重构历史数据
L B P R = ∑ ( u , i , j ) ∈ O − ln ⁡ σ ( y ^ u i − y ^ u j ) \mathcal{L}_{\mathrm{BPR}}=\sum_{(u, i, j) \in O}-\ln \sigma\left(\hat{y}_{u i}-\hat{y}_{u j}\right) LBPR=(u,i,j)Olnσ(y^uiy^uj)
联合意向独立性损失和BPR损失,通过正则化,获取最终的代价函数为
L K G I N = L B P K + λ 1 L I N D + λ 2 ∥ Θ ∥ 2 2 \mathcal{L}_{\mathrm{KGIN}}=\mathcal{L}_{\mathrm{BPK}}+\lambda_{1} \mathcal{L}_{\mathrm{IND}}+\lambda_{2}\|\Theta\|_{2}^{2} LKGIN=LBPK+λ1LIND+λ2Θ22

数据集

  • Amazon-Book
  • Last-FM
  • Alibaba-iFashion

参考资料

论文笔记

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/374443
推荐阅读
相关标签
  

闽ICP备14008679号