文献知识图谱可视化_[论文解读]知识图谱向量化表示Trans系列EHRD四篇文献
[解读]TransE: Translating Embeddings for Modeling Multi-relation Data
发表于2013年NIPS,现在称为NeurlPS。
Abstract:提出基于对多关系数据的建模,将实体和关系映射到低维空间。
Introduction:复杂关系数据普遍存在于社交网络平台、推荐系统以及知识图谱中,在这种背景下主要挑战来自于多种类型的数据节点及其相互连接的方式
TransE:基于embedding、最大间隔、负采样,提出transE模型。
TransH:该方法通过将不同实体在复杂网络中映射到一个共同的空间,并利用超平面(hyperplane)来描述它们之间的多种关联
TransR:与TransE/TransH相比参数较多,关系空间(space)
TransD:与TransR相比将参数映射矩阵换成了两个向量,减少了模型参数
对比SE、SME及LFM等现有模型,在本研究中提出了一种改进型的transE模型。该改进型通过降低参数数量,在一定程度上提升了模型的效果。
Experiments:采用了Wordnet和Freebase作为数据集;研究模型的有效性:包括边的预测以及案例分析。
Conclusion:总结提出的transE模型的优点:参数小、效果好、易扩展。

摘要核心:
1.使用低维向量表示三元组数据(知识图谱)的实体和关系
2.易于训练,模型参数少,可以扩展到大的数据
3.模型的损失函数是基于实体和向量的计算(translations)
4.通过边的预测等任务在两个数据集验证了模型的有效性
论文中提到的多关系数据的定义如下:



论文中一般的符号表示:
知识图谱三元组:(h,r/l,t),head,relation,label,tail
[x]+ = max(0,x)
margin-based loss的理解
n = |entities|,m = |relations|,用来分析算法的复杂度
TransE算法的思想:
给定一个三元组(h,r,t),其中h和t为实体且r为关系,在该模型中我们假设所有的实体与对应的关系均存在于k维线性空间之中。其核心思想在于通过向量运算使得h与r的组合能够接近t的表现形式。

h+r将趋近于正确的t而非不正确的t。为了衡量这种逼近程度我们采用基于能量的框架d(h+l t)为此我们可以采用L1范数或L2范数作为正则化手段以防止过拟合问题
对训练集使用margin-base的目标函数:

上文中第一个连加符号代表针对所有正样本的情况,在此基础之上定义了相关的运算关系;第二个连加符号则代表针对所有负样本来执行的操作步骤。每一个被选定的正样本都会与某个特定的负样本来形成对应关系,在这种情况下我们可以通过定义明确的操作流程来完成相应的计算过程。对于负样本的具体构造方式而言,则是基于原有的正样本来构造的一种补充机制,在这种机制下我们能够有效地避免出现同时更改多个关键节点的可能性问题

对于所有正样本而言,在应用函数d进行计算后所得的结果应当尽可能小;而对于所有负样本而言,则应当尽可能大。如果不考虑γ的影响,则正样本与负样本之间的d函数差值必须满足前者小于后者这一条件;这样计算所得的结果必然是一个负值,在经过[x]+运算之后整个数值将被归零化为零;因此我们的目标损失函数也就被设定为了零。然而为了实现这一目标我们需要对参数γ有一个清晰的理解:引入γ后,则要求两个d之间的差值越大越好;当两个d之间的差值为负且其绝对值小于γ时整个式子将变为正值从而导致损失不再为零;因此我们希望优化的目标是使整个式子尽可能趋近于零以达到最小化损失的目的;最理想的情况是希望两个d之间的差值不仅为负而且其绝对值大于γ从而使整个式子成为负数在[x]+运算下整体结果也将归零化而使损失再次达到最小甚至完全消失。基于此我们采用随机梯度下降SGD算法来进行模型训练
论文中将算法整体流程列举如下:

