知识图谱补全算法综述(动态知识图谱补全)

论文阅读笔记:知识图谱补全算法综述

    • 论文:丁建辉, 贾维嘉. 知识图谱补全算法综述[J]. 信息通信技术.
    • 概念
    • 表示学习相关理论
    • 知识图谱表示学习
        • 静态知识图谱补全(static KGC)
        • 动态知识图谱补全(Dynamic KGC)

论文:丁建辉, 贾维嘉. 知识图谱补全算法综述[J]. 信息通信技术.

概念

  • 目的:预测出三元组中缺失的部分, 从而使知识图谱变得更加完整。

  • 描述:对于知识图谱G,假设G中含有实体集E={e1, e2,…, eM}(M为实体的数量)、 关系集R={r1, r2,…, rN}(N为关系的数量)以及三元组集T={(ei, rk, ej)|ei、 ej属于E, rk属于R}。 由于知识图谱G中实体和关系的数量通常是有限的, 因此, 可能存在一些实体和关系不在G中。 记不在知识图谱G中的实体集为E*={e1*, e2*,…, es*}(S为实体的数量),关系集为R*={r1*, r2*,…, rT*}(T为关系的数量)。

  • 补全任务分类
    根据三元组中具体的预测对象, 知识图谱补全可以分成3个子任务:

    1. 头实体预测
    2. 尾实体预测
    3. 关系预测
  • 分类
    根据三元组中的实体和关系是否属于知识图谱中原有的实体和关系,我们可以把知识图谱补全分成

    1. 静态知识图谱补全(static KGC)
      所涉及的实体以及关系均在原始的知识图谱G中出现
    2. 动态知识图谱补全(Dynamic KGC)
      涉及的是不在原始知识图谱中出现的关系以及实体。从而通过知识图谱的补全,可以扩大原有的知识图谱的实体以及关系的集合。

表示学习相关理论

  • 为什么?
    为了进行知识图谱补全, 首先得给知识图谱中的实体和关系选择合适的表示, 即构建出合适的特征对实体和关系进行编码
  • 怎么做?
    1. 手工构建

      • 适合简单任务
      • 人工干预、可解释性好
      • 例如,计算机视觉领域的HOG特征、 SIFT特征
    2. 表示学习:通过机器学习算法自动地从数据中学得新的表示, 能够根据具体的任务学习到合适的特征。

      • 可解释性差、过拟合
    3. 手工构建+表示学习
      例如:知识图谱补全上利用了规则、 实体类型、 多跳路径等信息构造出高质量的先验知识, 并将这些先验知识融合到表示学习

    • !!问题 如何融合?

知识图谱表示学习

静态知识图谱补全(static KGC)

  • 目的:给知识图谱中不同的结点寻找潜在的有向边(关系)
  • 挑战:知识图谱规模扩大, 数据稀疏问题加重, 算法的效率降低
  • 方案:多种**基于知识图谱结构特征(三元组)**的表示学习算法:
    将知识图谱中的实体和关系嵌入到低维稠密空间[1], 然后在这个空间计算实体和关系的关联, 从而进行Static KGC
  • 算法
    1. transE:利用 h+r=t
      模型简单、高效
      不适合复杂关系建模
      知识图谱补全算法综述(动态知识图谱补全)_第1张图片
    2. TransH:将实体投影到由关系构成的超平面上
      考虑实体在不同关系下应该拥有不同的向量
    3. TransR:关系投影矩阵, 将实体空间转换到相应的关系空间
      认为实体和关系存在语义差异
    4. TransD:
      认为头尾实体的属性通常有比较大的差异, 因此它们应该拥有不同的关系投影矩阵
      考虑矩阵运算比较耗时, 将矩阵乘法改成了向量乘法, 从而提升了运算速度
  • 改进
    1. 基于实体描述的主题分布来构造实体的语义向量, 并且将实体的结构向量投影到对应的语义向量上, 从而增强了模型的辨别能力
    2. 考虑了实体多语义的性质, 认为实体应该拥有多个语义向量, 而语义向量则是根据实体所处的语境动态生成的
    3. 通过实体类型构造了关系的类型信息, 并将实体与关系、 实体与实体之间的相似度作为先验知识融合到表示学习算法中
    4. 将规则、 路径等信息融入到表示学习中通过更加细致的建模以及引入先验知识, 在静态知识图谱补全任务上取得了一定的提升
      基于共享memory的网络架构IRNs(Implicitly ReasonNets), 在向量空间中进行了多跳推理

