一种带有层次关系结构知识图谱的表示学习方法与流程

文档序号:21724624发布日期:2020-08-05 01:15阅读:303来源:国知局
一种带有层次关系结构知识图谱的表示学习方法与流程

本发明属于知识图谱技术领域,具体涉及一种带有层次关系结构知识图谱的表示学习方法。



背景技术:

近年来,随着人工智能的快速发展,知识图谱已经成为人工智能相关应用的重要数据来源。许多典型的知识图谱,如freebase,dbpedia,yago和nell被创建且被成功地用于现实世界的应用之中,应用范围从语义分析和命名实体消歧到信息提取和问答系统。一个典型的知识图谱可看作一个由许多实体和关系构成的多关系图,其中用节点来表示实体,用边来表示实体间的关系。此外,多关系图中的每条边也可被看作一个形式为(headentity,relation,tailentity)的三元组,每个三元组也被称为一个事实,用来表示两个实体被一个特定的关系所连接。尽管三元组在表示结构化数据上效果明显,但三元组内在的符号本质却使得知识图谱变得很难操控。

为了解决上述问题,现时主要的研究为知识图谱嵌入的方向,这一研究方向的关键思想为将包含实体和关系的知识图谱嵌入到一个连续的低维向量空间中,使其在保留知识图谱本质结构的同时实现简化操作的目的。实体和关系的嵌入结果可以进一步地使各种任务受益,比如知识图谱补全,关系提取,实体分类和实体解析。目前,大多数现有技术都是将可观察到的事实作为基础来进行嵌入任务,如transe模型、transh模型、transr模型等。它们的主要表现为给定一个知识图谱,将实体和关系表示在一个连续的向量空间中,并定义一个得分函数以评估每个三元组的可信度。之后,可以通过最大化观察到的事实的可信度之和来获得实体和关系嵌入结果。这类嵌入技术大致可以被分为两大类,分别为基于平移的模型和语义匹配模型。这两类模型最明显的不同点是前者使用的是基于距离的得分函数,后者采用的是基于相似性的得分函数。

上述方法模型均只是基于知识图谱中的可见事实进行嵌入任务。实际上还有很多额外信息可以被融入从而进一步改进此任务,比如实体类型、关系路径、文本描述和逻辑规则等。有鉴于此,本发明提出了一种新的技术方案。



技术实现要素:

本发明的目的在于:针对现有技术的不足,而提供的一种带有层次关系结构知识图谱的表示学习方法,通过该方法能有效地提升模型的预测能力。

为实现上述目的,本发明采用如下技术方案:

一种带有层次关系结构知识图谱的表示学习方法,包括以下步骤:

步骤1、选取树状的层次关系结构,并根据该结构对带有层次关系结构信息的知识图谱进行形式化描述;

步骤2、根据该知识图谱形式化后的内容以及考虑层次关系结构的知识图谱表示学习的目标是将关系和实体都投影到一个k维的向量空间中,进行构建transhrs模型,使该模型满足层次关系结构知识图谱的条件;

步骤3、设置损失函数,通过对transhrs模型进行训练目标使该模型的总体损失函数的值最小化;

步骤4、迭代更新所述知识图谱中实体和关系的嵌入结果。

作为对本发明中所述的带有层次关系结构知识图谱的表示学习方法的改进,所述步骤1中的树状层次关系结构包括根节点、叶子节点和路径,其中,选取关系结构中语义最一般的关系r作为此关系结构对应的树的根节点,并用r(k)表示位于层次关系结构第k层的某个r的子关系,则一条从根节点r出发到叶子节点r(k)的路径表示为的下标r表示这个树状结构的根节点,其上标表示这条路径中涉及到的子关系的总数。

作为对本发明中所述的带有层次关系结构知识图谱的表示学习方法的改进,所述步骤1中的对带有层次关系结构信息的知识图谱进行形式化描述为g=(e,r,t),e、r和t分别表示实体、关系和三元组的集合;其中,关系集r的形式化表达式为r={sro}∪rl,rl表示实体间的关系的集合,sro表示subrelationof,为一个表示关系间层次结构的特殊关系,三元组集合t包括两个不相交的子集,分别为三元组集合tr={(r,sro,p)|r,p∈rl}和relational三元组集合te={(h,r,t)|h,t∈e∧r∈rl},其中,在集合tr中,r和p是实体间的关系,sro是表示关系间层次结构的关系,表示r和p的子关系;在集合te中,h和t分别指代头实体和尾实体,r表示头实体与尾实体之间的关系。

