当前位置: 代码迷 >> 综合 >> KGIN 2021(WWW)Learning Intents behind Interactions with Knowledge Graph for Recommendation
  详细解决方案

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

热度:97   发布时间:2023-12-18 06:52:39.0

背景

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

  • 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个,p1,p2,?,pnp_1,p_2,\cdots,p_np1?,p2?,?,pn?,这些意向是通过知识图谱中的关系的不同影响程度构成,比如,第一个意向只由关系r1r_1r1?,r2r_2r2?决定。
  • 关系路径:现有的知识图谱主要通过node-based聚集邻居节点信息,通过一跳,二跳,三跳获取不同的路径,但是,这种方法并没有保留路径中的关系,没有充分利用关系中隐含的交互信息。
    • 没有区分路径来源:节点u1u_1u1? 和两跳邻居v2v_2v2?u1?p1i1?r2v2u_{1} \stackrel{p_{1}}{\longleftarrow} i_{1} \stackrel{r_{2}}{\longleftarrow} v_{2}u1??p1??i1??r2??v2?u1?p2i2?r2v2u_{1} \stackrel{p_{2}}{\longleftarrow} i_{2} \stackrel{r_{2}}{\longleftarrow} v_{2}u1??p2??i2??r2??v2?,基于节点的聚合器主要通过衰减因子来转换和重新缩放v2v_2v2?的表示,没有考虑不同的通道。
    • 目前的node-based使用注意力网络调控邻居节点的贡献度,但是关系依赖性并没有被捕获(\left(\right.( e.g., (p2,r2,r3)\left(p_{2}, r_{2}, r_{3}\right)(p2?,r2?,r3?) in path u1?p2i2?r2v2?r3v3)\left.u_{1} \stackrel{p_{2}}{\longleftarrow} i_{2} \stackrel{r_{2}}{\longleftarrow} v_{2} \stackrel{r_{3}}{\longleftarrow} v_{3}\right)u1??p2??i2??r2??v2??r3??v3?)

主要贡献

  • 在基于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。
ep=∑r∈Rα(r,p)er\mathbf{e}_{p}=\sum_{r \in \mathcal{R}} \alpha(r, p) \mathbf{e}_{r} ep?=rR?α(r,p)er?
α(r,p)=exp?(wrp)∑r′∈Rexp?(wr′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)=rR?exp(wrp?)exp(wrp?)?

Independence Modeling of Intents

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

Mutual information

最小化两个不同的意向表示之间的互信息,损失函数为
LIND=∑p∈P?log?exp?(s(ep,ep)/τ)∑p′∈Pexp?(s(ep,ep′)/τ)\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?=pP??logpP?exp(s(ep?,ep?)/τ)exp(s(ep?,ep?)/τ)?

Distance correlation