动态知识图谱补全(Dynamic KGC)

静态知识图谱最终补全的关系也是知识图谱中存在的关系。
动态知识图谱补全的任务中,我们所涉及的会是没有在知识图谱中出现的关系和实体

  • 分类场景

    1. 新实体拥有丰富的文本信息, 例如实体名称、 实体描述以及类型
    2. 新实体与知识图谱中的实体以及关系有显性的三元组关联, 这些三元组通常被称为辅助三元组。 辅助三元组不会参与模型的训练过程, 它们的作用在于借助训练好的模型推理出新实体的向量
  • 对场景1
    相关工作是建立实体与额外关系的映射类挖掘以及增强源域和目标域之间的关联。
    如对于A的描述包括“人口总量”,“国土面积”等等,那么说明A可能代表的是一个国家。如果对于B也存在这些描述,那么很可能说明B也是一个国家的实体。
    根据实体与词汇之间的映射关系,当实体B的描述中也出现这些词汇时, 表明实体B很有可能也是一个国家, 那么实体B应该具备实体A的一些属性。
    早期的模型主要通过将知识图谱中的结构信息(实体、 关系)与额外信息统一到同一个空间来建立两者的关联。

    1. 联合对齐模型L, 该模型分为3个子模型: 知识图谱模型K、 文本模型T以及对齐模型A(联合对齐模型L, 该模型分为3个
      子模型: 知识图谱模型K、 文本模型T以及对齐模型A)
    2. 将额外信息替换成实体的描述信息
    3. 张量神经网络, 用实体名称中所有词的词向量的平均作为该实体的向量, 从而让拥有类似名称的实体能够共享文本信息
    4. 使用了两种表示学习方法, 连续词袋模型(CBOW)以及卷积神经网络模型(CNN)来建立基于实体描述的语义向量
    5. 结合了知识图谱的结构信息以及实体的描述信息, 并提出了基于门机制(Gate-based)的联合学习模型
    6. 注意力机制来计算实体描述中的词在不同关系下的权重, 使得实体在不同关系下拥有不同的语义向量
  • 对场景2

    1. 基于图神经网络(Graph-NNs)的模型
      该模型分为两部分: 传播模型以及
      输出模型
      。 其中, 传播模型负责在图中的节点之间传播信息, 而输出模型则是根据具体任务定义了一个目标函数。 对于知识图谱补全任务,将图谱中相邻(头/尾)实体的向量进行组合, 从而形成最终的向量。 对于输出模型, 本文使用了经典的翻译模型—TransE。 为了模拟场景构造了3组测试集: 仅三元组的头实体是新实体, 仅尾实体是新实体以及头尾实体都是新实体。 此外, 给每个新实体设计了相应的辅助三元组(头尾实体中仅含有一个新实体),用于获得新实体的向量。
    2. 在线(online)知识图谱表示学习模型puTransE (Parallel Universe TransE)
      更好的鲁棒性以及扩展性, 并且对超参数不太敏感
      利用分而治之的思想, 通过生成多个向量空间, 将语义或结构相似的三元组放在同一个空间中进行训练。 此外, 每个空间中的超参数均是在给定范围下随机生成, 因此, 不需要进行大规模的超参数调优

你可能感兴趣的:(知识图谱,机器学习)