基于实体类型语义的嵌套命名实体自适应识别方法

文档序号:35849947发布日期:2023-10-25 19:02阅读:38来源:国知局
基于实体类型语义的嵌套命名实体自适应识别方法

本发明涉及自然语言处理中的命名实体识别,具体是利用实体类型的语义信息去辅助解决医疗领域细粒度场景下命名实体识别中实体嵌套的问题,尤其是一种基于实体类型语义的嵌套命名实体自适应识别方法。


背景技术:

1、命名实体识别是指从文本中识别出预定义类型的实体,该任务通常根据命名实体是否存在嵌套关系被划分为扁平命名实体识别和嵌套命名实体识别,在早期的研究中往往是将它们作为两个独立的问题,但目前逐渐呈现出统一处理的趋势。在过去的研究中,针对实体嵌套的问题提出了各种不同的解决方法。比如:

2、(1)序列标注模型

3、序列标注模型(bilstm+crf)在扁平实体识别中取得了显著的效果,于是便有了将其应用在嵌套实体识别上的做法,他的主要做法就是将以前扁平命名实体识别模型中的单分类crf改为多分类的crf,但这种做法会引起标签间的冲突,效果并不理想。

4、为了解决序列标注模型无法应用在嵌套实体上的问题,基于层的模型在2018年被提出,该模型的每一层都是一个单独序列标注模型,并且每一层只负责抽取一种扁平实体。他的具体做法是如果当前层抽取出了实体,就会将组成当前层实体的多个token组合成一个token,并且进入下一层继续抽取,这样就可以由内而外的进行嵌套实体的提取,直到没有抽取出实体时结束。该方法可以在一定程度上抽取出嵌套实体,但是存在错误传播的问题。比如,模型在前一层抽取到了错误的实体,那么在后续的抽取中也极有可能出现错误。

5、(2)基于mrc框架的嵌套命名实体识别模型

6、现有的做法中,在实体嵌套问题上表现效果较好的是基于mrc的嵌套命名实体识别方法。(machine reading comprehension,简称mrc)是机器阅读理解的简称,mrc问题是对于给定的上下文c和问题q,需要模型给出关于问题q的正确答案,即:a=f(c,q)。mrc中也包含四大任务:完形填空、单项选择、答案抽取、自由问答,其中,命名实体识别任务恰好可以看成答案抽取任务,具体是上下文c为待抽取序列,将实体的预定义类型设计成问题q,即可套用mrc框架来解决命名实体识别问题。基于mrc的方法之所以能够在嵌套实体上取得显著的效果,是因为他在对实体位置提取的过程中融入了实体类型的语义信息,比如:“《叶圣陶散文选集》”的序列中,叶圣陶和叶圣陶散文选集存在着嵌套关系,可基于mrc的方法利用设计的问题q对实体类型的语义信息进行编码,将序列分别从人物、图书两种语义下进行实体抽取。该方法由于融入了实体类型的语义信息所以在处理重叠或者嵌套实体上具有天然的优势。

7、该方法虽然在处理实体嵌套问题上取得了显著的效果,但仍然存在着严重的效率问题。比如,假设有n种类别的实体,同样的序列需要模型提取n遍才有可能提取出所有实体,这种效率问题不仅仅存在于训练中,在预测中仍然不能避免,并且理论上这种效率问题会随着实体类型数目的增加而越发突出。因此,该方法无法应用于医疗领域中细粒度场景下实体类型过多的场景。同时,由于在该方法中问题q是人为设计的,虽然有过多次的对比试验,但对于不同的数据仍然不能保证生成问题的准确性。

8、在医疗领域中文本存在着大量的专业术语、实体嵌套等不规范表达。同时,医疗实体名词种类繁多,数量庞大,并且随着现代化医疗技术的发展,未登录词汇不断涌现,难以构建一个系统全面的医学辞典,这给医疗命名实体识别带来了极大的难度。并且,在现有的基于mrc的嵌套命名实体识别方法中,我们发现该方法存在严重的识别效率问题,无法应用在医疗领域的细粒度场景下。同时,在利用人工生成的问题提取实体类型语义信息的过程中存在一定的主观因素和领域知识的局限性问题。


技术实现思路

1、本发明的目的是为解决医疗领域的细粒度场景下现有基于mrc的方法中所存在的效率问题和问题q设计不准确的问题,而提出一种基于实体类型语义的嵌套命名实体自适应识别方法。这种方法可以极大的提高医疗细粒度场景下嵌套实体识别的效率和准确率,只需对可能存在的实体类型进行标签语义的融合并抽取实体,从而提高模型训练和预测的效率,并且分类网络可以在训练中根据不同的训练数据自动编码实体标签的语义信息,避免人工设计问题的局限性,具有更好的泛化效果。

2、实现本发明目的的技术方案是:

