一种神经网络训练实体间关系的方法及装置与流程

文档序号:17926438发布日期:2019-06-15 00:26阅读:146来源:国知局
一种神经网络训练实体间关系的方法及装置与流程

本申请涉及神经网络技术,尤其涉及一种神经网络训练实体间关系的方法及装置。



背景技术:

人工智能应用系统中,知识库(knowledgebase,kb)在很多场景中取得了显著效果和巨大成功,包括问答系统,信息检索和关系抽取。当前的大规模知识库包含客观世界的大量知识,经常通过三元组进行表示(“头实体”,关系,“尾实体”),如图1所示。

然而,由于缺乏相关数据,当前的知识库的边(关系)过于稀疏。人工对其进行补全会耗费大量人力物力。因此,在已有的标注数据基础上发展知识库补全技术成为研究热点。

根据特征选择和关系判定策略的差异,知识库补全技术可以被划分为以下几类:1)基于翻译模型的trans系列方法将知识编码并嵌入一个连续的向量空间,并根据关系投影对模型进行学习。在此基础上,相关的关系评价/打分方法被提出,并进一步被用于补全给定实体间的关系。2)另一种前沿技术是基于路径排序算法(pathranking,pr)的方法。它通过穷举并选择实体间的有价值的路径分析关系的特征。此类方法通过随机游走策略(randomwalk,rw)来计算选定的路径和相关关系判别器的联合概率/通过优化这样的路径相关性,它也在关系自动补全任务中取得了令人信服的表现。

但是,基于翻译模型的trans系列方法只考虑了单跳路径(直连关系),而没有考虑多跳路径蕴含的语义信息。如图1所示,子女这一关系本可以通过a成员和b成员之间的多跳连接推测出。而这一点正是基于路径排序算法的方法的出发点。但是,多条路径含有的噪声往往比较大,且存在部分路径对关系推断并不能发挥作用。



技术实现要素:

为解决上述技术问题,本申请实施例提供了一种神经网络训练实体间关系的方法及装置。

本申请实施例提供的神经网络训练实体间关系的方法,包括:

利用关系编码器对第一实体与第二实体间的单跳路径数据进行处理,得到所述单跳路径的关系向量,以及对第一实体与第二实体间的多跳路径中的各跳路径数据进行处理,得到所述多跳路径的路径向量;

利用路径编码器对多个多跳路径的路径向量进行处理,得到所述多跳路径的加权表示;

利用特征提取器对所述单跳路径的关系向量和所述多跳路径的加权表示进行处理,得到共享特征;所述特征提取器的参数更新依据源鉴别器和关系分类器产生的梯度;其中,所述源鉴别器用于判别输入的共享特征来自所述单跳路径还是所述多跳路径;

利用所述关系分类器对所述共享特征进行处理,得到所述第一实体和所述第二实体间的关系训练结果。

本申请实施例提供的神经网络训练实体间关系的装置,包括:

关系编码器,用于对第一实体与第二实体间的单跳路径数据进行处理,得到所述单跳路径的关系向量,以及对第一实体与第二实体间的多跳路径中的各跳路径数据进行处理,得到所述多跳路径的路径向量;

路径编码器,用于对多个多跳路径的路径向量进行处理,得到所述多跳路径的加权表示;

特征提取器,用于对所述单跳路径的关系向量和所述多跳路径的加权表示进行处理,得到共享特征;所述特征提取器的参数更新依据源鉴别器和关系分类器产生的梯度;

所述源鉴别器,用于判别输入的共享特征来自所述单跳路径还是所述多跳路径;

所述关系分类器,用于对所述共享特征进行处理,得到所述第一实体和所述第二实体间的关系训练结果。

采用本申请实施例的上述技术方案,1)可以自动地获得直连关系(即单跳路径)和多跳路径之间的共享特征;2)通过训练,可以在知识库补全任务中达到当前最优性能;3)通过对系统内各个组件的状态进行分析和跟踪,更易于进行调参(即参数的调节)。

附图说明

图1为一种关系网络的示意图;

图2为本申请实施例的神经网络架构图;

图3为本申请实施例提供的神经网络训练实体间关系的方法的流程示意图;

图4为本申请实施例提供的神经网络训练实体间关系的装置的结构组成示意图。

具体实施方式

