赵逸凡 郑建立 徐霄玲
摘 要:电子病历中同一医疗概念的提及形式具有多样性,阻碍了医疗数据的分析和利用,研究电子病历实体标准化具有现实意义。设计并实现了基于深度学习的电子病历实体标准化算法,使用Siamese网络架构和LSTM网络搭建模型,采用Pairwise方法训练模型,在测试集上与传统基于编辑距离的方法进行比较。对手术实体标准化的实验结果显示,深度学习算法正确率达到79.71%,比传统方法提高了17.4个百分点,表明深度学习算法在电子病历实体标准化方面具有有效性。
关键词:电子病历;实体标准化;长短期记忆网络;孪生网络
DOI:10. 11907/rjdk. 182786 开放科学(资源服务)标识码(OSID):
中图分类号:TP301文献标识码:A 文章编号:1672-7800(2019)008-0012-04
Deep Learning Based Entity Normalization of Electronic Medical Records
ZHAO Yi-fan,ZHENG Jian-li,XU Xiao-ling
(School of Medical Instrument and Food Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)
Abstract: The diversity of the mentioning forms of the same medical concept in electronic medical records hinders the analysis and utilization of medical data. Therefore, the entity normalization of electronic medical records has research significance. In this paper, we design and implement a deep learning-based entity normalization algorithm for electronic medical records. We use Siamese network architecture and LSTM network to build the model, and use pairwise method to train the model. Our method is compared to the traditional edit distance based method on the test set. The experimental results on surgery entity normalization showed that the accuracy of the deep learning algorithm is 79.71%,which is 17.4% higher than the traditional method, indicating the effectiveness of the deep learning algorithm on the entity normalization of electronic medical records.
Key Words: electronic medical record; entity normalization; long short-term memory network; Siamese network
基金項目:上海市卫计委中医药科技创新项目(ZYKC201702003)
作者简介:赵逸凡(1994-),男,上海理工大学医疗器械与食品学院硕士研究生,研究方向为医学信息学、自然语言处理;郑建立(1965-),男,博士,上海理工大学医疗器械与食品学院副教授、硕士生导师,研究方向为医学信息系统与集成技术、医学仪器嵌入式控制系统;徐霄玲(1994-),女,上海理工大学医疗器械与食品学院硕士研究生,研究方向为自然语言处理。本文通讯作者:郑建立。
0 引言
随着医疗信息化的快速发展,各医院积累了海量的电子病历数据,如何有效利用这些数据提高医疗健康服务水平是研究热点。电子病历中同一医疗概念会有多种不同的表述形式,阻碍了医疗数据的检索、分析和利用。把形式多样的实体提及(Entity Mention)映射到标准的医疗术语,即实体标准化(Entity Normalization),是有效利用医疗健康数据的前提。
电子病历实体标准化研究由国际公开评测任务推动,最具代表性的两个评测任务是2013年的 ShARe/CLEF eHealth Shared Task 1b[1]和 2014年的 SemEval Task 7[2],这两个任务都是要找到电子病历中的实体(如疾病和症状)在“医学术语系统命名法—临床术语[3]”(Systematized Nomenclature of Medicine - Clinical Terms,简称 SNOMED-CT)中的编码。现有实体标准化方法大多基于实体提及与标准术语的相似度得分。Rohit J Kate[4]通过改进的编辑距离计算相似度;Robert Leaman等[5]采用成对排序学习方法,用向量空间模型表示实体提及并引入权重矩阵计算相似度得分;Li Haodi等[6]使用深度学习方法取得在ShARe/CLEF 数据集和NCBI疾病数据集[7]上的最高正确率,该方法先使用人工编写的规则从标准术语集中挑出候选,再基于卷积神经网络输出语义向量对候选排序。
上述研究都面向英文电子病历,针对中文电子病历的实体标准化研究相对较少,且缺乏公开可用的标注数据集。赵亚辉[8]选取国内某医院的门诊和住院病历作为实验数据,以国际疾病分类第10版(ICD-10)为目标术语集,研究了疾病名的标准化。在门诊病历上改进的编辑距离效果最好,正确率为76.6%,在住院病历上Rank SVM的正确率最高,达到74.7%。
1 实体标准化算法
1.1 算法总体结构
基于深度学习的实体标准化算法总体结构见图1。
图1 基于深度学习的实体标准化算法总体结构
本算法主要思想是计算手术名与各个标准术语的匹配度,选择最匹配的术语。匹配度计算采用Siamese网络。Siamese 网络是一种神经网络结构而不是具体的某种网络,在自然语言处理和计算机视觉中应用广泛[9-13],它有两个结构相同共享权值的子网络。图1中的两个字嵌入完全相同,两个编码器也完全一样。输入的短语中每个字都会映射到一个多维稠密向量,称为字嵌入,也常称为字向量。本文使用Li S等[14]在百度百科的文本上训练出的字向量,并且在训练阶段使字向量保持不变,不再微调。然后使用编码器分别将两个字向量序列映射到目标向量空间(可以看成是特征提取),最后在目标向量空间使用欧氏距离表示两个输入的匹配度,欧氏距离越小则匹配度越高。
本文未采用分类模型。因为手术的标准术语有上万条,如果把每个术语看作一个类别则类别数量庞大,而每个类别的样本数量较少甚至没有,用分类算法显然效果不佳。而 Siamese 网络能从训练样本中学习到匹配度模型,即使类别数量庞大也能获得不错的效果。
1.2 BiLSTM网络
本文采用 BiLSTM网络作为 Siamese 网络结构中用于提取特征的编码器。
长短期记忆网络(Long Short-Term Memory,简称 LSTM)是循环神经网络(Recurrent Neural Network,简称RNN)的一种。普通的循环神经网络用于序列数据建模时容易产生梯度爆炸和梯度消失,难以训练。LSTM 通过引入遗忘门、记忆门、输出门的三态门结构,使网络能够选择性地保留状态信息,解决了梯度爆炸和梯度消失问题。因此,LSTM适用于对序列数据建模,如文本数据。
普通的LSTM只能捕捉到从前向后的信息,但在实体标准化任务中仅有单向信息是不够的。双向长短期记忆网络(Bi-directional Long Short-Term Memory,简称BiLSTM)由前向LSTM与后向LSTM组合而成,也就是在单向LSTM基础上增加了一个逆向的LSTM,前向和后向输出连接在一起作为整个网络输出,这样能更好地捕捉到双向序列信息[15]。
1.3 训练方法
模型训练采用 Pairwise 方法,样本是一对短语,即手術名和标准术语。正例是病历手术名和对应的标准术语,反例是手术名和不对应的标准术语。
两个短语的向量表示为[F1]和[F2],它们的欧氏距离记作[d(F1,F2)]。训练目标是使匹配两个短语的[d(F1,F2)]尽可能小,而不匹配两个短语的[d(F1,F2)]尽可能大。所以,损失函数需要满足两个性质:①对于两个匹配短语,[d(F1,F2)]越小,损失函数越小;②对于两个不匹配短语,[d(F1,F2)]越小,损失函数越大。
本文使用对比损失[16]作为损失函数,定义如下:
[L=12NiNyidi2+(1-yi)max{0,m-di}2] (1)
其中[di]、[yi]分别表示第[i]项样本的编辑距离和标签。[yi=1]表示两个短语匹配,[yi=0]表示两个短语不匹配。当[yi=1]时,该样本的损失是[yidi2],显然满足第一个性质。当[yi=0]时,该样本的损失是[max{0,m-di}2],距离小于[m]时获得[(m-di)2]的惩罚,距离大于[m]时没有惩罚,距离越小损失越大,距离足够大时损失为0,满足第二个性质。
本文使用随机梯度下降的改进算法Adam[17]使损失函数最小,训练时采用mini-batch模式。
2 实验
2.1 实验数据
手术是电子病历实体中的重要类别,本文选择中文电子病历中手术实体标准化问题进行实验。我国一直采用国际疾病分类第9版临床修订本(International Classification of Diseases,Ninth Revision,Clinical Modification,简称 ICD-9-CM)作为手术与操作分类代码的填写标准,并于2015年对其扩码修订,收录了医院各个科室的各种手术与操作共计1万余条,内容准确完备[18]。因此,本文使用扩码后的 ICD-9-CM 中的标准术语作为手术实体标准化术语集。
本文选取某三甲医院的300份电子病历中出现的345个不同手术名作为实验数据,并标注这些手术名对应的 ICD-9-CM 标准术语。随机选取20%作为测试集,剩下的80%用于训练。训练需要成对的短语,训练集中的手术名与对应的标准术语作为正例,反例是手术名与随机选取的不对应ICD术语。通过上述方式构建的数据对总计5 429条,正负例比例为19∶1。
2.2 实验环境、超参数与评价指标
实验代码使用 Python 3.6,Tensorflow 1.8 编写;硬件环境:Intel E5-1620v4,NVIDIA GeForce GTX 1080;操作系统:Windows 10。
经过多次实验,选定的超参数见表1。
表1 实体标准化算法超参数值
大部分实体标准化研究都采用正确率作为算法的评价指标。标准术语数量多,实体标准化难度较大,因此本文除top-1正确率外,还加入top-5正确率作为额外的评价参考[19]。top-5 正确率指算法给出的前5个候选中的正确答案比率。
2.3 实验结果与分析
本文选择基于编辑距离的相似度算法[20]作为比较基准,计算公式为:
[Sim(A,B)=1-d(A,B)max (len(A), len(B)] (2)
式(2)中,A,B为待计算的两个字符串,[len(A)]和 [len(B)]分别是字符串A和B的字符个数,[ d(A,B)]是A和B的编辑距离,即将A变成B的最小操作次数,允许的编辑操作为替换一个字符、插入一个字符、删除一个字符3种。
表2 电子病历手术实体标准化实验结果
表2中,Siamese-LSTM表示编码器部分使用单向的LSTM网络,LSTM单元数量为20。Siamese-BiLSTM表示编码器使用双向LSTM,每个方向有10个LSTM单元,共20个。编辑距离算法的top-5正确率比top-1 正确率高了约14.5个百分点,差距较大。通过分析编辑距离算法出错的样本,发现与手术名在字面上相似的标准术语有多个,匹配时易造成干扰,比如“左肺上叶切除术”对应标准术语是“肺叶切除术”,但对“余肺肺叶切除术”造成了干扰,使得编辑距离算法无法作出正确匹配。两种Siamese网络在top-1、top-5正确率上都明显好于编辑距离,可见对于手术实体标准化,仅依靠字面形式上的相似度,融合语义信息和序列信息的向量空间模型能有效消除干扰项影响,提升标准化正确率。对于Siamese网络编码器部分,双向LSTM 在top-1、top-5正确率上均明显好于单向LSTM,尤其是在最重要的top-1正确率上提升了约11.6个百分点,说明手术实体标准化任务仅有单向序列信息是不够的,增加逆向序列信息能有效改善手术实体标准化效果。
3 结语
电子病历实体形式多样,严重阻碍了医疗數据的分析和利用。本文针对中文电子病历实体标准化进行了研究,基于Siamese神经网络结构和Pairwise训练方法实现了手术实体标准化算法。实验结果显示,基于深度学习的方法比基于编辑距离的相似度算法准确率明显提高,表明深度学习算法可有效应用到实体标准化问题上。但目前算法的正确率尚未达到实际应用程度,还需对现有算法进一步优化,或者使用更优的模型和训练方法。
参考文献:
[1] SUOMINEN H, SALANTER? S, VELUPILLAI S, et al. Overview of the share/clef ehealth evaluation lab 2013[C]. International Conference of the Cross-Language Evaluation Forum for European Languages, 2013: 212-231.
[2] PRADHAN S,ELHADAD N,CHAPMAN W,et al. SemEval-2014 task 7: analysis of clinical text[C]. Proceedings of the 8th International Workshop on Semantic Evaluation (SemEval 2014),2014: 54-62.
[3] DE SILVA T S,MACDONALD D, PATERSON G, et al. Systematized nomenclature of medicine clinical terms to represent computed to mography procedures[J]. Computer methods and programs in biomedicine, 2011, 101(3): 324-329.
[4] KATE R J. Normalizing clinical terms using learned edit distance patterns[J]. Journal of the American Medical Informatics Association, 2015, 23(2):380-386.
[5] LEAMAN R,ISLAMAJ DO?AN R, LU Z. DNORM: disease name normalization with pairwise learning to rank[J]. Bioinformatics, 2013, 29(22): 2909-2917.
[6] LI H,CHEN Q,TANG B,et al. CNN-based ranking for biomedical entity normalization[J]. BMC bioinformatics,2017,18(11): 385-392.
[7] DO?AN R I, LEAMAN R, LU Z. NCBI disease corpus: a resource for disease name recognition and concept normalization[J]. Journal of biomedical informatics, 2014(47): 1-10.
[8] 赵亚辉. 临床医疗实体链接方法研究[D]. 哈尔滨:哈尔滨工业大学,2017.
[9] VARIOR R R,SHUAI B,LU J, et al. A siamese long short-term memory architecture for human re-identification[C]. European Conference on Computer Vision. Springer, Cham, 2016: 135-153.
[10] MUELLER J,THYAGARAJAN A. Siamese recurrent architectures for learning sentence similarity[C]. AAAI,2016:2786-2792.
[11] NECULOIU P,VERSTEEGH M,ROTARU M. Learning text similarity with Siamese recurrent networks[C]. Proceedings of the 1st Workshop on Representation Learning for NLP,2016: 148-157.
[12] 庞亮,兰艳艳,徐君,等. 深度文本匹配综述[J]. 计算机学报, 2017,40(4): 985-1003.
[13] 吴汉钊. 基于孪生卷积神经网络的人脸追踪[J]. 计算机工程与应用,2018,54(14):175-179.
[14] LI S, ZHAO Z, HU R, et al. Analogical reasoning on Chinese morphological and semantic relations[C]. Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics. 2018(2): 138-143
[15] GRAVES A, SCHMIDHUBER J. Framewise phoneme classification with bidirectional LSTM and other neural network architectures[J]. Neural Networks, 2005, 18(5-6): 602-610.
[16] GU J, WANG Z, KUEN J, et al. Recent advances in convolutional neural networks[J]. Pattern Recognition, 2018(77): 354-377.
[17] KINGMA D P, BA J. Adam: a method for stochastic optimization[C]. San Diego:the 3rd International Conference for learning Representations,2015.
[18] 劉爱民. 手术、操作分类与代码应用指导手册2017临床修订版[M]. 北京: 中国协和医科大学出版社, 2017:1-2.
[19] RUSSAKOVSKY O, DENG J, SU H, et al. Imagenet large scale visual recognition challenge[J]. International Journal of Computer Vision, 2015, 115(3): 211-252.
[20] 刘震,陈晶,郑建宾,等. 中文短文本聚合模型研究[J]. 软件学报,2017,28(10): 2674-2692.
(责任编辑:杜能钢)