一、摘要和引言
我们现在考虑的问题是把多关系数据的实体和关系嵌入到低维向量空间中。希望通过构建一个易于训练,有限参数,并且适用于大型数据库的稳定模型。为此,我们提出了TranE,它是把实体间的关系表示为 在表示实体的低维空间中的平移等转换操作。尽管这个假设很简单,但它被证明是强大的,因为大量的实验表明,TransE在两个知识库上的链路预测显著优于最先进的方法。此外,它可以在一个有100万个实体、25k个关系和1700多万个训练样本的大规模数据集上成功训练。
Multi-relational data(多关系数据)指的是在有向图中,节点对应的是entities(实体)和edges(关系),给定知识图谱(h,l,t),其中h为头实体集合,t为尾实体集合,l为关系集合。Multi-relational data在许多领域应用广泛,例如:social network analysis社会网络分析(分析用户实体的社交关系),recommender systems推荐系统(用户实体和商品实体间的购买、评级、浏览和搜索关系),knowledge bases (KBs) 知识库。而我们的任务是,聚焦来自KBs的multi-relational data构建一个模型,能够提供一种有效的工具,自动添加新的事实,无需通过额外的知识。
(1)构建多元关系数据:通常关系数据包括单一关系数据(single-relational data)和多元关系数据(multi-relational data)。单一关系通常是结构化的,可以直接进行简单的推理;多元关系则依赖于多种类型的实体和关系,因此需要一种通用的方法能够同时考虑异构关系。
(2)关系可以作为嵌入空间之间的翻译:在这篇paper中,我们使用TransE模型,一个基于能量的学习实体低维嵌入的模型。在TransE中,关系被表示为嵌入空间中的平移,如果存在*(h,l,t),那么尾实体t必须接近于头实体在低维嵌入空间中添加一个关系向量l*的结果。基于转换参数的动机有两个:第一,层次关系在KBs中非常常见;第二,来自于最近的工作。
二、模型介绍和相关工作
模型介绍
给定训练集*S*,由含头实体和尾实体以及他们之间关系的三元组*(h, l, t)*构成,通过模型学习实体和关系的嵌入向量。模型的基本思想是,由*l*边产生的函数关系,这个关系映射嵌入的转换(translation)。也就是说,我们希望 *h + l* 与 *t* 能够尽可能的“相似”。 为了学习这种嵌入,我们对训练集构建基于边缘的**最小化评价指标函数**其中,[·]+表示max(0,x),d(·)表示一种衡量三元组能量(energy)的距离函数,可以是L1范数也可以是L2范数。r表示的是三元组正例和负例的间隔,为超参,类似于SVM分类算法中的“间隔”。从目标函数中可看到需要负例(h’,l,t’)来进行函数的优化。但是众所周知,知识图谱中存储的均为正例,所以就需要人为的构建负例。TransE算法使用的是如下所示的负例构建方法。
从知识图谱中随机抽取其他头实体和尾实体来替换当前三元组中头实体或者尾实体,但是为了防止替换之后的三元组也是正例,TransE算法的限制是替换过程不能同时进行。
接着,在可能的h,l,t三元组上,使用随机梯度下降算法进行优化,并且添加附加的约束条件:
- 实体的嵌入的L2范数为1
- 标签嵌入的’没有正则化或范数约束
这是因为,它防止了训练过程通过人为增加实体嵌入规范来微不足道地最小化L。
具体的算法流程如下:
(1)首先使用均匀分布初始化参数,初始化关系表征向量和实体向量,并分别进行归一化;
(2)循环每一个epoch,从所有样本中划分batch形成Sbatch,初始化Tbatch用于保存正样本和负样本;
(3)循环Sbatch中每一个样本,并随机进行负采样生成对应的负样本,并累加到Tbatch中;
(4)使用随机梯度下降训练目标函数,并调整三个向量;
相关工作
知识表示的相关工作包括:三、实验验证
我们的方法TransE是根据从Wordnet和Freebase提取的数据进行评估的(它们的统计数据在表2中给出),与文献中最近的几种方法相比,这些方法在各种基准上实现了最佳的当前性能,并扩展到相对较大的数据集。??
评价指标
对于每个测试三元组,头部将被移除,并依次由字典的每个实体替换。先用模型计算这些损坏的三联体的异同(或能量),然后按升序排序;最终存储正确实体的秩。整个过程是重复的,同时去掉尾巴而不是头。我们报告这些预测排名的平均值和hits@10,即排名前10的正确实体的比例。
这些指标具有指标性,但是当错误的三元组最终成为有效三元组时,这些指标就存在了相当大的缺陷。为了避免这种误导行为,我们建议从错误三元组列表中删除出现在训练、验证或测试集中的所有元组。在下面,我们根据这两个设置报告mean rank和hits@10:原始的(可能有缺陷的)一个被称为raw,而我们将更新的称为过滤(或filt.)。我们只提供FB1M实验的原始结果。
补充
重新对TranE算法的两个评价指标进行了分析:
MeanRank 是所有三元组(正确和错误)能量升序排名之后,正确三元组排名序号的平均值;
Hits@10 是正确三元组实体在前10名的比例
1)链接预测(link precision)
??论文中并没有详细说明链接预测的具体操作,实质上链接预测可以分为实体预测和关系预测。
(1)实体预测:给定已知的头实体(或尾实体)以及关系类,预测对应的尾实体(或头实体);
(2)关系预测:给定已知的头实体和尾实体,预测对应的关系。
??作者首先完成的是实体预测。如下图表示不同数据集上各个模型的预测效果:
表3显示了所有比较方法在所有数据集上的结果。正如预期的那样,过滤后的设置提供了更低的平均秩和更高的hits@10,我们认为这是对方法在链接预测中的性能更清晰的评价。然而,一般来说,原始和过滤的趋势是相同的。
我们的方法TransE在所有指标上优于所有同行,通常有很大的差距,并达到一些有前景的绝对性能分数,如在WN上hits@10的89%(超过40k实体)和在FB1M上34%(超过100万个实体)。T ransE和最佳亚军方法之间的所有差异都很重要。
随后作者划分了四种类型的关系,分别为一对一、一对多、多对一、多对多,实验方法与前面相同,只是将测试集划分的更细,模型效果如下:
作者给出预测的样例,即给定头实体和关系类,从词典中预测尾实体:
最后,作者完成了根据少量的样本预测新关系:
四、总结
优点:
我们提出了一种学习KBs嵌入的新方法,着重于模型的最小参数化,以主要表示层次关系。我们表明,与两个不同知识库上的竞争方法相比,它工作得非常好,而且是一个高度可扩展的模型,因此我们将它应用于一个非常大规模的Freebase数据块。尽管我们还不清楚是否所有的关系类型都可以通过我们的方法,通过将评估分解为类别(1对1,1对多,…)来充分建模。在所有设置中,与其他方法相比,它似乎表现良好
未来工作:
未来的工作可以进一步分析这个模型,也可以集中精力在更多的任务中开发它,特别是应用,如学习受启发的单词表示。结合KBs和text是另一个重要的方向,证明我们的方法是有用的。因此,我们最近卓有成效地将TransE插入到从文本中提取关系的框架中。
参考链接:https://blog.csdn.net/qq_36426650/article/details/103316877
https://blog.csdn.net/sinat_28978363/article/details/88633698
算法解析:
https://baijiahao.baidu.com/s?id=1679135944248953892&wfr=spider&for=pc