一种基于深度学习的实体关系联合抽取方法

文档序号:37554124发布日期:2024-04-08 14:06阅读:14来源:国知局
本发明涉及自然语言处理,具体涉及一种基于深度学习的实体关系联合抽取方法。
背景技术
::1、实体关系抽取是指从非结构化的文本中抽取出关系三元组,也就是说以非结构化文本(通常是句子)作为输入,模型抽取出<头实体,关系,尾实体>形式的三元组。实体关系抽取任务作为信息抽取、自然语言理解等领域不可或缺的一部分,目前主要有三种研究方法,第一种是基于序列标注的方法,通常使用二进制标记序列来确定实体的开始和结束标记以及每个实体对所对应的关系;第二种是基于表填充方法,为每个关系构造一个表,表中的项通常表示拥有该关系的两个实体的开始和结束位置;第三种是基于生成式的方法,将三元组视为token序列,并使用编码器-解码器体系结构按一定顺序生成三元组。2、wei等人在论文《anovel cascade binarytagging framework forrelationaltriple extraction》中提出将实体关系联合抽取转换为二元序列标注,首先抽取出头实体,然后将头实体和关系作为前提去抽取尾实体,作者还提出了一种关系函数,将提取出的头实体作为因变量,然后输出对应的尾实体,很好的解决了重叠三元组问题。ren等人在论文《a novel global feature-orientedrelational triple extractionmodel based ontable filling》中提出了一种基于表填充的实体关系联合抽取方法,该模型基于两种全局特征去进行三元组的抽取,利用关系和标记对的全局关联从复杂句子中提取三元组。zeng等人在论文《extracting relational facts by an end-to-endneural model with copymechanism》中提出了一种基于复制机制的端到端学习模型,该模型可以从任意一个类的句子中联合提取相关事实。3、关系作为三元组中不可或缺的一部分,目前大多数模型在处理关系的时候只是将其作为离散的标签,并没有捕获到关系真正的语义信息,而且忽略了关系和实体之间的联系,只关注实体和实体之间的交互,这使得关系对于三元组的抽取并没有发挥其作用,进而影响三元组抽取的准确率。技术实现思路1、针对现有技术的不足,本发明提供一种基于深度学习的实体关系联合抽取方法以解决三元组抽取时忽略关系语义信息的问题。2、一种基于深度学习的实体关系联合抽取方法,包括以下步骤:3、步骤1:获取数据集;所述数据集中包括若干个句子及其所包含的所有的关系三元组;所述关系三元组的形式为<头实体,关系,尾实体>;4、步骤2:将数据集按照设定比例划分为训练集、测试集和验证集;5、步骤3:对训练集、测试集和验证集中的关系进行规范化;所述规范化的方法为使用关系所对应的语义代替关系;6、步骤4:构建基于深度学习的实体关系联合抽取模型;所述基于深度学习的实体关系联合抽取模型包括编码层、二元实体识别器和三元组抽取器;7、所述编码层由预训练语言模型bert组成,用于接收输入的句子及句子所在的数据集中包含的所有规范化后的关系,对句子和规范化后的关系进行编码,得到句子的上下文表示hi和每个关系的上下文表示rn,将句子的上下文表示hi和将每个关系的上下文表示rn发送给二元实体识别器,其中n为关系的序号,i为token的序号;8、所述二元实体识别器包括头实体识别器和尾实体识别器两部分,头实体识别器和尾实体识别器均为一个全连接网络,所述头实体识别器用于接收编码层发送的句子的上下文表示hi,使用二元标注序列的方式从句子的上下文表示hi中分别识别出第i个token为头实体的开始位置的概率和结束位置的概率,将第i个token为头实体的开始位置的概率和结束位置的概率与设定阈值进行比较,如果第i个token为头实体的开始位置的概率或结束位置的概率大于设定阈值γ,则判定为头实体的开始位置或结束位置,得到头实体的跨度,进而得到头实体;所述尾实体识别器用于接收编码层发送的句子的上下文表示hi,使用二元标注序列的方式从句子的上下文表示hi中分别识别出第i个token为尾实体的开始位置的概率和结束位置的概率,将第i个token为尾实体的开始位置的概率和结束位置的概率与设定阈值进行比较,如果第i个token为尾实体的开始位置的概率或结束位置的概率大于设定阈值γ,则判定其为尾实体的开始位置或结束位置,得到尾实体的跨度,进而得到尾实体;9、根据得到的句子的上下文表示hi,利用二元标注序列的方式得到第i个token为头实体的开始位置的概率和结束位置的概率的方法为:10、11、12、其中,为第i个token为头实体的开始位置的概率;为第i个token为头实体的结束位置的概率;为训练的权重;为训练的的偏差;σ为一个sigmoid激活函数;h表示候选头实体;13、根据得到的句子的上下文表示hi,利用二元标注序列的方式得到第i个token为尾实体的开始位置的概率和结束位置的概率的方法为:14、15、16、其中,为第i个token为尾实体的开始位置的概率;为第i个token为尾实体的结束位置的概率;为训练的权重;为训练的的偏差;t表示候选尾实体;17、所述三元组抽取器用于对接收的头实体和尾实体进行平均池化,将每个头实体和尾实体的开始和结束位置转换为对应的实体表示,分别得到头实体表示hp和尾实体表示tq,其中p为头实体表示的序号,q为尾实体表示的序号;利用transe的方法根据得到的每个头实体表示hp和每个关系的上下文表示rn,计算得到对应的尾实体表示tpn,将计算得到的尾实体表示tpn与尾实体表示tq进行相似度的计算,并按照相似度进行排序,通过构造负例的形式来设定相似度的范围,选择相似度在设定范围内的尾实体和对应的头实体、关系组成三元组;同时利用transe的方法根据得到的每个尾实体表示tq和每个关系的上下文表示rn,计算得到对应的头实体表示hqn,将计算得到的头实体表示hqn与头实体表示hp进行相似度的计算,并按照相似度进行排序,通过构造负例的形式来设定相似度的范围,选择相似度在设定范围内的头实体和对应的尾实体、关系组成三元组;并将得到的两个方向的三元组做并集的处理进而得到所有的可能的三元组;18、根据得到的每个头实体表示hp和每个关系的上下文表示rn,利用基于transe方法计算得到对应的尾实体表示tpn的方法为:19、hp+rn≈tpn                             (5)20、根据得到的每个尾实体表示tq和每个关系的上下文表示rn,利用基于transe方法计算得到对应的头实体表示hqn的方法为:21、tq-rn≈hqn                             (6)22、根据公式(5)得到的尾实体表示tpn和尾实体表示tq,使用内积的方法来计算二者的相似度tsim(tpn,tq):23、tsim(tpn,tq)=(tq)t*tpn                        (7)24、其中,tsim(tpn,tq)为计算得到的尾实体表示tpn和尾实体表示tq之间的相似度;25、根据公式(6)得到的头实体表示hqn和头实体表示hp,使用内积的方法来计算二者的相似度hsim(hqn,hp):26、hsim(hqn,hp)=(hp)t*hqn                      (8)27、其中,hsim(hqn,hp)为计算得到的头实体表示hqn和头实体表示hp之间的相似度;28、步骤5:利用训练集和验证集对基于深度学习的实体关系联合抽取模型进行训练,直到完成设定的训练轮次,停止训练,进而得到训练完成的实体关系联合抽取模型;29、进一步地,所述训练的目标为最小化实体关系联合抽取模型的损失函数,实体关系联合抽取模型的损失函数为二元实体识别器和三元组抽取器两部分的损失函数之和;实体识别器的损失函数利用二分类交叉熵来计算,三元组抽取器的损失函数利用多分类交叉熵来计算;30、步骤6:将测试集输入到训练完成的实体关系联合抽取模型,得到测试集中每一个句子所包含的所有三元组;31、步骤6.1:利用编码层对句子和规范化后的关系进行编码,获取句子的上下文表示hi和关系的上下文表示rn;32、步骤6.2:利用二元实体识别器对句子中包含的头实体和尾实体进行抽取,得到每个头实体的开始位置和结束位置以及每个尾实体的开始位置和结束位置,即头实体和尾实体的跨度,进而得到头实体和尾实体;33、步骤6.2.1:使用二元标注序列的方式从句子的上下文表示hi中分别识别出第i个token为头实体的开始位置的概率和结束位置的概率,将第i个token为头实体的开始位置的概率和结束位置的概率与设定阈值进行比较,如果第i个token为头实体的开始位置的概率或结束位置的概率大于设定阈值γ,则判定为头实体的开始位置或结束位置,得到头实体的跨度,进而得到所有候选的头实体head为候选的头实体的集合,nh为头实体的数量;34、步骤6.2.2:从句子的上下文表示hi中分别识别出第i个token为尾实体的开始位置的概率和结束位置的概率,将第i个token为尾实体的开始位置的概率和结束位置的概率与设定阈值进行比较,如果第i个token为尾实体的开始位置的概率或结束位置的概率大于设定阈值γ,则判定其为尾实体的开始位置或结束位置,得到尾实体的跨度,进而得到所有候选的尾实体tail为候选的尾实体集合,nt为尾实体的数量;35、步骤6.3:利用三元组抽取器抽取句子中所包含的所有三元组;36、步骤6.3.1对接收的头实体和尾实体进行平均池化,将每个头实体和尾实体的开始和结束位置转换为对应的实体表示,分别得到头实体表示hp和尾实体表示tq,其中p为头实体表示的序号,q为尾实体表示的序号;37、步骤6.3.2:利用transe的方法根据得到的每个头实体表示hp和每个关系的上下文表示rn,计算得到对应的尾实体表示tpn,将计算得到的尾实体表示tpn与步骤6.3.1得到的尾实体表示tq进行相似度的计算,并按照相似度进行排序,通过构造负例的形式来设定相似度的范围,选择相似度在设定范围内的尾实体和对应的头实体、关系组成三元组;38、步骤6.3.3:利用transe的方法根据得到的每个尾实体表示tq和每个关系的上下文表示rn,计算得到对应的头实体表示hqn,将计算得到的头实体表示hqn与步骤6.3.1得到的头实体表示hp进行相似度的计算,并按照相似度进行排序,通过构造负例的形式来设定相似度的范围,选择相似度在设定范围内的头实体和对应的尾实体、关系组成三元组;39、步骤6.4:对得到的三元组做一个并集处理,得到所有可能的三元组;40、采用上述技术方案所产生的有益效果在于:41、本发明提出了一种基于深度学习的实体关系联合抽取方法,将本发明应用到关系三元组抽取任务中,利用transe方法(t=h+r,h=t-r)根据头实体h和尾实体t以及关系r得到对应的头实体表示和尾实体表示,将这些表示分别和头尾实体进行相似度的计算,选择相似度排序在一定范围内的尾实体和对应的关系与头实体组成三元组,这样双向抽取三元组可以很大程度上解决重叠三元组的问题,并且将关系考虑到了实体的抽取中,并不再将关系作为离散的标签,而是捕获了更加细粒度的语义信息,而且还充分考虑了实体和关系之间的联系,使得关系在抽取三元组的时候发挥了很大的作用,进而提升了三元组抽取的准确率。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1