一种实体关系抽取方法、装置、电子设备及存储介质

文档序号:31507805发布日期:2022-09-14 10:36阅读:59来源:国知局
一种实体关系抽取方法、装置、电子设备及存储介质

1.本发明涉及自然语言处理技术领域,特别是涉及一种实体关系抽取方法、装置、电子设备及存储介质。


背景技术:

2.近些年,深度学习技术在视觉处理和自然语言处理和机器人领域又取得了巨大的成就。随着tensorflow和pytorch等开源框架的使用,越来越多的深度学习技术在自然语言领域得到了应用,并且取得不错的成绩。信息抽取任务作为nlp领域的下游任务,其重要性不言而喻。现有的提取重叠实体关系的方法主要可分为两类:sequence-to-sequence(seq2seq)方法和基于图的方法。seq2seq方法将非结构化文本作为输入,并直接解码关系三元组作为顺序输出。基于图的方法构造了一个图神经网络,用于联合提取实体和重叠关系。
3.然而,现有的大多数方法不能正确处理一个句子中包含多个重叠实体的关系三元组的情况。正因传统的方法对重叠实体的抽取效果甚微,18年提出的重叠实体抽取问题一经认可也因此受到广泛的关注。虽然后来提出的一些方法已经可以初步解决重叠问题,如copyre、copymtl、casrel(hbt)等,但它们在训练和推理阶段存在曝光偏差。即在训练阶段,使用了golden truth作为已知信息对训练过程进行引导,而在推理阶段只能依赖于预测结果。这导致中间步骤的输入信息来源于两个不同的分布,对性能有一定的影响。虽然这些方法都是在一个模型中对实体和关系进行了联合抽取,但从某种意义上它们“退化”成了“pipeline”的方法,即在解码阶段需要分多步进行。


技术实现要素:

4.基于此,本发明的目的在于,提供一种实体关系抽取方法、装置、电子设备及存储介质,通过bi-lstm和gcn两次对单词的依赖抽取,和基于关系的注意力机制训练,提升了模型的鲁棒性。
5.第一方面,本发明提供一种实体关系抽取方法,包括以下步骤:
6.获取待抽取实体关系的句子;
7.对所述待抽取实体关系的句子进行编码,得到句子表示,其中,所述句子表示包含句子中每个词的向量表示;
8.对所述句子表示进行依赖解析处理,得到所述待抽取实体关系的句子的结构信息;
9.对所述句子的结构信息使用注意力机制和池化操作,提取所述句子的局部特征和全局特征,得到基于关系的语义信息;
10.拼接所述结构信息和所述语义信息,得到所述待抽取实体关系的句子对应的句子表征;
11.对所述句子表征进行解码,得到所述待抽取实体关系的句子的实体关系三元组。
12.进一步地,对所述待抽取实体关系的句子进行编码,得到句子表示,包括:
13.对于给定长度为n的句子s={w1,w2,

,wn},用xi表示句子中的每一个的单词表征wi,其中xi由单词wi的词嵌入位置嵌入和字符嵌入拼接而成,即
14.将所述待抽取实体关系的句子输入bi-lstm网络,使用以下公式,提取句子中每个单词wi对应的隐藏向量hi,得到句子表示得到所述待抽取实体关系的句子的句子表示:
[0015][0016]
其中,hi为句子中相应位置第i个单词对应的隐藏向量。
[0017]
进一步地,对所述句子表示进行依赖解析处理,得到所述待抽取实体关系的句子的结构信息,包括:
[0018]
将所述句子表示生成对应的依赖树,使用以下公式,得到所述依赖树的节点表征
[0019][0020]
其中,a
ij
为邻接矩阵,如果有边从节点i到节点j,则a
ij
=1和a
ji
=1,否则a
ij
=0和a
ji
=0;w
(l)
为权矩阵,b
l
为偏置向量,ρ为激活函数,为更新后的最终节点表征;
[0021]
构建一个基于注意力机制的邻接矩阵输出计算为值的加权和,其中权重由具有相应键的查询函数计算,加入多头注意力机制邻接矩阵的计算如下:
[0022][0023]
其中,q和k都等于上一节中l-1层的集合表示表示第t个头的邻接矩阵,表示第t个头的邻接矩阵,和v是注意力机制中输入所需要相乘的矩阵;
[0024]
使用以下公式,更新依赖树中每一层的节点表征
[0025][0026][0027]
其中,为更新后的节点表征,ρ为激活函数,是更新完成的邻接矩阵,w
(l)
和是与注意力引导邻接矩阵相关的权重矩阵和偏差项,为连接后的节点表征,xj为节点的初始输入,即节点更新完成的表示节点j的l层表征;
[0028]
使用以下公式,得到所述待抽取实体关系的句子对应的结构信息h
comb

