CN114742059A - 一种基于多任务学习的中文电子病历命名实体识别方法 - Google Patents

一种基于多任务学习的中文电子病历命名实体识别方法 Download PDF

Info

Publication number
CN114742059A
CN114742059A CN202210381623.2A CN202210381623A CN114742059A CN 114742059 A CN114742059 A CN 114742059A CN 202210381623 A CN202210381623 A CN 202210381623A CN 114742059 A CN114742059 A CN 114742059A
Authority
CN
China
Prior art keywords
model
entity type
cell
task
electronic medical
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202210381623.2A
Other languages
English (en)
Inventor
万健
吴梓钢
张蕾
黄杰
张丽娟
张�杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Zhejiang Lover Health Science and Technology Development Co Ltd
Original Assignee
Zhejiang Lover Health Science and Technology Development Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Zhejiang Lover Health Science and Technology Development Co Ltd filed Critical Zhejiang Lover Health Science and Technology Development Co Ltd
Priority to CN202210381623.2A priority Critical patent/CN114742059A/zh
Publication of CN114742059A publication Critical patent/CN114742059A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/279Recognition of textual entities
    • G06F40/289Phrasal analysis, e.g. finite state techniques or chunking
    • G06F40/295Named entity recognition
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/3331Query processing
    • G06F16/334Query execution
    • G06F16/3347Query execution using vector based model
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/35Clustering; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • G06F18/2415Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on parametric or probabilistic models, e.g. based on likelihood ratio or false acceptance rate versus a false rejection rate
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G16INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
    • G16HHEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
    • G16H10/00ICT specially adapted for the handling or processing of patient-related medical or healthcare data
    • G16H10/60ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02ATECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
    • Y02A90/00Technologies having an indirect contribution to adaptation to climate change
    • Y02A90/10Information and communication technologies [ICT] supporting adaptation to climate change, e.g. for weather forecasting or climate simulation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Health & Medical Sciences (AREA)
  • Computational Linguistics (AREA)
  • Databases & Information Systems (AREA)
  • Medical Informatics (AREA)
  • Software Systems (AREA)
  • Evolutionary Biology (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Machine Translation (AREA)
  • Computing Systems (AREA)
  • Primary Health Care (AREA)
  • Public Health (AREA)
  • Probability & Statistics with Applications (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Epidemiology (AREA)
  • Mathematical Physics (AREA)

Abstract

本发明属于计算机应用技术领域,一种基于多任务学习的中文电子病历命名实体识别的方法,方法基于BERT‑BiMcGRU‑ATT‑CRF模型,包括1、获取CCKS2017电子病历数据集和自建脑血管疾病数据集;2、利用BERT模型将医疗文本中的中文字符转化为向量表示;3、利用双向多单元BiMcGRU模型提取不同数据集的共享特征;4、引入自注意力机制ATT消除梯度消失和依赖信息问题;步骤5、使用CRF模型解码得到最优标记序列;步骤6、计算模型Loss值。本发明提出的基于多任务学习的NER模型在精确率、召回率和F1值三个指标上高于其他命名实体识别的模型,能够有效提升命名实体识别任务的精度。

Description

一种基于多任务学习的中文电子病历命名实体识别方法
技术领域
本发明属于计算机应用技术领域,尤其涉及一种基于多任务学习的中文电子病历命名实体识别的方法。
背景技术
目前,随着现代医学技术的不断提高,基于深度学习的方法被广泛应用在中文医疗领域NER任务,这类方法可以减少特征工程的构建,但模型的训练依赖于大规模的标注数据集。并且现存的中文电子病历标注语料规模比较小,神经网络模型无法充分学习医疗文本的隐藏特征,命名实体识别效果往往较差。因此人工构建大规模的电子病历标注语料需要花费大量的时间和金钱,难度大。现存的标注数据集规模较小,不同数据集的实体类型存在差异,无法直接合并多个数据集,这使得这项工作成为一个不小的挑战。
发明内容
本发明目的在于提供一种基于多任务学习的中文电子病历命名实体识别的方法,以解决上述的技术问题。
为解决上述技术问题,本发明的一种基于多任务学习的中文电子病历命名实体识别的方法的具体技术方案如下:
一种基于多任务学习的中文电子病历命名实体识别的方法,所述方法基于BERT-BiMcGRU-ATT-CRF模型,包括如下步骤:
步骤1、获取CCKS2017电子病历数据集和自建脑血管疾病数据集;
步骤2、利用BERT模型将医疗文本中的中文字符转化为向量表示;
步骤3、利用双向多单元BiMcGRU模型提取不同数据集的共享特征;
步骤4、引入自注意力机制ATT消除梯度消失和依赖信息问题;
步骤5、使用CRF模型解码得到最优标记序列;
步骤6、计算模型Loss值。
进一步的,所述步骤1包括如下具体步骤:
CCKS2017数据集是中文电子病历的命名实体识别标注数据集,公开的中文电子病历标注数据集包含训练集和测试集,人工标注了五类实体:包括症状和体征、检查和检验、疾病和诊断、治疗、身体部位;
利用真实临床电子病历构建脑血管疾病标注语料,通过提取病人现病史、既往史、入院诊断、住院经过等信息,其中80%的语料作为训练集,20%用于测试集,对病历做去隐私脱敏处理。
进一步的,所述步骤2包括如下具体步骤:
BERT将中文字符转化为向量过程,由字向量、句向量和位置向量三者组合成最终的向量表示,BERT通过查找字向量表将中文字符转化为向量形式,其中第一个字符为[CLS],用于分类任务;句向量表示用于区分不同的句子;位置向量用于区分句子中不同位置的字的语义信息;通过爬虫技术获得医学领域的语料,并生成txt文件用于预训练BERT模型,从现有的BERT checkpoint开始对特定领域进行额外的预训练;create_pretraining_data.py将医疗txt文件生成一个.tfrecord文件,并设置模型参数,调用run_pretraining.py进行预训练,完成后得到一个以.ckpt结束TensorFlow模型,然后使用huggingface提供的转换脚本将模型转换为以.bin结尾的PyTorch模型,记作FtBERT。
进一步的,所述步骤3包括如下具体步骤:
利用一种基于GRU模型改进的多单元GRU模型,实现基于多任务学习的跨域知识迁移,Multi-cell GRU由L个实体类型单元ET Cell和一个组成单元C Cell构成,L表示源域和目标域中出现的不重复实体类型个数之和,每个ET Cell对应一种实体类型,模型使用单独的ET Cell来改进标准GRU的结构,在处理句子时,McGRU可以单独计算当前字向量x(t)对应各个实体类型的概率,并为每个实体类型创建不同的特征分布,McGRU中设计了一个组成单元用于计算每个实体类型单元的加权和,并获得最终隐藏状态输出,其中每个实体类型单元的权重对应于其相应实体类型的概率。进一步的,所述实体类型单元计算步骤如下:
给定当前字向量x(t)前一时刻的隐藏状态输出向量
Figure BDA0003593124880000031
计算第k个(k∈[1,2,…L])ET Cell的更新门
Figure BDA0003593124880000032
和重置门
Figure BDA0003593124880000033
和候选隐藏状态
Figure BDA0003593124880000034
计算公式如下:
Figure BDA0003593124880000035
利用上一时刻的输出
Figure BDA0003593124880000036
和候选隐藏状态
Figure BDA0003593124880000037
通过
Figure BDA0003593124880000038
更新门得到真正隐藏状态
Figure BDA0003593124880000039
计算公式如下:
Figure BDA00035931248800000310
对每个实体类型单元重复上述操作,获得由所有ET Cell构成的隐藏状态列
Figure BDA00035931248800000311
进一步的,所述组成单元计算步骤如下:
给定当前输入x(t)及前时刻的输出状态
Figure BDA00035931248800000312
计算更新门
Figure BDA00035931248800000313
重置门
Figure BDA00035931248800000314
和候选隐藏状态
Figure BDA00035931248800000315
Figure BDA00035931248800000316
Figure BDA0003593124880000041
进一步的,所述最终隐藏状态计算步骤如下:
结合所有ET Cell和C Cell计算McGRU最终隐藏状态,使用加型注意力机制计算CCell的候选隐藏状态
Figure BDA0003593124880000042
Figure BDA0003593124880000043
的权重
Figure BDA0003593124880000044
权重反映了C Cell的候选隐藏状态
Figure BDA0003593124880000045
与第k个ET Cell的隐藏状态
Figure BDA0003593124880000046
之间的相似性,其计算公式如下:
Figure BDA0003593124880000047
根据各个ET Cell的权重,通过加权求和得到C Cell的候选隐藏状态
Figure BDA0003593124880000048
计算公式如下:
Figure BDA0003593124880000049
利用上一时刻的输出
Figure BDA00035931248800000410
和候选隐藏状态
Figure BDA00035931248800000411
通过C Cell的更新门
Figure BDA00035931248800000412
计算得到真正隐藏状态
Figure BDA00035931248800000413
计算公式如下:
Figure BDA00035931248800000414
进一步的,所述步骤4括如下具体步骤:
首先,通过计算查询矩阵Q与每个键矩阵K之间的相似度来获得每个单词的权重,然后,使用softmax函数对这些权重进行归一化处理,最后,权重和数值矩阵V使用加权求和得到最后的注意力值;
使用缩放点积函数来计算相似性,函数A用于计算注意力值:
Figure BDA0003593124880000051
式(7)中:Q、K和V分别表示查询矩阵、键矩阵和数值矩阵,三者是来自同一输入与不同参数计算后得到的,自注意力中设置Q=K=V=H,
Figure BDA0003593124880000052
Figure BDA0003593124880000053
即BiMcGRU模型的输出向量。
进一步的,所述步骤5括如下具体步骤:
给定一个输入序列X={w1,w2,...wn},假设预测标签序列为Y={y1,y2,...yn},函数S用于计算该标签序列的得分:
Figure BDA0003593124880000054
式(8)中:T为CRF的转移矩阵,
Figure BDA0003593124880000055
表示Yi标签转移到Yi+1标签的分值,P为BiGRU层的输出矩阵,
Figure BDA0003593124880000056
为句子序列中第i+1个字符对应标签Yi+1的分值;
之后使用Softmax进行归一化处理,公式如(9)所示:
Figure BDA0003593124880000057
使用对数最大似然估计,用于计算Loss函数,如公式(10)所示:
Figure BDA0003593124880000058
CRF模型通过使用维特比算法求解出可能性最大的标注序列,公式如(11)所示:
yresult=argmax(S(X,Y))。 (11)
进一步的,所述步骤6括如下具体步骤:
引入实体类型预测任务和计算注意力评分任务这2个辅助任务,用于训练实体类型单元和组成单元,给定一个训练集
Figure BDA0003593124880000061
x表示一个训练文本序列[w1,w2,...wn],e表示文本序列对应的实体类型标注[e1,e2,...en],其中的实体类型标签是不带BIE分割标记的,如[check,O,disease];
实体类型预测任务:
给定当前字符x(t)的实体类型单元的序列
Figure BDA0003593124880000062
Figure BDA0003593124880000063
表示正向和反向实体类型单元的拼接向量,实体类型预测任务用于预测x(t)是某个实体类型的概率,通过式(12)计算当前字符的实体类型分布:
Figure BDA0003593124880000064
式中wk、ck表示第K个实体类型单元的可学习参数;
使用负对数似然函数计算实体类型预测任务的loss值,计算公式如(13)所示:
Figure BDA0003593124880000065
式中,N表示训练集中一共有N个训练样本(x,e);m表示句子中包含的字符个数;|Dent|表示当前训练集中的样本个数;
计算注意力评分任务:
给定当前字符x(t)的ET Cell和C Cell的attention score序列
Figure BDA0003593124880000066
其中,
Figure BDA0003593124880000067
表示正向ETCell和C Cell、反向ET Cell和C Cell计算得到的注意力值的平均值,使用Softmax函数将x(t)的注意力分数转换为实体类型分布,计算公式如(14)所示:
Figure BDA0003593124880000071
使用负对数似然函数计算当前任务的loss值,计算公式如(15)所示:
Figure BDA0003593124880000072
NER序列预测任务:
我们将自注意力层的输出向量输入到CRF模型中,预测当前文本最大可能的序列标注结果,对应一个输入序列X={w1,w2,...wn},CRF在预测标签序列为Y={y1,y2,...yn}的概率时,计算公式如(16)所示:
Figure BDA0003593124880000073
式中:T为CRF的转移矩阵,
Figure BDA0003593124880000074
表示Yi标签转移到Yi+1标签的分值,P为自注意力层的输出矩阵,
Figure BDA0003593124880000075
表示文本中第i+1个字符对应标签Yi+1的分值;
之后使用Softmax进行归一化处理,计算公式如(17)所示:
Figure BDA0003593124880000076
式中,Y′表示所有可能出现的标注序列;
使用最大似然估计函数计算NER任务的Loss值,计算公式如(18)所示:
Figure BDA0003593124880000077
式中,xn、Yn分别表示当前训练集中第n个训练样本和对应的序列预测结果;
NER模型的损失值由NER任务和实体类型预测任务、计算注意力评分任务这2个辅助任务的损失值共同计算得到,源领域(S)和目标领域(T)的训练集完成辅助任务后获得损失值
Figure BDA0003593124880000081
Figure BDA0003593124880000082
并与NER任务的损失值相加,计算公式(19)所示:
Figure BDA0003593124880000083
式中,λ为L2正则化参数,ιent和ιatten分别表示两个辅助任务损失值的权重,λd(d∈{S,T})表示NER任务的权值,
Figure BDA0003593124880000084
表示NER任务的损失值。
本发明的一种基于多任务学习的中文电子病历命名实体识别的方法具有以下优点:本发明充分利用了源领域和目标领域的标记数据进行跨域命名实体识别,解决目标域中NER样本稀缺的问题。通过使用未标记的临床文本预训练BERT模型,获得了中文医疗领域特定知识;通过引入共享BiMcGRU得到包含前向和后向文本的语义特征,实现基于实体类型的跨域知识迁移;通过加入自注意力模型弥补了BiMcGRU不能获取两个实体之间的长距离依赖关系的缺陷;通过使用CRF模型解码得到最优的标记序列。
附图说明
图1为本发明实施例提供的基于BERT-BiMcGRU-ATT-CRF模型的结构图;
图2为本发明实施例提供的BERT模型结构图;
图3为本发明实施例提供的多单元GRU(Multi-cell GRU,McGRU)模型结构图。
具体实施方式
为了更好地了解本发明的目的、结构及功能,下面结合附图,对本发明一种基于多任务学习的中文电子病历命名实体识别的方法做进一步详细的描述。
如图1-3所示,本发明的一种基于多任务学习的中文电子病历命名实体识别的方法,基于BERT-BiMcGRU-ATT-CRF模型,其流程步骤包括:
步骤1、获取CCKS2017电子病历数据集和自建脑血管疾病数据集
CCKS2017数据集是中文电子病历的命名实体识别标注数据集,公开的中文电子病历标注数据集包含训练集和测试集,其中训练集包括300个医疗记录,人工标注了五类实体:包括症状和体征、检查和检验、疾病和诊断、治疗、身体部位。测试集包含100个医疗记录。
利用从合作医院获得的真实临床电子病历构建脑血管疾病标注语料,通过提取病人现病史、既往史、入院诊断、住院经过等信息总计获得1062条文本,其中80%的语料作为训练集,20%用于测试集。为保护病人隐私,对病历做去隐私脱敏处理。
结合当前需求以及临床医疗文本的特点,本发明定义了四种实体类型,各个实体的定义及示例如下:
(1)身体部位:人体器官及身体部位。例如“冠状动脉”、“小脑半球”、“右侧上颌窦”。
(2)症状体征:疾病引起的各种不适或异常的表现。例如“意识障碍”、“头晕”、“行走不稳”。
(3)疾病诊断:主要对应于疾病名、综合征。例如“高血压”“脑梗死”、“脑血栓”、“颈动脉硬化”。
(4)治疗:手术治疗及药物。例如“瓣膜置换术”、“冠脉造影术”、“阿司匹林片”。
步骤2、利用BERT模型将医疗文本中的中文字符转化为向量表示
BERT将中文字符转化为向量过程,由字向量、句向量和位置向量三者组合成最终的向量表示。BERT通过查找字向量表将中文字符转化为向量形式,其中第一个字符为[CLS],用于分类任务;句向量表示用于区分不同的句子;位置向量用于区分句子中不同位置的字的语义信息。本发明通过爬虫技术获得医学领域的语料,并生成txt文件用于预训练BERT模型,从现有的BERT checkpoint开始对特定领域进行额外的预训练。create_pretraining_data.py将医疗txt文件生成一个.tfrecord文件。并设置模型参数,调用run_pretraining.py进行预训练,完成后得到一个以.ckpt结束TensorFlow模型。然后使用huggingface提供的转换脚本将模型转换为以.bin结尾的PyTorch模型,记作FtBERT。
步骤3、利用双向多单元BiMcGRU模型提取不同数据集的共享特征
利用一种基于GRU模型改进的多单元GRU(Multi-cell GRU,McGRU)模型,实现基于多任务学习的跨域知识迁移。Multi-cell GRU由L个实体类型单元(Entity typed Cell,ETCell)和一个组成单元(Compositional Cell,C Cell)构成。L表示源域和目标域中出现的不重复实体类型个数之和,每个ET Cell对应一种实体类型。模型使用单独的ET Cell来改进标准GRU的结构,在处理句子时,McGRU可以单独计算当前字向量x(t)对应各个实体类型的概率,并为每个实体类型创建不同的特征分布。McGRU中设计了一个组成单元用于计算每个实体类型单元的加权和,并获得最终隐藏状态输出,其中每个实体类型单元的权重对应于其相应实体类型的概率。
实体类型单元:
给定当前字向量x(t)前一时刻的隐藏状态输出向量
Figure BDA0003593124880000101
计算第k个(k∈[1,2,…L])ET Cell的更新门
Figure BDA0003593124880000102
和重置门
Figure BDA0003593124880000103
和候选隐藏状态
Figure BDA0003593124880000104
计算公式如下:
Figure BDA0003593124880000111
利用上一时刻的输出
Figure BDA0003593124880000112
和候选隐藏状态
Figure BDA0003593124880000113
通过
Figure BDA0003593124880000114
更新门得到真正隐藏状态
Figure BDA0003593124880000115
计算公式如下:
Figure BDA0003593124880000116
对每个实体类型单元重复上述操作,获得由所有ET Cell构成的隐藏状态列
Figure BDA0003593124880000117
组成单元:
给定当前输入x(t)及前时刻的输出状态
Figure BDA0003593124880000118
计算更新门
Figure BDA0003593124880000119
重置门
Figure BDA00035931248800001110
和候选隐藏状态
Figure BDA00035931248800001111
Figure BDA00035931248800001112
计算McGRU最终隐藏状态:
结合所有ET Cell和C Cell计算McGRU最终隐藏状态。使用加型注意力机制(additive attention)计算C Cell的候选隐藏状态
Figure BDA00035931248800001113
Figure BDA00035931248800001114
的权重
Figure BDA00035931248800001115
权重反映了C Cell的候选隐藏状态
Figure BDA00035931248800001116
与第k个ET Cell的隐藏状态
Figure BDA00035931248800001117
之间的相似性,其计算公式如下:
Figure BDA0003593124880000121
根据各个ET Cell的权重,通过加权求和得到C Cell的候选隐藏状态
Figure BDA0003593124880000122
计算公式如下:
Figure BDA0003593124880000123
利用上一时刻的输出
Figure BDA0003593124880000124
和候选隐藏状态
Figure BDA0003593124880000125
通过C Cell的更新门
Figure BDA0003593124880000126
计算得到真正隐藏状态
Figure BDA0003593124880000127
计算公式如下:
Figure BDA0003593124880000128
步骤4、引入自注意力机制(Self-Attention,ATT)消除梯度消失和依赖信息问题
引入自注意力机制可以根据字符的重要性赋予不同的权值,关注对模型训练有效的关键信息并忽略非重要信息。进而有效地捕捉句子内部结构信息,提升医疗命名实体识别的准确率。其计算过程可总结如下:
首先,通过计算查询矩阵Q与每个键矩阵K之间的相似度来获得每个单词的权重,常用的相似度函数有点积,拼接,感知机等。然后,使用softmax函数对这些权重进行归一化处理。最后,权重和数值矩阵V使用加权求和得到最后的注意力值。
本发明使用缩放点积函数来计算相似性,函数A用于计算注意力值:
Figure BDA0003593124880000129
式(7)中:Q、K和V分别表示查询矩阵、键矩阵和数值矩阵,三者是来自同一输入与不同参数计算后得到的。自注意力中设置Q=K=V=H,
Figure BDA0003593124880000131
Figure BDA0003593124880000132
即BiMcGRU模型的输出向量。
步骤5、使用CRF模型解码得到最优标记序列
CRF能够通过考虑标签之间的依赖关系获得全局最优的标记序列。给定一个输入序列X={w1,w2,...wn},假设预测标签序列为Y={y1,y2,...yn},函数S用于计算该标签序列的得分:
Figure BDA0003593124880000133
式(8)中:T为CRF的转移矩阵,
Figure BDA0003593124880000134
表示Yi标签转移到Yi+1标签的分值。P为BiGRU层的输出矩阵,
Figure BDA0003593124880000135
为句子序列中第i+1个字符对应标签Yi+1的分值。
之后使用Softmax进行归一化处理,公式如(9)所示。
Figure BDA0003593124880000136
使用对数最大似然估计,用于计算Loss函数,如公式(10)所示。
Figure BDA0003593124880000137
CRF模型通过使用维特比算法求解出可能性最大的标注序列,公式如(11)所示。
yresult=argmax(S(X,Y)) (11)
步骤6、计算模型Loss值
引入实体类型预测任务和计算注意力评分任务这2个辅助任务,用于训练实体类型单元和组成单元,从而辅助NER任务能正确识别出文本中的实体类型。给定一个训练集
Figure BDA0003593124880000141
x表示一个训练文本序列[w1,w2,...wn],e表示文本序列对应的实体类型标注[e1,e2,...en],其中的实体类型标签是不带BIE分割标记的,如[check,O,disease]。
实体类型预测任务:
给定当前字符x(t)的实体类型单元的序列
Figure BDA0003593124880000142
Figure BDA0003593124880000143
表示正向和反向实体类型单元的拼接向量,实体类型预测任务用于预测x(t)是某个实体类型的概率。我们通过式(12)计算当前字符的实体类型分布:
Figure BDA0003593124880000144
式中wk、ck表示第K个实体类型单元的可学习参数。
使用负对数似然函数计算实体类型预测任务的loss值,计算公式如(13)所示:
Figure BDA0003593124880000145
式中,N表示训练集中一共有N个训练样本(x,e);m表示句子中包含的字符个数;|Dent|表示当前训练集中的样本个数。
计算注意力评分任务:
给定当前字符x(t)的ET Cell和C Cell的attention score序列
Figure BDA0003593124880000146
其中,
Figure BDA0003593124880000147
表示正向ETCell和C Cell、反向ET Cell和C Cell计算得到的注意力值的平均值。我们使用Softmax函数将x(t)的注意力分数转换为实体类型分布,计算公式如(14)所示:
Figure BDA0003593124880000151
使用负对数似然函数计算当前任务的loss值,计算公式如(15)所示:
Figure BDA0003593124880000152
NER序列预测任务:
我们将自注意力层的输出向量输入到CRF模型中,预测当前文本最大可能的序列标注结果。对应一个输入序列X={w1,w2,...wn},CRF在预测标签序列为Y={y1,y2,...yn}的概率时,计算公式如(16)所示:
Figure BDA0003593124880000153
式中:T为CRF的转移矩阵,
Figure BDA0003593124880000154
表示Yi标签转移到Yi+1标签的分值。P为自注意力层的输出矩阵,
Figure BDA0003593124880000155
表示文本中第i+1个字符对应标签Yi+1的分值。
之后使用Softmax进行归一化处理,计算公式如(17)所示。
Figure BDA0003593124880000156
式中,Y′表示所有可能出现的标注序列。
使用最大似然估计函数计算NER任务的Loss值,计算公式如(18)所示。
Figure BDA0003593124880000157
式中,xn、Yn分别表示当前训练集中第n个训练样本和对应的序列预测结果。
NER模型的损失值由NER任务和实体类型预测任务、计算注意力评分任务这2个辅助任务的损失值共同计算得到。源领域(S)和目标领域(T)的训练集完成辅助任务后获得损失值
Figure BDA0003593124880000161
Figure BDA0003593124880000162
并与NER任务的损失值相加,计算公式(19)所示。
Figure BDA0003593124880000163
式中,λ为L2正则化参数,通过正则化方法可以防止过拟合,提高泛化能力。ιent和ιatten分别表示两个辅助任务损失值的权重,λd(d∈{S,T})表示NER任务的权值,
Figure BDA0003593124880000164
表示NER任务的损失值。
实验过程:
在本实验中,我们使用了CCKS2017电子病历数据集和自建脑血管疾病数据集,并且使BiMcGRU-ATT-CRF的参数设置如下,BiMcGRU设置最大训练次数为100;批处理大小为32;学习率0.01;使用Adam优化算法进行模型的优化;使用dropout方法来解决模型训练中出现过拟合问题。CCKS2017电子病历数据集包含5个实体类型,自建脑血管疾病数据集包含4个与CCKS2017电子病历数据集中相同的实体类型,所有McGRU的实体类型单元数量设置为5。
为了衡量实验结果的准确性,同时考虑到NER任务需同步确定实体边界及实体类别。在精确匹配评估中,只有当实体边界以及实体类别同时被精确标出时,实体识别任务才能被认定为成功。所以采用精确率(Precision,P)、召回率(Recall,R)和F1值作为评价指标。
与当前较有效的方法进行了对比实验,参考Jia等人将BiLSTM模型改进为双向多单元LSTM(Bi-directional Multi-cell LSTM,BiMcLSTM)的做法,通过对标准BiGRU进行改进,提出BiMcGRU模型。数据集采用的是CCKS2017和自建脑血管疾病数据集,并与Yang等人,Jia等人提出的多任务NER模型比较性能。试验设置4个只包含目标域数据的单任务模型word2vec-BiLSTM-CRF,word2vec-BiGRU-CRF,FtBERT-BiLSTM-ATT-CRF,FtBERT-BiGRU-ATT-CRF和6个包含源域和目标域数据集的多任务模型word2vec-BiLSTM-CRF,word2vec-BiGRU-CRF,word2vec-BiMcLSTM-CRF,word2vec-BiMcGRU-CRF,FtBERT-BiMcLSTM-ATT-CRF以及FtBERT-BiMcGRU-ATT-CRF(ours)。试验结果如表1所示,本发明所提FtBERT-BiMcGRU-ATT-CRF模型相对于其他NER模型提升了识别精度,在自建脑血管疾病数据集上本发明模型的F1值达到89.34,在CCKS2017数据集上F1值达到91.53。
表1不同命名实体识别模型结果:
Figure BDA0003593124880000171
分析6个多任务学习模型的试验效果,对于word2vec-BiLSTM-CRF和word2vec-BiGRU-CRF模型,由BiMcLSTM替换BiLSTM,BiMcGRU替换BiGRU后F1值均有所提升,因为BiMcLSTM和BiMcGRU为跨域的每个实体类型创建不同的特征分布,可以在实体类型级别进行跨域知识转移,有效提升命名实体识别效果。在相同参数设置下,本发明提出McGRU效果比McLSTM更好,主要原因在于GRU不仅具有LSTM的优势,而且减少参数,简化其网络结构,提升计算速度。
在word2vec-BiLSTM-CRF,word2vec-BiGRU-CRF,基于多任务学习的word2vec-BiMcLSTM-CRF,word2vec-BiMcGRU-CRF这4个模型中添加BERT和Self-Attention模块后,试验结果中的F1值均有所提升,证明引入BERT和Self-Attention模块可以有效提升命名实体识别效果。原因是使用word2vec处理字符向量存在一词多义问题,无法充分考虑上下文关系特征,引入BERT预训练模型可以充分考虑上下文关系特征并解决一词多义问题。BiLSTM,BiGRU及其改进模型由于梯度消失问题,其获取长距离依赖的能力会随着本发明序列的增加而降低,引入Self-Attention可获得长序列间任意字符的依赖关系。
因此可以得出,本发明具有以下优势:充分利用源领域和目标领域的标记数据进行跨域命名实体识别,解决目标域中NER样本稀缺的问题。通过使用未标记的临床文本预训练BERT模型,获得了中文医疗领域特定知识;通过引入共享BiMcGRU得到包含前向和后向文本的语义特征,实现基于实体类型的跨域知识迁移;通过加入自注意力模型弥补了BiMcGRU不能获取两个实体之间的长距离依赖关系的缺陷;通过使用CRF模型解码得到最优的标记序列。本发明在CCKS2017医疗数据集和自建脑血管疾病数据集上进行试验,试验结果证明本发明提出的模型在各类指标上优于传统多任务NER模型,证明该模型在中文医疗命名实体识别任务上的有效性。
可以理解,本发明是通过一些实施例进行描述的,本领域技术人员知悉的,在不脱离本发明的精神和范围的情况下,可以对这些特征和实施例进行各种改变或等效替换。另外,在本发明的教导下,可以对这些特征和实施例进行修改以适应具体的情况及材料而不会脱离本发明的精神和范围。因此,本发明不受此处所公开的具体实施例的限制,所有落入本申请的权利要求范围内的实施例都属于本发明所保护的范围内。

Claims (10)

1.一种基于多任务学习的中文电子病历命名实体识别的方法,所述方法基于BERT-BiMcGRU-ATT-CRF模型,其特征在于,包括如下步骤:
步骤1、获取CCKS2017电子病历数据集和自建脑血管疾病数据集;
步骤2、利用BERT模型将医疗文本中的中文字符转化为向量表示;
步骤3、利用双向多单元BiMcGRU模型提取不同数据集的共享特征;
步骤4、引入自注意力机制ATT消除梯度消失和依赖信息问题;
步骤5、使用CRF模型解码得到最优标记序列;
步骤6、计算模型Loss值。
2.根据权利要求1所述的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述步骤1包括如下具体步骤:
CCKS2017数据集是中文电子病历的命名实体识别标注数据集,公开的中文电子病历标注数据集包含训练集和测试集,人工标注了五类实体:包括症状和体征、检查和检验、疾病和诊断、治疗、身体部位;
利用真实临床电子病历构建脑血管疾病标注语料,通过提取病人现病史、既往史、入院诊断、住院经过等信息,其中80%的语料作为训练集,20%用于测试集,对病历做去隐私脱敏处理。
3.根据权利要求1所述的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述步骤2包括如下具体步骤:
BERT将中文字符转化为向量过程,由字向量、句向量和位置向量三者组合成最终的向量表示,BERT通过查找字向量表将中文字符转化为向量形式,其中第一个字符为[CLS],用于分类任务;句向量表示用于区分不同的句子;位置向量用于区分句子中不同位置的字的语义信息;通过爬虫技术获得医学领域的语料,并生成txt文件用于预训练BERT模型,从现有的BERT checkpoint开始对特定领域进行额外的预训练;create_pretraining_data.py将医疗txt文件生成一个.tfrecord文件,并设置模型参数,调用run_pretraining.py进行预训练,完成后得到一个以.ckpt结束TensorFlow模型,然后使用huggingface提供的转换脚本将模型转换为以.bin结尾的PyTorch模型,记作FtBERT。
4.根据权利要求1所述的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述步骤3包括如下具体步骤:
利用一种基于GRU模型改进的多单元GRU模型,实现基于多任务学习的跨域知识迁移,Multi-cell GRU由L个实体类型单元ET Cell和一个组成单元C Cell构成,L表示源域和目标域中出现的不重复实体类型个数之和,每个ET Cell对应一种实体类型,模型使用单独的ET Cell来改进标准GRU的结构,在处理句子时,McGRU可以单独计算当前字向量x(t)对应各个实体类型的概率,并为每个实体类型创建不同的特征分布,McGRU中设计了一个组成单元用于计算每个实体类型单元的加权和,并获得最终隐藏状态输出,其中每个实体类型单元的权重对应于其相应实体类型的概率。
5.根据权利要求4述的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述实体类型单元计算步骤如下:
给定当前字向量x(t)前一时刻的隐藏状态输出向量
Figure FDA0003593124870000021
计算第k个(k∈[1,2,…L])ET Cell的更新门
Figure FDA0003593124870000022
和重置门
Figure FDA0003593124870000023
和候选隐藏状态
Figure FDA0003593124870000024
计算公式如下:
Figure FDA0003593124870000025
利用上一时刻的输出
Figure FDA0003593124870000026
和候选隐藏状态
Figure FDA0003593124870000027
通过
Figure FDA0003593124870000028
更新门得到真正隐藏状态
Figure FDA0003593124870000031
计算公式如下:
Figure FDA0003593124870000032
对每个实体类型单元重复上述操作,获得由所有ET Cell构成的隐藏状态列
Figure FDA0003593124870000033
6.根据权利要求5的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述组成单元计算步骤如下:
给定当前输入x(t)及前时刻的输出状态
Figure FDA0003593124870000034
计算更新门
Figure FDA0003593124870000035
重置门
Figure FDA0003593124870000036
和候选隐藏状态
Figure FDA0003593124870000037
Figure FDA0003593124870000038
7.根据权利要求6的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述最终隐藏状态计算步骤如下:
结合所有ET Cell和C Cell计算McGRU最终隐藏状态,使用加型注意力机制计算C Cell的候选隐藏状态
Figure FDA0003593124870000039
Figure FDA00035931248700000310
的权重
Figure FDA00035931248700000311
权重反映了C Cell的候选隐藏状态
Figure FDA00035931248700000312
与第k个ET Cell的隐藏状态
Figure FDA00035931248700000313
之间的相似性,其计算公式如下:
Figure FDA00035931248700000314
根据各个ET Cell的权重,通过加权求和得到C Cell的候选隐藏状态
Figure FDA00035931248700000315
计算公式如下:
Figure FDA0003593124870000041
利用上一时刻的输出
Figure FDA0003593124870000042
和候选隐藏状态
Figure FDA0003593124870000043
通过C Cell的更新门
Figure FDA0003593124870000044
计算得到真正隐藏状态
Figure FDA0003593124870000045
计算公式如下:
Figure 3
8.根据权利要求1所述的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述步骤4括如下具体步骤:
首先,通过计算查询矩阵Q与每个键矩阵K之间的相似度来获得每个单词的权重,然后,使用softmax函数对这些权重进行归一化处理,最后,权重和数值矩阵V使用加权求和得到最后的注意力值;
使用缩放点积函数来计算相似性,函数A用于计算注意力值:
Figure FDA0003593124870000047
式(7)中:Q、K和V分别表示查询矩阵、键矩阵和数值矩阵,三者是来自同一输入与不同参数计算后得到的,自注意力中设置Q=K=V=H,
Figure FDA0003593124870000048
Figure FDA0003593124870000049
即BiMcGRU模型的输出向量。
9.根据权利要求1所述的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述步骤5括如下具体步骤:
给定一个输入序列X={w1,w2,...wn},假设预测标签序列为Y={y1,y2,...yn},函数S用于计算该标签序列的得分:
Figure FDA00035931248700000410
式(8)中:T为CRF的转移矩阵,
Figure FDA00035931248700000411
表示Yi标签转移到Yi+1标签的分值,P为BiGRU层的输出矩阵,
Figure FDA0003593124870000051
为句子序列中第i+1个字符对应标签Yi+1的分值;
之后使用Softmax进行归一化处理,公式如(9)所示:
Figure FDA0003593124870000052
使用对数最大似然估计,用于计算Loss函数,如公式(10)所示:
Figure FDA0003593124870000053
CRF模型通过使用维特比算法求解出可能性最大的标注序列,公式如(11)所示:
yresult=argmax(S(X,Y)) (11) 。
10.根据权利要求1所述的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述步骤6括如下具体步骤:
引入实体类型预测任务和计算注意力评分任务这2个辅助任务,用于训练实体类型单元和组成单元,给定一个训练集
Figure FDA0003593124870000054
x表示一个训练文本序列[w1,w2,...wn],e表示文本序列对应的实体类型标注[e1,e2,...en],其中的实体类型标签是不带BIE分割标记的,如[check,O,disease];
实体类型预测任务:
给定当前字符x(t)的实体类型单元的序列
Figure FDA0003593124870000055
Figure FDA0003593124870000056
Figure FDA0003593124870000057
表示正向和反向实体类型单元的拼接向量,实体类型预测任务用于预测x(t)是某个实体类型的概率,通过式(12)计算当前字符的实体类型分布:
Figure FDA0003593124870000061
式中wk、ck表示第K个实体类型单元的可学习参数;
使用负对数似然函数计算实体类型预测任务的loss值,计算公式如(13)所示:
Figure FDA0003593124870000062
式中,N表示训练集中一共有N个训练样本(x,e);m表示句子中包含的字符个数;|Dent|表示当前训练集中的样本个数;
计算注意力评分任务:
给定当前字符x(t)的ET Cell和C Cell的attention score序列
Figure FDA0003593124870000063
其中,
Figure FDA0003593124870000064
表示正向ETCell和C Cell、反向ET Cell和C Cell计算得到的注意力值的平均值,使用Softmax函数将x(t)的注意力分数转换为实体类型分布,计算公式如(14)所示:
Figure FDA0003593124870000065
使用负对数似然函数计算当前任务的loss值,计算公式如(15)所示:
Figure FDA0003593124870000066
NER序列预测任务:
我们将自注意力层的输出向量输入到CRF模型中,预测当前文本最大可能的序列标注结果,对应一个输入序列X={w1,w2,...wn},CRF在预测标签序列为Y={y1,y2,...yn}的概率时,计算公式如(16)所示:
Figure FDA0003593124870000071
式中:T为CRF的转移矩阵,
Figure FDA0003593124870000072
表示Yi标签转移到Yi+1标签的分值,P为自注意力层的输出矩阵,
Figure FDA0003593124870000073
表示文本中第i+1个字符对应标签Yi+1的分值;
之后使用Softmax进行归一化处理,计算公式如(17)所示:
Figure FDA0003593124870000074
式中,Y′表示所有可能出现的标注序列;
使用最大似然估计函数计算NER任务的Loss值,计算公式如(18)所示:
Figure FDA0003593124870000075
式中,xn、Yn分别表示当前训练集中第n个训练样本和对应的序列预测结果;
NER模型的损失值由NER任务和实体类型预测任务、计算注意力评分任务这2个辅助任务的损失值共同计算得到,源领域(S)和目标领域(T)的训练集完成辅助任务后获得损失值
Figure FDA0003593124870000076
Figure FDA0003593124870000077
并与NER任务的损失值相加,计算公式(19)所示:
Figure FDA0003593124870000078
式中,λ为L2正则化参数,ιent和ιatten分别表示两个辅助任务损失值的权重,λd(d∈{S,T})表示NER任务的权值,
Figure FDA0003593124870000081
表示NER任务的损失值。
CN202210381623.2A 2022-04-13 2022-04-13 一种基于多任务学习的中文电子病历命名实体识别方法 Pending CN114742059A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210381623.2A CN114742059A (zh) 2022-04-13 2022-04-13 一种基于多任务学习的中文电子病历命名实体识别方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210381623.2A CN114742059A (zh) 2022-04-13 2022-04-13 一种基于多任务学习的中文电子病历命名实体识别方法

Publications (1)

Publication Number Publication Date
CN114742059A true CN114742059A (zh) 2022-07-12

Family

ID=82282133

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210381623.2A Pending CN114742059A (zh) 2022-04-13 2022-04-13 一种基于多任务学习的中文电子病历命名实体识别方法

Country Status (1)

Country Link
CN (1) CN114742059A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451690A (zh) * 2023-03-21 2023-07-18 麦博(上海)健康科技有限公司 一种医疗领域命名实体识别的方法
CN117195891A (zh) * 2023-11-07 2023-12-08 成都航空职业技术学院 一种基于数据分析的工程施工材料供应链管理系统
CN117744660A (zh) * 2024-02-19 2024-03-22 广东省人民医院 一种基于强化学习和迁移学习的命名实体识别方法和装置

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116451690A (zh) * 2023-03-21 2023-07-18 麦博(上海)健康科技有限公司 一种医疗领域命名实体识别的方法
CN117195891A (zh) * 2023-11-07 2023-12-08 成都航空职业技术学院 一种基于数据分析的工程施工材料供应链管理系统
CN117195891B (zh) * 2023-11-07 2024-01-23 成都航空职业技术学院 一种基于数据分析的工程施工材料供应链管理系统
CN117744660A (zh) * 2024-02-19 2024-03-22 广东省人民医院 一种基于强化学习和迁移学习的命名实体识别方法和装置
CN117744660B (zh) * 2024-02-19 2024-05-10 广东省人民医院 一种基于强化学习和迁移学习的命名实体识别方法和装置

Similar Documents

Publication Publication Date Title
CN109902145B (zh) 一种基于注意力机制的实体关系联合抽取方法和系统
CN110032648B (zh) 一种基于医学领域实体的病历结构化解析方法
Stoian et al. Analyzing ASR pretraining for low-resource speech-to-text translation
CN114742059A (zh) 一种基于多任务学习的中文电子病历命名实体识别方法
CN107977361A (zh) 基于深度语义信息表示的中文临床医疗实体识别方法
CN110555083B (zh) 一种基于zero-shot无监督实体关系抽取方法
CN111538845A (zh) 一种构建肾病专科医学知识图谱的方法、模型及系统
CN108345583A (zh) 基于多语注意力机制的事件识别及分类方法及装置
Zhang et al. Identifying adverse drug reaction entities from social media with adversarial transfer learning model
CN114818717A (zh) 融合词汇和句法信息的中文命名实体识别方法及系统
CN114781382A (zh) 基于rwlstm模型融合的医疗命名实体识别系统及方法
Mayya et al. $\mathcal {LATA}{-} $ Label Attention Transformer Architectures for ICD-10 Coding of Unstructured Clinical Notes
Blanco et al. Exploiting ICD Hierarchy for Classification of EHRs in Spanish through multi-task Transformers
CN111523320A (zh) 一种基于深度学习的中文病案分词方法
CN112597304A (zh) 一种问句分类方法及其应用
CN111125378A (zh) 一种基于自动样本标注的闭环实体抽取方法
Yohannes et al. A method of named entity recognition for tigrinya
CN112015760A (zh) 基于候选答案集重排序的自动问答方法、装置和存储介质
Weegar et al. Deep medical entity recognition for Swedish and Spanish
CN116630062A (zh) 一种医保欺诈行为检测方法、系统、存储介质
Li et al. Bacterial named entity recognition based on language model
CN115510230A (zh) 一种基于多维特征融合与比较增强学习机制的蒙古语情感分析方法
Luo et al. Early prediction of organ failures in patients with acute pancreatitis using text mining
CN115964475A (zh) 一种用于医疗问诊的对话摘要生成方法
CN113990420A (zh) 一种电子病历命名实体识别方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination