论文精读|Knowledge Graph Contrastive Learning for Recommendation
论文连接:Knowledge Graph Contrastive Learning for Recommendation
注:本文只供作者本人记录使用,若有不足之处欢迎指出
1 摘要
知识图谱已经成功应用于推荐系统领域,然而利用知识图谱进行推荐的方法任存在两个问题:
i)长尾分布的实体对于KG-enhanced 物品表征会产生稀疏的监督信号。
ii) 现实生活的知识图谱混杂着噪声,以及包含着物品与实体之间主题不相关的连接。
本文中作者设计了一个Knowledge Graph Contrastive Learning Framework(KGCL)来解决上述基于知识图谱增强方法中的问题。具体来说,作者设计了一个知识图增强的模式来抑制信息聚合的KG 噪声,以为item学习到更健壮性的知识感知表征。此外作者为了进一步抑制KG噪声,利用KG 增强过程中产生的额外的监督信号来引导跨视图对比学习范式,在梯度下降中赋予无偏的用户-项目交互更大的作用。
模型结构如图所示:
贡献:
- 这项工作引入了将知识图谱学习与用户-物品交互建模集成到一个联合自监督学习范式下的思想,旨在提高推荐系统的鲁棒性,并减轻数据噪声和稀疏性问题。
- 提出了通用的KGCL(知识图谱引导的拓扑去噪框架),它提供了具有知识感知对比目标的跨视图自区分监督信号。提供了理论分析,以证明综合学习目标所带来的好处。
2 模型方法
2.1 关系感知的知识聚合(Rational-aware Knowledge Aggregation)
2.1.1 Knowledge Aggregation with Relational Heterogeneity
此处作者受启发于图注意力机制,设计了一个关系感知的图嵌入层来反映知识图连接结构上的关系异质性。(这句话写的有些抽象,不知道是什么意思)。为了解决知识图谱手动设计路径生成的局限性,作者在其所提出KGCL结构中利用参数化注意力机制,将实体和关系依赖上下文映射到具体的表征空间。在
G
k
\mathcal G_k
Gk中物品和其有关联的实体之间,设计了信息传播机制,其过程描述如下:
x
i
=
x
i
+
∑
e
∈
N
i
α
(
e
,
r
e
,
i
,
i
)
x
e
α
(
e
,
r
e
,
i
,
i
)
=
e
x
p
(
L
e
a
k
y
R
e
L
u
(
r
e
,
i
T
W
[
x
e
∣
∣
x
i
]
)
)
∑
e
∈
N
i
e
x
p
(
L
e
a
k
y
R
e
L
u
(
r
e
,
i
T
W
[
x
e
∣
∣
x
i
]
)
)
\mathbf x_i = \mathbf x_i + \sum_{e \in \mathcal N_i}\alpha(e,r_{e,i},i) \mathbf x_e \\ \alpha (e,r_{e,i},i)=\frac{{\rm exp}\left(LeakyReLu\left(r^T_{e,i}W[\mathbf x_e || \mathbf x_i]\right)\right)}{\sum_{e \in N_i}{\rm exp}\left(LeakyReLu\left(r^T_{e,i}W[\mathbf x_e || \mathbf x_i]\right)\right)}
xi=xi+e∈Ni∑α(e,re,i,i)xeα(e,re,i,i)=∑e∈Niexp(LeakyReLu(re,iTW[xe∣∣xi]))exp(LeakyReLu(re,iTW[xe∣∣xi]))
N
i
N_i
Ni是item
i
i
i在知识图谱
G
k
\mathbf G_k
Gk中基于不同关系
r
(
e
,
i
)
r(e,i)
r(e,i)的领域实体。
x
i
∈
R
d
\mathbf x_i \in \mathbb R^d
xi∈Rd和
x
e
∈
R
d
\mathbf x_e \in \mathbb R^d
xe∈Rd分别表示物品的embedding 和 实体的embedding。
α
(
e
,
r
e
,
i
,
i
)
\alpha(e,r_{e,i},i)
α(e,re,i,i)表示知识聚合过程中估计的实体和关系特定的注意力相关性,具体来说
α
(
e
,
r
e
,
i
,
i
)
\alpha(e,r_{e,i},i)
α(e,re,i,i)编码物品
i
i
i和实体
e
e
e的不同的语义信息。W
∈
R
d
×
2
d
\in \mathbb R^{d\times2d}
∈Rd×2d是参数权重矩阵。
2.1.2 Semantic Representation Enhancement
此外,为了进一步增强实体-物品依赖关系的多关系语义表示空间,作者在关系感知和TransE之间交替训练,这种基于翻译的知识图谱嵌入的一般思想,是使头部和关系嵌入
x
h
\mathbf x_h
xh 和
x
r
\mathbf x_r
xr 的总和尽量接近尾部表征
x
t
\mathcal x_t
xt。其过程描述如下:
L
T
E
=
∑
(
h
,
r
,
t
,
t
′
)
∈
G
k
−
l
n
σ
(
f
d
(
x
h
,
x
r
,
x
t
′
)
−
f
d
(
x
h
,
x
r
,
x
t
)
\mathcal L_{TE}=\sum_{(h,r,t,t')\in\mathcal G_k} {\rm-ln}\sigma(f_d(\mathbf x_h,\mathbf x_r, \mathbf x_{t '}) - f_d(\mathbf x_h,\mathbf x_r, \mathbf x_{t})
LTE=(h,r,t,t′)∈Gk∑−lnσ(fd(xh,xr,xt′)−fd(xh,xr,xt)
其中
f
d
f_d
fd表示基于
L
1
L_1
L1范式的相似度度量函数,KaTeX parse error: Expected group after '^' at position 2: t^̲'是负样本
2.2 知识图谱增强(Knowledge Graph Augmentation)
2.2.1 知识图谱结构增强
本文核心就是引入辅助自监督信号,将知识图谱嵌入于对比学习范式相结合。在这个想法下作者设计了基于实体的自己区分方法,为对比学习生成知识图谱结构不同的视图。具体来说,作者使用随机方法在输入的知识图谱中生成两个相关的数据视图。然后,个体物品的知识图结构一致性被推导为反映了对知识噪声扰动的物品级不变性(有点抽象不好理解)。基于此,作者在知识图谱结构上设计了两种随机选择的数据增强方法
η
1
(
G
K
)
\eta_1(\mathcal G_K)
η1(GK)和
η
2
(
G
k
)
\eta_2(\mathcal G_k)
η2(Gk)。其方法描述为:
η
a
(
G
k
)
=
(
(
e
,
r
,
i
)
⊙
M
k
1
)
,
η
2
(
G
K
)
=
(
(
E
,
R
,
I
)
⊙
M
k
2
)
\eta_a(\mathcal G_k) = ((e,r,i)\odot {\mathbf M^1_{k}}), \eta_2(\mathcal G_K)= ((E,R,I)\odot \mathbf M^2_k)
ηa(Gk)=((e,r,i)⊙Mk1),η2(GK)=((E,R,I)⊙Mk2)
上式中(e,r,i)
∈
G
k
\in \mathcal G_k
∈Gk是物品和它们所依赖的实体之间的三元组。
M
k
1
\rm M^1_k
Mk1和
M
k
2
\rm M^2_k
Mk2以概率
p
k
p_k
pk生成的0,1矩阵,类似于mask matrix表示在采样时某个三元组是否被选择。上述增强方法类似于SGL中对用户物品图增强的方法。在作者所提出的这个知识图谱增强框中,其目标是识别出对结构变化不敏感,和对噪声实体连接容忍度更高的物品。这些物品在其特征方面是清晰的且有利于捕获与其有关联得用户偏好。
2.2 Agreement between Augmented Structural Views
通过上述
η
1
(
⋅
)
\eta_1(\cdot)
η1(⋅)和
η
2
(
⋅
)
\eta_2(\cdot)
η2(⋅),执行知识图谱增强的操作后,可以得到两个知识图谱独立的视图。探究受到对图一致性的研究启发,为了探索基于扩充视图的每个物品的一致性特性,定义了物品 𝑖 的知识图结构一致性
c
i
c_i
ci,其基于从不同视图编码的表示之间的一致性来计算:
c
i
=
s
(
f
k
(
x
,
.
η
1
(
G
k
)
)
,
f
k
(
x
i
,
η
2
(
G
K
)
)
)
c_i = s\big(f_k(x,.\eta_1(\mathcal G_k)),f_k(x_i,\eta_2(\mathcal G_K)))
ci=s(fk(x,.η1(Gk)),fk(xi,η2(GK)))
(不太明白这里一致性意义的在哪里)
上述公式找那个
f
k
f_k
fk表示关系感的知识聚合模式,用于生成对应于不同增强结构视图
η
1
(
G
k
)
\eta_1(\mathcal G_k)
η1(Gk)和
η
2
(
G
k
)
\eta_2 (\mathcal G_k)
η2(Gk)的物品嵌入
x
i
1
\mathbf x^1_i
xi1和
x
i
2
\mathbf x^2_i
xi2。
s
(
⋅
)
s(\cdot)
s(⋅)是余弦相似度函数用于衡量
x
i
1
\mathbf x^1_i
xi1和
x
i
2
\mathbf x^2_i
xi2的距离。
2.3 知识引导的对比学习(Knowledge-Guided Contrastive Learning)
作者将知识图谱扩充方案与图对比学习范式相结合,旨在提高基于图的协同过滤的表示能力,包括模型的准确性和鲁棒性。为了在学习用户偏好时有效地传递有用的物品外部知识,作者为 用户-物品交互设计了两个对比表示空间。在这种对比学习框架中,去噪的物品知识可以被用来引导用户和物品的表示,并缓解监督信号的稀疏性。
2.3.1 (交互图增强机制)Interaction Graph Augmentation Mechanism
不同于何向南组提出的SGL框架中,对用户-物品交互图的增强方法。作者认为纯dropout操作限制了其在保留对比学习中有用交互的效用。为了消除这种限制,作者利用估计的物品知识图谱结构一致性,来引导用户物品交互
G
u
=
{
V
,
ϵ
}
\mathcal G_u=\{\mathcal V, \mathcal \epsilon\}
Gu={V,ϵ}上的数据增强操作。作者设计的知识引导的图对比学习的基本原理是识别出用的交互信息,以更少的偏见信息来描述用户的偏好。具体来说,具有较高知识图结构一致性分数的物品将包含更少的噪声,并更多地有助于建模用户真正的兴趣。知识引导增强原理,将推导的物品特定的知识图结构一致性
c
i
c_i
ci 结合到我们对用户-物品交互图的操作中,具体如下公式所示:
w
u
,
i
=
e
x
p
(
c
i
)
;
p
u
,
i
′
=
m
a
x
(
w
u
,
i
−
w
m
i
n
w
m
a
x
−
w
m
i
n
,
p
τ
)
p
u
,
i
=
p
a
⋅
μ
p
′
⋅
p
u
,
i
′
\mathcal w_{u,i}={\rm exp}(c_i);p'_{u,i}=max\left(\frac{w_{u,i}-w^{min}}{w^{max}-w^{min}},p_{\tau}\right) \\ p_{u,i}=p_{a}\cdot\mu_{p'}\cdot p'_{u,i}
wu,i=exp(ci);pu,i′=max(wmax−wminwu,i−wmin,pτ)pu,i=pa⋅μp′⋅pu,i′
上述参数的详细信息请参考论文。总之这一步主要是在计算这个参数
p
u
,
i
p_{u,i}
pu,i, 代表了丢弃用户和物品之间交互边的估计概率。在计算出概率
p
u
,
i
p_{u,i}
pu,i后,便可以得到mask 矩阵
M
u
1
\mathbf M^1_u
Mu1、
M
u
2
\mathbf M^2_u
Mu2,其主要用于实现用户物品交互图中对边的随机dropout,上述两个mask 矩阵都是由伯努利分布产生。用户物品交互图增强操作如下:
φ
(
G
U
)
=
(
V
,
M
u
1
⊙
ε
)
,
φ
(
G
U
)
=
(
V
,
M
u
2
⊙
ε
)
\varphi (\mathcal G_{U}) = (\mathcal V,\mathbf M^1_{u}\odot\varepsilon),\varphi(\mathcal G_{U})=(\mathbf V, M^2_{u}\odot \varepsilon)
φ(GU)=(V,Mu1⊙ε),φ(GU)=(V,Mu2⊙ε)
2.3.2 知识感知的协同对比学习 (Knowledge-aware Co-Contrastive Learning)
通过上述操作得到了四个子图分别是
η
1
(
G
k
)
\eta_1(\mathcal G_k)
η1(Gk)、
η
2
(
G
k
)
\eta_2(G_k)
η2(Gk)
、
ϕ
1
(
G
u
)
\phi_1(\mathcal G_u)
ϕ1(Gu)、
ϕ
2
(
G
u
)
\phi_2(\mathcal G_u)
ϕ2(Gu)。接着利用基于图的协同过滤架构和关系感知的图聚合机制来分别编码用户、物品的表征。作者利用lightGCN中的消息传播策略编码用户物品交互,其过程描述如下:
x
u
l
+
1
=
∑
i
∈
N
u
x
i
(
l
)
∣
N
u
∣
∣
N
i
∣
;
x
i
(
l
+
1
)
=
∑
u
∈
N
i
x
(
l
)
u
∣
N
i
∣
∣
N
u
∣
\mathbf x^{l+1}_u=\sum_{i \in N_u}\frac{\mathbf x^{(l)}_i}{\sqrt{|N_{u}||N_i|}};\mathbf x^{(l+1)}_i=\sum_{u \in N_i}\frac{\mathbf x^(l)_u}{\sqrt{|N_i||N_u|}}
xul+1=i∈Nu∑∣Nu∣∣Ni∣xi(l);xi(l+1)=u∈Ni∑∣Ni∣∣Nu∣x(l)u
其中
x
(
l
)
u
\mathbf x^(l)_u
x(l)u和
x
(
l
)
i
\mathbf x^(l)_i
x(l)i分别表示用户
u
u
u和物品
i
i
i在第
l
l
l图propagation的编码表征。
N
u
N_u
Nu和
N
i
N_i
Ni分别表示用户
u
u
u交互的物品集,物品
i
i
i连接的用户。
到这里便可以得到KGCL模型的损失函数了,在这项工作中,作者也是使用joint training策略,其模型的整体损失函数描述如下:
L
=
L
b
+
λ
L
c
+
λ
2
∣
∣
Θ
∣
∣
2
2
\mathcal L = \mathcal L_b + \lambda \mathcal L_c + \lambda_2||\Theta||^2_2
L=Lb+λLc+λ2∣∣Θ∣∣22
其中
λ
2
\lambda_2
λ2是惩罚系数,
L
c
L_c
Lc是infoNCE,其具体的形式的描述如下:
L
c
=
∑
u
∈
V
−
l
o
g
e
x
p
(
s
(
x
n
1
,
x
n
2
)
/
τ
)
∑
n
′
∈
V
e
x
p
(
s
(
x
n
1
,
x
n
′
2
)
/
τ
)
\mathcal L_c=\sum_{u \in \mathcal V}-{\rm log}\frac{{\rm exp}(s(\mathbf x^1_n,x^2_n)/\tau)}{\sum_n' \in \mathcal V{\rm exp}(s(\mathbf x^1_n,x^2_{n'})/\tau)}
Lc=u∈V∑−log∑n′∈Vexp(s(xn1,xn′2)/τ)exp(s(xn1,xn2)/τ)
其中
τ
\tau
τ是温度系数,
s
(
⋅
)
s(\cdot)
s(⋅)是余弦相似度函数。而
L
b
L_b
Lb是经典的BPR函数,在这它是主要函数用于产生推荐结果,其形式如下:
L
b
=
∑
u
∈
U
∑
i
∈
N
u
∑
i
′
∉
N
u
−
l
o
g
σ
(
y
^
u
,
i
−
y
^
u
,
i
′
)
\mathcal L_b = \sum_{u \in U}\sum_{i \in \mathcal N_u}\sum_{i' \notin \mathcal N_u}-{\rm log}\sigma(\hat y_{u,i}-\hat y_{u,i'})
Lb=u∈U∑i∈Nu∑i′∈/Nu∑−logσ(y^u,i−y^u,i′)
3 实验结果(部分)
作者同多个baseline在三个数据集上进行了对比实验,同时还进行了消融实验、超参数实验等具体细节请参考原文。
利用文中代码对实验结果进行复现情况:
等更新
4 总结
本文针对利用知识图谱的推荐算法中,1)实体的长尾分布导致会知识增强的物品表示的监督信号稀疏;2)知识图谱中存在这噪声以及物品与实体主题不相关的连接;上述知识图谱的稀疏性和噪声使得物品-实体相关的关系偏离了反映它们真实特性的方向,显著放大了噪声效应,阻碍了对用户偏好的准确表示。设计了一种KGCL框架,主要是通过对知识图谱增强以缓解上述问题,同时设计了一种夸视图的增强方法,利用KG增强中产生监督信号,来引导用户物品图的增强。
将知识图谱增强引入了图的推荐方法中,作者并非将知识图谱增强与用户交互图增强进行简单地融合,而是设计了cross-view 的引导增强方法,利用知识图谱增强过程中产生的监督信号,来引导用户物品交互图的数据增强操作。
可能的创新点:
暂时没想到