在循环中对实体向量e进行更新的主要原因在于每次更新后不一定是单位向量因此在每次循环结束后将其归一化处理以确保后续操作的有效性与此同时对于SBatch中的每一个正确三元组(s p o)∈ SBatch系统会相应地找到一个错误的三元组(s' p' o')∈ B corrupt并将它们组合在一起并将这些组合存储到TBatch集合中
综上,强调一下几个细节:
负样本:(h,r,t),固定h,r,替换t;固定r,t,替换h
存在的问题:1 to many,many to 1,many to many

在图中所述的第一个问题中,在对称性较高的情况下(即当交换头实体与尾实体的位置时),该三元组依然保持正确性;在这种情况下,则要求关系向量r等于零或者h等于t这显然是存在问题的。
第二个问题是关于一对多和多对一的关系处理问题,在图中的示例是一个典型的多对一关系,在TransE模型中会将多个不同类别的头实体被同一关系映射到同一个尾实体的情况视为相同实体;然而实际上这些头实体应为不同的对象;同样存在挑战
[解读]TransH: Knowledge Graph Embedding by Translating on Hyperplanes
主要针对的是一对多、多对一以及多对多的关系问题,在本研究中我们假设所有的关系都有一个超平面映射的方式进行处理。基本思路是:实体在不同关系中具有独特的嵌入表示,在这个预设的超平面上通过特定的方式进行映射与计算。具体而言,在这一研究框架下我们采用的是基于TransE模型的实现方式来进行关系建模描述。下面具体阐述如何从数学角度进行建模描述

参考右侧图示,在将h和t进行处理时

基于矢量加法法则
这一过程
模型的得分函数与TransE是一致的:

该得分为正确三元组赋予较低分值的同时将错误三元组分配较高分值而模型参数则包含了所有实体的向量参数相应的关联关系向量及其对应的法线向量
模型的损失函数与TransE也基本一致:

在损失函数中,除了以上的公式之外,还对损失函数中添加了限制条件:

前两个和其三均对模长施加了约束条件;第二个则是对垂直方向的有效性进行限定。若要将这三项约束条件整合到损失函数中则并非易事。采用软约束手段来表示损失函数则是一个切实可行的办法

通过SGD算法对损失函数进行优化,在每一轮训练中都会有一个正样本与之对应的负样本。值得注意的是,在当前的设置中,并未在公式(4)中显式地包含第三个限制条件。为了满足约束条件(3),在每次mini-batch更新过程中,我们都会通过L2正则化来归一化权重向量wr以确保其模长不超过1。
最后一点注意就是减少在构建反例时产生的误差,在传统的TransE模型中对于每一个正确的三元组(h,r,t)构建该反例的方法是:要么固定h和r后随机选取t;要么固定r和t后随机选取h。其中可能出现的一对多情况如下:当你随机选取尾实体的时候除了当前这个正确的尾实体外还可能存在其他真实的尾实体使得该三元组本身也是成立的但在实际采样过程中可能会将这些真实情况误判为错误的情况从而导致系统会误以为这些反例都是有效的正向例子最终会导致原本不相关的反例被当作有效的正向关系来处理
基于上述说明,在采样过程中若涉及一对多关系时,则倾向于替换成首端实体;反之,在多对一的情形下,则会选择替换成末尾实体。具体而言,在所有具有关系r的三元组集合中:
- 将该头实体对应的尾实体数量均值定义为tph;
- 将与之相关的首端实体数量均值定义为hpt;
- 这从而形成了一个伯努利分布模型,
其参数设置为此处计算得到的关键指标值。

。给定一个正确的三元组,关系为r,我们用概率

来替代头实体,用概率

来代替尾实体,这样进行负样本采样。
[分析] TransR: Analyzing Entity and Relation Embedding Techniques for Knowledge Graph Reconstruction
TransR算法是由清华大学刘知远、孙茂松的小组发表AAAI上的论文。
针对TransE/TransH模型中存在的问题进行分析发现:在这一模型中由于涉及的关系节点与实体节点属于不同类型的节点可能存在分布于不同空间维度中因此传统的统一空间建模方法难以满足其需求为此论文提出了一种新的解决方案即为实体和关系分别设置了独立的空间维度通过这种方式使得实体与关系的嵌入向量能够具有不同的表示能力主要思路是将一个特定的关系映射到对应的实体空间上以实现有效的关联操作具体实现方法则采用了一种基于矩阵映射的技术即对于每一个特定的关系r都对应构建一个特定的映射矩阵Mr

对于每个关系r都存在一个对应的映射矩阵Mr,在假设实体具有k维性的同时也假定关系具有d维性的情况下,则这样的映射矩阵将具有形状(形状)为k乘以d的形式。这种设定意味着每个实体都可以被嵌入到与该特定关系相关的向量空间中

从而根据上面的式子得分函数可以写为如下:

除此之外,对h、r、t和映射矩阵会加一些正则的限制条件:

用于训练的目标函数如下:

到目前为止为止, 已经阐述了三类模型即TransE、TransH以及TransR, 它们均赋予每个关系一个独特的向量表示.对于每个单独的关系而言, 可以采用更为细致的方式进行刻画, 比方说'location-location-contain'这类头尾关系不仅限于国家-城市或国家-大学, 还能涵盖大洲-国家等多种组合形式, 这些情况都可以通过包含关系加以表征.然而, 这种简单的'relation'层次可能会显得过于笼统因此建议采用基于TransR的聚类方法CTransR来进行更为精细的关系建模.
核心概念在于对每个具体的关系r实施聚类操作,并将其划分为若干个群组。具体而言,在给定的具体关系r下,则会包含大量对应的实体对(h,t),这些实体对会被提取其TransE模型训练所得的h和t嵌入表示。接着会对这些h-t向量进行无固定分组的聚类分析,并最终得到每个子群组对应的细分层次关系rc(其中rc代表细分层次关系)。其中rc向量即为各子群组的中心向量表示。在每个特定的关系r中都对应一个映射矩阵Mr(与TransR模型保持一致)。

同样,得分函数定义为如下:

在第二部分中提到的内容表明,在更细粒度的关系向量rc与其对应的主关系向量r之间保持适当距离是一个合理的选择。参数α被定义为一个可调节的关键参数。同时,在损失函数方面也采用了相同的优化目标。对应的对实体h、关系r以及尾实体t施加的约束条件与TransR模型保持一致。

在论文的实践部分中,在常用负采样方法下分别被称为"unif"与"bern"。采用SGD方法进行优化以防止过拟合,在初始化阶段将实体与关系的嵌入基于TransE结果,并将关系矩阵设置为单位矩阵。
[解读]TransD: Knowledge Graph Embedding via Dynamic Mapping Matrix
这篇论文来自中科院计算所的研究团队,由刘康及赵军担任该领域的研究团队,在ACL2015会议上发表.
文章主要是解决了TransR的几个不足之处:首先,在一个特定的关系r下,所有实体都采用同一个映射矩阵Mr进行处理。例如,在一个三元组中,头实体与尾实体通常是不同类型的(如人名与国家名),但它们都会被同一个矩阵Mr进行映射处理。其次,在投影操作中不仅涉及关系r的影响,还包含了实体的信息共同作用;然而仅仅通过关系r单独确定映射矩阵的方式显得不够合理。第三,在TransR模型中为每个单独的关系r都定义了一个独立的映射矩阵Mr;由于参数数量较大,在面对大规模数据集时TransR所具有的参数规模甚至超过了更早提出的TransE模型以及后来提出的TransH模型;因此在实际应用中TransR及其变种CTransR难以实现有效的扩展与推广。

主要思路是将映射矩阵Mr分解为两个关键向量的乘积形式。尽管原文未明确表述这一点,默认情况下其核心思想与此一致,则明显地导致参数规模发生缩减现象:原先由k×d维参数转换为k+d维参数空间后即可实现目标函数值的最大化估计需求。
在TransD架构设计中,默认情况下每个实体与关系都被赋予特定意义下的两种关键表示形式:
第一种形式直接反映了实体及其关联关系的基本意义特征;
第二种形式则被命名为projection vector(投影向量),其作用在于将实体嵌入空间投影至关联关系嵌入空间,并参与构建完整的映射矩阵体系。
值得注意的是,在TransD模型架构设计中并未采用传统的矩阵与向量运算方式(matrix-vector operation),而是完全基于矢量化计算框架展开所有操作过程。
我们考虑任意三元组(h, r, t),其对应的向量分别为h、hp、r、rp、t和tp(其中下标为p的分量用于表示投影向量)。假设这些实体向量均为n维空间中的向量而关系向量则属于m维空间(m < n),对于每一个这样的三元组将会有两个映射矩阵W_h∈ℝ^{m×n} 和 W_r∈ℝ^{m×n} 用于将实体空间转换至关系空间进行建模

这两个向量将会把实体从实体空间映射到关系空间:

在这种情形下,则映射矩阵是由实体与关系共同决定的,并体现出它们之间的互动机制。每个向量作为列向量参与转置运算后得到的结果是一个m×n维的空间。在初始化映射矩阵的过程中,在每个新构建的子矩阵之后附加一个单位方阵作为辅助项以保证初始状态的有效性
有了映射矩阵,从而将实体向量投影到关系空间:

得分函数没有改动:

同理,实验中也有限制条件:

假设存在nt个三元组,并且每个三元组都对应一个二进制值标签(此处指),其中若其对应的标签为,则该情况属于错误的情形;若其对应的标签为,则该情况属于正确的情形



产生负样本的过程使用两种方法:“unif”和“bern”。三元组的表示方法:



^表示且。模型损失函数:

采用SGD算法进行模型训练。加速训练的目的在于利用TransE模型生成初始化向量。
这篇论文的最后写了TransE、TransH、TransR之间的联系:
在TransD框架下,在特定条件下(即m等于n的情况下),关系向量与实体向量具有相同的维度,并且所有的投影向量被设定为零。将这一设定代入原始公式后能够直接推导出相应的结论。
TransH同样也是实体和向量在一个空间上,m与n是相等的。

这里带入原式的话:


后面两个h的乘积是个常数,可以调换位置。
TransD与TransH的主要区别在于,在TransH模型中( TransH ),其投影向量仅由关系决定;而(在)TransD模型中,则是通过实体与关系的结合来确定投影向量。

(TransH)
相对于TransR而言,在这种架构下引入了优化机制以提升性能表现。每个关系在TransR中均被赋予了一个映射矩阵用于表示其特定的行为模式。通过设定实体与关系各自的projection vector来动态计算出相应的投影矩阵。而相对于 TransD 而言,并未采用 矩阵 与 向量 相乘的方式而是采用了 向量 间的交互运算。
几个模型的框架对比:




在公式图中TransE的得分函数中编号为1和2的部分即代表L1损失或L2损失。在一些数据集中采用L1表现更优,在另一些数据集中采用L2表现出色。
在复杂度分析图中Ne具体指的是实体的数量,Nr则代表边的数量,m代表实体在各个维度上的扩展程度,n则代表关系之间的连接情况.
在复杂度图中采用TransH模型,在该模型中增加了两倍的关系维度。这种设计是由于关系向量需要满足自身的要求。其中一个是用于表示关系法向量的部分。
4.在复杂度图中,TransR由三个主要部分构成:实体参数、关系参数以及矩阵参数。其中mn代表的是矩阵维度,并按数量Nr分别处理。CTransR则通过将每个关系分割为d个子类别(从而进一步提高分类精度)。
5.第三列表示时间复杂度,Nt表示三元组的个数。
实验设置和结果分析:

数据集:两个数据集Wordnet和Freebase
使用的baselines:Unstructured、RESCAL、SE、SME、LSM
多种任务涉及链接预测(Link Prediction):基于已知头实体及其关联信息推断潜在的尾实体;同样地,基于已知尾实体及其关联信息推断潜在的头实体;此外还包括案例研究(Case Study)以及新型关联探索(New Relationship)。

WordNet数据库主要旨在创建直观易用的词典,并提供自动文本分析功能。每个实体(通常称为synset)代表一个词的概念,而它们之间的关系则体现了词法连接。WN数据集。( score NN 1, hypernym, evaluation NN 1)以及( score NN 2, has part, musical notation NN 1)。
Freebase知识图谱是一个持续扩展的知识库,在2013年时已包含了1.2\times 10^{9}个三元组与8\times 10^{7}个实体,并包含一个小规模的数据集以及一个大规模的数据集
研究成果:
一.参数规模:

在图中第一列展示了TransE与其他基准模型的对比结果;第二列则展示了模型中的参数数量;在TransE模型中,默认将嵌入向量设定为k维,并对所有实体和关系都会进行表示;因此,在该模型中总的参数数量为O(nek + nrk);第三列则是对各个数据集下参数数量进行了归一化展示;通过这一对比可以看出,在实际应用中所需的计算资源仍然较为有限。
在模型性能评估方面采用了三种不同的Baseline方法进行对比研究。在Implementation部分则详细描述了我们方法(即TransE)所使用的超参数设置。具体而言,在SGD优化过程中设置了三个不同的学习率值{0.001, 0.01, 0.1};同时将Margin参数设定为{1, 2, 10};此外还决定了Embedding维度的选择范围为{20, 50}。经过多次实验比较发现这样的配置策略能够有效提升模型在各数据集上的性能表现。
二.边的预测:

这个任务即为基于头实体及关系来推断相应的尾实体;或者基于尾实体及关系来推断对应的头实体。上图中包含两个评价预测模型的关键指标:Mean Rank 和 Hits@10。其中 Mean Rank 指标衡量的是预测结果与真实值之间的平均接近程度;而 Hits@10 则表示模型在前十个候选答案中是否能准确命中真实答案的比例。
在每一个测试中的三元组集合中,在将尾部实体t替换为知识图谱中的所有可能替代方案时(即依次替代),我们使用定义fr(h,t)这一得分为评估指标来进行计算。通过这一操作后,在实际应用中我们能够获得一系列具体的得分数值。随后按照从小到大的排序策略对这些数值进行排列处理,在这种情况下排名位置越靠前就意味着模型预测效果越好。具体而言,在测试数据集中第一个实例排在第100位上,在第二个实例则排到了第200位的位置上……之后我们将这些排名结果取平均值得出最终的Mean Rank值(记作Mean Mark),其数值越小则表示模型性能表现越优
Hits@10是指通过得分函数生成的数值进行排序后,在每个训练集中查看正确答案是否出现在前十名位置,并将出现次数累加后除以总样本数量得到的结果指标值。数值越接近100%,则表明模型性能越优。
raw与filter之间的区别在于,在filter阶段会排除那些在训练过程中已经出现过的样本所产生的一系列结果。具体而言,在尝试生成错误的关系时,并将其作为新的三元组进行尝试生成错误的关系;然而,在这种情况下所使用的尾实体可能与原始头实体及其相关联的关系所形成的原始三元组是一致且已经在训练集中存在的;针对这一缺陷的存在性问题,则需要通过剔除这些重复样本的方式以获得过滤后的结果
三.将三元组分成多个类型做效果统计

本实验将FB15k中的三元组依据一对一、一对多、多对一及多对多这四种关系模式分成四类,并分别针对头实体与尾实体展开预测任务。经过过滤去除不符合条件的数据后,采用Hits@10指标进行性能评估。需要注意的是,在上述四种分类模式中,默认是以relation属性作为划分依据。具体而言,在一对一关系中(即给定一个特定的head节点),最多只能对应一个相应的tail节点;而一对多项式(poly)关系则表示一个head节点能够关联到多个不同的tail节点;在多项式-单一(many-to-one)情况下,则同一个tail节点可能有多个相关的head节点与其关联;至于复杂的关系模式(如many-to-many),则允许每个类别都与多个其他类别形成关联
对于任意一个实体-关系对(h,l)或(l,t),我们计算并比较其对应的所有头实体与尾实体的平均数量。如果该平均值低于1.5,则称该关系类型为单一类型;反之则属于一对多类型。例如,在实际应用中,假设存在一个关系r,在其对应的所有实例中拥有1.2个头 entities与3.2个 tail entities,则该 relation r 将被分类为一对多类型的关系。
四.Case Study案例分析

左侧第一列展示了测试集中的输入情况及对应的头实体与关系设定;右侧则显示了模型生成的结果;其中黑体部分标注了测试集中正确的尾实体;而斜体则标记了训练过程中已经见过的相关实体
五.新关系预测(New Relationship)

该实验旨在学习新的relation知识。研究团队随机选取了40条新的relation边,并对FB15k数据集进行了二分处理。具体来说,他们将FB15k数据划分为两个子集:一个仅包含这40条新关系的所有三元组,另一个则包含了剩下的所有三元组.随后,剩余的数据被分配为训练集与验证集,而包含这40条新关系的所有三元组则被指定为测试目标.实验的第一阶段是对剩余的数据进行初步训练,以获取除了这40条新边之外的所有实体及其对应的嵌入向量.接着,在第二阶段中,研究团队分别使用不同数量的例子(包括零个、十个、一百个及一千个)来进一步优化这40条特定关系的嵌入表示.特别地,他们在每一轮训练中都专注于更新仅限于这四十条新关系的所有嵌入参数.最后通过测试集对模型性能进行了评估
从 TransE 的角度来看,在知识图谱领域具有很高的实用性,并获得了超过 2000 的引用量。该方法深刻影响了整个 Trans 系列的知识表示与学习过程。重要代表模型包括 TransH、TransR 和 TransD 等等。这些模型简洁而高效,并且易于训练。通过研究这些模型的学习机制与优化策略,则可以更好地掌握 entity 和 relation 的嵌入表示方法,在知识图谱构建中发挥重要作用。此外,在图神经网络领域中还应深入研究的是 RGCN 模型的相关技术与应用前景
