CN114742059A - 一种基于多任务学习的中文电子病历命名实体识别方法 - Google Patents
一种基于多任务学习的中文电子病历命名实体识别方法 Download PDFInfo
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/20—Natural language analysis
- G06F40/279—Recognition of textual entities
- G06F40/289—Phrasal analysis, e.g. finite state techniques or chunking
- G06F40/295—Named entity recognition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/334—Query execution
- G06F16/3347—Query execution using vector based model
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2415—Classification 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G16—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR SPECIFIC APPLICATION FIELDS
- G16H—HEALTHCARE INFORMATICS, i.e. INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR THE HANDLING OR PROCESSING OF MEDICAL OR HEALTHCARE DATA
- G16H10/00—ICT specially adapted for the handling or processing of patient-related medical or healthcare data
- G16H10/60—ICT specially adapted for the handling or processing of patient-related medical or healthcare data for patient-specific data, e.g. for electronic patient records
-
- Y—GENERAL 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
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02A—TECHNOLOGIES FOR ADAPTATION TO CLIMATE CHANGE
- Y02A90/00—Technologies having an indirect contribution to adaptation to climate change
- Y02A90/10—Information 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中设计了一个组成单元用于计算每个实体类型单元的加权和,并获得最终隐藏状态输出,其中每个实体类型单元的权重对应于其相应实体类型的概率。进一步的,所述实体类型单元计算步骤如下:
进一步的,所述组成单元计算步骤如下:
进一步的,所述最终隐藏状态计算步骤如下:
结合所有ET Cell和C Cell计算McGRU最终隐藏状态,使用加型注意力机制计算CCell的候选隐藏状态与的权重权重反映了C Cell的候选隐藏状态与第k个ET Cell的隐藏状态之间的相似性,其计算公式如下:
进一步的,所述步骤4括如下具体步骤:
首先,通过计算查询矩阵Q与每个键矩阵K之间的相似度来获得每个单词的权重,然后,使用softmax函数对这些权重进行归一化处理,最后,权重和数值矩阵V使用加权求和得到最后的注意力值;
使用缩放点积函数来计算相似性,函数A用于计算注意力值:
进一步的,所述步骤5括如下具体步骤:
给定一个输入序列X={w1,w2,...wn},假设预测标签序列为Y={y1,y2,...yn},函数S用于计算该标签序列的得分:
之后使用Softmax进行归一化处理,公式如(9)所示:
使用对数最大似然估计,用于计算Loss函数,如公式(10)所示:
CRF模型通过使用维特比算法求解出可能性最大的标注序列,公式如(11)所示:
yresult=argmax(S(X,Y))。 (11)
进一步的,所述步骤6括如下具体步骤:
引入实体类型预测任务和计算注意力评分任务这2个辅助任务,用于训练实体类型单元和组成单元,给定一个训练集x表示一个训练文本序列[w1,w2,...wn],e表示文本序列对应的实体类型标注[e1,e2,...en],其中的实体类型标签是不带BIE分割标记的,如[check,O,disease];
实体类型预测任务:
式中wk、ck表示第K个实体类型单元的可学习参数;
使用负对数似然函数计算实体类型预测任务的loss值,计算公式如(13)所示:
式中,N表示训练集中一共有N个训练样本(x,e);m表示句子中包含的字符个数;|Dent|表示当前训练集中的样本个数;
计算注意力评分任务:
给定当前字符x(t)的ET Cell和C Cell的attention score序列其中,表示正向ETCell和C Cell、反向ET Cell和C Cell计算得到的注意力值的平均值,使用Softmax函数将x(t)的注意力分数转换为实体类型分布,计算公式如(14)所示:
使用负对数似然函数计算当前任务的loss值,计算公式如(15)所示:
NER序列预测任务:
我们将自注意力层的输出向量输入到CRF模型中,预测当前文本最大可能的序列标注结果,对应一个输入序列X={w1,w2,...wn},CRF在预测标签序列为Y={y1,y2,...yn}的概率时,计算公式如(16)所示:
之后使用Softmax进行归一化处理,计算公式如(17)所示:
式中,Y′表示所有可能出现的标注序列;
使用最大似然估计函数计算NER任务的Loss值,计算公式如(18)所示:
式中,xn、Yn分别表示当前训练集中第n个训练样本和对应的序列预测结果;
NER模型的损失值由NER任务和实体类型预测任务、计算注意力评分任务这2个辅助任务的损失值共同计算得到,源领域(S)和目标领域(T)的训练集完成辅助任务后获得损失值和并与NER任务的损失值相加,计算公式(19)所示:
本发明的一种基于多任务学习的中文电子病历命名实体识别的方法具有以下优点:本发明充分利用了源领域和目标领域的标记数据进行跨域命名实体识别,解决目标域中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中设计了一个组成单元用于计算每个实体类型单元的加权和,并获得最终隐藏状态输出,其中每个实体类型单元的权重对应于其相应实体类型的概率。
实体类型单元:
组成单元:
计算McGRU最终隐藏状态:
结合所有ET Cell和C Cell计算McGRU最终隐藏状态。使用加型注意力机制(additive attention)计算C Cell的候选隐藏状态与的权重权重反映了C Cell的候选隐藏状态与第k个ET Cell的隐藏状态之间的相似性,其计算公式如下:
步骤4、引入自注意力机制(Self-Attention,ATT)消除梯度消失和依赖信息问题
引入自注意力机制可以根据字符的重要性赋予不同的权值,关注对模型训练有效的关键信息并忽略非重要信息。进而有效地捕捉句子内部结构信息,提升医疗命名实体识别的准确率。其计算过程可总结如下:
首先,通过计算查询矩阵Q与每个键矩阵K之间的相似度来获得每个单词的权重,常用的相似度函数有点积,拼接,感知机等。然后,使用softmax函数对这些权重进行归一化处理。最后,权重和数值矩阵V使用加权求和得到最后的注意力值。
本发明使用缩放点积函数来计算相似性,函数A用于计算注意力值:
步骤5、使用CRF模型解码得到最优标记序列
CRF能够通过考虑标签之间的依赖关系获得全局最优的标记序列。给定一个输入序列X={w1,w2,...wn},假设预测标签序列为Y={y1,y2,...yn},函数S用于计算该标签序列的得分:
之后使用Softmax进行归一化处理,公式如(9)所示。
使用对数最大似然估计,用于计算Loss函数,如公式(10)所示。
CRF模型通过使用维特比算法求解出可能性最大的标注序列,公式如(11)所示。
yresult=argmax(S(X,Y)) (11)
步骤6、计算模型Loss值
引入实体类型预测任务和计算注意力评分任务这2个辅助任务,用于训练实体类型单元和组成单元,从而辅助NER任务能正确识别出文本中的实体类型。给定一个训练集x表示一个训练文本序列[w1,w2,...wn],e表示文本序列对应的实体类型标注[e1,e2,...en],其中的实体类型标签是不带BIE分割标记的,如[check,O,disease]。
实体类型预测任务:
式中wk、ck表示第K个实体类型单元的可学习参数。
使用负对数似然函数计算实体类型预测任务的loss值,计算公式如(13)所示:
式中,N表示训练集中一共有N个训练样本(x,e);m表示句子中包含的字符个数;|Dent|表示当前训练集中的样本个数。
计算注意力评分任务:
给定当前字符x(t)的ET Cell和C Cell的attention score序列其中,表示正向ETCell和C Cell、反向ET Cell和C Cell计算得到的注意力值的平均值。我们使用Softmax函数将x(t)的注意力分数转换为实体类型分布,计算公式如(14)所示:
使用负对数似然函数计算当前任务的loss值,计算公式如(15)所示:
NER序列预测任务:
我们将自注意力层的输出向量输入到CRF模型中,预测当前文本最大可能的序列标注结果。对应一个输入序列X={w1,w2,...wn},CRF在预测标签序列为Y={y1,y2,...yn}的概率时,计算公式如(16)所示:
之后使用Softmax进行归一化处理,计算公式如(17)所示。
式中,Y′表示所有可能出现的标注序列。
使用最大似然估计函数计算NER任务的Loss值,计算公式如(18)所示。
式中,xn、Yn分别表示当前训练集中第n个训练样本和对应的序列预测结果。
NER模型的损失值由NER任务和实体类型预测任务、计算注意力评分任务这2个辅助任务的损失值共同计算得到。源领域(S)和目标领域(T)的训练集完成辅助任务后获得损失值和并与NER任务的损失值相加,计算公式(19)所示。
实验过程:
在本实验中,我们使用了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不同命名实体识别模型结果:
分析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中设计了一个组成单元用于计算每个实体类型单元的加权和,并获得最终隐藏状态输出,其中每个实体类型单元的权重对应于其相应实体类型的概率。
9.根据权利要求1所述的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述步骤5括如下具体步骤:
给定一个输入序列X={w1,w2,...wn},假设预测标签序列为Y={y1,y2,...yn},函数S用于计算该标签序列的得分:
之后使用Softmax进行归一化处理,公式如(9)所示:
使用对数最大似然估计,用于计算Loss函数,如公式(10)所示:
CRF模型通过使用维特比算法求解出可能性最大的标注序列,公式如(11)所示:
yresult=argmax(S(X,Y)) (11) 。
10.根据权利要求1所述的基于多任务学习的中文电子病历命名实体识别的方法,其特征在于,所述步骤6括如下具体步骤:
引入实体类型预测任务和计算注意力评分任务这2个辅助任务,用于训练实体类型单元和组成单元,给定一个训练集x表示一个训练文本序列[w1,w2,...wn],e表示文本序列对应的实体类型标注[e1,e2,...en],其中的实体类型标签是不带BIE分割标记的,如[check,O,disease];
实体类型预测任务:
式中wk、ck表示第K个实体类型单元的可学习参数;
使用负对数似然函数计算实体类型预测任务的loss值,计算公式如(13)所示:
式中,N表示训练集中一共有N个训练样本(x,e);m表示句子中包含的字符个数;|Dent|表示当前训练集中的样本个数;
计算注意力评分任务:
给定当前字符x(t)的ET Cell和C Cell的attention score序列其中,表示正向ETCell和C Cell、反向ET Cell和C Cell计算得到的注意力值的平均值,使用Softmax函数将x(t)的注意力分数转换为实体类型分布,计算公式如(14)所示:
使用负对数似然函数计算当前任务的loss值,计算公式如(15)所示:
NER序列预测任务:
我们将自注意力层的输出向量输入到CRF模型中,预测当前文本最大可能的序列标注结果,对应一个输入序列X={w1,w2,...wn},CRF在预测标签序列为Y={y1,y2,...yn}的概率时,计算公式如(16)所示:
之后使用Softmax进行归一化处理,计算公式如(17)所示:
式中,Y′表示所有可能出现的标注序列;
使用最大似然估计函数计算NER任务的Loss值,计算公式如(18)所示:
式中,xn、Yn分别表示当前训练集中第n个训练样本和对应的序列预测结果;
NER模型的损失值由NER任务和实体类型预测任务、计算注意力评分任务这2个辅助任务的损失值共同计算得到,源领域(S)和目标领域(T)的训练集完成辅助任务后获得损失值和并与NER任务的损失值相加,计算公式(19)所示:
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)
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 | 广东省人民医院 | 一种基于强化学习和迁移学习的命名实体识别方法和装置 |
-
2022
- 2022-04-13 CN CN202210381623.2A patent/CN114742059A/zh active Pending
Cited By (5)
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 |