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
   184   185   186   187   188   189   190   191   192   193   194