3、基于实体类型语义的嵌套命名实体自适应识别方法,包括如下步骤:

4、1)序列编码:将一个待抽取序列x={[cls],x1,x2,…,xn}利用bert进行编码,输出嵌入矩阵其中d表示bert的嵌入维度,n表示序列长度;

5、2)序列分类:由于医疗领域的实体类型过多,该步骤可以有效减少后续处理中不必要的计算,提高模型的效率,将e经过一个多分类神经网络,该网络由两层全连接网络组成,具体如下:

6、

7、h2=transpose(h1)

8、

9、其中wo∈rn×1都是网络中可学习的参数,h2∈rc×n是将h1的两个维度转置之后得到的矩阵,即将序列从实体类型的角度分开,从而期望这一层能学习到实体类型的语义信息,最后将矩阵经过sigmoid函数得到最终的概率矩阵,该矩阵中的每一个值都对应一个实体类型是否存在的概率;

10、3)实体类型语义融合:为了处理医疗实体中广泛存在的实体嵌套问题,通过融合实体类型的语义编码来辅助实体识别过程,从步骤2)分类神经网络的隐藏层中取出与实体类型对应语义编码,将其融入到嵌入矩阵e中,即:其中i表示第i个实体类型;

11、4)开始下标预测:使用融入实体标签语义信息的新序列进行开始下标的预测,具体为其中tstart∈rd×1是可学习的参数,最终输出一个开始概率矩阵,开始概率矩阵中的每一个值表示该位置是开始下标的可能性;

12、5)结束下标预测:使用融入实体标签语义信息的新序列进行结束下标的预测,具体为其中tend∈rd×1是可学习的参数,最终输出一个结束概率矩阵,结束概率矩阵中的每一个值表示该位置是结束下标的可能性;

13、6)下标匹配:将所有预测出的开始位置与结束位置所对应的向量做拼接,并经过一个预测网络,计算该配对是否是一个实体的概率,具体为:

14、

15、m∈r1×2d是一个可学习的权重;

16、7)模型的训练:在分类过程中会产生一个分类损失lclass=ce(pclass,yclass),在预测开始下标和结束下标会产生两个损失lstart=ce(pstart,ystart),lend=ce(pend,yend),在进行下标配对时也会产生一个配对损失lspan=ce(pstart,end,ystart,end),因此,模型训练的总损失为:

17、l=αlclass+βlstart+γlend+δlspan

18、其中α,β,γ,δ∈[0,1]是控制各个损失贡献比例的超参数,将四个部分的损失联合训练做一个端到端的学习;

19、8)模型的预测:将一段文本序列输入到训练好的模型中,首先会经过多分类模块,该模块能准确预测医疗文本序列中潜在的实体类型,之后会对每一个潜在的实体类型进行以下处理:(i)将原序列与实体类型语义编码融合;(ii)将新的序列进行实体片段开始、结束下标的预测;(iii)将开始下标与结束下标做匹配形成实体片段;(v)输出该实体类型语义下所有的实体片段。

20、步骤2)中的多分类神经网络的作用有两个:

21、(1)自动发现待抽取序列中可能存在的实体类型,有效减少序列被提取的次数,提高实体识别的效率;

22、(2)在训练一个多分类神经网络的过程中,通过隐藏层的向量学习到实体类型的语义信息,并将其作为先验知识融入到后续实体位置的提取中,从而提高嵌套实体的识别精度。使用训练分类网络的方式让它能够自动捕获到实体标签的语义信息,从而避免了基于mrc方法中人工设计问题q的步骤。

23、经过分类网络后,可以得到该序列中可能存在的实体类型种类,之后的实体位置提取只需要对存在的实体类型进行提取即可,这样处理之后就可以动态调整序列被提取次数,无需对每一种实体类型都做依次提取,大大提高了实体提取的效率。同时,可以从上述的分类网络的隐藏层中取出与实体类型对应语义编码,将其融入到嵌入矩阵e中,随后对融入语义信息的新序列进行实体位置的预测,提高实体识别的精准性。

24、本技术方案提出的医疗领域细粒度场景下嵌套命名实体识别方案具有通过融合实体类型语义信息来辅助识别嵌套实体的优点,并且解决了现有方案中因存在效率问题而无法应用的问题。同时,无需通过人工设计问题来对实体标签语义信息进行编码,而是利用分类网络的隐藏层对实体标签语义进行自适应学习,这样做可以使得模型可以拥有更好的泛化效果,从而提高模型识别的准确率。

25、这种方法可以极大的提高医疗细粒度场景下嵌套实体识别的效率和准确率,只需对可能存在的实体类型进行标签语义的融合并抽取实体,从而提高模型训练和预测的效率,并且分类网络可以在训练中根据不同的训练数据自动编码实体标签的语义信息,避免人工设计问题的局限性,具有更好的泛化效果。

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