文章目录
论文概况
本文是2023年sigir的一篇知识图谱会话推荐论文,利用知识图谱取代传统的全局图,并设计三种视图辅助推荐。
Introduction
作者认为当前会话推荐模型存在以下缺陷:(1)当前模型使用全局图来构建跨会话关系,但全局图中的邻接边基本都在局部图中出现,导致信息冗余,全局图没有挖掘到真正的跨会话信息。(2)当前模型仅分析项目上下文关系,忽略了 同一会话中的项目通常具有特征共性。
针对上述问题,作者提出KMVG模型:(1)利用知识图谱提取全局项目-项目关系,可以有效地缓解数据稀疏性和冗余挖掘问题(2) 我们提取序列模式和特征模式,以细粒度的方式表示局部项目-项目关系。
Method
A.Multi-View Graph Models
Knowledge-View Graph:利用知识图谱构建三元组(h,r,t),每个(h,r,t)意味着从h到t存在关系r
Session-View Graph: 会话视图中存在四种类型的边
r
i
n
,
r
o
u
t
,
r
i
n
−
o
u
t
,
r
s
e
l
f
.
r_{in},r_{out},r_{in-out},r_{self}.
rin,rout,rin−out,rself.在会话中相邻的物品在图中也邻接。
Pairwise-View Graph: 由一个会话中所有物品组成的全连接图。
B.Knowledge-View Representation Learning
模型利用Knowledge-View Representation Learning层进行全局信息的捕获。
利用知识图谱图注意力卷积,让t的信息通过各种关系r进行传播,增强实体h的语义
e
N
h
=
∑
(
h
,
r
,
t
)
∈
N
h
ζ
(
h
,
r
,
t
)
⋅
e
t
,
(1)
\mathbf{e}_{N_{h}}=\sum_{(h,r,t)\in\mathcal{N}_{h}}\zeta(h,r,t)\cdot\mathbf{e}_{t},\tag{1}
eNh=(h,r,t)∈Nh∑ζ(h,r,t)⋅et,(1)
其中,注意力
ζ
(
h
,
r
,
t
)
\zeta(h,r,t)
ζ(h,r,t)决定从t中传播多少信息到h,
ζ
(
h
,
r
,
t
)
\zeta(h,r,t)
ζ(h,r,t)计算如下:
ζ
(
h
,
r
,
t
)
=
e
x
p
(
s
(
h
,
r
,
t
)
)
∑
(
h
,
r
′
,
t
′
)
∈
N
h
e
x
p
(
s
(
h
,
r
′
,
t
′
)
)
,
s
(
h
,
r
,
t
)
=
(
W
r
e
t
)
⊤
t
a
n
h
(
W
r
e
h
+
e
r
)
,
(2)
\begin{aligned}\zeta(h,r,t)&=\frac{exp(s(h,r,t))}{\sum_{(h,r',t')\in\mathcal{N}_h}exp(s(h,r',t'))},\\s(h,r,t)&=(\mathbf{W}_r\mathbf{e}_t)^\top tanh(\mathbf{W}_r\mathbf{e}_h+\mathbf{e}_r),\end{aligned}\tag{2}
ζ(h,r,t)s(h,r,t)=∑(h,r′,t′)∈Nhexp(s(h,r′,t′))exp(s(h,r,t)),=(Wret)⊤tanh(Wreh+er),(2)
其中
e
r
\mathbf{e}_r
er是可训练参数。
我们将
e
N
h
\mathbf{e}_{N_{h}}
eNh与输入embedding结合,得到物品h在该层的特征表示
e
h
(
1
)
=
f
1
(
e
h
,
e
N
h
)
=
σ
(
W
1
(
e
h
⊕
e
N
h
)
)
,
(3)
\mathbf{e}_{h}^{(1)}=f_{1}(\mathbf{e}_{h},\mathbf{e}_{N_{h}})=\sigma(\mathbf{W}_{1}(\mathbf{e}_{h}\oplus\mathbf{e}_{N_{h}})),\tag{3}
eh(1)=f1(eh,eNh)=σ(W1(eh⊕eNh)),(3)
形式上,在第l层物品h的特征表示为:
e
h
(
l
)
=
f
1
(
e
h
(
l
−
1
)
,
e
N
h
(
l
−
1
)
)
.
(4)
\mathbf{e}_{h}^{(l)}=f_{1}(\mathbf{e}_{h}^{(l-1)},\mathbf{e}_{N_{h}}^{(l-1)}).\tag{4}
eh(l)=f1(eh(l−1),eNh(l−1)).(4)
C.Session-View Representation Learning
模型利用Session-View Representation Learning层进行会话内上下文关系的捕获。
在会话图上进行图注意力卷积
e
v
i
s
s
=
∑
(
v
i
s
,
r
i
j
,
v
j
s
)
∈
N
v
i
s
ξ
(
v
i
s
,
r
i
j
,
v
j
s
)
⋅
e
v
j
s
,
(5)
\mathbf{e}_{v_{i}^{s}}^{s}=\sum_{(v_{i}^{s},r_{ij},v_{j}^{s})\in\mathcal{N}_{v_{i}^{s}}}\xi(v_{i}^{s},r_{ij},v_{j}^{s})\cdot\mathbf{e}_{v_{j}^{s}},\tag{5}
eviss=(vis,rij,vjs)∈Nvis∑ξ(vis,rij,vjs)⋅evjs,(5)
其中
ξ
(
v
i
s
,
r
i
j
,
v
j
s
)
\xi(v_{i}^{s},r_{ij},v_{j}^{s})
ξ(vis,rij,vjs)计算如下:
ξ
(
v
i
s
,
r
i
j
,
v
j
s
)
=
e
x
p
(
a
r
i
j
⊤
σ
(
e
v
i
s
⊗
e
v
j
s
)
)
∑
(
v
i
s
,
r
i
j
,
v
k
s
)
∈
N
v
i
s
exp
(
a
r
i
j
T
σ
(
e
v
i
s
⊗
e
v
k
s
)
)
,
(6)
\xi(v_i^s,r_{ij},v_j^s)=\frac{exp(\mathbf{a}_{r_{ij}}^{\top}\sigma(\mathbf{e}_{v_i^s}\otimes\mathbf{e}_{v_j^s}))}{\sum_{(v_i^s,r_{ij},v_k^s)\in\mathcal{N}_{v_i^s}}\exp(\mathbf{a}_{r_{ij}}^{\mathsf{T}}\sigma(\mathbf{e}_{v_i^s}\otimes\mathbf{e}_{v_k^s}))},\tag{6}
ξ(vis,rij,vjs)=∑(vis,rij,vks)∈Nvisexp(arijTσ(evis⊗evks))exp(arij⊤σ(evis⊗evjs)),(6)
其中,
a
r
i
j
\mathbf{a}_{r_{ij}}
arij代表不同类型边的权重。
我们分别将物品的初始表征和物品用知识图谱卷积得到的表征作为(5)(6)的输入,最终得到
e
v
i
s
s
i
,
e
v
i
s
s
k
\mathbf{e}_{v_i^s}^{si},\mathbf{e}_{v_i^s}^{sk}
evissi,evissk,分别蕴含上下文信息、全局语义信息。
我们将携带两种信息的表征相结合,再引入位置向量,强调会话中物品位置的重要性区别。
e
v
i
s
s
v
=
f
2
(
e
v
i
s
s
i
,
e
v
i
s
s
k
)
,
(7)
\mathbf{e}_{v_i^s}^{sv}=f_2(\mathbf{e}_{v_i^s}^{si},\mathbf{e}_{v_i^s}^{sk}),\tag{7}
evissv=f2(evissi,evissk),(7)
h
v
i
s
=
t
a
n
h
(
W
2
[
e
v
i
s
s
v
;
p
l
−
i
+
1
]
+
b
1
)
.
(8)
\mathbf{h}_{v_{i}^{s}}=tanh(\mathbf{W}_{2}[\mathbf{e}_{v_{i}^{s}}^{sv};\mathbf{p}_{l-i+1}]+\mathbf{b}_{1}).\tag{8}
hvis=tanh(W2[evissv;pl−i+1]+b1).(8)
D.Pairwise-View Representation Learning
模型利用Pairwise-View Representation Learning层进行项目特征相关性的捕获。
使用成对的项目聚合器,通过计算交叉特征来获得项目的特征共性
z
i
j
=
e
v
i
s
⊗
e
v
j
s
,
(9)
\mathbf{z}_{ij}=\mathbf{e}_{v_{i}^{s}}\otimes\mathbf{e}_{v_{j}^{s}},\tag{9}
zij=evis⊗evjs,(9)
因此,一个会话中的相关性计算如下:
s
p
a
i
r
=
L
e
a
k
y
R
e
L
U
(
1
l
∑
i
=
1
l
∑
j
=
i
+
1
l
z
i
j
)
,
(10)
\mathbf{s}_{pair}=LeakyReLU(\frac{1}{l}\sum_{i=1}^{l}\sum_{j=i+1}^{l}\mathbf{z}_{ij}),\tag{10}
spair=LeakyReLU(l1i=1∑lj=i+1∑lzij),(10)
s
p
a
i
r
=
L
e
a
k
y
R
e
L
U
(
1
l
∑
i
=
1
l
∑
j
=
i
+
1
l
e
v
i
s
⊗
e
v
j
s
)
=
L
e
a
k
y
R
e
L
U
(
1
2
l
(
∑
i
=
1
l
∑
j
=
1
l
e
v
i
s
⊗
e
v
j
s
−
∑
i
=
1
l
e
v
i
s
⊗
e
v
i
s
)
)
=
L
e
a
k
y
R
e
L
U
(
1
2
l
(
(
∑
i
=
1
l
e
v
i
s
)
2
−
∑
i
=
1
l
(
e
v
i
s
)
2
)
)
.
(11)
\begin{aligned} s_{pair}& =LeakyReLU\left(\frac{1}{l}\sum_{i=1}^{l}\sum_{j=i+1}^{l}\mathbf{e}_{v_{i}}^{s}\otimes\mathbf{e}_{v_{j}}^{s}\right) \\ &=LeakyReLU\left(\frac{1}{2l}\left(\sum_{i=1}^{l}\sum_{j=1}^{l}\mathbf{e}_{v_{i}}^{s}\otimes\mathbf{e}_{v_{j}}^{s}-\sum_{i=1}^{l}\mathbf{e}_{v_{i}}^{s}\otimes\mathbf{e}_{v_{i}}^{s}\right)\right) \\ &=LeakyReLU\left(\frac{1}{2l}\left(\left(\sum_{i=1}^{l}\mathbf{e}_{v_{i}}^{s}\right)^{2}-\sum_{i=1}^{l}\left(\mathbf{e}_{v_{i}}^{s}\right)^{2}\right)\right) \end{aligned}.\tag{11}
spair=LeakyReLU(l1i=1∑lj=i+1∑levis⊗evjs)=LeakyReLU(2l1(i=1∑lj=1∑levis⊗evjs−i=1∑levis⊗evis))=LeakyReLU
2l1
(i=1∑levis)2−i=1∑l(evis)2
.(11)
E.Ensemble and Prediction
首先通过注意力机制融合来自会话视图的项目表示,
s
s
e
s
s
=
∑
i
=
1
l
β
i
⋅
e
v
i
s
s
v
,
(12)
\mathbf{s}_{sess}=\sum_{i=1}^{l}\beta_{i}\cdot\mathbf{e}_{v_{i}^{s}}^{sv},\tag{12}
ssess=i=1∑lβi⋅evissv,(12)
其中注意力权重计算如下:
β
i
=
q
⊤
σ
(
W
3
h
v
i
s
+
W
4
s
‾
s
v
+
b
2
)
,
(13)
\beta_{i}=\mathbf{q}^{\top}\sigma(\mathbf{W}_{3}\mathbf{h}_{v_{i}^{s}}+\mathbf{W}_{4}\overline{s}^{sv}+\mathbf{b}_{2}),\tag{13}
βi=q⊤σ(W3hvis+W4ssv+b2),(13)
其中,
s
‾
s
v
=
1
l
∑
i
=
1
l
e
v
i
s
s
.
\overline{s}^{sv}=\frac{1}{l}\sum_{i=1}^{l}\mathbf{e}_{v_{i}^{s}}^{s}.
ssv=l1∑i=1leviss.
将得到的会话视图与成对视图表征结合:
s
f
i
n
a
l
=
f
3
(
s
s
e
s
s
,
s
p
a
i
r
)
,
(14)
s_{final}=f_{3}(s_{sess},s_{pair}),\tag{14}
sfinal=f3(ssess,spair),(14)
最终,计算相似度得分
y
^
i
=
e
x
p
(
s
f
i
n
a
l
⊤
e
v
i
)
∑
v
j
∈
V
e
x
p
(
s
f
i
n
a
l
⊤
e
v
j
)
,
(15)
\hat{y}_{i}=\frac{exp(s_{final}^{\top}\mathbf{e}_{v_{i}})}{\sum_{v_{j}\in\mathcal{V}}exp(\mathbf{s}_{final}^{\top}\mathbf{e}_{v_{j}})},\tag{15}
y^i=∑vj∈Vexp(sfinal⊤evj)exp(sfinal⊤evi),(15)
损失函数如下:
L
=
−
∑
i
=
1
n
y
i
l
o
g
(
y
i
^
)
+
(
1
−
y
i
)
l
o
g
(
1
−
y
i
^
)
.
(16)
\mathcal{L}=-\sum_{i=1}^{n}y_{i}log(\hat{y_{i}})+(1-y_{i})log(1-\hat{y_{i}}).\tag{16}
L=−i=1∑nyilog(yi^)+(1−yi)log(1−yi^).(16)
实验结果
总结
KMVG指出主流算法中利用全局图会出现的信息冗余问题,但使用知识图谱作为解决方案并没有利用跨会话信息,可以在这篇文章的思想上针对全局图进行改进,去掉局部图中已经包含的信息,让全局图捕获全新的跨会话信息。