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    路径编码模块
                    路径编码模块的目标是通过沿着连接多个实体的路径聚合信息, 从序列的视角学习实体的表示. 路径是一系
   248   249   250   251   252   253   254   255   256   257   258