1. 前言
论文链接:https://arxiv.org/pdf/1911.00219.pdf
github:https://github.com/malllabiisc/InteractE
现有的大多数知识图都存在不完整的问题,可以通过基于已知事实推断缺失的链接来缓解这种情况。一种实现此目的的流行方法是生成实体和关系的低维嵌入,并使用它们进行推断。 ConvE 是最近提出的一种基于卷积神经网络的知识图谱嵌入方法,它在实体和关系嵌入的2D重塑上应用卷积过滤器,以捕获其组件之间的丰富交互。但是,ConvE 可以捕获的交互次数是有限的。在本文中分析了增加这些交互作用的数量如何影响链接预测性能,并提出了InteractE。 InteractE基于三个关键思想:
- 特征置换
- 新颖的特征重塑
- 循环卷积
2. 背景
链接预测的任务是通过根据KG中的已知事实推断出丢失的事实。 解决此问题的一种流行方法是学习所有实体和关系的低维表示,并利用它们来预测新事实。 通常,大多数现有的链接预测方法都是通过优化得分函数来学习嵌入KG的,该得分函数会向真实事实分配比无效事实更高的得分。 这些得分函数可以分为基于翻译距离的分类,或基于语义匹配的分类。
目前基于平移距离的知识图谱嵌入模型虽然速度快并且泛化能力较强,但是由于其简单的形式导致该类方法的准确率不高,解决此问题的唯一方法是增加其嵌入的大小,这导致参数数量的巨大增加,因此将其可扩展性限制为更大的知识图。因此作者提出是否可以引入一种计算效率更高的参数来缓解增加参数所带来的问题–CNN。
在本文指出增加实体与关系交互的数量有助于链接预测性能,并表明 ConvE 可以捕获的交互数量有限。并提出 InteractE,这是一种基于CNN的新型KG嵌入方法,旨在进一步增加关系和实体嵌入之间的交互。本文的主要贡献如下:
- 提出了InteractE,这是一种通过三个关键思想来增强Conv 的表达能力的方法:特征排列,“方格”特征重塑和循环卷积。
- 本文提供了交互的精确定义,并从理论上分析 InteractE,以表明与ConvE相比,它增加了交互。此外在异构交互的数量和链接预测性能之间建立关联。
2. ConvE
作者首先总结了近年来的知识图谱嵌入方法,主要侧重于总结不同方法的评分函数
ConvE:本文的工作基于ConvE,该模型使用2D卷积神经网络(CNN)对实体与关系之间的交互进行建模。 所使用的得分函数定义如下:
其中
e
s
‾
∈
R
d
w
×
d
h
,
e
r
‾
∈
R
d
w
×
d
h
\overline{e_s} \in \mathbb{R}^{d_w \times d_h},\overline{e_r} \in \mathbb{R}^{d_w \times d_h}
es∈Rdw×dh,er∈Rdw×dh 代表对于实体嵌入
e
s
∈
R
d
w
d
h
×
1
e_s \in \mathbb{R}^{d_wd_h\times 1}
es∈Rdwdh×1 和
e
r
∈
R
d
w
d
h
×
1
e_r \in \mathbb{R}^{d_wd_h\times 1}
er∈Rdwdh×1 的2D重构
(
⋆
)
(\star)
(⋆) 代表卷积操作。2D重塑可增强实体和关系嵌入之间的交互,这已被证明有助于学习更好的表示
3. Notation and Definitions
令实体嵌入和关系嵌入分别表示为 e S = ( a 1 , . . . , a d ) , e r = ( b 1 , . . . , b d ) e_S = (a_1,...,a_d),e_r = (b_1,...,b_d) eS=(a1,...,ad),er=(b1,...,bd) 其中 a i , b i ∈ R ∀ i a_i,b_i \in \mathbb{R} \forall i ai,bi∈R∀i。令 w ∈ R k × k w \in \mathbb{R}^{k \times k} w∈Rk×k 代表大小为 k k k 的卷积核,基于此定义矩阵 M k ∈ R k × k M_k \in \mathbb{R}^{k \times k} Mk∈Rk×k 是另一矩阵 N ∈ R m × n N \in \mathbb{R}^{m \times n} N∈Rm×n 的k-子矩阵,前提条件为 ∃ i , j \exists i,j ∃i,j 并满足 M k = N i : i + k , j : j + k M k ⊆ N M_k = N_{i:i+k,j:j+k} M_k \subseteq N Mk=Ni:i+k,j:j+kMk⊆N
3.1 Reshaping Function
重构函数定义为 ϕ : R d × R d → R m × n \phi:\mathbb{R}^d \times \mathbb{R}^d \rightarrow \mathbb{R}^{m \times n} ϕ:Rd×Rd→Rm×n,在模型中的表达形式为 ϕ ( e S , e r ) \phi(e_S,e_r) ϕ(eS,er) 其中 m × n = 2 d m\times n =2d m×n=2d。在本文中作者讨论三种重构函数,分别是:
- Stack( ϕ s t k \phi_{stk} ϕstk):将 e s e_s es 和 e r e_r er 中的每一个重新整形为形状为 ( m / 2 ) × n (m / 2)\times n (m/2)×n的矩阵,并沿其高度堆叠以生成 m × n m \times n m×n矩阵(图2a)。
- Alternate( ϕ a l t T \phi^{\mathcal{T}}_{alt} ϕaltT):将 e s e_s es 和 e r e_r er 整形为形状为 ( m / 2 ) × n (m / 2)\times n (m/2)×n 的矩阵,并交替堆叠行 e s e_s es 和 e r e_r er。 换句话说,随着我们降低 T \mathcal{T} T, e s e_s es 和 e r e_r er 的行交替出现的“频率”增加。 为简洁起见设置 ϕ a l t 1 ( T = 1 ) \phi^{1}_{alt}(\mathcal{T}=1) ϕalt1(T=1)(图2b)
- Chequer( ϕ c h k \phi_{chk} ϕchk):排列 e s e_s es 和 e r e_r er 使得同一嵌入的组件不会占用两个相邻的单元(图2c)。
3.2 Interaction
相互作用定义为三元组 ( x , y , M k ) (x,y,M_k) (x,y,Mk),使得 M k ⊆ ϕ ( e s , e r ) M_k\subseteq\phi(e_s,e_r) Mk⊆ϕ(es,er) 是重构输入嵌入的 k-子矩阵; x , y ∈ M k x,y \in M_k x,y∈Mk 和是 e s e_s es 或 e r e_r er 的不同分量。 交互数 N ( ϕ , k ) N(\phi,k) N(ϕ,k) 定义为所有可能的三元组的基数。 注意 ϕ \phi ϕ 可以用 Ω ( ϕ ) \Omega(\phi) Ω(ϕ) 替换某些填充函数 Ω \Omega Ω。
异质交互
(
x
,
y
,
M
k
)
(x,y,M_k)
(x,y,Mk) 定义为如果
x
,
y
x,y
x,y 分别属于
e
s
,
e
r
e_s,e_r
es,er。相反如果
x
,
y
x,y
x,y 均为实体或者关系则为同质交互。两种交互形式分别表示为
N
h
e
t
(
ϕ
,
k
)
,
N
h
o
m
o
(
ϕ
,
k
)
\mathcal{N}_{het}(\phi,k),\mathcal{N}_{homo}(\phi,k)
Nhet(ϕ,k),Nhomo(ϕ,k)。
举例来说,对于一个 3x3的矩阵
M
3
M_3
M3 由五个实体嵌入
e
s
e_s
es 和 4个关系嵌入
e
r
e_r
er 组成那么
N
h
e
t
=
2
(
5
×
4
)
=
40
N_{het}=2(5\times 4)=40
Nhet=2(5×4)=40,
N
h
o
m
o
=
2
[
C
5
2
+
C
4
2
]
=
32
\mathcal{N}_{homo} = 2[C^2_5+C^2_4] = 32
Nhomo=2[C52+C42]=32,两者相加的数量满足
2
(
C
k
2
2
)
2(C_{k^2}^2)
2(Ck22),例如在本例中
N
h
e
t
(
ϕ
,
k
)
+
N
h
o
m
o
(
ϕ
,
k
)
=
2
(
C
3
2
2
)
\mathcal{N}_{het}(\phi,k)+\mathcal{N_{homo}(\phi,k)}=2(C_{3^2}^2)
Nhet(ϕ,k)+Nhomo(ϕ,k)=2(C322)
4. InteractE
最近的方法证明,可以通过增加嵌入之间的可能相互作用来增强模型的表达能力。 ConvE 在2D重构嵌入中使用卷积,尽管使用了有限的方法,但也利用了相同的原理。 InteractE使用以下三个思想扩展了捕获实体和关系要素交互的概念
- ** Feature Permutation**:代替使用输入的一个固定顺序,我们利用多个排列来捕获更多可能的交互。
- Checkered Reshaping:将 ConvE 的简单特征重塑替换为已检查的重塑,并证明了其在其他可能性上的优越性。
- Circular Convolution:与标准卷积相比,循环卷积可以捕获更多特征交互,如图3所示。卷积以深度方式(在不同的输入排列上执行。
4.1 Feature Permutation
为了捕获各种各样的异构交互,InteractE 首先生成 e s e_s es 和 e r e_r er 的 t t t 随机排列,用 P t = [ ( e s 1 , e r 1 ) ; . . . ; ( e s t , e r t ) ] \mathcal{P}_t = [(e^1_s,e^1_r); ...;(e^t_s,e^t_r)] Pt=[(es1,er1);...;(est,ert)] 表示。 注意,对于不同的 i i i ,在 ϕ ( e s i , e r i ) \phi(e^i_s,e^i_r) ϕ(esi,eri) 内的交互集很有可能是不相交的。 这是显而易见的,因为跨所有可能排列的独特交互的数量非常大。 因此,对于 t t t 个不同的排列,我们可以预期交互的总数大约是一个排列的交互数的 t t t 倍。
4.2 Checkered Reshaping
接下来应用重塑操作 ϕ c h k ( e s i , e r i ) , ∀ i ∈ { 1 , . . . , t } \phi_{chk}(e^i_s,e^i_r),\forall i \in \{1,...,t\} ϕchk(esi,eri),∀i∈{1,...,t},并定义 ϕ ( P t ) = [ ϕ ( e s 1 , e r 1 ) ; . . . ; ϕ ( e s t , e r t ) ] \phi(\mathcal{P}_t)= [\phi(e^1_s,e^1_r); ...;\phi(e^t_s,e^t_r)] ϕ(Pt)=[ϕ(es1,er1);...;ϕ(est,ert)] 。 ConvE 使用 ϕ s t k ( ⋅ ) \phi_{stk}(\cdot) ϕstk(⋅)作为一种重塑函数,具有有限的交互捕获能力。 本文选择利用 ϕ c h k ( ⋅ ) \phi_{chk}(\cdot) ϕchk(⋅) 作为InteractE中的重塑函数,它捕获实体和关系特征之间的最大异构交互。
4.3 Circular Convolution
该方式卷积的公式形式表示为
4.4 Score Function
每个循环卷积的输出被展平并连接成一个向量。 然后,InteractE 将该向量投影到嵌入空间(
R
d
\mathbb{R}^d
Rd)。 InteractE中使用的得分函数定义如下:
其中 ⋆ \star ⋆ 表示深度方向的圆卷积, v e c ( ⋅ ) vec(\cdot) vec(⋅) 表示向量级联, e o e_o eo 表示对象实体嵌入矩阵, W W W 是可学习的权重矩阵。 将函数 f f f 和 g g g 分别选择为 ReLU 和 sigmoid 型。 训练过程中使用标准的二进制交叉熵损失和标签平滑处理。
5. 实验