一种基于药物实体词掩码和Insert-BERT结构的药物关系抽取方法

文档序号:29799863发布日期:2022-04-23 19:50阅读:133来源:国知局
一种基于药物实体词掩码和insert-bert结构的药物关系抽取方法
技术领域
:1.本发明涉及生物医学关系抽取
技术领域
:,具体涉及一种基于药物实体词掩码和insert-bert结构的药物关系抽取方法。
背景技术
::2.药物关系抽取(drug-drug-interactionextraction,ddi)旨在提取两种或两种以上药物之间在人体内相互结合以及相互作用的关系,是生物医学关系抽取领域最典型的任务。统计研究表明:越来越多的人需同时服用多种药物,而多种药物之间的相互作用将对健康人体产生严重影响。因此,进一步了解药物相互作用、设计和开发药物关系分类系统对减少药物滥用事故具有重要的意义。鉴如此,ddi相关工作受到越来越多研究人员的关注,同时涌现了多种反映药物作用关系的数据集。然而,随着生物医学的快速发展,描述生物药物机理的文献呈爆炸式增长,通过人工方式分析和发现药物相互关系已不再可能。因此,基于海量的描述药物机理文献数据,探索自动、准确的药物关系抽取方法成为ddi领域噩待解决的问题。3.随着越来越多的人同时服用多种药物造成人体伤害以及药物滥用事故的频发,如何从各种医学日志或者记录探索药物相互作用引起了研究人员的极大关注。早期阶段,药物关系抽取方法主要基于以特征工程为代表的传统机器学习技术。这类方法受限于稀疏数据,关系抽取效果不佳;此外,特征提取方法的不可复用性也使得这类方法的推广成为较大的问题。近几年,以深度学习为代表的方法快速扩展到药物关系抽取领域,尤其以bert为代表的预训练模型引起了关系抽取领域的普遍关注。然而,如何提升bert的预训练效果以及更好的适配下游药物关系分类任务,仍需待进一步挖掘和探索。此外,目前虽存在描述药物机理的海量数据,但药物关系标注需要大量医学专业领域知识,致使人工标注的监督样本仅维持在10万量级,其远低于文本分类、实体识别等自然语言处理领域的数据规模。而相关研究表明,仅依靠少量监督数据,难以训练cnn或者rnn等深度神经网络模型,其准确率和泛化能力均难以保证。4.综上所述,研发一种基于药物实体词掩码和insert-bert结构的药物关系抽取方法,仍是药物关系抽取
技术领域
:中急需解决的关键问题。技术实现要素:5.针对现有技术所存在的上述缺点,本发明首先针对bert预训练任务中表达共现实体信息弱的缺点,在药物实体库的引导下改进掩码语言模型中完全随机掩码方式,提出一种基于药物实体词掩码(entity-mask-bert)的预训练策略;其次,在药物关系分类的微调阶段,针对下游任务适配差的问题,引入四种标志符号以区分同一输入序列不同的实体组合形式,在不破坏entity-mask-bert预训练模型基础上提出一种insert-bert结构的微调方案。在ddi-extraction2013实验结果表明:提出的无监督+有监督相结合的药物关系抽取方法取得f=0.81。与现有方法相比,提出的方法在药物关系多分类任务及药物关系检测二分类任务均有全面提升;模型可视化及消融实验等结果表明提出方法能够在连续空间中提取不同层次、不同粒度的语义信息,并能够有效制约负样本的影响。6.为实现上述目的,本发明提供了如下技术方案:7.一种基于药物实体词掩码和insert-bert结构的药物关系抽取方法,包括:8.s1、在输入层的单词序列掩码mask阶段,基于构建的药物名称实体库上,采用字符串匹配的方式实现药物实体检测;9.s2、在输入阶段,仅随机选择其中一个药物实体进行掩码,对于句子中剩下的非实体单词,遵循常规的bert掩码策略;10.s3、在预训练的entity-mask-bert的基础上,通过引入标志实现组合进行区分,从而构建insert-bert结构的药物关系分类,以达到同一输入句子序列中不同药物实体关系的抽取的目的;11.s4、为区分同一输入句子包含不同实体组合的问题,新增start1、end1、strat2和end2四个符号,从而使得相同的输入句子序列在输入层具有不同的表示;12.s5、insert-bert模型训练前期采用基于warmup+三角学习率的优化策略,在训练的后期,随着模型的逐渐收敛,不断降低学习率以便微调模型。13.本发明进一步设置为:在步骤s2中,在输入句子中存在多个实体的情况下,掩码其中一个药物实体并利用其他药物实体去预测当前掩码实体的策略,可基于海量的描述药物机理数据实现无监督的高频药物实体关系建模并完成预训练任务。14.本发明进一步设置为:在步骤s3中,对于输入句子序列x=[x1,x2,e3,x4,e5···e10,···xm];[0015]其中,m表示输入句子中包含的单词总数;[0016]e3、e5和e10分别表示3个药物实体;[0017]x1,x2,x4,··xm表示非药物实体;[0018]下游分类任务需要判断[e3,e5]、[e3,e10]以及[e3,e10],这3种药物实体组合之间的关系,且实体组合共用同一个输入序列x。[0019]本发明进一步设置为:在步骤s4中,新增start1、end1、strat2和end2四个符号,以判断实体组合[en,em]之间的关系。[0020]本发明进一步设置为:判断实体组合[en,em]之间的关系的方法为:[0021]s40、在en的前后插入符号start1和end1,标志第一个实体所在位置;[0022]s41、在em的前后插入符号start2和end2,标志第二个实体所在位置;[0023]s42、同理,实体组合[en,ev]以及[em,ev]均进行类似操作,一个包含n个实体的输入句子将生成种输入序列,从而使得相同的输入句子序列在输入层具有不同的表示。[0024]本发明进一步设置为:在步骤s5中,构建的insert-bert模型,其主要编码单元为transformer,该编码单元的参数均以entity-mask-bert预训练得到的transformer参数作为初始化。[0025]本发明进一步设置为:在模型的训练阶段,假设[cls]节点的输出表示为r∈rk;[0026]s50、定义转移矩阵w∈rk×c实现输出表示空间到类别概率空间的映射:[0027]o=rw;[0028]其中,o=(o1,···,oj,···,oc)∈rc表示每个类别的未归一化的概率;[0029]k和c分别代表输出向量维度和药物实体关系的类别数目;[0030]s51、利用softmax函数将未归一化的概率空间o转化到归一化的概率空间s,如下式所示:[0031][0032]其中,表示第l个输入句子中第p个药物实体对;[0033]表示属于类别cj的概率;[0034]s52、以步骤s51中公式为优化目标完成insert-bert模型训练:[0035][0036]其中,l表示训练集中样本总数;[0037]nl表示第l个样本中包含药物实体对的数量;[0038]分别表示第l个样本中第p个药物实体对的真实值和预测值。[0039]本发明进一步设置为:在insert-bert模型训练和微调过程中,batch-size、学习率分别设置为16和2e-5。[0040]有益效果[0041]采用本发明提供的技术方案,与已知的公有技术相比,具有如下有益效果:[0042]本发明提出一种基于药物实体词掩码和insert-bert结构的药物关系抽取方法,该方法首先针对bert预训练任务中表达共现实体信息弱的缺点,在药物实体库的引导下改进掩码语言模型中完全随机掩码方式,提出一种基于药物实体词掩码(entity-mask-bert)的预训练策略;其次,在药物关系分类的微调阶段,针对下游任务适配差的问题,引入四种标志符号以区分同一输入序列不同的实体组合形式,在不破坏entity-mask-bert预训练模型基础上提出一种insert-bert结构的微调方案。在ddi-extraction2013实验结果表明:提出的无监督+有监督相结合的药物关系抽取方法取得f=0.81。与现有方法相比,提出的方法在药物关系多分类任务及药物关系检测二分类任务均有全面提升;模型可视化及消融实验等结果表明提出方法能够在连续空间中提取不同层次、不同粒度的语义信息,并能够有效制约负样本的影响。附图说明[0043]图1为基于transformer结构的预训练bert模型由输入层、编码层和解码层组成的示意图;[0044]图2为entity-mask-bert的预训练过程的示意图;[0045]图3为insert-bert模型构建的示意图;[0046]图4为insert-bert注意力权重可视化的示意图。具体实施方式[0047]为使本发明实施例的目的、技术方案和优点更加清楚,下面将对本发明实施例中的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。[0048]下面结合实施例对本发明作进一步的描述。[0049]实施例1[0050]一种基于药物实体词掩码和insert-bert结构的药物关系抽取方法,针对预训练bert模型完全随机的掩码方式缺乏实体倾向性的缺点,在引入药物实体识别基础上改进掩码语言模型,提出一种基于药物实体词掩码(entity-mask-bert)的预训练策略;其次,在基于预训练好的entity-mask-bert的基础上,针对药物关系抽取任务,本文进一步设计insert-bert结构,实现对药物关系的分类;最后,简单介绍了insert-bert的训练过程。[0051]从掩码语言预测任务的训练策略可以看出,bert采取完全随机的方式在对输入单词序列进行掩码。由于缺乏先验知识,这种不含倾向性的随机方式使得含信息量较少的单词仍然被掩码,或随机遮盖掉的单词与关系抽取任务关联度和关注度较小。如图1中,单词“of”或者“the”的信息量相对较低,但仍然被掩码和预测。这些包含冗余信息的掩码输入序列,不仅制约了编码层的表示能力,而且增加模型的训练难度以及影响模型的拟合能力。为了消除完全随机掩码方式产生的无效掩码,并考虑预训练bert模型更好的适配下游的药物关系分类任务,本文提出一种基于药物实体词掩码(entity-mask-bert)的预训练策略,其预训练过程如图2所示。[0052]首先,在输入层的单词序列掩码mask阶段,基于构建的药物名称实体库上,采用字符串匹配的方式实现药物实体检测。图2中,输入句子中标注为红色的“terbinafine”和“cyclosporine”为药物实体名称。然后,在输入阶段,区别于预训练bert模型中掩码策略,仅随机选择其中一个药物实体进行掩码。图2中,存在两个药物实体“terbinafine”和“cyclosporine”,“cyclosporine”在输入端被选中并进行掩码。对于句子中剩下的非实体单词,本文遵循常规的bert掩码策略。本文这种掩码的策略主要借鉴了关系抽取中远程监督的思想,即两个实体在远程监督的学习中存在大高频共现,则这两个实体存在关系的可能性较大。在输入句子中存在多个实体的情况下,本文提出的掩码其中一个药物实体并利用其他药物实体去预测当前掩码实体的策略,可以基于海量的描述药物机理数据实现无监督的高频药物实体关系建模并完成预训练任务。此外,区别于图1,本文在预训练的过程中丢弃了句对判断任务。[0053]药物关系抽取质量不仅与预训练bert模型中引入的实体掩码策略密切相关,还与下游领域分类任务模型构建紧密相连。对于输入句子序列,如果其包含n个实体,则需要判断种实体排列组合。如何在同一输入句子序列中区分辨识种组合,并为每种组合进行分类是本文需要解决的关键问题。[0054]具体的,对于输入句子序列x=[x1,x2,e3,x4,e5···e10,···xm];[0055]其中,m表示输入句子中包含的单词总数;[0056]e3、e5和e10分别表示3个药物实体;[0057]x1,x2,x4,··xm表示非药物实体;[0058]下游分类任务需要判断[e3,e5]、[e3,e10]以及[e3,e10],这3种药物实体组合之间的关系,且实体组合共用同一个输入序列x。[0059]判断实体组合[en,em]之间的关系的方法为:[0060]1)在en的前后插入符号start1和end1,标志第一个实体所在位置;[0061]2)在em的前后插入符号start2和end2,标志第二个实体所在位置;[0062]3)同理,实体组合[en,ev]以及[em,ev]均进行类似操作,一个包含n个实体的输入句子将生成种输入序列,从而使得相同的输入句子序列在输入层具有不同的表示。[0063]具体构建形式如图3所示。其中,transformer模型由提出的entity-mask-bert中预训练得到,且用于insert-bert的初始化。[0064]本文构建的insert-bert具有以下两个优点:[0065]1)仅对输入句子序列在输入层增加位置符号,无需改变编码层transformer内部结构以及整体模型框架,这确保提出的entity-insert-bert结构可以较好地迁移到药物关系分类这一下游任务上;[0066]2)新增位置符号的插入,仅改变了原始输入单词之间的相对位置。由于transformer的注意力机制对位置的改变不敏感,这使得改进的预训练策略和微调相对一致。[0067]构建的insert-bert模型,其主要编码单元为transformer,该编码单元的参数均以entity-mask-bert预训练得到的transformer参数作为初始化,模型的训练阶段,假设[cls]节点的输出表示为r∈rk;[0068]s50、定义转移矩阵w∈rk×c实现输出表示空间到类别概率空间的映射:[0069]o=rw;[0070]其中,o=(o1,···,oj,···,oc)∈rc表示每个类别的未归一化的概率;[0071]k和c分别代表输出向量维度和药物实体关系的类别数目。[0072]s51、利用softmax函数将未归一化的概率空间o转化到归一化的概率空间s,如下式所示:[0073][0074]其中,表示第l个输入句子中第p个药物实体对;[0075]表示属于类别cj的概率;[0076]s52、以步骤s51中公式为优化目标完成insert-bert模型训练:[0077][0078]其中,l表示训练集中样本总数;[0079]nl表示第l个样本中包含药物实体对的数量;[0080]分别表示第l个样本中第p个药物实体对的真实值和预测值。[0081]在insert-bert模型训练和微调过程中,batch-size、学习率分别设置为16和2e-5。在优化方法上,采用基于warmup+三角学习率的优化策略,即在模型的初始阶段,采用较小的学习率,确保模型的参数在一个较小的范围内更新,避免模型振荡;在训练的后期,随着模型的逐渐收敛,不断降低学习率以便微调模型。[0082]此外,对于新增的位置符号start1、end1、strat2以及end2,如果其词向量表示作为额外的参数加入到insert-bert进行训练,势必破坏预训练bert的词向量大小。鉴于bert专门为新的符号预留了部分词向量单元,在不增加bert词向量规模基础上,采用折中方案,将新增位置符号统一映射为bert词表中的[unseen]单词。在entity-mask-bert预训练参数基础上,提出的insert-bert模型训练将在20次左右达到收敛。[0083]实施例2[0084]为了更好地将bert模型应用于药物关系抽取领域,以googlebert的预训练模型为基础,并选择pubmed数据集中的摘要数据作为entity-mask-bert的预训练语料。ddi-extraction2013数据集为药物关系抽取提供了一个规模相对较大的标注语料库。该数据集将药物实体对标注为五种药物关系类型:advice、effect、mechanism、int以及negative(表示两实体不存在关系)。因此,ddi实质为一个5标签的多分类任务。各标签的简要描述如下:[0085]1)advice:描述同时使用两种药物的相关意见,如:interactionmaybeexpected,anduroxatralshouldnotbeusedincombinationwithotheralpha-blockers;[0086]2)effect:描述药效的相互作用,如:methioninemayprotectagainsttheototoxiceffectsofgentamicin;[0087]3)mechanism:描述药物代谢动力学机制,如:grepafloxacin,likeotherquinolones,mayinhibitthemetabolismofcaffeineandtheobromine;[0088]4)int:描述无任何信息的药物交互,如:theinteractionofomeprazoleandketoconazolehasbeenestablished;[0089]5)negative:两个实体对之间虽然存在共现,但是两者之间并不存在任何的关系,比如:concomitantlygiventhiazidediureticsdidnotinterferewiththeabsorptionofatabletofdigoxin。[0090][0091]afterpreprocessingandfilteringrules[0092][0093]表1drugbank及medline预处理前后数据统计[0094]ddi-extraction2013的训练集和测试集主要由两个方面组成:drugbank和medline。为消除过多负样本的影响以及提升模型效果,在数据处理阶段,沿用quan提出的文本预处理方式滤掉部分负样本对,其详细描述如表1所示。[0095]在表1中,上半部分代表未经过预处理的数据统计,下半部分为经预处理后的数据统计。此外,表1中abstract代表摘要数据,positive代表存在advise、effect,mechanism以及int四种关系的数据,而negative则代表不存在任何关系的数据。从表1可以看出,通过文本处理方式,可以将训练集的负样本从22118降低至14445,同时可以将测试集的负样本从4367降低至2819,这个预处理操作在节省训练时间的同时可以降低分类的不均衡性。[0096]在ddi-extraction2013数据集上,将提出的insert-bert模型的药物关系分类效果同其他相关工作进行了比较。除比较advise、effect、mechanism以及int四种药物关系的多分类任务效果外,进一步比较药物关系检测的2分类任务效果,即引入dec描述药物之间是否存在关系,而不区分具有何种药物关系。[0097]表2与基于传统统计机器学习药物关系分类方法的比较[0098]方法类型adviseeffectmechanismintdecf-valuekim72.566.269.348.377.567.0fbk-irst69.262.867.954.080.065.1wbi63.261.061.851.075.960.9uturku63.060.058.250.769.659.4insert-bert83.882.384.558.088.081.3[0099]首先,将提出的方法与基于传统统计机器学习药物关系分类方法进行比较,主要包括fbk-irst、wbi以及uturku三个基线模型和kim方法,其比较结果如表2所示。以上四种方法均利用svm分类器对输入的药物实体对进行关系分类,但是在模型、策略以及特征的选择方面,存在较大差异。fbk以及kim方法首先采用二分类模型实现药物关系检测(即判断一对实体是否存在关系),然后利用多分类模型完成药物关系的多分类任务。而基于svm模型多分类策略选择中,fbk采用1对多(one-against-all)策略,而kim则选择1对1(one-against-one)策略。与kim、fbk不同,wbi和uturku直接将采用一个多分类-svm来实现所有的任务。[0100]表2表明,与基于传统统计机器学习药物关系分类方法相比,提出的方法在advise、effect、mechanism、int、dec及f值方面均有明显提升。以传统机器学习中目前效果较好的kim等系统为例,本文提出的insert-bert模型f值从67.0%提升到了81.3%;在单类别方面,分类效果也有明显提升,各类别f值均提升超过10%。此外,特征在以上四种方法中仍然承担着较为重要的地位。一些常用的特征,如n-gram信息、词对信息、词性信息等引入到模型中;同时,一些高阶的特征,比如:句法树信息,依存句法信息、句法路径信息等也被整合到模型中。这些融合人工抽取特征的传统药物关系分类方法一定程度上获得较为不错的效果,但此类方法一方面复用性难度大,一方面人工抽取特征的级联易导致误差传递增大。这些因素均制约了传统药物关系分类方法的应用和药物关系抽取效果的提升。[0101]表3与基于深度学习药物关系分类方法的比较[0102][0103][0104]与基于传统统计机器学习分类方法不同,基于深度学习的药物关系分类方法直接采用端到端的方式进行药物关系抽取。为分析基于深度学习的药物关系分类方法的优势,本文进一步将提出的方法与cnn及rnn相关的药物关系分类模型进行比较。在cnn相关的模型中,大多数模型先将输入文本转化为词向量表示,然后利用cnn的窗口卷积实现序列建模和实体对特征抽取,最后外接分类器完成实体关系分类。与cnn不同,rnn相关的模型直接对序列进行建模。考虑少量药物关系监督数据难以保证模型分类效果,本文采用基于药物实体词掩码的预训练策略与基于insert-bert模型的微调方案实现药物关系分类。表3表明:与cnn及rnn相关的药物关系分类方法相比较,本文方法的总体及单类别f值均有显著提升。表3还说明基于rnn序列建模方式的分类效果略微优于基cnn相关的方法,而基于深度学习的相关方法效果也远超svm相关的模型。[0105]表2、3实验结果表明:insert-bert的模型效果远超cnn、rnn以及svm相关的模型。本文提出的方法在advise、effect、mechanism以及int四种关系类型上均获得了较好的分类结果。除了int类型,其他类型的f值提升均超过5%。表2、3中,各方法的int分类效果均较差,主要原因为:int的训练和测试数据相对较少(低于100条),模型难以拟合致使分类效果偏低。此外,在f值方面,本文提出的insert-bert模型取得了f=0.81,其效果远超mcnn以及tm-rnn相关模型,这进一步说明提出的预训练+微调方案的有效性。另外,在二分类的dec任务中,insert-bert也取得了最好的效果,其f值f超过mcnn方法9%。实验表明,提出的方法在药物关系抽取多分类任务及药物关系检测二分类任务均有全面提升。[0106]表4googlebert初始化以及entity-mask-bert初始化的模型效果对比[0107]模型结构f-valueinsert-bert(googlebert初始化)79.0insert-bert(entity-mask-bert初始化)81.3[0108]表5预处理规则对于不同方法效果的影响[0109]方法无预处理预处理f-value变化cnn65.069.74.7mcnn67.870.22.4scnn64.568.43.9rnn67.269.42.2tm-rnn70.872.41.6insert-bert81.081.30.3[0110]为了进一步验证本文提出的entity-mask-bert及预训练策略的有效性,比较了googlebert初始化以及entity-mask-bert初始化下的insert-bert的模型效果。提出的entity-mask-bert与googlebert参数保持一致,均采用12层-768结构。[0111]为了进一步探究insert-bert所学习到的深度特征以及句中单词对其影响权重,本文对bert的[cls]这一节点进行可视化分析。具体的,针对bert每一层[cls]节点,本文计算其他单词与当前[cls]节点的权重,并且以可视化的方式进行展现,如图4所示。为方便分析和可视化,图4将a代表实体1、b代表实体2,并将s1、e1、s2和e2分别映射到bert词表中的[unseen1]、[unseen2]、[unseen3]、[unseen4]这几个特殊符号。图4中,左边[cls]节点同其他单词之间的线条粗细代表[cls]节点与和其他节点的权重关系。通过可视化权重分析,可以定性的得出如下结论:1)在浅层的特征学习中,insert-bert主要聚焦学习一些句子整体层面的特征。如在layer0到layer7中,大部分的权重主要集中于[cls]以及[sep]这两节点上;2)在稍微高层的特征学习中,insert-bert开始关注一些非整体层面的细节特征。以layer8-layer11为例,权重大多集中在非[cls]和[sep]的节点上;3)各层聚焦的特性存在差异。如在layer6以及layer7中,insert-bert关注一些实体边界特征;而在layer4和layer5中,insert-bert更关注于一些能够蕴含实体关系的关键词,如“increases”。从这些定性的分析可以看出,提出的insert-bert能够在连续空间中提取不同层次、不同粒度的语义信息。[0112]以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不会使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1