LIND=∑p,p′∈P,p≠p′dCor?(ep,ep′)\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??=p?dCor(ep?,ep?)
dCor?(ep,ep′)=dCov?(ep,ep′)dVar?(ep)?dVar?(ep′)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,我们另Nu={(p,i)∣(u,p,i)∈C}\mathcal{N}_{u}=\{(p, i) \mid(u, p, i) \in C\}Nu?={ (p,i)(u,p,i)C}表示意图历史,因此,用户表示为
eu(1)=fIG({(eu(0),ep,ei(0))∣(p,i)∈Nu})\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?})
eu(1)∈Rd\mathbf{e}_{u}^{(1)} \in \mathbb{R}^{d}eu(1)?Rd是用户表示,fIG (?)f_{\text {IG }}(\cdot)fIG ?(?)是聚集函数,本文中采用如下
eu(1)=1∣Nu∣∑(p,i)∈Nuβ(u,p)ep⊙ei(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)?=Nu?1?(p,i)Nu??β(u,p)ep?ei(0)?
不同的意图对用户的影响力不同,因此利用注意力得分来表示不同意图的重要性
β(u,p)=exp?(ep?eu(0))∑p′∈Pexp?(ep′?eu(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)=pP?exp(ep??eu(0)?)exp(ep??eu(0)?)?

Aggregation Layer over Knowledge Graph

利用知识图谱获取物品表示,在知识图谱中,一个实体和其他多个实体相关联,这些实体可以反应物品对应实体的特征。对于物品i,Ni={(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的属性或者第一链接实体集,然后将关系信息整合到实体中
ei(1)=fKG({(ei(0),er,ev(0))∣(r,v)∈Ni})\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?})
ei(1)=1∣Ni∣∑(r,v)∈Nier⊙ev(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)?=Ni?1?(r,v)Ni??er?ev(0)?

Capturing Relational Paths

在对一阶连通性建模后,我们进一步聚集深层邻居信息来得到有帮助的信息,我们递归的定义用户u和物品i 的表示
eu(l)=fIG({(eu(l?1),ep,ei(l?1))∣(p,i)∈Nu})ei(l)=fKG({(ei(l?1),er,ev(l?1))∣(r,v)∈Ni})\begin{array}{l} \mathbf{e}_{u}^{(l)}=f_{\mathrm{IG}}\left(\left\{\left(\mathbf{e}_{u}^{(l-1)}, \mathbf{e}_{p}, \mathbf{e}_{i}^{(l-1)}\right) \mid(p, i) \in \mathcal{N}_{u}\right\}\right) \\ \mathbf{e}_{i}^{(l)}=f_{\mathrm{KG}}\left(\left\{\left(\mathbf{e}_{i}^{(l-1)}, \mathbf{e}_{r}, \mathbf{e}_{v}^{(l-1)}\right) \mid(r, v) \in \mathcal{N}_{i}\right\}\right) \end{array} eu(l)?=fIG?({ (eu(l?1)?,ep?,ei(l?1)?)(p,i)Nu?})ei(l)?=fKG?({ (ei(l?1)?,er?,ev(l?1)?)(r,v)Ni?})?
为了强调关系依赖性,令s=i?r1s1?r2?sl?1?rlsls=i \stackrel{r_{1}}{\longrightarrow} s_{1} \stackrel{r_{2}}{\longrightarrow} \cdots s_{l-1} \stackrel{r_{l}}{\longrightarrow} s_{l}s=i?r1??s1??r2???sl?1??rl??sl?,表示以物品i为根节点的lll跳路径,关系的序列为 (r1,r2,?,rl)\left(r_{1}, r_{2}, \cdots, r_{l}\right)(r1?,r2?,?,rl?),因此物品的表示可以为
ei(l)=∑s∈Niler1∣Ns1∣⊙er2∣Ns2∣⊙?⊙erl∣Nsl∣⊙esl(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)?=sNil??Ns1??er1???Ns2??er2????Nsl??erl???esl?(0)?

模型预测

经过l层后,获得了用户和物品的表示,可以得到最终的表示
eu?=eu(0)+?+eu(L),ei?=ei(0)+?+ei(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^ui=eu??ei?\hat{y}_{u i}=\mathbf{e}_{u}^{* \top} \mathbf{e}_{i}^{*} y^?ui?=eu???ei??

模型优化

采用BPR损失函数重构历史数据
LBPR=∑(u,i,j)∈O?ln?σ(y^ui?y^uj)\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)O??lnσ(y^?ui??y^?uj?)
联合意向独立性损失和BPR损失,通过正则化,获取最终的代价函数为
LKGIN=LBPK+λ1LIND+λ2∥Θ∥22\mathcal{L}_{\mathrm{KGIN}}=\mathcal{L}_{\mathrm{BPK}}+\lambda_{1} \mathcal{L}_{\mathrm{IND}}+\lambda_{2}\|\Theta\|_{2}^{2} LKGIN?=LBPK?+λ1?LIND?+λ2?Θ22?

数据集

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

参考资料

论文笔记