Contents

CAKE

CAKE模型1

Novelty

  • 首次既考虑了假阴性问题,又考虑了低质量的问题,特别是假阴性问题几乎无人考虑
  • 将数据集做一定的处理,进行标注,为每个实体赋予一到多个概念
  • 基于概念生成常识,也即(概念,关系,概念)的三元组为常识1和(概念组,关系,概念组)为常识2
  • 使用域采样的假设,分别对1-N中1和N中的采用不同的采样方式,首先选取概念,然后从概念组中生成负样本
  • 最后链路预测选择实体时,选择符合常识1的概念中的实体

问题和动机

本论文主要关注KGE中存在的问题

  • KGE训练时需要对训练数据进行负采样,简单的根据概率来生成负样本,会有如下两个问题
    • 假负样本问题,有可能会有正确样本被当成负样本来采样
    • 低质量负样本问题,会产生一些质量很低的,对训练意义不大的样本(很容易与正样本区分开的样本,对训练贡献很小)
  • 过去的知识图谱补全仅仅依赖于现有的知识图谱本身,是数据驱动的
    • 进行链路预测的时候有可能根据现有的知识图谱数据预测出错误的结果
    • 如果根据常识来看,就能很明显的排除掉错误的预测结果
    • 现有的一些大规模常识KG,如ConceptNet只包含概念,没有与之对应的实体链接,因此无法用于KGC任务
  • 本文解决上述两个问题的思路如下
    • 首先从知识图谱中构建一个显示的常识
    • 基于常识来采样,克服负采样的问题,解决假负样本和低质量负样本问题
    • 构建多视图的链路预测
      • 确定常识试图中属于正确概念的实体候选集
      • 再通过传统的KGE来预测正确的答案

过去的解决方法

负采样

  • 过去的负采样方法主要分为以下五类
    • 随机均匀采样:从均匀分布中随机替换正确三元组中的实体或者关系来生成负样本,包括
      • 最早的随机破坏来生成负样本
      • TransH2引入一个伯努利概率$\frac{t_{ph}}{t_{ph}+h{pt}}$来处理一对多,多对一问题的概率采样,其中$t_{ph}$和${h_{pt}}$分别代表每个头实体对应的尾实体的平均数,每个尾实体对应的头实体的平均数
    • 基于域的采样:基于域的采样假设负采样时,与关系关联的头尾实体只能属于特定的域,若有过多的负样本位于该域之外时,会在真实三元组和被破坏的三元组之间产生较大的能量差,当能量差过大时难以对训练产生有效的影响。
      • 基于域的采样基于局部封闭世界假设LCWA,该假设在此的主要应用为对域进行定义,某个关系连接的实体属于同一个域
      • 3采用域采样,对某个三元组从同域内生成负样本,也即替换h和r时从同域里查找替换
      • 43做了改进,使用一个概率$p_r = min ( \frac {\lambda |M_r^T||M_r^H|}{|N_r|},0.5)$从域内采样,使用$1-p_r$从域外采样,其中$N_r = \{(h,r,t) \in P \}$,$M_r^H = \{h | \exists h(h,r,t) \in P \}$,$M_r^T$与之对应。

      为何要采用上述的$p_r$是根据以下假设

      假设$O_r$是关系$r$域中所有正确的三元组,那破坏后产生的三元组是正确三元组的概率为$\frac{|O_r|}{|M_r^H||M_r^T|}$,

      $|N_r| = \lambda |O_r|$,因此概率为$p_r = \frac {|N_r|}{\lambda |M_r^T||M_r^H|}$

      生成负样本的概率应该与样本为真的概率成反比,因此得到上述等式

      $\lambda$通常设置的很小,0.001左右,其值越小MR越小,其值越大H值越大,但生成有效三元组作为负样本的概率更高了,所以总体秩有所上升

    • 基于对抗的采样:该种采样方式基于生成对抗网络的思想。
      • KBGAN5在KGE模型中使用GAN,负采样作为生成器,KGE模型作为鉴别器,在对抗训练中缠上高质量的负三元组。
      • RotatE6改进了KBGAN的方法,因为生成对抗网络难以训练,复杂度过高,因此RotatE将生成器的一部分作为概率来对负样本进行抽样,改进损失函数,使其更相似于KBGAN中的鉴别器,从而达到了自对抗的效果。(最常用的方法)
    • 高效采样:7使用包含负三元组候选的缓存来提高采样效率
    • 无采样:8通过将KGE的损失函数转换为同一的平方损失,消除了负采样的过程
  • 前四种模型的都是尝试以更高的概率对损坏的三元组来进行采样,这些三元组可能是正确的但在知识图谱中丢失掉的三元组
  • 基于域的负采样严重依赖于单一类型的约束,限制了负三元组的多样性
  • 基于对抗的采样引入了GAN,使得原始的模型更复杂且难以训练(RotatE中引入的自对抗可以解决复杂度问题)
  • 无采样必须将每个原始KGE模型转换为平方损失,会削弱KGE模型的性能

常识图谱

  • 很多常识图谱,如ConceptNet,Microsoft Concept Graph,ATOMIC等都只包含概念,没有相应的实体链接,所以不适合KGC
  • 其他一些KGC模型,如JOIE采用了KG中内置的本体,即NELL和DBpedia,但本题中的关系都是层次关系,不是明确的常识,对于KGC来说用处不大,事实关系和本体关系没有重叠。

idea

  • 本文解决上述两个问题的思路如下
    • 首先从知识图谱中构建一个显示的常识,自动尝试生成模块(ACG),从事实三元组和实体概念中抽取尝试
    • 基于常识来采样,克服负采样的问题,解决假负样本和低质量负样本问题,常识感知负采样模块(CANS),利用生成的常识生成高质量的负三元组。
    • 构建多视图的链路预测
      • 确定常识试图中属于正确概念的实体候选集,MVLP模块从粗到细的方式进行链路预测,从常识的角度对候选对象进行过滤
      • 再通过传统的KGE来预测正确的答案

