一种医学文本命名实体识别方法技术

技术编号:32786782 阅读:19 留言:0更新日期:2022-03-23 19:46
一种医学文本命名实体识别方法,采用了loss函数里面对预训练语言模型进行L1回归的方式去学习,平衡了预训练部分与配合命名实体识别增加部分的参数学习,提升了模型训练效果的同时,也提升了命名实体识别的效果。在训练过程中创新性采用了反向修改条件随机场中转移矩阵的方法,形成了对不合法标签的惩罚,使得医学文本命名实体识别模型能够被动的掌握避免出现不合法标签的方法,所以在解码过程中仅仅使用argmax运算就可以进行解码,摆脱了对维特比算法的依赖,提高了医学命名实体识别的推理速度,提升了大数据量下的医学文本命名实体识别场景的实时性。体识别场景的实时性。

【技术实现步骤摘要】
一种医学文本命名实体识别方法


[0001]本专利技术涉及文本智能识别
,具体涉及一种医学文本命名实体识别方法。

技术介绍

[0002]医学文本的命名实体识别,指的是将诸如医学临床诊疗指南文本、医学教科书文本、临床电子病历文本、医学研究文献文本等等医学文本中的指代特定概念的文字部分,例如疾病诊断、症状体征、异常结构、药品耗材等等给识别出来,配合后续的技术可应用在医学知识图谱构建、临床病历质控、医保病历查核、临床辅助诊断等等下游应用领域。所以医学文本命名实体识别的模型的准确度,直接决定了这些医学领域的下游应用的准确性。
[0003]现今,准确度比较高的医学文本命名实体识别模型大多都是通过预训练语言模型配合条件随机场方法,但是经过大量的文献的研究显示,传统的条件随机场方法并不能对命名实体识别的效果形成明显的准确度提升,其原因在于,条件随机场针对标签序列进行序列层级归一化的方法,极大地提升了标签空间的稀疏程度,且在推理本身就正确的样本持续训练学习的过程中,使用one

hot标签不断继续降低损失函数的结果,不符合标签天然的概率分布,不利于模型的训练过程,导致采用条件随机场的命名实体识别模型的最终训练准确度的下降。另一方面,预训练的语言模型在命名实体识别的训练数据集上fine

tune的过程中,模型的预训练部分存有大量的学习到的模式知识,而针对命名实体识别任务追加的部分则没有任何的知识,由于模型训练过程学习率统一,较高的学习率会导致模型的预训练部分出现模式遗忘,而较低的学习率又会导致追加的部分陷入局部极小,而又由于追加部分并没有经过预训练,其最合适的学习率天然与预训练部分不同,会导致出现不可避免的准确度下降。
[0004]另外,在推理效率方面,传统的命名实体识别方法需要最后采用维特比解码来避免出现不合法的标签结果,而维特比算法其运行效率并不高,在大量文本处理的场景下,会拖慢处理速度。

技术实现思路

[0005]本专利技术为了克服以上技术的不足,提供了一种提高医学文本命名实体识别准确度和推理速度的方法。
[0006]本专利技术克服其技术问题所采用的技术方案是:
[0007]一种医学文本命名实体识别方法,包括如下步骤:
[0008]a)建立由一个神经网络构成的医学文本命名实体识别模型;
[0009]b)预训练语言模型,将预训练好的语言模型的参数表示为集合P1′

[0010]c)将医学文本命名实体识别模型的可训练参数表示为集合{P1,P2},集合中P1子集合为预训练语言模型部分对应在医学文本命名实体识别模型中的可训练参数,P2子集合为医学文本命名实体识别模型中除P1以外的其他的所有可训练参数;
[0011]d)定义条件随机场模块,将条件随机场中的转移矩阵表示为K,将矩阵K中第j类实
体的Y标签转移到第n类实体的Z标签的数字表示为标签结构为BIO标签,Y的取值为BIO标签中的B标签或I标签,Z的取值为BIO标签中的B标签或I标签;
[0012]e)随机初始化P1子集合与P2子集合,将矩阵K中满足j≠n且Z取值为BIO标签中的I标签的的数字赋值为ζ,其他部分数字赋值为0;
[0013]f)将医学文本输入到医学文本命名实体识别模型中,得到模型输出表示为W

,将医学文本对应的标签序列表示为L,将W

与L输入条件随机场模块后输出得到loss值;
[0014]g)将矩阵W

沿列做argmax计算,将argmax计算结果转换为BIO标签序列,将得到的BIO标签序列表示为
[0015]h)通过公式计算得到最终的损失函数,利用最终的损失函数调整医学文本命名实体识别模型中的可训练参数,直到early

