Knowledge Graph Completion(知识图谱补全)

为什么要对知识图谱进行补全?
知识获取三个分支:实体发现,关系抽取,图谱补全。

知识图谱补全算法能让知识图谱变得更加完整,特别是知识图谱一般由手工构建或者直接通过表示学习来学习。而虽然人工干预构建出的特征通常具有较好的可解释性,但显然耗费资源太多,而通过表示学习即通过机器学习算法自动地从数据中学得新的表示,它虽然在较少的人工干预下能自动地根据任务构建特征,但构建出的特征的可解释性通常比较差(最近有把这两种构建方式结合的方法,将先验知识(如规则、实体类型、多跳路径等等)融合到表示学习上)。

所以对于这样的由人工或者半自动得到的不完整知识图谱,特别是稀疏,或者很多关系并没有被挖掘的隐含关系,如果有方法能在一定程度上进行补全,能够让知识图谱更加的完整。

怎么补全
知识图谱补全(Knowledge Graph Completion,KGC)目前主要被抽象成一个预测问题,即预测出三元组中缺失的部分。所以可分成3个子任务:

  • 头实体预测:(?, r, t)
  • 关系预测:(h, ?, t)
  • 尾实体预测:(h, r, ?)

问号表示要预测的部分,而另外两部部分是已知的。

同时一般按照能否处理新实体或者新关系,可以将知识图谱补全算法分成两类:

  • 静态知识图谱补全(Static KGC),该场景的作用是补全已知实体之间的隐含关系。仅能处理实体以及关系都是固定的场景,所以扩展性较差
  • 动态知识图谱补全(Dynamic KGC),它涉及不止知识图谱G中的实体或关系,即一些没有出现的词,或者后期想对知识图谱进行补全的场景下。其实如果能够构造动态的知识图谱,具有更好的现实意义,不过自然难度也会加大

Static KGC
主要是基于矩阵以及基于翻译等,一般有几种常见的处理方式:

  • TransE,即使其满足 h + r ≈ t,尾实体是头实体通过关系平移(翻译)得到的,但它不适合多对一和多对多,所以导致TransE在复杂关系上的表现差。公式如下∣ ∣ h + r − t ∣ ∣ 2 2 ||h+r-t||^2_2∣∣h+r−t∣∣22​
  • TransH模型,即将实体投影到由关系构成的超平面上。值得注意的是它是非对称映射∣ ∣ ( h − w T h w ) + r − ( t − w T t w ) ∣ ∣ 2 2 ||(h-w^Thw)+r-(t-w^Ttw)||^2_2∣∣(h−wThw)+r−(t−wTtw)∣∣22​
  • TransR模型,该模型则认为实体和关系存在语义差异,它们应该在不同的语义空间。此外,不同的关系应该构成不同的语义空间,因此TransR通过关系投影矩阵,将实体空间转换到相应的关系空间。∣ ∣ ( h M l + r − t M t ) ∣ ∣ 2 2 ||(hM_l+r-tM_t)||^2_2∣∣(hMl​+r−tMt​)∣∣22​
    在这里插入图片描述
  • TransD模型,该模型认为头尾实体的属性通常有比较大的差异,因此它们应该拥有不同的关系投影矩阵。此外还考虑矩阵运算比较耗时,TransD将矩阵乘法改成了向量乘法,从而提升了运算速度。
  • NTN模型,将每一个实体用其实体名称的词向量平均值来表示,可以共享相似实体名称中的文本信息。

Dynamic KGC
Static KGC有一个共同的局限性,只能在训练过程中得到实体以及关系的向量。当实体或关系不在训练集中时,就无法获得它们的向量。所以可以将三元组扩展成四元组——(头实体,关 系,尾实体,时间)。其中时间信息能够有效约束向量空间的几何结构。

接下来介绍几篇相关论文。


在这里插入图片描述
Shared Embedding Based Neural Networks for Knowledge Graph Completion
出自CIKM2018,静态KGC,不同上面几种比较“几何”的范式,这篇提出一种共享嵌入的神经网络模型用于处理KGC问题。作者的motivation主要有:
*在补全任务中,头实体,关系和尾实体三者的训练数据存在一定差异性,而现有方法没有区分头尾实体及关系预测等三个问题做明确区分。

  • 对于同一知识图谱的头实体,关系和尾实体补全,其对应的图谱知识空间可以通用,因此在图谱表示学习部分,使用shared策略是一个较好的方式。
  • 使用神经网络方法可以较好的模拟推理预测的过程。

具体的处理如上图:

  • 首先将训练数据中的完整知识图谱三元组(h,r,t)划分批量batch后作为模型的输入。
  • 对于输入的三元组,分别训练得到实体(包括头尾实体)嵌入矩阵与关系嵌入矩阵(embeddings)。
  • 然后将头尾实体及关系embeddings分别输入到三个预测模型中(即头实体预测(?, r, t),关系预测(h, ?, t),尾实体预测(h, r, ?))
  • 最后这三个部分的loss一起为总的loss来训练。L o s s ( h , r , t ) = L ( p h , l h ) + L ( p r , l r ) + L ( p t , l t ) Loss(h,r,t)=L(p_h,l_h)+L(p_r,l_r)+L(p_t,l_t)Loss(h,r,t)=L(ph​,lh​)+L(pr​,lr​)+L(pt​,lt​)