模型

ACG模块

  • 人工标注了实体对应的概念,开源代码里有新的数据集
  • 将常识分为两类,第一种C1是概念三元组,第二种是C2相同概念组成的三元组集合.
  • 直接使用概念来替换实体,从而生成常识
    • 第一种常识是通过消除重叠的概念级别三元组来实现
    • 第二种常识是将包含相同关系的概念级三元组合并到一个集合里

CANS模块

  • 该模块根据N-1的三元组有以下假设
    • 对于1的那一端,损坏三元组肯定是实际的负三元组。同时,基于域采样的原理,与正确实体共享至少一个概念的损失三元组是高质量的负三元组。
    • 对于n的那一端,与正确实体位于同一概念的实体更可能是假的负三元组,因此在训练过程中同一概念中的这些三元组采样的权重应该尽可能低。同时应尽可能在C2中进行采样,因为根据域采样的假设,可以获得更高质量的负三元组。
  • 可以看出,对于采样而言,首先考虑假阴性问题,而后考虑高质量负样本的问题,基于RotatE,采样概率越高,则质量越高,但对于N的那一端,质量高就意味着更容易出现假阴性问题,因此1-采样概率,而对于1的那端不需要考虑假阴性,因此就用采样概率生成更高质量的负样本
  • 详细来讲
    • 基本分为两步,第一步选取概念,第二步从概念到实体的转换
    • 对于1的那一端,首先生成与1相同概念的三元组集合,然后通过以下概率来对这些三元组集合进行采样 \begin{align*} w(h,r,t^\prime_i) &= p((h,r,t^\prime_i)|\{h_i,r_i,t_i\}) \\ &= \frac{\exp \alpha E(h,r,t^\prime_i)}{\sum_i \exp \alpha E(h,r,t^\prime_i)} \end{align*}
    • 对于N的那一端,根据C2,生成一组概念,然后对这组概念里的三元组采用以下概率采样 \begin{align*} w(h^\prime_j,r,t) &= 1 - p((h^\prime_j,r,t)|\{h_i,r_i,t_i\}) \\ &= 1 - \frac{\exp \alpha E(h^\prime_j,r,t)}{\sum_i \exp \alpha E(h^\prime_i,r,t)} \end{align*} /CAKE/%E8%B4%9F%E9%87%87%E6%A0%B7.png

MVLP模块

  • 在粗预测阶段,从尝试的角度挑选实体
    • 具体来说,当查询$(h_i,r,?)$时,常识C1用来过滤尾部实体的合理概念,具体候选实体定义为如下 $$C_{1t}=\{c_{ti}|(c_{hi},r,c_{ti})\in C_1\}$$
    • 属于上述概念集的实体因为满足常识,所以确定为候选实体
  • 最后通过如下公式依次输入所有候选实体,最后选出得分最高的候选实体(因为该模型独立于得分函数,所有可以使用任意的得分函数来进行最后的计算) $$score(e_i) = E(h,r,e_i)$$

实验

数据集

  • FB15K和FB15K-237,每个实体总是属于多个概念
  • NELL-955和DBpedia-242每个实体只有一个概念

添加CAKE各个模块后的性能对比

本模型在四个数据集上,测试了TransE,RotatE和HAKE三个模型分别添加CAKE各个模块的性能,结果如下图 /CAKE/%E4%B8%89%E4%B8%AA%E6%A8%A1%E5%9E%8B%E6%B7%BB%E5%8A%A0%E6%A8%A1%E5%9D%97%E5%90%8E%E6%80%A7%E8%83%BD%E5%AF%B9%E6%AF%94.png

  • 可以发现两个模块在大多数情况下均对模型性能有一定的提升

与其他负采样方法的对比

论文同样比较了CANS中负采样和其他几种典型负采样的性能,结果如下图所示 /CAKE/%E8%B4%9F%E9%87%87%E6%A0%B7%E6%80%A7%E8%83%BD%E5%AF%B9%E6%AF%94.png

  • 可以发现CANS中的负采样相比自对抗负采样一定的性能提升
  • 除此之外自对抗采样在除FB15K-237数据集之外,性能都达到了第二的水平
  • FB15K-237数据集更多关注复杂关系,因此域采样达到了第二的水平

消融实验

  • -CRNS代表去掉复杂关系,保留常识部分,即不对1-N中的1和N采样时加以区分
  • -CSNS代表去掉常识,保留复杂关系,即去掉C2部分
  • -MVLP代表去掉MVLP模块
  • 下图可以看出对于不同的数据集,不同模块都可以起到一定的作用 /CAKE/%E6%B6%88%E8%9E%8D%E5%AE%9E%E9%AA%8C.png

  1. CAKE: A Scalable Commonsense-Aware Framework For Multi-View Knowledge Graph Completion(ACL 2022) ↩︎

  2. Knowledge graph embedding by translating on hyperplanes(AAAI 2014) ↩︎

  3. Type-constrained representation learning in knowledge graphs(ISWC 2015) ↩︎ ↩︎

  4. An interpretable knowledge transfer model for knowledge base completion(ACL 2017) ↩︎

  5. KBGAN: Adversarial learning for knowledge graph embeddings(NAACL 2018) ↩︎

  6. RotatE: Knowledge graph embedding by relational rotation in complex space(ICLR 2019) ↩︎

  7. NSCaching:Simple and efficent negative sampling for knowledge graph embedding(ICDE 2019) ↩︎

  8. Efficient non-sampling knowledge graph embedding(WWW 2021) ↩︎