作为对本发明中所述的带有层次关系结构知识图谱的表示学习方法的改进,所述步骤2中使该模型满足层次关系结构知识图谱的条件为:

relational-subrelationof等式:(h,r,t)∈te∧(r,sro,p)∈tr→(h,p,t)∈δ;和

subrelationof-subrelationof等式:(r,sro,p)∈tr∧(p,sro,pp)∈tr→(r,sro,pp)∈δ;

其中,e为实体集e中的每一个实体,r为关系集r中的每一个关系,δ为真三元组的集合。

作为对本发明中所述的带有层次关系结构知识图谱的表示学习方法的改进,所述步骤2中transhrs模型的构建为对层次关系结构信息进行编码,使其满足relational-subrelationof等式和subrelationof-subrelationof等式成立的条件,具体包括:

步骤2.1、对符号进行定义,使用ξ和ξ'分别表示一个正确的三元组和一个错误的三元组,δ和δ'分别表示正确的三元组集合和错误的三元组集合,并用(h,r,t)∈δ表示(h,r,t)为一个正确的三元组,另外,给定一个三元组(h,r,t),其中,h为头实体,r为关系,t为尾实体,在向量空间中的向量表示为h、r和t,其得分函数为fr(h,t)=||h+r-t||1/2,其值越小,则(h,r,t)为一个正确的三元组的可能性越大;

步骤2.2、根据relational-subrelationof等式和subrelationof-subrelationof等式,其中,在relational-subrelationof中,三元组(h,r,t)∈te和(r,sro,p)∈tr存在时,(h,p,t)判定为真,即当(r,sro,p)∈tr存在时,若(h,r,t)为真,则(h,p,t)为真,根据真假判断条件与得分函数的值的关系分析,当(r,sro,p)∈tr存在时,三元组(h,p,t)得分函数的值要比(h,r,t)小,即可使relational-subrelationof等式自然地成立,同理,subrelationof-subrelationof等式也可以自然地成立;

步骤2.3、对于每一个实体e∈e,用一个k维向量e表示,对于每一个关系r∈r,用一个k维向量r和一个特定的且与关系一一对应的球体表示,并且遵从基于平移模型的一般性要求,即当(h,r,t)存在时,使得h+r≈t。

作为对本发明中所述的带有层次关系结构知识图谱的表示学习方法的改进,所述transhrs模型的总体损失函数为:

l=le+lhrs(1);

其中,式(2)为关系三元组的基于间距的损失函数,[x]+定义为max(0,x),γ用于区分正例与负例的间距;式(3)为subrelationof三元组集合的损失函数,ξsro表示一个subrelationof三元组(r,sro,p)∈tr。

本发明的有益效果在于:与现有技术相比,本发明有效地将隐含在层次关系结构中的信息融入到知识图谱的表示学习当中,并提出了一个新的知识图谱嵌入模型transhrs;由于之前的方法涉及的层次关系结构是通过聚类算法得到的,而不是关系间的真实存在的结构,本发明在不影响传统的基于平移的模型的总体结构的情况下,将由泛化关系subrelationof构建的层次关系结构融入到了表示学习过程中。具体来说,transhrs将每个关系表示为一个向量和一个与关系一一对应的球体,利用向量与球体的相对位置关系实现对层次关系结构信息的编码,从而提升模型的预测能力。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施方式及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明中的带有层次关系结构的知识图谱的示例图;

图2为层次关系结构的示意图;

图3为本发明中tranhrs的训练目标示意图。

具体实施方式