其中每个任务的预测模型都是神经网络咯,结构如下图:
在这里插入图片描述
即模型输入关系向量r与实体向量如t后,进入n层全连接层FC,就可以得到预测向量,再经过一个sigmoid(或者softmax)层,输出预测标签向量即可。


在这里插入图片描述

Knowledge Transfer for Out-of-Knowledge-Base Entities: A Graph Neural Network Approach
出自IJCAI 2017,动态KGC,这个模型就是一个使用GNN去处理图结构信息, 然后使用TransE去进行学习的方法。通过这个方法可以增加使用模型处理预测未知实体的能力,即前面提到的动态补全Dynamic KGC或者图中画的OOKB问题(Out-of-Knowledge-Base) ,如何处理知识库中(训练样本中)没有的实体查询任务。

具体的方案思路是:

  • 把TransE的距离函数变成一个f函数,其使用GNN来进行估计:
    L = ∑ i = 1 N [ τ + f ( h i , r i , t i ) − f ( h i ′ , r i , t i ′ ) ] L=\sum^N_{i=1}[\tau+f(h_i,r_i,t_i)-f(h_i',r_i,t_i')]L=i=1∑N​[τ+f(hi​,ri​,ti​)−f(hi′​,ri​,ti′​)]f ( h , r , t ) = ∣ ∣ v h , v r − v t ∣ ∣ f(h,r,t)=||v_h,v_r-v_t||f(h,r,t)=∣∣vh​,vr​−vt​∣∣
  • f函数会利用每个实体的与之相连的实体和关系进行更新,即GNN做两部分工作,propagation和output:
    v e = ∑ T h e a d ( v h ; h , r , e ) + ∑ T t a i l ( v t ; e , r , t ) v_e=\sum T_{head}(v_h;h,r,e)+\sum T_{tail}(v_t;e,r,t)ve​=∑Thead​(vh​;h,r,e)+∑Ttail​(vt​;e,r,t)T h e a d ( v h ; h , r , e ) = R e L U ( B N ( A r h e a d v h ) ) T_{head}(v_h;h,r,e)=ReLU(BN(A^{head}_r v_h))Thead​(vh​;h,r,e)=ReLU(BN(Arhead​vh​))T t a i l ( v t ; e , r , t ) = R e L U ( B N ( A r t a i l v t ) ) T_{tail}(v_t;e,r,t)=ReLU(BN(A^{tail}_r v_t))Ttail​(vt​;e,r,t)=ReLU(BN(Artail​vt​))
  • 最后在获取了所有的从不同Head和Tail信息之后,用avg pooling整合

这个模型能够处理有未知实体的新节点是因为,如果给定的新实体,那么在和这个实体有关的子图sub-graph上有新的结点,且这个实体又和其他几个已知实体相连,这完全可以通过GNN来解决的。


然后下面这份工作是知识图谱补全的一个小应用,和推荐系统任务一起相互融合,相互增强。
在这里插入图片描述
Unifying Knowledge Graph Learning and Recommendation:Towards a Better Understanding of User Preferences
统一知识图谱和推荐系统,出自何向南团队在WWW 2019的论文。

知识在提供有关物品的丰富信息方面显示出巨大的潜力,将知识图谱(KG)引入推荐系统去加强用户-物品的交互,有望提高推荐的准确性和可解释性。而这篇论文的主要动机是KG往往有可能是不完整的。如上图所示,Robert Zemeckis和Death Becomes Her之间的红色虚线可能就是缺失的关系。那么假设某用户喜欢Back to The Future和Forrest Gump,我们可以通过相关的实体和关系来理解用户对导演的偏好。但是在关系缺少的条件下,虽然已经准确地捕捉到了用户对电影的偏好,但我们仍然可能无法向用户推荐Death Becomes Her这部电影。

所以在使用KG做推荐时,考虑其不完整的性质是至关重要的,更有趣的是,作者提出KG的补全是否能反过来受益于用户-物品的交互。也就是说如果有一些喜欢这部电影的用户也喜欢Robert Zemeckis导演的其他电影,我们可以预测Robert Zemeckis是Death Becomes Her的导演,即用交互来补全KG。

  • 所以一方面利用KG可以帮助更好的理解用户偏好
  • 另一方面,用户-物品的交互可以补全KG,增强KG中缺少的事实

最终使两个部分都得到加强。
在这里插入图片描述
算法模型图主要如上,首先利用KG帮助理解用户-物品的行为以得到偏好,然后基于超平面,完成增强项目和偏好与实体和关系的嵌入来共同学习两项任务,其中KG直接增强用户-物品交互,而反向传播微调补全KG。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值