现在将参照附图来详细描述本申请的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本申请的范围。

同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。

以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本申请及其应用或使用的任何限制。

对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。

本申请实施例可以应用于计算机系统/服务器等电子设备,其可与众多其它通用或专用计算系统环境或配置一起操作。适于与计算机系统/服务器等电子设备一起使用的众所周知的计算系统、环境和/或配置的例子包括但不限于:个人计算机系统、服务器计算机系统、瘦客户机、厚客户机、手持或膝上设备、基于微处理器的系统、机顶盒、可编程消费电子产品、网络个人电脑、小型计算机系统、大型计算机系统和包括上述任何系统的分布式云计算技术环境,等等。

计算机系统/服务器等电子设备可以在由计算机系统执行的计算机系统可执行指令(诸如程序模块)的一般语境下描述。通常,程序模块可以包括例程、程序、目标程序、组件、逻辑、数据结构等等,它们执行特定的任务或者实现特定的抽象数据类型。计算机系统/服务器可以在分布式云计算环境中实施,分布式云计算环境中,任务是由通过通信网络链接的远程处理设备执行的。在分布式云计算环境中,程序模块可以位于包括存储设备的本地或远程计算系统存储介质上。

本申请通过提出一个全新的知识库补全方案,将直连关系(也即单跳路径的关系)和多跳路径联合考虑进来。如此,随着信息的增加,知识库补全任务将会变得更加简单和准确。同时,本申请通过建立一个更具解释性的模型,使其可以被用于更多的同类任务和下游应用。

本申请实施例的技术方案的模型基于以下基本假设,即两个实体间含有大量的包含共同语义信息的路径。参照图2,图2为本申请实施例的神经网络架构图,该网络架构主要包含以下组件:

基于层叠注意力机制的关系编码器:它对实体间的边(关系)进行编码,从而进行特征提取。

两个相互连结的神经网络:它们是源鉴别器和关系分类器,接收特征提取器输出的共享特征作为输入。

在对神经网络训练的过程中,使用了联合对抗方法,在优化分类器(实现对缺失关系的推断)的分类误差同时,使得判别器无法有效区分其输入的来源。

图3为本申请实施例提供的神经网络训练实体间关系的方法的流程示意图,如图3所示,所述神经网络训练实体间关系的方法包括以下步骤:

步骤301:利用关系编码器对第一实体与第二实体间的单跳路径数据进行处理,得到所述单跳路径的关系向量,以及对第一实体与第二实体间的多跳路径中的各跳路径数据进行处理,得到所述多跳路径的路径向量。

本申请实施例中,第一实体和第二实体的类型不做限制,例如第一实体和第二实体可以是人,也可以是物等等。举个例子:第一实体为a用户、第二实体为b用户,第一实体和第二实体之间可以通过单跳路径联系起来,也可以通过多跳路径联系起来,其中,每跳路径的边代表了该路径的两个节点之间的关系。例如:a用户→b用户形成了一个单跳路径,a用户→c用户→d用户→b用户形成了一个多跳路径,需要明确的是,a用户和b用户之间的多跳路径的方式可以有一种或多种,例如,a用户→e用户→f用户→b用户形成了另一个多跳路径。

本申请实施例中,单跳路径数据的处理,可以是:利用双向门控循环神经网络(gru,gatedrecurrentunit)对所述单跳路径数据进行处理,得到所述单跳路径的关系向量。

本申请实施例中,多跳路径数据的处理,可以是:1)利用双向门控循环神经网络对所述多跳路径中的各跳路径数据进行处理,得到所述各跳路径数据分别对应的关系向量;2)利用关系注意力层对所述各跳路径数据分别对应的关系向量进行处理,得到所述多跳路径的路径向量。

步骤302:利用路径编码器对多个多跳路径的路径向量进行处理,得到所述多跳路径的加权表示。

基于上述步骤301,第一实体和第二时间之间可以有多个多跳路径,每个多跳路径都可以通过上述步骤301的处理,得到一个相应的路径向量。对这些不同的多跳路径的路径向量进行加权处理,得到所述多跳路径的加权表示。

具体实现时,所述路径编码器包括路径注意力层,利用路径注意力层对这些不同的多跳路径的路径向量进行加权处理,得到所述多跳路径的加权表示。

步骤303:利用特征提取器对所述单跳路径的关系向量和所述多跳路径的加权表示进行处理,得到共享特征;所述特征提取器的参数更新依据源鉴别器和关系分类器产生的梯度;其中,所述源鉴别器用于判别输入的共享特征来自所述单跳路径还是所述多跳路径。

本申请实施例中,利用特征提取器对所述单跳路径的关系向量和所述多跳路径的加权表示进行处理,得到共享特征,这里,共享特征输入到源鉴别器和关系分类器中,其中,所述源鉴别器用于判别输入的共享特征来自所述单跳路径还是所述多跳路径。进一步,所述源鉴别器利用交叉熵函数判别输入的共享特征来自所述单跳路径还是所述多跳路径;其中,所述源鉴别器之前设置有梯度逆转层,用于在反向传播过程中实现梯度逆转。

需要说明的是,源鉴别器和关系分类器是两个相互连结的神经网络,采用联合对抗学习的策略进行模型的训练,在优化关系分类器的分类误差同时,使得源鉴别器无法有效区分其输入的来源。

步骤304:利用所述关系分类器对所述共享特征进行处理,得到所述第一实体和所述第二实体间的关系训练结果。

以下结合图2所示的神经网络架构对本申请实施例的技术方案进行举例说明。

(1)基于层叠注意力机制的关系编码器

对每一跳路径,本申请首先将该路径的关系通过一个潜入矩阵wt编码为向量。特别地,本申请在具体实施中还向所得向量加入了位置编码和方向信息。进一步,本申请采用了gru来捕获路径中关系序列的信息,将其编码成隐表示(也即关系向量)。

在表示多跳路径时,每个关系具备的权重和产生的贡献不尽相同。为此,本申请引入了注意力机制来提取其中相对重要的关系,并将其单独进行输出。在本申请的实施例中,通过在关系注意力层使用一个单层注意力网络,获得了对上述的隐表示的编码(也即路径向量)。

对这些编码,本申请使用了一个上下文实体向量,并借助softmax函数获得了对应编码的权重(同时进行正则化)。在此基础上,本申请对路径中的所有关系编码按所得权值求和,将其作为对该多跳路径的加权表示。

如图2所示,为了挖掘直连关系和多跳路径之间的隐含语义信息,本申请对实体间的全部路径(包括单跳路径,和多跳路径中的每一跳路径)进行了上述操作。

(2)一对连结的神经网络

本申请搭建了两个前馈网络,从而判别关系编码的来源及相应的关系。每个网络由若干组件连结构成,如图2所示。这些连结的组件会提取特征,基于本申请的基本假设,这些特征是由编码后的多跳路径和直连关系所共享的。

下面将介绍具体组件细节。

2.1)共享特征提取器(简称为特征提取器)

参照图2,共享特征提取器通过非线性编码器来实现,该组件由两个前馈网络共享。它提取的特征应当最小化在判别编码来源(直连关系还是多跳路径)和分类关系类型时产生的误差。本申请的实施例中,采用了若干前馈层来实现关系映射,其参数更新依靠来自网络下游的关系分类器和源鉴别其产生的梯度。本申请增加了稀疏约束来提升其抗噪性能,并维持特征稀疏性。

在源鉴别器部分(详情见下个部分),本申请的特征提取器可以被认为是针对共享特征的一个查询。该查询应当包含这个关系的有价值的特征。

2.2)源鉴别器

该组件主要判别输入的编码来自直连关系还是多跳路径,从而提升上面的特征提取器的性能。具体实现中,本申请面向分布的交叉熵进行判别,如图2右下角所示。

特别地,在输入源鉴别器前,本申请引入了梯度逆转层(gradientreversallayer,grl),它通过将梯度和一个负值相乘从而在反向传播过程中实现梯度逆转。这样,从特征提取器输出的特征会变得不易判别。

2.3)关系分类器

该组件用来完成本系统直接面向的任务,即给定实体对后,推断缺失的关系。具体地说,它的输出规格是候选关系概率,因而这是一个分类任务。如图2右上角所示,本申请将特征提取器的输出统一认定为直连关系的特征编码,本申请将其输入softmax层来取得最终的概率输出。与源鉴别器类似,其产生的判别误差会被用于特征提取器的参数更新。

(3)正则化

特别地,为了防止源鉴别器和关系分类器过拟合,本申请进行了相应的正则化操作。

(4)联合对抗学习

本申请采用对抗学习的策略进行模型训练。在本申请实施例中,为了规避梯度消失等潜在问题,对相应组件进行了预训练。在优化源鉴别器和关系分类器参数过程中,本申请使用了基于随机梯度下降法(stochasticgradientdescend,sgd)的方法;在优化特征提取器的过程中,本申请对grl和源鉴别器产生的梯度进行了联合训练。特别地,只有注意力机制相关的参数在训练中进行了更新。

本申请基于层叠注意力网络和对抗训练方法,通过获得不同数据源(例如,知识库实体见的直连关系和多跳路径),无需人工进行任何干预,即可实现对知识库关系的补全。通过在反向传播过程中引入梯度扭转层,我们可以借助联合对抗训练,获得不同数据源的共享特征。在大规模知识库补全评测任务中,我们的模型取得了当前的最优效果。

图4为本申请实施例提供的神经网络训练实体间关系的装置的结构组成示意图,如图4所示,所述装置包括:

关系编码器401,用于对第一实体与第二实体间的单跳路径数据进行处理,得到所述单跳路径的关系向量,以及对第一实体与第二实体间的多跳路径中的各跳路径数据进行处理,得到所述多跳路径的路径向量;

路径编码器402,用于对多个多跳路径的路径向量进行处理,得到所述多跳路径的加权表示;

特征提取器403,用于对所述单跳路径的关系向量和所述多跳路径的加权表示进行处理,得到共享特征;所述特征提取器的参数更新依据源鉴别器404和关系分类器405产生的梯度;

所述源鉴别器404,用于判别输入的共享特征来自所述单跳路径还是所述多跳路径;

所述关系分类器405,用于对所述共享特征进行处理,得到所述第一实体和所述第二实体间的关系训练结果。

在一实施方式中,对所述特征提取器的参数更新的过程中,对所述源鉴别器404和所述关系分类器405产生的梯度进行联合训练。

在一实施方式中,所述关系编码器401包括:

双向门控循环神经网络,用于对所述单跳路径数据进行处理,得到所述单跳路径的关系向量。

在一实施方式中,所述关系编码器401包括:

双向门控循环神经网络,用于对所述多跳路径中的各跳路径数据进行处理,得到所述各跳路径数据分别对应的关系向量;

关系注意力层,用于对所述各跳路径数据分别对应的关系向量进行处理,得到所述多跳路径的路径向量。

在一实施方式中,所述路径编码器402包括路径注意力层。

在一实施方式中,所述源鉴别器404利用交叉熵函数判别输入的共享特征来自所述单跳路径还是所述多跳路径;

其中,所述源鉴别器404之前设置有梯度逆转层,用于在反向传播过程中实现梯度逆转。

本领域技术人员应当理解,图4所示的神经网络训练实体间关系的装置中的各模块的实现功能可参照前述神经网络训练实体间关系的方法的相关描述而理解。图4所示的神经网络训练实体间关系的装置中的各单元的功能可通过运行于处理器上的程序而实现,也可通过具体的逻辑电路而实现。

本说明书中各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其它实施例的不同之处,各个实施例之间相同或相似的部分相互参见即可。对于装置、系统实施例而言,由于其与方法实施例基本对应,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。

可能以许多方式来实现本发明的方法、装置和系统。例如,可通过软件、硬件、固件或者软件、硬件、固件的任何组合来实现本发明的方法、装置和系统。用于所述方法的步骤的上述顺序仅是为了进行说明,本发明的方法的步骤不限于以上具体描述的顺序,除非以其它方式特别说明。此外,在一些实施例中,还可将本发明实施为记录在记录介质中的程序,这些程序包括用于实现根据本发明的方法的机器可读指令。因而,本发明还覆盖存储用于执行根据本发明的方法的程序的记录介质。

本发明的描述是为了示例和描述起见而给出的,而并不是无遗漏的或者将本发明限于所公开的形式。很多修改和变化对于本领域的普通技术人员而言是显然的。选择和描述实施例是为了更好说明本发明的原理和实际应用,并且使本领域的普通技术人员能够理解本发明从而设计适于特定用途的带有各种修改的各种实施例。

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