Page 253 - 《软件学报》2025年第12期
P. 253
5634 软件学报 2025 年第 36 卷第 12 期
X 输入 BERT 来得到每个 token 的上下文相关的表示, 然后对 [[CLS], X , [SEP]] 的 token 表示进行平均池化
′
m
先将
t
操作, 最终得到实体的文本表示 e 作为它的初始表示. 文本编码过程可以描述如下:
m
d
m
d
e m ,e ,...,e ,e m ,e ,...,e ,e d = f BERT (X ) (2)
′
[CLS] 1 n m [SEP] 1 n d [SEP]
( )
t
m
m
e = MEAN-POOLING e m ,e ,...,e ,e m (3)
[CLS] 1 n m [SEP]
[ ]
t
t
最终, 本文得到了所有实体的初始表示, 表示为 E = e ,...,e t ∈ R |E|×d .
1 |E|
4.1.2 结构编码模块
结构编码模块的目标是通过从邻居实体聚合信息, 以一个局部的视角学习实体的表示. 知识图谱通常都展现
出一种空间局部性 [6] , 表现为实体和它们的邻居实体密切相关, 而且它们之间的关系显式地表现了它们之间的关
联类型. 为了捕捉到这种局部性并且更好地理解实体的语义, 本文使用 R-GCN [17] 来允许带有不同关系类型的邻居
e 作为它输入 R-GCN 的初始表示. 信息聚合的过程如
t
的信息传播. 具体来说, 对于实体 i, 本文使用它的文本表示
i
公式 (4) 所示:
∑ ∑ 1 ( )
(l)
(l)
(l)
h (l+1) = W h +W h (l) (4)
i r r j o i
r∈R j∈N r (i) |N (i)|
r
t
(0)
,
其中, h (l) 表示实体 i 在第 层 l R-GCN 的隐状态且满足 h = e N (i) 表示实体 关于关系 的邻居实体集, W (l) 表
r
i
i i i r
l 层 R-GCN r 的关系感知变换矩阵, W (l) l 层 R-GCN i 在最
示第 的关于关系 表示第 的自我循环权重. 本文将实体
o
[ ]
后一层 R-GCN 的表示作为它的局部表示. 最终, 所有实体的局部表示为 E = e ,...,e l ∈ R |E|×d .
l
l
1 |E|
4.1.3 全局编码模块
全局编码模块的目标是通过保证任何一对实体之间的语义交互, 从全局的视角学习实体的表示. 由于结构编
码模块只考虑了通过显式边相连的邻居实体, 它无法捕获到没有显式边相连的实体之间的语义关联, 特别是对于
一些新添加的、未见过的实体. 为了克服这样的局限性, 本文提出一种全局注意力机制, 以确保任何一对实体之间
的信息聚合. 更重要的, 为了防止全局编码模块聚合了和结构编码模块重叠的信息, 本文设计了一种基于注意力的
差异化机制来缓解这种过度注意的问题, 鼓励当前模块学习到一个和其他模块不同的表示.
受到 Transformer [10] 架构的自注意力机制的启发, 对于每个实体, 本文提出计算任何一对实体之间的注意力权重,
并且基于该权重聚合所有实体的表示. 为了更好地区分聚合得到的全局表示和局部表示, 本文在计算注意力权重时引
t
入了一种差异化机制来避免过度注意的问题. 在有了初始实体表示 E 后, 信息聚合过程如公式 (5) 和公式 (6) 所示:
d
t
t
t
Q = E , K = E , V = E , Q = E l (5)
(( d ) ) {
Q−Q K ⊤ 0, i , j
g
˜ E = Softmax + M V, M i j = (6)
√ −∞, i = j
d k
g
其中, ˜ E ∈ R |E|×d 表示所有实体从其他所有实体聚合得到的表示. 掩码矩阵 M ∈ R |E|×|E| 决定了一对实体是否可以互
相计算注意力. 具体来说, M 的主对角线元素都被设置为 −∞ 来避免实体和其自身计算注意力, 而其他元素都被设
置为 0 来保证实体可以和除它以外的所有实体计算注意力. 这种方式保证了计算得到的注意力权重不会被自身和
自身之间参照的信息所主导. d k 表示每一个自注意力头的维度. 本文设计的差异化机制的目标是使全局编码模块
( )
d
关注于结构编码模块所不关注的实体. 具体来说, 通过 Q−Q d 的操作, 通过 Q 计算出来注意力权重更高的实体
会得到一个更低的注意力权重. 最终, 从这些实体通过加权求和操作聚合得到的信息就会有更低的重要性.
最终, 本文通过一个带有残差连接 [25] 和层归一化 [26] 的前馈神经网络得到所有实体的全局表示 E = e ,...,
[ g
g
1
]
e g ∈ R |E|×d . 具体计算过程如下所示:
|E|
( )
g
g
g
FFN ˜ E = ˜ E W + b g (7)
( ( ) )
g
g
E = LayerNorm FFN ˜ E + E t (8)
4.1.4 路径编码模块
路径编码模块的目标是通过沿着连接多个实体的路径聚合信息, 从序列的视角学习实体的表示. 路径是一系