如在说明书及权利要求当中使用了某些词汇来指称特定组件。本领域技术人员应可理解,硬件制造商可能会用不同名词来称呼同一个组件。本说明书及权利要求并不以名称的差异来作为区分组件的方式,而是以组件在功能上的差异来作为区分的准则。如在通篇说明书及权利要求当中所提及的“包含”为一开放式用语,故应解释成“包含但不限定于”。“大致”是指在可接受的误差范围内,本领域技术人员能够在一定误差范围内解决所述技术问题,基本达到所述技术效果。

在本发明的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、水平”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。

在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。

以下结合附图对本发明作进一步详细说明,但不作为对本发明的限定。

请参见图1,图1中展示了若干三元组以及这些三元组中的关系所形成的层次关系结构,其中的矩形表示的是实体;圆角矩形表示的是关系;实线指代的是可被观察到的三元组;虚线指代的是隐含的真三元组。于本实施例中中,给定一个知识图谱中已有的三元组(mikesimith,coaches,falcons),则三元组(mikesimith,coaches,falcons)和(mikesimith,personbelongstoorganization,falcons)可以根据关系间的层次结构推理得到。

请参见图2,图2是本发明中层次关系结构的示意图。在图中,层次关系结构一般是树状的。将整个层次关系结构中最一般的关系r设为树的根节点,位于此树结构的其他关系都可以被看作是r的一个子关系。一般地,被用来表示一个位于层次关系结构第i层的第j个r的子关系,即r1(1)就表示位于第1层的第1个r的子关系。为了简洁性和一般性,本实施例中,使用r(i)表示位于第i层的某个r的子关系。这个树结构是通过泛化关系subrelationof所构建起来的,树结构中每对相连的节点都表示这两个关系之间存在着subrelationof这样的一个关系。一条从根节点r出发,到一叶子节点r(k)的路径就可以被形式化为其中的下标r表示这个树结构的根节点,其上标k表示这条路径中涉及到的子关系的总数。

参见图3,图3是本发明transhrs的训练目标示意图。为了在不增加时间和空间复杂度的同时将层次关系结构的信息编码到实体和关系嵌入中,与基于平移模型中最简洁的模型transe相比,transhrs仅仅为每个关系引入了一个球体。为了将对基于平移模型的影响降至最低,transhrs仍将遵从基于平移模型的一般性要求,即当(h,r,t)存在时,使得h+r≈t。在transhrs中,每个实体e∈e被表示为一个低维向量每个关系r∈ri被表示为一个低维向量和一个与此关系一一对应的球。具体来说,给定一对三元组,(h,r,t)∈te和(r,sro,p)∈tr,transhrs将关系p表示为向量和一个关系p对应的半径为m1的球s1;将关系r表示为向量和一个关系r对应的半径为m2的球s2;实体h和t被表示为因此,定义h+p到t的距离为d1=||h+p-t||2。类似地,h+r到t的距离被定义为d2=||h+r-t||2。在transhrs中理想的嵌入结果应如图3所示并满足以下几个条件:

1、h+p在球s1内(d1<m1);

2、h+r在球s1和球s2之间(m1<d2<m2);

3、球s1在球s2内(m1<m2);

在训练过程中,以下几种情况的向量仍需优化:

1、h+p在球s1外(m1>m2);

2、h+r在球s1内(d2<m1);

3、h+r在球s2外(d2>m2);

4、球s2在球s1内(m1>m2);

针对以上情况,我们定义损失函数如下:

上述情况是一个两层的层次关系结构。另外,本发明中的模型同样适于k层的层次关系结构。于本实施例中中,以一个三层的层次关系为例,给定一个关系三元组(h,r,t)∈te和两个subrelationof三元组(r,sro,p)∈tr和(p,sro,pp)∈tr,则分别对应于关系pp、p和r的球体s1、s2和s3分别被得到。则理想的向量表示应该满足一下几个条件:

1.h+pp在球s1内

2.h+p在球s1和球s2之间

3.h+r在球s2和球s3之间

4.球s1在球s2内且球s2在球s3内

根据以上分析可以得出结论,在层次关系结构中深度越大的关系对应的球的半径就会越大。随着半径的增加,更新向量表示的过程中也会使得h+r越来越远离t,而这很可能会破坏基于平移模型的一个基本准则,即h+r≈t。因此,对半径的增大进行限制,即在层次关系结构中直接相连的两关系对应的球的半径之差应当随这两个关系的深度增大而减小。为此本发明设计了一种比例下降的加权策略。一般地,使用mi表示位于层次关系结构中第i层的关系所对应的半径,则mi-1、mi和mi+1应当满足以下关系mi-mi-1:mi+1-mi=η:(1-η),其中η∈(0.5,1)。按照这种策略,则mi-1和mi的大小之差要比mi和mi+1之间更大,这与本发明的目标一致。

本发明基于从真实数据集nell提取的两个子数据集sport和location进行试验,如表1所示。本实验运行在64位的ubuntu19.04linux操作系统,其内存大小为16g。

表1数据集

参见表2,表2是本发明transhrs以及其他基准模型在链接预测任务上的实验结果。链接预测就是对一个三元组进行补全,即已知头实体和关系预测尾实体或已知尾实体和关系预测头实体。这个任务更加重视对知识图谱中的一组候选实体进行排名,而不是仅仅关注最佳答案。对于测试集中的每个三元组(h,r,t),使用知识图谱中的所有实体依次替换三元组的尾实体t,并计算这个被破坏的三元组的得分函数值。在计算出所有被破坏三元组对应的数值后,通过升序排列这些数值,并找到被测试三元组的位置作为它的排名。类似地,也可以得到此三元组关于头实体的排名。在实际操过过程中,通常利用rankh(h,r,t)表示头实体被替换后三元组的排名,rankt(h,r,t)表示表示尾实体被替换后三元组的排名。

表2transhrs以及其他基准模型在链接预测任务上的实验结果

对于链接预测有两个评价指标,分别是hits@n和meanreciprocalrank(mrr)。其中,mrr为排名倒数均值,采用t表示三元组集合,用|t|表示三元组集合中三元组的个数。mrr可以被形式化为hits@n表示那些得分排在前n位的三元组占全部三元组的比率。以上的实验设置被称为“raw”。需要说明的是,如果一个被破坏的三元组已经存在于知识图谱中,即破坏后得到的三元组仍然是一个真三元组,那么把这个三元组排在测试三元组前是不合理的,会对实验结果产生不良的影响。为了消除这个因素产生的影响,如果破坏后得到的三元组存在于训练集、验证集和测试集中,通过先去除这些三元组,再获取每个测试三元组的排名。此设置被称为“fileter”。

从实验结果中我们可以观察到,tranhrs无论是在hit@n还是mrr上的表现都远远好于其他基准模型。这说明层次关系结构信息已经被成功地融入到了实体和关系的嵌入中,而且此信息能够优化知识图谱的表示学习。除此之外,训练模型的过程中需要生成负例,生成负例有两个策略,一个被称为“bern”,即对于每个测试三元组随机地选择替换头实体或尾实体;一个被称为“unif”,即根据每个关系头实体和尾实体的比例,有倾向性地选择替换头实体或尾实体。在链接预测的任务中通过实验证明,“unif”采用这一策略能够使得模型的表现更好。

参见表3,表3是本发明transhrs以及其他基准模型在实体分类任务上的实验结果。简单来说,实体分类就是判断一个给定的三元组是否为真。实体分类的评价指标就是分类的准确率。进行实体分类的策略如下:为每个关系设定一个临界值。给定一个三元组,如果此三元组经得分函数计算得到的值小于这个临界值,那么该三元组就被判定为真,否则就被判定为假。与关系一一对应的临界值在模型的训练过程中会通过最大化验证集的实体分类准确率进行优化。

表3transhrs以及其他基准模型在实体分类任务上的实验结果

通过上述实验结果可以发现transhrs的表现要远远好于其他基准模型。这与在链接预测任务观察得到的结果一致,也再一次证明transhrs能够成功地将层次关系结构信息编码到实体和关系的嵌入中,且此信息改进知识图谱的表示学习。

上述说明示出并描述了本发明的若干优选实施方式,但如前所述,应当理解本发明并非局限于本文所披露的形式,不应看作是对其他实施方式的排除,而可用于各种其他组合、修改和环境,并能够在本文所述发明构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1