Knowledge Graph Completion(知识图谱补全)
为什么需要实施知识图谱的补全操作?
知识获取分为三个主要环节:首先是实体发现...
其次是关系抽取...
最后是图谱补全...
该算法通过补全机制使知识图谱更加完善,在现有方法中,默认情况下知识图谱要么由人工手动构建完成(手工构建),要么直接基于现有的表示技术进行学习。特别值得注意的是,在传统方法中,默认情况下人工干预的程度较低。然而,在现代技术中,默认情况下基于数据的学习更为高效。这种做法存在明显的资源浪费问题。相比之下,在传统方法中,默认情况下人工干预的程度较低。其缺点在于生成的特征往往缺乏足够的解释性。(近年来已有研究尝试将这两种方法结合起来)
因此,在人工生成或半自动化生成的知识图谱中存在缺失问题的情况下——尤其是稀疏的知识图谱以及还有许多潜在的关系尚未被发现的情况——如果有一种方法能够在一定程度上修复这些缺失的关系的话,则可以让知识图谱更加完善。
如何实施
- 头实体预测:(?, 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-wThw)+r-(t-wTtw)||^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模型基于其假设:头尾实体存在显著差异性,则应分别拥有各自的关系投影矩阵。值得注意的是,在这一过程中还需注意矩阵运算相对耗时的问题,在改进方案中将矩阵乘法转换为向量乘法操作以实现计算效率的显著提升。
- NTN模型通过将每个实体表示为其实体名称对应的词向量平均值来表示每个实体;这种设计不仅使得不同 entities 可以共享彼此的信息资源(特别是具有相同 entity names 的 text segments),从而能够共享具有相同 entity names 的 text information)。
Dynamic KGC
静态KGC存在一个共同的问题:它仅能在训练过程中获取到每个实体及其对应的关系向量。当这些实体或关系不在训练数据集中时,则无法获得它们对应的向量。因此我们可以将三元组扩展为四元组——(头实体, 关系, 尾实体, 时间)。其中时间信息有助于约束向量空间中的几何结构
接下来介绍几篇相关论文。

这篇静态知识图谱补全(KGC)方法采用了不同于现有文献中"几何"范式的建模方式。作者的主要研究动机在于:现有方法通常未对头实体、尾实体及关系预测等三个维度进行明确区分。通过这种方式实现了对三者进行更加细致的建模与优化。
- 针对同一知识图谱中的头实体、关系以及尾实体进行补全操作时,它们所处的知识空间具有共通性特征,在图谱表示学习阶段采用共享策略能够显著提升模型性能。
- 通过神经网络方法能够有效地模拟推理预测过程的具体实现细节。
具体的处理如上图:
首先将训练数据中的完整知识图谱三元组(h, r, t)按批量batch划分,并作为模型的输入使用。
对每个输入的三元组(h, r, t),分别生成实体嵌入矩阵和关系嵌入矩阵(即头尾实体和关系的向量表示)。
随后将头尾实体和关系的embeddings分别用于三个预测任务:预测头实体(?r,t),预测关系(h,?,t),以及预测尾实体(h,r?)。
最后将这三个损失函数整合为总损失函数,并用于模型优化。
其中每个任务的预测模型都是神经网络咯,结构如下图:

该模型将输入关系向量r以及实体嵌入表示t,并通过连续的全连接层FC进行特征提取;随后通过一个Sigmoid函数(或Softmax函数)进行计算以生成预测结果向量

Knowledge Transfer for Out-of-Knowledge-Base Entities: A Graph Neural Network Approach 出自IJCAI 2017会议。该研究提出了一种基于图神经网络的方法来处理复杂的图结构数据。该方法不仅能够有效提取节点间的全局关系信息还能显著提升模型在预测未知实体方面的性能。特别地,在面对那些超出知识库现有实体范围但存在于训练样本中的查询时可以通过该方法实现有效的推理与补全功能。
具体的方案思路是:
将TransE模型中的距离函数重新定义为f(h,r,t),并通过图神经网络(GNN)进行估计。损失函数L定义为:L=∑_{i=1}^N [τ + f(h_i, r_i, t_i) − f(h_i', r_i, t_i')]其中,
f(h,r,t)=||v_h,v_r−v_t||
f函数基于每个实体与其相关联的实体及关系进行更新,并具体来说包括传播过程与结果计算两个主要环节:具体来说,
该模型通过两步骤实现信息传递:
首先,
通过头层注意力机制对头节点特征进行线性变换后再施加批归一化处理并应用ReLU激活函数完成特征提取;
其次,
通过尾层注意力机制对尾节点特征同样实施线性变换并结合批归一化处理与ReLU激活以完成最终特征表示。
- 最后在获取了所有的从不同Head和Tail信息之后,用avg pooling整合
该模型具备处理未知实体的新节点的能力是因为:当引入一个新的未知实体时,在与其相关的子图sub-graph中会出现新的节点,并且该实体还与其他已知实体相连。这些问题都可以通过GNN来解决。
此份工作是知识图谱补全的小工具,并与推荐系统任务相辅相成地协同作用。

Integrating Knowledge Graph Learning Paradigms with Recommendation Systems: Aim aimed at enhancing comprehension of user preferences. 出自何向南团队在WWW 2019的论文。
知识在呈现物品相关信息方面展现出巨大的潜力,在整合知识图谱(KG)于推荐系统中可望通过强化用户与物品之间的互动来提升推荐效果以及模型解释性。然而这篇论文的主要动机其主要动机是KG往往可能存在缺失或不完整性的问题。如上图所示Robert Zemeckis与Death Becomes Her之间存在的红色虚线可能代表了这种缺失的关系。假设一位用户偏好《回到未来》与《 Enuma Elish》我们可以通过分析这些相关实体及其关联关系来理解用户的导演偏好但在关系缺失的情况下即便已经成功地识别了用户的电影喜好但我们仍可能无法向用户推荐到《死亡即美》这部电影
在利用KG进行推荐时(...),我们应当考虑到其不完全性的特点(...)。值得注意的是(...),作者探讨了一个有趣的问题:即KG能否通过补全机制反过来提升基于用户-物品互动的信息质量(...)。换句话说,在这种情况下(...),如果我们发现某些对某部电影感兴趣的用户也倾向于欣赏Robert Zemeckis执导的其他作品(...),那么我们就可以合理推断 Robert Zemeckis 是《Death Becomes Her》的导演(...)。进而推断 Robert Zemeckis 是《Death Becomes Her》的导演(...)。
基于知识图谱(Knowledge Graph, KG)的应用场景下,在理解用户的偏好方面具有显著的帮助。同时,在知识图谱中存在缺失的事实时可以通过用户与物品之间的交互数据能够填充这些缺失信息并进一步提升知识图谱的质量
最终使两个部分都得到加强。

该算法模型图主要展示如下内容:首先,在分析用户行为模式时采用了 KG 这种知识表示工具,并从其特征中提取出用户的偏好信息;接着通过构建超平面模型对项目及偏好信息与实体间关系的嵌入进行了优化处理,并在此基础上同时解决两个关键问题:一是 KG 在提升用户体验方面起到了关键作用;二是通过反向传播机制优化并补充 KG 的知识结构。