[0029]hcomb
=(w
combhout
+b
comb
)
⊕hi
[0030]
其中,h
out
=[h
(1)


;h
(l)
],是将l个分离的密连层的输出连接起来的输出;w
comb
为权重矩阵,b
comb
为线性变换的偏置向量,hi为句子中相应位置第i个单词对应的隐藏向量。
[0031]
进一步地,对所述句子的结构信息使用注意力机制和池化操作,提取所述句子的局部特征和全局特征,得到基于关系的语义信息,包括:
[0032]
将所述句子的结构信息输入平均池中进行平均池化处理,使用以下公式,得到句子的全局表征sg:
[0033]
sg=avg(hk)
[0034]
其中,hk={h
comb1


;h
combi
};
[0035]
将所述句子的全局表征sg、所述句子的结构信息h
comb
和关系嵌入矩阵r一起输入到基于关系的注意力机制中,使用以下公式,得到基于关系的句子语义表征sk和关系矩阵rk;
[0036]
sk,rk=attention(hk,sg,r)
[0037]
其中,sk为句子的语义表征,rk为句子的关系矩阵,attention()为注意力机制计算,r是第k种关系的可训练的初始矩阵;
[0038]
拼接所述句子的全局表征sg和语义表征sk,得到基于关系的语义信息uk。
[0039]
进一步地,对所述句子表征进行解码,得到所述待抽取实体关系的句子的实体关系三元组,包括:
[0040]
将所述句子表征输入bi-lstm模型,使用以下公式,得到单词序列经过bi-lstm模型映射后的句子表征;
[0041][0042]
其中,为句子表征;
[0043]
使用以下公式,计算关系rk下第n个单词的预测标记的概率p:
[0044][0045]
其中,wo为权重,bo为偏秩;
[0046]
当p大于特定阈值时,抽取p值最大的两个实体组,组成当前关系rk的实体关系三元组。
[0047]
第二方面,本发明还提供一种实体关系抽取装置,包括:
[0048]
句子获取模块,用于获取待抽取实体关系的句子;
[0049]
编码模块,用于对所述待抽取实体关系的句子进行编码,得到句子表示,其中,所述句子表示包含句子中每个词的向量表示;
[0050]
结构信息提取模块,用于对所述句子表示进行依赖解析处理,得到所述待抽取实体关系的句子的结构信息;
[0051]
语义信息提取模块,用于对所述句子的结构信息使用注意力机制和池化操作,提取所述句子的局部特征和全局特征,得到基于关系的语义信息;
[0052]
拼接模块,用于拼接所述结构信息和所述语义信息,得到所述待抽取实体关系的句子对应的句子表征;
[0053]
解码模块,用于对所述句子表征进行解码,得到所述待抽取实体关系的句子的实体关系三元组。
[0054]
第三方面,本发明还提供一种电子设备,其特征在于,包括:
[0055]
至少一个存储器以及至少一个处理器;
[0056]
所述存储器,用于存储一个或多个程序;
[0057]
当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如本发明第一方面任一所述的一种实体关系抽取方法的步骤。
[0058]
第四方面,本发明还提供一种计算机可读存储介质,其特征在于:
[0059]
所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如本发明第一方面任一所述的一种实体关系抽取方法的步骤。
[0060]
本发明提供的一种实体关系抽取方法、装置、电子设备及存储介质,通过bi-lstm和gcn两次对单词的依赖抽取,和基于关系的注意力机制训练,提升了模型的鲁棒性。实体识别能力强:使用基于图卷积网络的方法,可以在实体重叠情况中很好的识别出尽量多的重叠实体。通过特定的注意力机制解决了图卷积网络容易忽略序列的全局信息的弊端。输出更好的全局信息表征。将结构信息和语语义信息两种信息进行一个耦合,避免了过度拟合训练集中频繁出现的实体与关系现象。
[0061]
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
[0062]
图1为本发明提供的一种实体关系抽取方法的流程示意图;
[0063]
图2为本发明在一个实施例中使用的关系抽取网络的结构示意图;
[0064]
图3为一个示例性的包含实体关系的句子示意图;
[0065]
图4为本发明提供的一种实体关系抽取装置的结构示意图。
具体实施方式
[0066]
为使本技术的目的、技术方案和优点更加清楚,下面将结合附图对本技术实施例方式作进一步地详细描述。
[0067]
应当明确,所描述的实施例仅仅是本技术实施例一部分实施例,而不是全部的实施例。基于本技术实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本技术实施例保护的范围。
[0068]
在本技术实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本技术实施例。在本技术实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0069]
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。在本技术的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本技术中的具体含义。
[0070]
此外,在本技术的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a和/或b,可以表示:单独存在a,
同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
[0071]
针对背景技术中的问题,本技术实施例提供一种实体关系抽取方法,首先使用双向lstm模型对句子的输入进行编码,初步获取句子中每个词之间的依赖;然后使用图卷积把输入的句子进行依赖解析获得依赖树进一步获得邻接矩阵;连接两次句子的输出—结构信息;把上一步的输出输入到基于关系的注意力矩阵中来,分别使用注意力机制和池化操作来提取文本局部特征和全局特征,得到基于关系的语义信息;再通过另一个双向lstm模型后解码进行基于关系的实体标注。
[0072]
如图1和图2所示,该方法具体包括以下步骤:
[0073]
s01:获取待抽取实体关系的句子。
[0074]
如图3所示,所述句子由多个单词组成,单词与单词之间存在多组实体关系。
[0075]
s02:对所述待抽取实体关系的句子进行编码,得到句子表示,其中,所述句子表示包含句子中每个词的向量表示。
[0076]
在一个优选的实施例中,对所述待抽取实体关系的句子进行编码,得到句子表示,包括:
[0077]
对于给定长度为n的句子s={w1,w2,

,wn},用xi表示句子中的每一个的单词表征wi,其中xi由单词wi的词嵌入位置嵌入和字符嵌入拼接而成,即
[0078]
将所述待抽取实体关系的句子输入bi-lstm网络,使用以下公式,提取句子中每个单词wi对应的隐藏向量hi,得到句子表示得到所述待抽取实体关系的句子的句子表示:
[0079][0080]
其中,hi为句子中相应位置第i个单词对应的隐藏向量。
[0081]
s03:对所述句子表示进行依赖解析处理,得到所述待抽取实体关系的句子的结构信息。
[0082]
在一个优选的实施例中,包括以下子步骤:
[0083]
s031:将所述句子表示生成对应的依赖树,使用以下公式,得到所述依赖树的节点表征
[0084][0085]
其中,a
ij
为邻接矩阵,如果有边从节点i到节点j,则a
ij
=1和a
ji
=1,否则a
ij
=0和a
ji
=0;w
(l)
为权矩阵,b
l
为偏置向量,ρ为激活函数,为更新后的最终节点表征;
[0086]
s032:构建一个基于注意力机制的邻接矩阵输出计算为值的加权和,其中权重由具有相应键的查询函数计算,加入多头注意力机制邻接矩阵的计算如下:
[0087][0088]
其中,q和k都等于上一节中l-1层的集合表示表示第t个头的邻接矩阵,wik
和v是注意力机制中输入所需要相乘的矩阵;
[0089]
s033:使用以下公式,更新依赖树中每一层的节点表征
[0090][0091][0092]
其中,为更新后的节点表征,ρ为激活函数,是更新完成的邻接矩阵,w
(l)
和是与注意力引导邻接矩阵相关的权重矩阵和偏差项,为连接后的节点表征,xj为节点的初始输入,即节点更新完成的表示节点j的l层表征;
[0093]
s034:使用以下公式,得到所述待抽取实体关系的句子对应的结构信息h
comb

[0094]hcomb
=(w
combhout
+b
comb
)
⊕hi
[0095]
其中,h
out
=[h
(1)


;h
(l)
],是将l个分离的密连层的输出连接起来的输出;w
comb
为权重矩阵,b
comb
为线性变换的偏置向量,hi为句子中相应位置第i个单词对应的隐藏向量。
[0096]
s04:对所述句子的结构信息使用注意力机制和池化操作,提取所述句子的局部特征和全局特征,得到基于关系的语义信息。
[0097]
在一个优选的实施例中,包括以下子步骤:
[0098]
将所述句子的结构信息输入平均池中进行平均池化处理,使用以下公式,得到句子的全局表征sg:
[0099]
sg=avg(hk)
[0100]
其中,hk={h
comb1


;h
combi
};
[0101]
将所述句子的全局表征sg、所述句子的结构信息h
comb
和关系嵌入矩阵r一起输入到基于关系的注意力机制中,使用以下公式,得到基于关系的句子语义表征sk和关系矩阵rk;
[0102]
sk,rk=attention(hk,sg,r)
[0103]
其中,sk为句子的语义表征,rk为句子的关系矩阵,attention()为注意力机制计算,r是第k种关系的可训练的初始矩阵;
[0104]
拼接所述句子的全局表征sg和语义表征sk,得到基于关系的语义信息uk。
[0105]
s05:拼接所述结构信息和所述语义信息,得到所述待抽取实体关系的句子对应的句子表征。
[0106]
s06:对所述句子表征进行解码,得到所述待抽取实体关系的句子的实体关系三元组。
[0107]
在一个优选的实施例中,包括以下子步骤:
[0108]
s061:将所述句子表征输入bi-lstm模型,使用以下公式,得到单词序列经过bi-lstm模型映射后的句子表征;
[0109][0110]
其中,为句子表征;
[0111]
s062:使用以下公式,计算关系rk下第n个单词的预测标记的概率p:
[0112][0113]
其中,wo为权重,bo为偏秩;
[0114]
s063:当p大于特定阈值时,抽取p值最大的两个实体组,组成当前关系rk的实体关系三元组。
[0115]
本发明提供的一种实体关系抽取方法,在经过两次依赖的训练和基于关系的自注意力机制的训练,可以抽取出基于关系的句子表示和较为完全的关系矩阵,在抽取过程,基于每一种关系进行一次标注。如图3所示,基于三种关系进行三标注。每一个实体可以被多次标注。如果同一种关系出现多次也会进行多次标注,因为实体关系三元组可能会存在一个实体的差异。每一种关系就标注一对实体组,同一个实体可以被多次标注,这样就不会出现重复不清的实体标注。
[0116]
本技术实施例还提供一种实体关系抽取装置,如图4所示,该实体关系抽取装置400包括:
[0117]
句子获取模块401,用于获取待抽取实体关系的句子;
[0118]
编码模块402,用于对所述待抽取实体关系的句子进行编码,得到句子表示,其中,所述句子表示包含句子中每个词的向量表示;
[0119]
结构信息提取模块403,用于对所述句子表示进行依赖解析处理,得到所述待抽取实体关系的句子的结构信息;
[0120]
语义信息提取模块404,用于对所述句子的结构信息使用注意力机制和池化操作,提取所述句子的局部特征和全局特征,得到基于关系的语义信息;
[0121]
拼接模块405,用于拼接所述结构信息和所述语义信息,得到所述待抽取实体关系的句子对应的句子表征;
[0122]
解码模块406,用于对所述句子表征进行解码,得到所述待抽取实体关系的句子的实体关系三元组。
[0123]
优选的,编码模块包括:
[0124]
单词表征单元,用于对于给定长度为n的句子s={w1,w2,

,wn},用xi表示句子中的每一个的单词表征wi,其中xi由单词wi的词嵌入位置嵌入和字符嵌入拼接而成,即
[0125]
向量提取单元,用于将所述待抽取实体关系的句子输入bi-lstm网络,使用以下公式,提取句子中每个单词wi对应的隐藏向量hi,得到句子表示得到所述待抽取实体关系的句子的句子表示:
[0126][0127]
其中,hi为句子中相应位置第i个单词对应的隐藏向量。
[0128]
优选的,结构信息提取模块包括:
[0129]
依赖树生成单元,用于将所述句子表示生成对应的依赖树,使用以下公式,得到所述依赖树的节点表征
[0130][0131]
其中,a
ij
为邻接矩阵,如果有边从节点i到节点j,则a
ij
=1和a
ji
=1,否则a
ij
=0和a
ji
=0;w
(l)
为权矩阵,b
l
为偏置向量,ρ为激活函数,为更新后的最终节点表征;
[0132]
邻接矩阵构建单元,用于构建一个基于注意力机制的邻接矩阵输出计算为值的加权和,其中权重由具有相应键的查询函数计算,加入多头注意力机制邻接矩阵的计算如下:
[0133][0134]
其中,q和k都等于上一节中l-1层的集合表示表示第t个头的邻接矩阵,表示第t个头的邻接矩阵,和v是注意力机制中输入所需要相乘的矩阵;
[0135]
节点表征更新单元,用于使用以下公式,更新依赖树中每一层的节点表征
[0136][0137][0138]
其中,为更新后的节点表征,ρ为激活函数,是更新完成的邻接矩阵,w
(l)
和是与注意力引导邻接矩阵相关的权重矩阵和偏差项,为连接后的节点表征,xj为节点的初始输入,即节点更新完成的表示节点j的l层表征;
[0139]
结构信息提取单元,用于使用以下公式,得到所述待抽取实体关系的句子对应的结构信息h
comb

