Page 188 - 《软件学报》2025年第4期
P. 188
1594 软件学报 2025 年第 36 卷第 4 期
2.1 符号和任务定义
在形式上, 一个多模态知识图谱可以表示为 G = {E,R,T ,V} , 其中 E = {e 1 ,e 2 ,...,e N } 代表知识图谱中的实体集
合, R = {r 1 ,r 2 ,...,r M } 代表知识图谱中的关系集合, T = {x 1 , x 2 ,..., x N } 代表与实体相关联的描述文本集合, V = {v 1 ,
v 2 ,...,v N } 表示与实体相关联的图像集合. 其中每个实体 拥有 1 个描述文本和 u (≥0) 张图像. 同时, 本文使用
e
D = {(p,k,q)|p,q ∈ E,k ∈ R} 表示知识图谱 G 中事实三元组集合, N 表示实体的个数, M 表示关系的个数.
基于此, 给定一组查询: 头实体 p'和某个关系 k' ( query = {p ,k ,?} ), 我们的多模态知识图谱补全任务就是将所
′
′
有可能的尾实体排序, 找到最合适的尾实体, 来匹配给定的头实体和关系. 本文就是为了学习一个多模态模型来达
到此目的:
y = M Θ (query,D) (1)
其中, M 表示我们计划学习出的多模态模型, Θ 代表所要学习的所有参数, y 表示所有可能满足要求的实体的概率.
s t v s
另外, 本文分别使用 h , h , h 来表示实体 e i ∈ E 的结构向量表示、描述文本向量表示和图像向量表示. 使用 r
i i i j
来表示关系 r j ∈ R 的结构向量表示.
r
2.2 融合任务知识的多模态编码
首先, 因为知识图谱中的实体数量和硬件设备的限制, 本文提前抽取所有实体的文本向量表示和图像向量表
示. 同时, 为了将 MMKGC 的相关知识融入到多模态实体向量表示中, 本文在一个多模态编码器的基础上使用
MMKGC 任务对其进行微调. 然后使用微调后的多模态编码器 (multi-modal encoder, MME) 来抽取实体的文本向
量表示和图像向量表示.
v
t
v
h ,h = MME(x i ,v i ), h ,h ∈ R d 1 (2)
t
i i i i
t v d 1 表示向量维度, 本文设置为
其中, h 表示 i 个实体的文本描述向量表示. h 表示第 i 个实体的图像向量表示. 768.
i i
MME 使用的是 MKGformer [16] , 它是一种基于 Transformer [23] 的多模态视觉-文本表示模型, 该模型在 CLIP [24] 模型
的基础上在最后几层 Transformer 中进行模态间的交互融合, 该模型能高效地抽取视觉和文本特征并应用于各种
自然语言处理任务, 如: 多模态命名实体识别 [25] 和多模态关系抽取 [26] 等.
v
t h 映射到与结构向量表示
接着, 我们使用两个线性变换分别将实体 e i ∈ E 的文本向量表示 h 和图像向量表示
i i
s
h 相同的向量空间.
i
ˆ t
h = W h +b 1 , h ∈ R d (3)
ˆ t
t t
i i i
h = W h +b 2 , h ∈ R d (4)
ˆ v
ˆ v
v v
i i i
t
d
v
其中, W , W ∈ R d×d 1 是可训练的权重矩阵, b 1 , b 2 ∈ R 是可训练的偏置. d 表示统一的向量空间维度, 本文设置为 200.
最终, 得到所有实体的 3 t v s H .
r
种模态下的向量表示 H ,H ,H 以及关系的结构向量表示
ˆ t
ˆ t ˆ t
ˆ t
t
H = {h ,h ,...,h }, h ∈ R d (5)
1 2 N i
ˆ v
H = {h ,h ,...,h }, h ∈ R d (6)
ˆ v ˆ v
v
ˆ v
1 2 N i
s
s
s
H = {h ,h ,...,h }, h ∈ R d (7)
s
s
1 2 N i
H = {h ,h ,...,h }, h ∈ R d (8)
r
r
r
r
2
i
M
1
其中, N 表示知识图谱中实体的个数, M 表示知识图谱中关系的个数.
2.3 多模态信息融合过滤
为了更好地获得实体在多个模态下全局向量以增强实体的表征能力. 同时, 根据 Wang 等人 [10] 的实验, 并不是
所有的多模态特征都对任务有效. 并且, 模态两两交互的顺序对于模态融合效果也有一定的影响 [27] . 因此, 本文使
用基于序列的循环神经网络 (recurrent neural network, RNN) 结构, 利用其中的门控机制来过滤不同模态向量表示
中的噪声, 同时保留适合当前任务的多模态信息.
s
s
t
t
v
v
ˆ H , ˆ H , ˆ H = RNN(H ,H ,H ) (9)