stop,得到调整完毕的医学文本命名实体识别模型,式中λ为变量,γ为固定参数,为参数集合P1′
与P1中所有参数的差的绝对值的平均数;
[0016]i)将待识别实体的医学文本输入到调整完毕的医学文本命名实体识别模型,得到模型的输出矩阵W

,对矩阵W

沿列做argmax计算,将argmax计算结果转换为BIO标签序列,得到BIO标签序列即为最终的命名实体识别的结果。
[0017]进一步的,步骤a)中神经网络为LSTM网络或GRU网络或Transformer网络。
[0018]进一步的,步骤b)中使用BERT、ELMO、ALBERT或ROBERTA方法预训练语言模型。
[0019]进一步的,步骤d)中j和n取值为正整数。
[0020]进一步的,步骤e)中ζ取值为5。
[0021]进一步的,步骤f)中W

为一个m行x列的矩阵,m为医学文本中字的个数,x为BIO标签的个数。
[0022]进一步的,步骤h)中当与L不相等时,λ等于a,a为固定参数,a取值为1,当与L相等时,λ等于b,b为固定参数,b取值为0.001,γ取值为0.1。
[0023]进一步的,步骤i)中W

为一个m行x列的矩阵,m为医学文本中字的个数,x为BIO标签的个数。
[0024]本专利技术的有益效果是:采用了loss函数里面对预训练语言模型进行L1回归的方式去学习,平衡了预训练部分与配合命名实体识别增加部分的参数学习,提升了模型训练效果的同时,也提升了命名实体识别的效果。在训练过程中创新性采用了反向修改条件随机场中转移矩阵的方法,形成了对不合法标签的惩罚,使得医学文本命名实体识别模型能够被动的掌握避免出现不合法标签的方法,所以在解码过程中仅仅使用argmax运算就可以进行解码,摆脱了对维特比算法的依赖,提高了医学命名实体识别的推理速度,提升了大数据量下的医学文本命名实体识别场景的实时性。
具体实施方式
[0025]下面对本专利技术做进一步说明。
[0026]一种医学文本命名实体识别方法,包括如下步骤:
[0027]a)建立由一个神经网络构成的医学文本命名实体识别模型。医学文本命名实体识别模型能够输入医学文本数据,得到对应的输出。
[0028]b)预训练语言模型,将预训练好的语言模型的参数表示为集合P1′

[0029]c)将医学文本命名实体识别模型的可训练参数表示为集合{P1,P2},集合中P1子集合为预训练语言模型部分对应在医学文本命名实体识别模型中的可训练参数,P2子集合为医学文本命名实体识别模型中除P1以外的其他的所有可训练参数。
[0030]d)定义条件随机场模块,将条件随机场中的转移矩阵表示为K,将矩阵K中第j类实体的Y标签转移到第n类实体的Z标签的数字表示为标签结构为BIO标签,Y的取值为BIO标签中的B标签或I标签,Z的取值为BIO标签中的B标签或I标签。
[0031]e)随机初始化P1子集合与P2子集合,将矩阵K中满足j≠n且Z取值为BIO标签中的I本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种医学文本命名实体识别方法,其特征在于,包括如下步骤:a)建立由一个神经网络构成的医学文本命名实体识别模型;b)预训练语言模型,将预训练好的语言模型的参数表示为集合P1′
;c)将医学文本命名实体识别模型的可训练参数表示为集合{P1,P2},集合中P1子集合为预训练语言模型部分对应在医学文本命名实体识别模型中的可训练参数,P2子集合为医学文本命名实体识别模型中除P1以外的其他的所有可训练参数;d)定义条件随机场模块,将条件随机场中的转移矩阵表示为K,将矩阵K中第j类实体的Y标签转移到第n类实体的Z标签的数字表示为标签结构为BIO标签,Y的取值为BIO标签中的B标签或I标签,Z的取值为BIO标签中的B标签或I标签;e)随机初始化P1子集合与P2子集合,将矩阵K中满足j≠n且Z取值为BIO标签中的I标签的的数字赋值为ζ,其他部分数字赋值为0;f)将医学文本输入到医学文本命名实体识别模型中,得到模型输出表示为W

,将医学文本对应的标签序列表示为L,将W

与L输入条件随机场模块后输出得到loss值;g)将矩阵W

沿列做argmax计算,将argmax计算结果转换为BIO标签序列,将得到的BIO标签序列表示为h)通过公式计算得到最终的损失函数,利用最终的损失函数调整医学文本命名实体识别模型中的可训练参数,直到early

stop,得到调整完毕的医学文本命名实体识别模型,式中λ为变量,γ为固定参数,为参数集合P1′...

【专利技术属性】
技术研发人员:张伯政吴军鞠海涛樊昭磊张述睿邱慎谦寇燕明
申请(专利权)人:山东众阳健康科技集团有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1