Page 254 - 《软件学报》2025年第12期
P. 254

童翰文 等: 带有差异化机制的多视角归纳式知识图谱补全框架                                                   5635


                 列由关系实体所组成的序列, 显式地反映了实体之间的多跳关联. 通过沿着路径聚合实体表示, 路径编码模块使得
                 远距离相连的实体之间也可以进行信息交互, 从而可以学习到一个能有效捕捉到多跳关联的实体表示. 需要注意
                 的是, 这样的关联是无法通过结构编码模块或全局编码模块所捕捉的. 前者受到图神经网络所固有的过度平滑问
                 题  [9] 的约束, 限制了它处理远距离实体的能力; 而后者则是仅考虑了实体之间的语义相关性, 却忽略了知识图谱天
                 然的图结构.
                    为了沿着路径聚合实体的表示, 本文首先使用一种随机游走算法                      [27] 的变体来采样和每个实体相关联的两种
                 方向的路径. 然后, 本文使用一个带有位置编码的              Transformer 编码层来对采样得到的路径编码, 以得到每个路径
                 的表示. 最终, 本文再使用和全局编码模块类似的差异化机制来聚合每个路径的表示, 得到实体的序列表示. 具体
                 来说, 对于实体    i, 本文使用随机游走     [27] 来采样   M  条从  i 开始的正向路径, 以及  M  条以  i 结尾的反向路径. 每条路径
                                                            K
                 的长度都设置为      K, 并且较短的路径会被填充到长度为  . 为了增强路径上实体之间的关联性, 本文提出将每个实
                 体关联到它能够通过随机游走到达的受欢迎的实体. 这种方式可以使得它利用这些受欢迎实体的丰富的信息来丰
                 富它自身的表示. 本文通过在随机游走时给每条边                 (u,v) 设置一个采样概率     p u,v ∝ deg(u)+deg(v) 来实现这样的想
                                                                             − →  − → −→  − →
                 法, 其中,   deg(·) 表示一个实体的度. 通过这种方式, 本文获得         M  条正向的路径    P = {P 1 , P 2 ,..., P M } 和  M  条反向的
                     ←−  ←− ←−   ←−
                 路径   P = {P 1 , P 2 ,..., P M }. 最终, 对于每个实体  i, 本文再反转它所有正向路径的实体顺序, 使得它们和所有反向路
                 径的格式保持一致, 都以实体         i 结尾, 从而得到总共    2M  条路径  P = {P 1 ,P 2 ,...,P 2M }.
                    本文使用一个带有旋转位置编码            (rotary positional embedding, RoPE) [28]  的  Transformer 编码层来编码采样的
                 路径. 它的模型架构和第       4.1.1  节的预训练语言模型是保持一致的. 而且, 本文使用             RoPE  来编码路径中的位置信
                                                          [      ]                       t
                 息, 从而更好地捕捉到它的序列结构. 对于路径              P j = j 1 , j 2 ,...,i , 本文使用实体的文本表示  E  来初始化每个实体
                               [        ]
                           P j = e ,e ,...,e ∈ R K×d . 然后, 本文使用带有  RoPE  的  Transformer 编码层来编码这些路径, 并且使
                                        t
                                   t
                                t
                 的表示, 得到
                                j 1  j 2  i
                 用每条路径中实体      i 经过编码后的表示作为路径的表示. 具体计算过程如下:

                                                      p
                                                               ( )
                                                     h = TransEnc P j [i]                             (9)
                                                      j

                                                        [  ]
                                                      p
                                                          p
                                                    H = h , j ∈ [1, 2M]                              (10)
                                                          j
                                                              p
                                                                                     p
                                                                  d
                 其中,  TransEnc(·) 表示带有  RoPE  的  Transformer 编码层,   h ∈ R  表示路径  P j  的表示,  H ∈ R 2M×d  表示所有基于实
                                                               j
                 体  i 采样的  2M  条路径的表示.
                            p
                    在得到   H  后, 本文使用全局编码模块中的差异化机制来聚合所有路径表示. 具体计算过程如下所示:

                                                     t
                                                           p
                                                                    d
                                                                 p
                                                  q = e , K = H ,V = H , q = e l                     (11)
                                                     i                 i
                                                           ((    )   )
                                                                 d
                                                             q− q K ⊤
                                                   s
                                                  ˜ e = Softmax  √   V                               (12)
                                                   i
                                                                d k
                                           p
                      s
                               i
                 其中,   ˜ e  表示实体   从路径表示  H  聚合得到的表示. 最终, 本文通过一个带有残差连接和层归一化的前馈神经网
                      i
                 络得到实体    i 的序列表示, 计算过程如下:

                                                         ( )
                                                          s
                                                              s
                                                                s
                                                     FFN ˜ e = ˜ e W + b s                           (13)
                                                          i   i
                                                  s
                                                             (
                                                                 ( )
                                                                   s
                                                 e = LayerNorm FFN ˜ e +e t i )                      (14)
                                                  i
                                                                   i
                                               [      ]
                                                s
                                           E = e ,...,e  s  ∈ R |E|×d .
                                             s
                    最终, 所有实体的序列表示为              1    |E|
                  4.1.5    融合层
                                                ,
                                                l
                                                  g
                                                     s
                    给定各种视角学习到的实体表示            E E ,   E , 融合层的目标是融合这些表示, 从而产生实体的最终表示                E. 融
                 合过程如公式     (15) 所示:

                                                       [       ]
                                                                 f
                                                              s
                                                           g
                                                         l
                                                    E = E ; E ; E W + b f                            (15)
                                                                            f
                                                                 f
                 其中,  E ∈ R |E|×3d   是所有实体的最终表示,  [·;·] 表示拼接操作,  W ∈ R 3d×3d   和  b ∈ R 3d   分别是线性变换的权重矩阵和
                 偏置.
   249   250   251   252   253   254   255   256   257   258   259