[0140]hcomb
=(w
combhout
+b
comb
)
⊕hi
[0141]
其中,h
out
=[h
(1)


;h
(l)
],是将l个分离的密连层的输出连接起来的输出;w
comb
为权重矩阵,b
comb
为线性变换的偏置向量,hi为句子中相应位置第i个单词对应的隐藏向量。
[0142]
优选的,语义信息提取模块包括:
[0143]
全局表征计算单元,用于将所述句子的结构信息输入平均池中进行平均池化处理,使用以下公式,得到句子的全局表征sg:
[0144]
sg=avg(hk)
[0145]
其中,hk={h
comb1


;h
combi
};
[0146]
语义表征计算单元,用于将所述句子的全局表征sg、所述句子的结构信息h
comb
和关系嵌入矩阵r一起输入到基于关系的注意力机制中,使用以下公式,得到基于关系的句子语义表征sk和关系矩阵rk;
[0147]
sk,rk=attention(hk,sg,r)
[0148]
其中,sk为句子的语义表征,rk为句子的关系矩阵,attention()为注意力机制计
算,r是第k种关系的可训练的初始矩阵;
[0149]
语义信息计算单元,用于拼接所述句子的全局表征sg和语义表征s
lk
,得到基于关系的语义信息uk。
[0150]
优选的,解码模块包括:
[0151]
映射单元,用于将所述句子表征输入bi-lstm模型,使用以下公式,得到单词序列经过bi-lstm模型映射后的句子表征;
[0152][0153]
其中,为句子表征;
[0154]
概率计算单元,用于使用以下公式,计算关系rk下第n个单词的预测标记的概率p:
[0155][0156]
其中,wo为权重,bo为偏秩;
[0157]
实体关系抽取单元,用于当p大于特定阈值时,抽取p值最大的两个实体组,组成当前关系rk的实体关系三元组。
[0158]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元。所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0159]
本技术实施例还提供一种电子设备,包括:
[0160]
至少一个存储器以及至少一个处理器;
[0161]
所述存储器,用于存储一个或多个程序;
[0162]
当所述一个或多个程序被所述至少一个处理器执行,使得所述至少一个处理器实现如前所述的一种实体关系抽取方法的步骤。
[0163]
对于设备实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的设备实施例仅仅是示意性的,其中所述作为分离部件说明的组件可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本公开方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0164]
本技术实施例还提供一种计算机可读存储介质,
[0165]
所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如前所述的一种实体关系抽取方法的步骤。
[0166]
计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(r am)、只读存储器(r o m)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储
器(cd-rom)、数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
[0167]
本发明提供的一种实体关系抽取方法、装置、电子设备及存储介质,通过bi-lstm和gcn两次对单词的依赖抽取,和基于关系的注意力机制训练,提升了模型的鲁棒性。实体识别能力强:使用基于图卷积网络的方法,可以在实体重叠情况中很好的识别出尽量多的重叠实体。通过特定的注意力机制解决了图卷积网络容易忽略序列的全局信息的弊端。输出更好的全局信息表征。将结构信息和语语义信息两种信息进行一个耦合,避免了过度拟合训练集中频繁出现的实体与关系现象。
[0168]
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1