Page 189 - 《软件学报》2025年第4期
P. 189
陈强 等: 融合任务知识的多模态知识图谱补全 1595
其中, RNN 在本文中指的是长短期记忆网络 (long short term memory, LSTM) [28] 和门控循环单元 (gated recurrent
unit, GRU) [29] . 每个模态的向量表示作为一个时间步的输入, 也就是把 3 个模态看成一个序列, 每两个模态都可以
在一个时间步中充分交互. 值得注意的是, 这么做既可以满足双模态两两交互, 也可以完成三模态同时交互, 这也
是我们采用循环融合结构的动机之一.
2.4 基于聚合算子的实体关系融合
在经过多模态信息融合之后, 为了简化后续操作, 我们将边类型不同的异构知识图 [30] 转换为边类型相同的同
构知识图, 即通过将知识图中不同类型的节点 (实体) 和所连接的边 (关系) 进行聚合. 同时, 为了降低模型对硬件
设备的要求, 根据 Vashishth 等人 [22] 的实验, 使用 3 种不引入额外参数的聚合算子: 乘法 (multiplication, Mult)、减
法 (subtraction, Sub)、循环相关 (circular correlation, Corr) [31] , 用 ⊗ 代替, 每次实验选择一种算子.
t
ˆ t
z = h ⊗h r (10)
pk p k
v
ˆ v
z = h ⊗h r (11)
pk p k
s
ˆ s
z = h ⊗h r (12)
pk p k
(20) 所示:
其中, p ∈ [1,...,N] 表示事实三元组中已知实体向量的索引, k ∈ [1,..., M] 表示事实三元组中关系向量的索引.
z pk 如公式 (13) 所示. 并最终得到所有事实三元组中
最后, 当前三元组中已知的节点和关系融合后的向量表示
已知节点和关系融合后的实体向量表示集合 Z .
t
v
z +z +z s pk
pk
pk
z pk = (13)
3
Z = {z pk | (p,k,q) ∈ D} (14)
2.5 实体和关系向量的更新
Z , 我们使用同构图卷积网络来聚合邻居节点的信息, 并获得最终的实
对于融合节点和关系的实体向量表示
e r
体特征表示 H . 同时使用一个线性层来更新关系向量 H .
e
H = GCN(D,Z) (15)
r
r
r
ˆ H = W H +b (16)
d
r
其中, D 表示知识图谱 G 中事实三元组集合. W ∈ R d×d 是一个可训练的参数矩阵, b ∈ R 为可训练的偏置. GCN
表示图卷积神经网络 (graph convolutional network).
2.6 解码过程
e r e ˆ H 输入到解码器中来对当前一批次事实三
r
在通过编码器获得节点和关系的向量表示 H 和 ˆ H 之后, 将 H 和
元组 B 中所有可能存在的三元组进行评分.
e ˆ r
ˆ y = Decoder(H ,h ,B) (17)
[7]
其中, 本文中的 Decoder 表示目前在知识图谱补全任务中被广泛使用的 3 个解码器, 包括 DistMult 、ComplEx [8]
和 ConvE [14] , 具体计算方式依次如公式 (18)–公式
e
r
ˆ y j = H ∗ ˆ H ∗ H e (18)
p k q
j
j
其中, ∗ 表示乘法操作. 表示第 个的可能存在的三元组. p,k,q 分别代表一个三元组中的头实体, 关系和尾实体.
( ( ) ( ) ( ) ( )) ( ) T ( ( ) ( ) ( ) ( )) ( ) T
e
r
r
e
r
r
ˆ y j = Re ˆ H ∗Re H − Im ˆ H ∗ Im H e ∗Re H e + Re ˆ H ∗ Im H + Im ˆ H ∗Re H e ∗ Im H e (19)
k p k p q k p k p q
e
r
∗
其中, Re(·) 函数取出复数的实部, Im(·) 函数取出复数的虚部. 表示乘法操作. 在本文中, H ,H 的向量维度为
200, 因此在使用 ComplEx 编码器的过程中, H ,H 的 r [0, 100] 维度表示复数实部, [101, 200] 维度表示复数虚部.
e
( ( ([ ] )) ) T
ˆ r
e
ˆ y j = σ vec σ H ,H ⊙ω W H e (20)
k p q
r
r
e
其中, σ 表示 ReLU 激活函数, vec(·) 函数将张量转化为向量, ˆ H ,H 分别表示 ˆ H ,H 的 e 2D 重塑张量, ⊙ 表示卷积
k p k p