-
随着医院信息系统的快速发展与应用,医疗机构中积累了大规模的电子病历数据。这些数据是病人在医院就诊及治疗过程中所产生的重要记录,包含病历文本、医学图表、医学影像等多种类型数据。其中,非结构化形式的电子病历文本数据是最主要的部分,如主诉、诊断结果、入院/出院记录和治疗过程等,这些数据蕴含着大量有价值的医疗知识及健康信息[1]。从非结构化文本中识别出与医疗相关的实体名称,并将它们归类到预定义类别,如疾病、治疗、症状、药品等,是电子病历数据挖掘与信息抽取的关键步骤,这一任务称为电子病历命名实体识别(named entity recognition, NER)[2]。它不仅是自然语言处理(natural language processing, NLP)相关任务,如信息检索、信息抽取以及问答系统等的重要基础工作[3],同时对电子病历的应用如合并症分析、不良药物事件检测以及药物相互作用分析等起到了巨大的推动作用。
近年来,针对英文电子病历的命名实体识别问题,学者们已经提出了几种有效的神经网络算法模型。其中,双向长短记忆(bidirectional long short memory, BiLSTM)与条件随机场(condiftional random field, CRF)的组合[4-6]以及卷积神经网络(convolutional neural network, CNN)与条件随机场的组合模型[7-8]最为流行。
与英文电子病历的命名实体识别相比,中文电子病历的命名实体识别问题更具有挑战性。主要原因是医学文本经常使用不规范的缩写,并且大多数实体有多种书写形式。目前大多数中文电子病历的命名实体识别方法主要是基于字的BiLSTM-CRF和CNN-CRF算法模型,并利用汉字和医学词典等特征,来提升识别的性能[9-11]。但是,由于循环神经网络(recurrent neural network, RNN)无法并行计算,当句子中的某个字符与词典中的多个词组有关时,RNN模型通常难以做出判断。如Lattice LSTM[12]使用了跨输入长度的双重递归过渡计算,一个用于句子中的所有字符,另一个用于词典中匹配的潜在单词,因此其计算速度有限。除此之外,这类模型很难处理字典中潜在单词之间的冲突:如果一个字符对应字典中成对的潜在单词,这种冲突可能会误导模型,使其预测不同的标签。如“重庆市长安药店”,文本中的“长”可能属于“市长”一词,也可能属于“长安”一词,对“长”所属词组判别的不同,将导致对字符“长”预测的标签不同。而flat-Lattice transformer for Chinese NER (FLAT)[13]模型,采用全连接自注意力结构,字符可以直接与其所匹配词汇进行交互,同时捕捉长距离依赖,不但可以提高并行计算效率,还能很好地避免潜在单词之间的冲突问题。
在命名实体识别任务中有一种增强识别能力的方法叫做自适应嵌入范式。该方法仅在嵌入层对词汇信息进行自适应调整,后面通常接入LSTM+CRF或其他通用网络,这种范式与模型无关,具备可迁移性。如WC-LSTM[14],采取单词编码策略,将每个字符为结尾的词汇信息进行固定编码表示,每一个字符引入的词汇表征是静态的、固定的,如果没有对应的词汇则用<PAD>代替,因此可以进行批量并行化。文献[15]第一次研究了部首级别信息在中文NER的应用,使用Bi-LSTM来提取部首层面的嵌入,然后将其与字符嵌入连接起来作为最终输入。文献[16]利用汉字图像提取汉字的笔画、结构等特征,取得了较好的性能。
在以上研究的基础上,本文将汉字图像特征、五笔字型编码进行融合,然后将其作为高级语义信息,与依据字符及潜在医学词组生成的相对位置编码融合,采用FLAT的Lattice模型架构实现中文电子病历的命名实体识别。
-
本实验使用的电子病历数据集是医渡云(北京)技术有限公司用于医疗命名实体识别评测任务的Yidu-S4K,其包含:疾病和诊断、检查、检验、手术、药物、解剖部位6个实体类型,采用BIOES标注体系统一进行标注。在BIOES标注体系中,B代表实体的开始位置,I代表实体的内部,O代表非实体部分,E代表实体的结尾,S代表单独组成一个实体部分。本文将subtask1_training_part1和subtask1_training_part2部分的训练数据合并在一起,并随机打乱后,按照7:3的比例划分训练集和验证集。表1显示了该数据集的分布情况。
类型 subtask1_
training_part1subtask1_
training_part2总计 疾病和诊断 1747 2465 4212 手术 417 612 1029 解剖部位 3604 4822 8426 药物 838 984 1822 影像检查 223 746 969 实验室检验 513 682 1195 实体数 7342 10311 17653 为了验证模型的泛化能力,使用Resume数据集[13]。这是一份简历数据集,包含中国股市上市公司高管的简历。Resume数据集采用BMESO标注体系统一进行标注,BMESO标注体系中,B代表实体的开始位置,M代表实体的内部,E代表实体的结尾,S代表单独组成一个实体,O代表非实体部分。表2显示了该数据集的统计情况。
类型 训练集 验证集 测试集 句子/条 3.8 0.46 0.48 字符/个 124.1 13.9 15.1 -
实验采用python 3.8,pytorch 1.7.0和fastNLP 0.6.0框架,并使用NVIDIA显卡GTX3080Ti进行加速,优化器采用sgd+moment梯度下降算法进行参数优化。
本文使用准确率(Precision),召回率(Recall)和F1值来评价模型的识别效果,其中F1值可用来评价模型的综合性能。
-
为了验证本文方法的性能,设计了对比实验,包括与其他算法模型的对比及新算法自身的消融实验。
1) BiLSTM-CRF模型[20]。该模型应用于序列标注任务。将句子的词向量表示输入该模型并对句子的标注序列进行预测。与文献[20]不同,为了应对词语边界模糊的问题,本文以字为单位构建字向量。
2) BiLSTM+Attention+CRF模型[21]。该模型在BiLSTM层和CRF层之间加入了注意力机制。
3) Lattice LSTM+CRF模型[12]。该模型将字符的潜在单词一起进行编码,利用了单词和单词序列信息。
4) LR-CNN模型[22]。该模型在CNN中加入了rethink机制。
另外,为了验证文字图像特征提取时最大池化对识别效果的影响,同时验证五笔特征(WSemantic+Lattice)、文字图像(HSemantic+Lattice)信息以及WHSemantic+Lattice对识别效果的影响,本文进行了消融实验。
-
针对Yidu-S4K中文电子病历数据集,本文从准确率、召回率和F1值3个性能指标方面对各种算法进行了对比。实验结果如表3所示。
模型 准确率 召回率 F1值 BiLSTM-CRF 69.43 72.58 71.97 BiLSTM-Attention CRF 65.96 50.24 57.04 Lattice-LSTM 70.19 72.34 71.25 LR-CNN 57.77 50.29 53.77 FLAT 73.76 72.51 73.13 WHSemantic+Lattice 76.21 74.56 75.37 从实验结果可以看出,Lattice结构模型使算法的性能指标均得到提高,说明边界信息可以为电子病历实体识别提供参考的位置信息,以确保算法的识别性能;而当模型在边界信息的基础上融合了单词的语义信息后,模型整体识别性能进一步提升,本文算法在各项性能指标上均取得了最优值,F1值从73.13%提升到75.37%。可见,边界与语义信息的融合有效提升了电子病历命名实体识别精度。
针对Resume数据集,本文使用提出的算法实现了命名实体识别,并将实验结果与其他模型进行了对比,结果如表4所示。
从表4可以看出,使用Lattice可以使F1值显著提高,而使用语义信息的WHSemantic+Lattice模型比FLAT模型的F1值提升了0.61%。这是因为FLAT的Lattice更加关注词与字符之间的关系,从而可以获得词的位置信息和边界信息。WHSemantic关注点集中在全局信息上,通过笔画特征修正每个字的语义信息。因此,FLAT的Lattice关注点和WHSemantic关注点为本文方法在中文命名实体识别中的性能提升提供了补充信息。
针对消融实验(1)和实验(2),分别在FLAT的Lattice中加入实验(1)的处理方法,即处理汉字图像提取时分别使用8×8、4×4、2×2的最大池化层和不使用池化层的WHSemantic模型;另加入实验(2)的处理方法,即WSemantic或HSemantic。并在Yidu-S4K中文电子病历数据集测试其效果。
最大池化层 准确率 召回率 F1值 无 72.27 67.24 69.67 8×8 75.78 73.22 74.48 4×4 67.51 65.09 66.28 2×2 76.21 74.56 75.37 模型 准确率 召回率 F1值 FLAT-Lattice 73.76 72.51 73.13 HSemantic+ Lattice 74.62 72.61 73.60 WSemantic+ Lattice 75.02 73.24 74.11 WHSemantic+Lattice 76.21 74.56 75.37 从表5的结果来看,恰当地使用最大池化层可以有效提高汉字图像特征,使识别效果得到进一步提升。但并不是所有最大池化层都可以提升模型的效果,如果使用不恰当的最大池化层,反而会使模型的识别效果变差,如当使用4×4的最大池化层时,F1值比不使用最大池化层低了3.39%。并且通过不同最大池化层对比,发现基于2×2(类似于田字格)的最大池化层较适合提取汉字图像特征。
从表6可以看出,使用五笔字型特征可以显著提升模型的精度,是因为相同类型的实体部分偏旁信息也可能是相似的,而文字图像信息可以进一步提升语义信息,从而有效提高模型的识别能力。
汉字特征对于中文电子病历命名实体识别任务非常有用,因为它可以提供丰富的语义信息。为了验证本文模型可以更好地利用边界及语义信息,本文分析了 Yidu-S4K中文电子病历数据集中的一个示例。如表7所示(DD为疾病和诊断缩写),与Lattice模型不同,本文模型没有遗漏任何重要的信息,且与标准划分具有一样的医学含义。
句子 标准划分 Lattice-LSTM FLAT WHSemantic+Lattice 两肺感染及右侧基节及侧脑室体旁小腔隙灶 两(B-DD) 两(O) 两(O) 两(B-DD) 肺(I-DD) 肺(B-DD) 肺(B-DD) 肺(I-DD) 感(I-DD) 感(I-DD) 感(I-DD) 感(I-DD) 染(I-DD) 染(E-DD) 染(E-DD) 染(E-DD) 及(I-DD) 及(O) 及(O) 及(O) 右(I-DD) 右(B-DD) 右(B-DD) 右(B-DD) 侧(I-DD) 侧(I-DD) 侧(I-DD) 侧(I-DD) 基(I-DD) 基(I-DD) 基(I-DD) 基(I-DD) 节(I-DD) 节(E-DD) 节(E-DD) 节(E-DD) 及(I-DD) 及(O) 及(O) 及(O) 侧(I-DD) 侧(B-DD) 侧(B-DD) 侧(B-DD) 脑(I-DD) 脑(I-DD) 脑(I-DD) 脑(I-DD) 室(I-DD) 室(E-DD) 室(E-DD) 室(I-DD) 体(I-DD) 体(O) 体(O) 体(I-DD) 旁(I-DD) 旁(O) 旁(O) 旁(I-DD) 小(I-DD) 小(O) 小(O) 小(I-DD) 腔(I-DD) 腔(O) 腔(O) 腔(I-DD) 隙(I-DD) 隙(O) 隙(O) 隙(I-DD) 灶(E-DD) 灶(O) 灶(O) 灶(E-DD)
Named Entity Recognition for Chinese Electronic Medical Record by Fusing Semantic and Boundary Information
doi: 10.12178/1001-0548.2021350
- Received Date: 2021-11-30
- Rev Recd Date: 2022-01-19
- Available Online: 2022-07-11
- Publish Date: 2022-07-09
-
Key words:
- Chinese electronic medical record /
- FLAT /
- medical dictionary /
- named entity recognition (NER) /
- natural language processing (NLP)
Abstract: Chinese electronic medical record texts are highly professional, with complex grammar,it is difficult to use named entity recognition (NER) for natural language processing (NLP). In order to accurately identify medical entities from electronic medical record data, a named entity recognition algorithm combining semantic and boundary information is proposed. In this algorithm, the graphic information of Chinese characters is extracted by using the convolutional neural network (CNN) structure and the semantic information of the Chinese characters is enriched with Wubi features. And then the text information is matched with medical dictionary as a potential phrase of characters by using the Lattice in the FLAT model. Finally, the Lattice model incorporating semantic information is used for named entity recognition in Chinese electronic medical records. The experimental results show that this method has better recognition performance than other existing methods on the Yidu-S4K data set, and the F1 value on the Resume dataset is 96.06%.
Citation: | CUI Shaoguo, CHEN Junhua, LI Xiaohong. Named Entity Recognition for Chinese Electronic Medical Record by Fusing Semantic and Boundary Information[J]. Journal of University of Electronic Science and Technology of China, 2022, 51(4): 565-571. doi: 10.12178/1001-0548.2021350 |