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

5680                                                      软件学报  2025  年第  36  卷第  12  期


                 识图谱由多种类型的关系组成, 三元组中的谓词在确定三元组重要性方面起着重要作用. 本文希望通过这两种简
                 单直接的三元组重要性特征, 直观衡量三元组不同重要性分布对准确性评估框架的影响, 并证明当前框架在不同
                 重要性分布下的有效性.
                    本文采用均匀分布、基于网络结构、基于关系语义这                   3  种加权方式作为三元组重要性度量.
                    (1) 基于均匀分布    (Uniform) 的加权  w uni : w uni (t) = 1, 即为将所有三元组等同看待, 赋予相同权重. 此为传统正
                 确率定义中采用的加权, 评估结果即为            ˆ µ uni (G).
                    (2) 基于网络结构    (Structure) 的加权  w s , 即为考虑三元组结构信息情况下的加权计算.           w s  的赋权往往利用网
                 络结构衡量节点的重要性程度. 本文计算上基于                PageRank  算法  [20] , 将每个三元组的重要性表示为三元组被图上
                 随机游走中被访问的概率. 具体计算如算法              1.
                    (3) 基于关系语义    (Relation) 的加权  w r , 关注不同节点之间的不同关系带来的影响. 例如, 一个著名的导演其
                 拍摄的电影往往具有更高的被访问概率, 而在某一个著名的城市取景的电影, 其受欢迎程度不一定与城市自身知
                 名度相关, 计算上通过设计指标衡量三元组提供的实体信息从而衡量三元组的重要性.
                    基于  PageRank  算法实现基于结构的重要性加权算法. 由于图形化知识图谱查询方式与互联网超链接形式类
                 似, PR  分数反映了在图上随机游走后到达某个节点的概率, 可用于度量节点的关注程度. 本文在知识图谱上构建
                 反边进行随机游走, 访问三元组的概率即为其两个实体的                  PR  分数平均. 伪代码如算法      1  所示.

                 算法 1. 基于结构的三元组重要性计算.
                 输入: 知识图谱    G; 测试集/样本   S;
                 输出: 样本  S  中每个三元组对应的重要性.
                 1.  PR = PageRank(G);
                 2.  for triple = (s, p,o) ∈ S ;
                                      PR(s)       PR(o)
                 3.   triple.importance =     +          ;
                                    OutDegree(s)  InDegree(o)
                 4. return  {triple.importance|triple ∈ S }.
                    对于基于关系语义的三元组重要性加权方法, 本文认为三元组的语义体现为其为三元组实体提供的信息. 本
                 文此处直接估算三元组限制的集合大小, 以度量每个三元组的增加对实体不确定性的降低.
                                                          {         }              {         }   (  )
                                                                       −1
                    给定知识图谱三元组        (s, p,o), 令  F p (s) 表示集合   o|(s, p,o) ∈ G ,  F (o)  表示集合   s|(s, p,o) ∈ G ,  Im F p  表示
                                                                       p
                     {             }    (  )       {             }
                                                                                      −1
                 集合   o|∃s 0 ,(s 0 , p,o) ∈ G ,  De f F p  表示集合   s|∃o 0 , (s, p,o 0 ) ∈ G . 由于该三元组表明  s ∈ F (o), o ∈ F p (s), 但考虑
                                                                                      p
                                               o 搜索   的情况, 这种有向性使得两者从重要性上并不完全对称, 同时图谱
                                                     s
                 到三元组中通过      s 访问  o 的情况多于以
                                                                             1       1
                 中的错误可能使得该集合限制并不准确, 因此定义该三元组的语义信息为                              ×   (  )  , 以降低  o 重要性的
                                                                             −1
                                                                           F (o)  Im F p
                                                                            p
                                              )
                                           (
                 影响  ( F p (s) ⊂ Im F p , |F p (s)| ⩽ |Im F p |). 伪代码如算法  2.
                              (
                                )
                 算法 2. 基于关系语义的三元组重要性计算.
                 输入: 知识图谱    G; 测试集/样本   S;
                 输出: 样本  S  中每个三元组对应的重要性.
                              p 相关的信息;
                 1. 计算每个关系
                 2.  for triple = (s, p,o) ∈ S ;
                                      1       1
                 3.   triple.importance =    ×   )  ;
                                      −1      (
                                    F (o)  Im F p
                                     p
                 4. return  {triple.importance|triple ∈ S }.
   294   295   296   297   298   299   300   301   302   303   304