一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于注意力贡献度的实体关系抽取方法及其用途与流程

2022-04-30 08:12:25 来源:中国专利 TAG:
1.本发明涉及知识抽取领域,具体涉及一种基于注意力贡献度的实体关系抽取方法,以及将该方法用于分析医疗报告。
背景技术
::2.在自然语言处理领域,信息抽取一直以来受到人们的关注.信息抽取主要包括3项子任务:实体抽取、关系抽取和事件抽取,而关系抽取是信息抽取领域的核心任务和重要环节。实体关系抽取的主要目标是从自然语言文本中识别并判定实体对之间存在的特定关系,这为智能检索、语义分析等提供了基础支持,有助于提高搜索效率,促进知识库的自动构建。3.起初muc、ace评测会议的实体关系抽取涉及的关系类型局限于命名实体(包括人名、地名、组织机构名等)之间的少数几种类型的实体关系,如雇佣关系、地理位置关系、人与社会组织关系等。《semeval-2007的评测任务》定义了7种普通名词或名词短语之间的实体关系,但其提供的英文语料库规模较小。《semeval-2010的评测任务》对其进行了丰富和完善,将实体关系类型扩充到9种。4.uc、ace、《semeval评测会议》发布的实体关系语料都是依靠人工标注的方式得到的,即领域专家首先制定好关系类型体系和标注规则,然后从大规模文本逐个进行判断和筛选。此方法耗费大量的人力,成本较高,且语料的扩充困难。此外,该方法获得的实体关系语料领域覆盖面窄,句子实例形式较为单一。5.特定领域文本的实体关系复杂,对标注人员的专业素养有一定要求,使得自动化的实体关系抽取技术至关重要。其中,实体关系抽取研究主要包括序列标注方案和基于span的方案,但当前的研究存在关系重叠、实体嵌套、计算量大、特定领域信息挖掘不充分等问题。6.本技术采用的注意力贡献度算法,借鉴spert模型提出的基于span的强负样本联合抽取方法,充分利用特定领域数据集训练的bert注意力头所携带的词与词之间的交互信息,实现了在医疗报告数据集ade上f1值达到82.76%的效果。技术实现要素:7.针对上述现有技术中的不足,本发明目的在于提供一种基于注意力贡献度的实体关系抽取方法,该方法选用大规模数据集预训练的bert模型,采用注意力贡献度算法计算实体之间的交互信息,再传递给下游任务,极大的提高了实体抽取任务的f1值和关系抽取任务的f1值。特别适用于特定领域的数据集,例如医疗报告的分析。8.根据本发明提供的第一种实施方案,提供一种基于注意力贡献度的实体关系抽取方法。9.一种基于注意力贡献度的实体关系抽取方法,该方法包括以下步骤:10.s0:选定数据集d’;11.s1:通过spacy对数据集d’中的原始句子进行分词,得到词列表;将词列表和数据集d’中包含的标签以字典形式存入输入数据集d;12.s2:对输入数据集d进行采样,获得输入数据集d中每个句子di(di∈d)的实体样本集和关系样本集13.s3:构建基于span的实体关系抽取模型,具体包括bert预训练模块、实体抽取模块和关系分类模块;14.s4:根据每个句子的实体样本集计算每个句子di中的每个实体的特征向量和注意力贡献度将特征向量与注意力贡献度结合,输入实体抽取模块,得到实体抽取模块的预测实体类型entityij。15.s5:根据每个关系样本集计算每个句子di的每个关系对应的头实体和尾实体的特征向量上下文信息注意力贡献度输入关系分类模块,得到关系分类模块的预测关系类型relationij;16.s6:训练基于span的实体关系抽取模型,得到基于注意力贡献度的实体关系抽取方法。17.在本发明中,所述数据集d’包括原始句子和标签。18.在本发明中,所述数据集d’为医疗报告数据集、司法数据集或旅游数据库。19.在本发明中,所述数据集d’优选为药物不良反应(ade)数据集,所述药物不良反应(ade)数据集来自于gurulingappa创建的基准语料库。20.或者,所述司法数据集来自于中国司法档案数据库或courdata司法领域基础数据库。所述旅游数据库来自于锐思数据-旅游数据库。21.在本发明中,步骤s1具体为:22.s101:将数据集d’中的原始句子通过spacy进行分词,得到词列表;将分词后的词列表存入key为tokens的字典dic中;23.s102:数据集中的标签包括实体和实体关系,所述实体由一个或者一个以上的词组成;将每一个实体的实体类型和实体在字典dic的tokens中的起止索引位置start、end通过字典存储,并以一个实体元素的形式存入实体列表,将实体列表存入key为entites的字典dic中;将每一个实体关系的关系类型和头尾实体在字典dic的entites中的索引位置head、tail通过字典存储,并以一个关系元素的形式存入关系列表,将关系列表存入key为relations的字典dic中;24.s103:一个字典dic构成一个样本,多个字典构成输入数据集d,输入数据集d以列表的形式构成,存入json文件中。25.在本发明中,步骤s2具体为:26.s201:实体采样:选取所有可能的由1-10个词组成的实体构成实体采样池,在实体采样池中,随机选择100个实体负样本与实体正样本结合,各个实体样本(包括实体负样本和实体正样本)在句子di中的位置信息、实体类型、实体的词数构成实体样本集所述实体正样本为数据集d中已包含的实体,实体负样本为实体采样池中随机生成的不属于实体正样本的实体;27.s202:关系采样:将实体样本集中的实体两两配对,随机选择100个关系负样本与关系正样本结合,各个关系样本(包括关系负样本和关系正样本)的头尾实体在原始句子中的位置信息和关系类型构成关系样本集所述关系正样本为数据集d中已有关系的头尾实体,关系负样本为没有关系的头尾实体。28.在本发明中,步骤s3具体为:29.s301:bert预训练模块:采用基于bert-base-cased预训练的模型biobert,根据输入的句子di,为下游任务提供来自bert预训练模型的lasthidden和attentions捕获的各个实体eij的语义特征30.s302:sizeembedding:为embedding层,以学习由不同词数量组成的实体eij的特征31.s303:实体抽取模块entityclassification:依次为dropout层、全连接层、softmax层,得到实体抽取模块的预测实体类型entityij;32.s304:关系分类模块relationclassification:依次为dropout层、全连接层、sigmod层,得到关系分类模块的预测关系类型relationij。33.在本发明中,步骤s4具体为:34.s401:计算每个句子di中每个实体的特征向量的公式如下:[0035][0036][0037][0038]其中,tokenn为句子di中的词,(即tokenn∈di);cls为句子di中未最大池化的特殊分类词嵌入;为实体eij的长度特征向量;表示实体eij的中间特征向量;表示为隐含特征向量的掩码矩阵;[0039]s402:计算每个句子di中每个实体eij的实体注意力贡献度的公式如下:[0040][0041][0042][0043]其中:表示组成实体eij的所有词的注意力矩阵;表示注意力矩阵中表示的注意力矩阵,且的注意力矩阵,且表示经过最大池化的注意力标量;为实体eij对应m位置的词,且θ1为贡献度阈值,具体为0.4-0.8;[0044]s403:将每个实体样本集计算得到的实体特征向量与注意力贡献度结合,输入实体抽取模块entityclassification得到实体抽取模块的的预测实体类型entityij,公式如下:[0045][0046]在本发明中,步骤s5具体为:[0047]s501:计算每个句子di的每个关系对应的头实体的特征向量计算公式如下:[0048][0049][0050][0051]其中,tokenn为句子di中的词,(即tokenn∈di);cls为句子di中未最大池化的特殊分类词嵌入;表示为头实体的中间特征向量;为头实体的长度特征向量;表示为隐含特征向量的掩码矩阵;[0052]计算每个句子di的每个关系对应的尾实体的特征向量计算公式如下:[0053][0054][0055][0056]其中,tokenn为句子di中的词,(即tokenn∈di);cls为句子di中未最大池化的特殊分类词嵌入;表示为尾实体的中间特征向量;为尾实体的长度特征向量;表示为隐含特征向量的掩码矩阵;[0057]计算每个句子di的每个关系对应的特征向量具体为将每个关系对应的头实体特征向量和尾实体特征向量进行组合:[0058][0059]s502:计算每个句子di的每个关系对应的头实体的注意力贡献度计算公式如下:[0060][0061][0062][0063]其中:表示组成头实体的所有词的注意力矩阵;表示注意力矩阵中表示的注意力矩阵,且的注意力矩阵,且表示经过最大池化的注意力标量;为头实体对应m位置的词,且θ1为贡献度阈值,具体为0.4-0.8;[0064]计算每个句子di的每个关系对应的尾实体的注意力贡献度计算公式如下:[0065][0066][0067][0068]其中:表示组成尾实体的所有词的注意力矩阵;表示注意力矩阵中表示的注意力矩阵,且的注意力矩阵,且表示经过最大池化的注意力标量;为尾实体对应m位置的词,且θ1为贡献度阈值,具体为0.4-0.8;[0069]计算每个句子di的每个关系对应的注意力贡献度具体为将每个关系对应的头实体注意力贡献度和尾实体注意力贡献度进行组合:[0070][0071]s503:上下文信息的计算公式如下:[0072][0073]其中为在句子di中位于头实体和尾实体之间的词的lasthidden向量;[0074]s504:将每个关系样本集计算得到的特征向量注意力贡献度和上下文信息结合输入关系抽取模块relationclassification,得到关系分类模块的预测关系类型relationij,公式如下:[0075][0076]在本发明中,步骤s6中定义联合损失函数l=wle (1-w)lr训练实体关系抽取模型;其中:w为权重,le为实体抽取模块的交叉熵损失函数,lr为关系分类模块的二值交叉熵损失函数。[0077]在本发明中,步骤s6具体为:[0078]s601:采用adam优化器,设置损失函数为l=wle (1-w)lr;[0079]s602:设定评估标准为microf1值,训练实体关系抽取模型;[0080]如果模型预测的关系类型、两个相关实体的类型、跨度与标签一致,则认为该项预测是正确的;[0081]如果模型预测的关系类型、两个相关实体的类型、跨度与标签不一致,则认为该项预测是错误的。[0082]根据本发明提供的第二种实施方案,提供一种基于注意力贡献度的实体关系抽取方法的用途。[0083]将第一种实施方案所述的一种基于注意力贡献度的实体关系抽取方法用于分析医疗报告或司法判决书或者旅游数据报告。[0084]作为优选,将该方法用于分析药物不良反应的医疗报告。[0085]本发明提供一种基于注意力贡献度的实体关系抽取方法,该方法通过spacy对数据集中的原始句子进行分词,得到词列表,将词列表和标签以字典形式存入输入数据集d;然后对输入数据集d进行采样,获得输入数据集d中每个句子的实体样本集和关系样本集;选用在大规模生物医学语料库上预训练的bert模型,采用注意力贡献度算法计算实体之间的交互信息,再传递给下游的实体抽取和关系抽取任务,构成基于span的实体关系抽取模型;最后将实体样本集和关系样本集放入基于span的实体关系抽取模型训练,极大的提高了实体抽取任务的f1值和关系抽取任务的f1值。[0086]本发明针对数据集(尤其是特定领域的数据集),对数据集预处理(句子分词,将标签和分词后的词序列存入字典);然后进行正采样和负采样;构建基于span的实体关系抽取模型,(包括bert预训练模块、实体抽取模块和关系分类模块);再通过训练,得到基于注意力贡献度的实体关系抽取方法。[0087]在本发明中,maxpooling来源于pytorch库的torch.nn.maxpool2d函数,即求解最大池化。将需要求解的向量或矩阵输入该函数,即可得到对应的向量。[0088]在本发明中,隐含特征向量output[lasthidden]来源于transformers库的transformers.bertmodel函数输出的hidden_states。将需要求解的实体输入该函数,即可得到对应的向量。[0089]在本发明中,output[attentions]来源于transformers库的transformers.bertmodel函数输出的attentions。将需要求解的向量或矩阵输入该函数,即可得到对应的向量。[0090]在本发明中,average来源于pytorch库的torch.mean函数,即求解算数平方。将向量或矩阵输入该函数,即可得到对应的求解算数平方。[0091]在本发明中,entityclassification采用基于span的实体关系抽取模型中的实体抽取模块函数。[0092]在本发明中,relationclassification采用基于span的实体关系抽取模型中的关系分类模块函数。[0093]本发明具有以下有益技术效果:[0094]1、本发明采用的基于注意力的贡献度算法,以充分利用特定领域数据集预训练的bert注意力头所携带的词与词之间的交互信息,极大的加强了模型对特定领域信息的挖掘;[0095]2、采用本发明所述的实体关系抽取方法,经过微调能够较好的迁移到各种特定领域数据集,如司法、旅游、医学、新闻和自然科学等领域;[0096]3、采用本发明提供的方法分析药物不良反应的医疗报告,并相较spbert、cman、table-sequence等先进方法提升了至少1.31%microf1值。附图说明[0097]图1为本发明一种基于注意力贡献度的实体关系抽取方法的步骤流程图;[0098]图2为本发明所述的基于span的实体关系抽取模型。具体实施方式[0099]下面对本发明的技术方案进行举例说明,本发明请求保护的范围包括但不限于以下实施例。[0100]实施例1[0101]一种基于注意力贡献度的实体关系抽取方法,该方法包括以下步骤:[0102]s0:选定数据集d’;[0103]s1:通过spacy对原始句子进行分词,将词列表和数据集d’中包含的标签以字典形式存入输入数据集d[0104]s2:对数据集d进行采样,获得输入数据集d中每个句子di(di∈d)的实体样本集和关系样本集[0105]s3:构建基于span的实体关系抽取模型,具体包括bert预训练模块、实体抽取模块和关系分类模块;[0106]s4:根据每个实体样本集计算每个句子di中每个实体的特征向量和实体注意力贡献度将实体特征向量与注意力贡献度结合,传入实体抽取模块,得到实体抽取模块的预测实体类型entityij。[0107]s5:根据每个关系样本集计算每个句子di中每个关系对应的头实体和尾实体的特征向量与上下文信息头实体注意力贡献度尾实体注意力贡献度结合,传入关系抽取模块,得到关系分类模块的预测关系类型relationij;[0108]s6:定义联合损失函数l=wle (1-w)lr,训练基于span的实体关系抽取模型,得到基于注意力贡献度的实体关系抽取方法。[0109]应用实施例[0110]采用实施例1的方法,其中:所述数据集d’为选取某抗菌类药物使用产生的不良反应的医疗报告作为数据集;该数据集来自于gurulingappa创建的基准语料库。[0111]步骤s1中所述的将原始句子和标签转换为输入数据集d的具体操作为:[0112](1)将数据集d’中的原始句子通过spacy进行分词,得到词列表;将分词后的词列表存入key为tokens的字典dic中;[0113](2)数据集中的标签包括实体和实体关系,所述实体由一个或者一个以上的词组成;将每一个实体的实体类型(type)和实体标记在字典dic的tokens中的起止索引位置(start、end)通过字典存储,并以一个实体元素的形式存入实体列表,将实体列表存入key为entites的字典dic中;将每一个关系的关系类型(type)和头尾实体在字典dic的entites中的索引位置(head、tail)通过字典存储,并以一个关系元素的形式存入关系列表,将关系列表存入key为relations的字典dic中;[0114](3)一个字典dic构成一个样本,多个字典构成输入数据集d,输入数据集d以列表的形式构成,存入json文件中。[0115]预处理后的数据集d具体形式如下所示:[0116][0117]其中,步骤s2中所述对数据集d进行采样的具体操作为:[0118](1)实体采样,选取所有可能的由1-10个词组成的实体构成实体采样池中,在实体采样池中,随机选择100个实体负样本(实体类型为noentity)与实体正样本结合,各个实体样本在句子di中的位置信息、实体类型、实体的词数构成实体样本集所述实体正样本为数据集d中已包含的实体,实体负样本为实体采样池中随机生成的不属于实体正样本的实体;[0119](2)关系采样,将实体样本集中的实体两两配对,随机选择100个关系负样本(关系类型为none)与关系正样本结合,构成关系样本集关系样本集包括各个关系的头尾实体在原句子中的位置信息,关系类型等基本信息;所述关系正样本为数据集d中已有关系的头尾实体,关系负样本为没有关系的头尾实体。[0120]其中,步骤s3中所述构建基于span的实体关系抽取模型(如图2所示)的具体结构为:[0121](1)bert预训练模块,采用的是基于bert-base-cased的预训练的模型biobert,根据输入的句子di,为下游任务提供来自bert预训练模型的lasthidden和attentions(各层注意力头)捕获的各个实体eij的语义特征[0122](2)sizeembedding,为embedding层,其中num_embedding为100,embedding_dim为25,以学习由不同的词数量组成的实体eij的特征[0123](3)实体抽取模块entityclassification,依次为dropout层(prop_drop为0.1)、全连接层、softmax层,其中采用均值为0方差为0.02的正太分布随机数初始化分类器权重,得到实体抽取模块的预测实体类型entityij;[0124](4)关系分类模块relationclassification,依次为dropout层(prop_drop为0.1)、全连接层、sigmod层,其中采用均值为0方差为0.02的正太分布随机数初始化分类器权重,得到实体关系分类模块的预测关系类型relationij。[0125]其中,步骤s4中所述的实体抽取模块输入数据的具体操作为:[0126](1)计算每个句子di中每个实体的特征向量的公式如下:[0127][0128][0129][0130]其中,tokenn为句子di中的词,(即tokenn∈di);cls为句子di中未最大池化的特殊分类词嵌入;为实体eij的长度特征向量;表示实体eij的中间特征向量;表示为隐含特征向量的掩码矩阵;[0131](2)计算每个句子di中每个实体eij的实体注意力贡献度具体如下:[0132]a.提取实体eij对应的所有在句子di中的注意力矩阵公式如下:[0133][0134]b.将各个的注意力矩阵通过最大池化转换为注意力标量公式如下:[0135][0136]c.将各个中,大于阈值θ1的所有注意力标量通过平均得到各个实体eij的注意力贡献度,公式如下:[0137][0138]其中:定示组成实体eij的所有词的注意力矩阵;表示注意力矩阵中表示的注意力矩阵,且表示的注意力矩阵,且表示经过最大池化的注意力标量;为实体eij对应m位置的词,且θ1为贡献度阈值,具体为0.5;[0139](3)将每个实体样本集计算得到的实体特征向量与注意力贡献度在最后一个维度进行拼接传入实体抽取模块entityclassification得到实体抽取模块的预测实体类型entityij,公式如下:[0140][0141]其中,步骤s5中所述的关系分类模块输入数据的具体操作为:[0142](1)根据关系样本集计算每个句子di中每个关系对应的头实体的特征向量计算公式如下:[0143][0144][0145][0146]其中,tokenn为句子di中的词,(即tokenn∈di);cls为句子di中未最大池化的特殊分类词嵌入;表示为头实体的中间特征向量;为头实体的长度特征向量;表示为隐含特征向量的掩码矩阵;[0147]计算每个句子di的每个关系对应的尾实体的特征向量计算公式如下:[0148][0149][0150][0151]其中,tokenn为句子di中的词,(即tokenn∈di);cls为句子di中未最大池化的特殊分类词嵌入;表示为尾实体的中间特征向量;为尾实体的长度特征向量;表示为隐含特征向量的掩码矩阵;[0152]计算每个句子di的每个关系对应的特征向量具体为将每个关系对应的头实体特征向量和尾实体特征向量进行组合:[0153][0154](2)计算每个句子di的每个关系对应的头实体的注意力贡献度计算公式如下:[0155][0156][0157][0158]其中:表示组成头实体的所有词的注意力矩阵;表示注意力矩阵和表示的注意力矩阵,且的注意力矩阵,且表示经过最大池化的注意力标量;为头实体对应m位置的词,且θ1为贡献度阈值,具体为0.5;[0159]计算每个句子di的每个关系对应的尾实体的注意力贡献度计算公式如下:[0160][0161][0162][0163]其中:表示组成尾实体的所有词的注意力矩阵;表示注意力矩阵中表示的注意力矩阵,且的注意力矩阵,且表示经过最大池化的注意力标量;为尾实体对应m位置的词,且θ1为贡献度阈值,具体为0.5;[0164]计算每个句子di的每个关系对应的注意力贡献度具体为将每个关系对应的头实体注意力贡献度和尾实体注意力贡献度进行拼接组合:[0165][0166](3)根据关系样本集的头尾实体在原句子中的位置信息,获得头实体和尾实体之间的词的lasthidden向量,经过最大池化得到上下文信息公式如下:[0167][0168]其中为每个关系rij对应的头实体和尾实体在句子di中位于头实体和尾实体之间的词的lasthidden向量;[0169](4)将每个关系样本集计算得到的特征向量注意力贡献度和上下文信息在最后一个维度进行拼接传入实体抽取模块relationclassification得到关系分类模块的预测关系类型relationij,公式如下:[0170][0171]其中,步骤s6中所述的训练模型的具体操作为:[0172](1)采用adam优化器,学习率为5×10-5;设置损失函数为l=wle (1-w)lr,其中le为实体抽取模块的交叉熵损失函数,lr为关系分类模块的二值交叉熵损失函数,权重w为0.5;[0173](2)其中评估标准为microf1值,如果模型预测的关系类型、两个相关实体的类型、跨度与标签一致,则认为该项预测是正确的;[0174](3)训练集的batch_size为6,epochs为30。[0175]利用上述实施例提供的方法,现采用ade作为数据集,一个摘自描述某抗菌类类药物使用产生的不良影响的医疗报告的数据集,包含4272个句子,采用下述测试方法计算本发明一种基于注意力贡献度的实体关系抽取方法的microf1值。[0176][0177]其中:a=该抗菌类类药物使用产生的不良影响的医疗报告中被正确分类的关系实例个数,b为被判定为该抗菌类类药物使用产生的不良影响的医疗报告中的关系实例总数,c为输入数据集d中的关系实例总数。[0178]通过计算,采用本发明提供的基于注意力贡献度的实体关系抽取方法用于分析药物不良反应的医疗报告的microf1值为82.76,并相较spbert、cman、table-sequence等先进方法分析药物不良反应的医疗报告,本发明的microf1值提升了1.31%。事实证明本实例提供的基于注意力贡献度方法所训练的实体关系抽取模型能够有效地捕捉特定领域数据集预训练过的bert模型中词与词间的交互信息,并将交互信息合并到基于span的样本编码中,有助于模型了解句子所描述实体的上下文语境,且效果优于传统的基于bert的实体关系抽取模型。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献