|知识图普嵌入技术的极简教程:KGE以及如何计算它们( 二 )


3、基于神经网络的方法:
神经网络现在在许多领域都很流行 , 它们被用于查找KGE也就是很正常的事情了 。 Semantic Matching Energy它定义了一个能量(energy )函数 , 用于通过使用神经网络为三元组分配一个值 。 神经张量网络(Neural Tensor Network)使用能量函数 , 但它用双线性张量层代替了神经网络的标准线性层 。
像 ConvE 这样的卷积神经网络以“图像”的形式重塑实体和关系的数值表示 , 然后应用卷积滤波器提取特征 , 从而学习最终的嵌入 。 我们还可以找到受 GAN 启发的模型(例如 KBGAN)和基于 Transformer 的模型(例如 HittER)来计算KGE 。
为了实现这些算法 , 我们有多个 python 库 , 例如:

  • LibKGE
  • PyKEEN
  • GraphVite
  • AmpliGraph
KGE 算法的结构有一些共同的基本思想来构建一个算法来计算KGE 。 下面列出了其中一些想法:
Negative Generation:
这是在知识图中生成否定或损坏的三元组的概念 。 负三元组是不属于原始图的三元组 。 这些可以随机生成 , 也可以使用伯努利负采样等策略生成 。
Scoring Function:
它是一个包装三元组的函数 , 它输出一个值或一个分数 。 如果分数高 , 那么三元组是有效的 , 如果分数低 , 那么它是一个负三元组 。 评分函数是构建 KGE 算法的重要部分之一 。
Loss Function:
由于算法是根据优化问题建模的 , 因此我们在训练过程中使用了损失函数 。 这个损失函数使用正负三元组的分数来计算损失 。 我们的目标是尽量减少损失 , 减少损失的过程肯定也少不了优化器 。
一般情况下损失函数包括——Cross entropy loss Pairwise margin-based hinge loss等 。
生成嵌入后的下一步是什么?学习 KGE 算法并应用它们来查找嵌入是很有趣的 。 现在 , 下一步是什么?嵌入的用途是什么?
有一些图下游任务可以应用于知识图谱 , 例如:
知识图谱补全:
这也称为链接预测 , 我们的目标是预测知识图中缺失的关系或潜在的可能关系 。 它也可以称为知识图谱增强 。
这项任务归结为找到一个可以最好地表示为具有给定的关系和一个实体的事实 。 简单地说 , 任务是猜测 (? r t) 或 (h r ?) 中的缺失部分 , 也可以分别称为头部预测或尾部预测 。 我们使用基于等级的评估技术来查找我们的知识图嵌入的性能 。
三元组分类:
这是一个识别给定三元组是否有效的问题 , 即它是正三元组还是负三元组 。 此任务的输出只有是或否 。 使用评分函数并设置阈值以将正三元组与负三元组分开 。 通俗的讲就是一个二元分类的问题 。
推荐系统是KEG应用的一个重要领域 。 嵌入的质量对于上述任务的性能和准确性很重要 。 这些任务的结果告诉我们是否能够生成高质量的嵌入 。
原文地址:https://www.overfit.cn/post/0248ec021912474a9de9be2ab287c33a
【|知识图普嵌入技术的极简教程:KGE以及如何计算它们】作者:Rohith Teja

相关经验推荐