整合BiLSTM-CRF网络和词典资源的中文电子病历实体识别
2020-04-01李纲潘荣清毛进操玉杰
李纲 潘荣清 毛进 操玉杰
摘 要:[目的/意义]通过整合BiLSTM-CRF神经网络和具有先验领域知识的词典资源,提高中文电子病历领域中的实体识别效果。[方法/过程]采用BiLSTM-CRF神经网络模型,以CCKS-2017测评任务提供的脱敏中文电子病历数据为实验数据集,结合Word2Vec和外部词典构造神经网络的词嵌入输入改进实体识别模型。[结果/结论]与传统的CRF和单纯的BiLSTM-CRF模型相比,引入先验知识的词典资源可以取得更好的实体识别效果,F1值达到最高的90.41%。深度学习模型BiLSTM-CRF能够显著提升传统CRF方法的实体识别效果,同时先验的词典知识能进一步增强神经网络的性能。
关键词:实体识别;长短期记忆网络;条件随机场;电子病历;词典资源;深度学习;BiLSTM-CRF神经网络模型
DOI:10.3969/j.issn.1008-0821.2020.04.001
〔中圖分类号〕TP391 〔文献标识码〕A 〔文章编号〕1008-0821(2020)04-0003-10
Entity Recognition of Chinese Electronic Medical Records Based on
BiLSTM-CRF Network and Dictionary Resources
Li Gang Pan Rongqing Mao Jin Cao Yujie
(The Center for the Studies of Information Resources,Wuhan University,Wuhan 430072,China)
Abstract:[Purpose/Significance]This paper aimed to improve the performance of entity recognition from Chinese electronic medical records by integrating BiLSTM-CRF neural network and dictionary resources with prior knowledge of the field.[Methods/Process]The BiLSTM-CRF neural network model was used and experimented on the desensitized Chinese medical record data provided by CCKS-2017 evaluation task.The Word2Vec word embedding was combined with external dictionary in the neural network to improve the performance of entity recognition.[Results/Conclusions]The results showed that compared with the traditional CRF and the pure BiLSTM-CRF model,adding dictionary resources with prior knowledge could achieve better performance of entity recognition,with the highest F1 of 90.41%.BiLSTM-CRF could improve the performance of entity recognition over CRF,and prior dictionary knowledge could further enhance the performance of neural networks.
Key words:entity recognition;long short-term memory networks;conditional random field;electronic medical record;dictionary resources;deep learning;BiLSTM-CRF neural network model
电子病历是医疗系统信息化的产物,是医务人员在其医疗活动过程中,使用医疗机构信息系统生成的关于病患的文字、符号、图标、图形、数据、影像等数字化信息,并能实现存储、管理、传输和重现的医疗记录[1]。对电子病历进行分析处理和数据挖掘,利于促成基础医学研究到临床治疗的转化研究,为此嵌入人工智能,发挥其在智能分诊导诊、辅助诊疗决策支持等方面的作用,提高医务人员工作效率,保障医疗质量与安全,有助于早日实现“智慧医疗”与“智能诊断”。但是,当前电子病历大多处于非结构化状态,严重制约了其开发利用[2]。
命名实体识别(Named Entity Recognition,NER)任务是自然语言处理的一个重要分支。命名实体识别的任务是发现和识别自然文本中的专有名词和有意义的词语并将其归类到预定义的类别中。许多研究人员在各领域开展了实体识别的研究。邱奇志等[3]建立了多条规则和多个词表来实现突发事件各表达要素的提取。张琳等[4]使用条件随机场探索司法文本中的实体的自动识别。目前的研究和方法已经取得一定的成果,但依然存在一些可提升空间。从特征方面来看,条件随机场多利用上下文窗口之内的局部特征,对于全局特征捕获有限。基于规则和词表的方法需要投入大量人力,虽然有着优越的性能,但泛化能力不强。杨娅等[5]利用相关领域的语料生成了词典,作为文本特征的补充,使用条件随机场模型进行实体识别,验证了词典资源能够提升机器学习模型的识别效果。王东波等[6]利用深度学习自动获取全局特征实现了数据科学招聘信息的实体抽取。深度学习方法依靠计算机强大的计算力,特征捕获能力优于其他方法,但当前研究人员大多考虑在网络结构上进行改进。鉴于此,本文借鉴上述论文的思想,尝试捕获电子病历文本的上下文全局特征,并根据任务目标构建领域词典资源作为补充特征,以字粒度对文本标记,实现细粒度的实体识别,降低识别的错误率。将实体识别应用到电子病历领域,能促成电子病历完成非结构化信息向结构化信息的转变,从而更高效、准确地挖掘电子病历的内在信息和知识,构建医学知识图谱用以辅助决策,促进循证医学这种数据驱动的医疗方法的发展[7]。
1 相关研究现状
根据Harris Z的子语言理论,每个领域的文本有其独特的结构和规律性[8],而病历的撰写有其自己的规范与要求,是医疗工作者的专业知识输出,在开放领域取得的研究成果在电子病历领域难以取得理想的效果[9],因此,许多人专门在电子病历领域展开了研究。
Bruijn B D等[10]采用半马尔可夫模型,引入上下文特征和一体化医学语言系统(Unified Medical Language System,UMLS)及医学文本知识抽取系统(clinical Text Analysis Knowledge Extraction System,cTAKES)完成了实体识别。Jiang M等[11]引入外部特征后,分别采用条件随机场(Conditional Random Field,CRF)和支持向量机(Support Vector Machine,SVM)模型,结合手工整理的规则进行实体抽取,在CRF模型上取得的最佳F1值为84.75%,在SVM模型上取得的最佳F1值为83.26%。但是,自然语言的表达也具有一定的灵活性,规则并不能穷举所有情况。Uzuner 等[12]综述了i2b2 2010测评中各小组实现电子病历实体抽取的方法,大部分都采用了CRF模型,并结合UMLS作为知识库,辅助抽取特征,利用知识库实现实体的优化识别,也有少数人采用SVM的对比研究。而中文电子病历实体识别研究的起步较迟。叶枫等[13]采用CRF++这一工具完成了中文电子病历的“疾病”、“手术操作”和“临床症状”三大类实体的识别,这是实体识别在中文电子病历中的首次应用,具有一定的意义,但其语料只包含了现病史和既往史,从目前角度来看,较难完整反映病人的一次完整就诊特征。胡佳慧等[14]利用2017年全国知识图谱与语义计算大会(China Conference on Knowledge Graph and Semantic Computing,CCKS)任务集的数据,采用基于CRF的训练方法和Pipeline的标注方法,在测试集上的总体F1值达到87.72%。至此,马尔可夫模型、SVM、CRF等方法都在电子病历领域进行了实体识别的尝试,识别效果不断提升,当前以CRF为代表的序列标注方法已成为电子病历实体识别任务的主流方法之一。上述传统的机器学习方法需要由人工设计关于字或词的各种内部和外在特征,但特征的有效性需要通过实验进行大量的尝试和检验,既费时又费力,不仅获取过程较为随意,且完备性较差。同时,特征的选择也会在很大程度上影响电子病历实体识别的准确性。而单独采用基于规则和知识库的方法,系统实现代价较高,也难以适应电子病历复杂的语言模型。
为了能够自动捕获电子病历文本中的特征,减少人工特征对实体识别能力的影响,研究者们开展了尝试使用深度学习的模型实现特征的自动提取。Luu T M等[15]融合Word2Vec词向量和自己构建的特征工程应用于循环神经网络(Recurrent Neural Network,RNN)网络在CLEF2016的数据集上取得了优于其他模型的结果。在2012年I2B2的NER任务中,共包括6类实体,Liu Z等[16]用卷积神经网络(Convolutional Neural Network,CNN)提取词向量,用长短期记忆网络(Long Short-Term Memory,LSTM)做实体识别标注,严格匹配下取得F1值为87.66%,但这样的标签输出是相互独立的。Jagannatha A N等[17]将BiLSTM网络与CRF相结合应用到了1154份癌症患者的病历中,实现了整体82.10%的F1值。Qin Y等[18]、Li L等[19]也应用了相似的网络模型和不同粒度的特征在不同数据集上做了实验,均取得一定的成就。Wei Q等[20]结合了双向长短期记忆网络(Bidirectional Long-Short-Term Memory,BiLSTM)和CRF的输出作为SVM的输入来进行疾病名称识别。2018年,基于句子级特征的Lattice-LSTM网络被提出,消除了分词错误的风险,潘璀然等[21]利用此方法在CCKS-2018任务一上进行实验,其F1值优于CCKS-2018任务一的最高结果。上述研究结果均表明,深度学习模型可以灵活运用字、词、句子等不同粒度的上下文特征,在实体抽取方面的效果要优于基于机器学习的方法,且深度学习方法可以与机器学习方法灵活组合。但在特定领域内的识别任务,尤其是小规模数据的情况下,效果还有提升空间。在深度学习系列方法中,研究者们已经开始关注多个模型的组合运用,实现不同模型的优势互补,却较少关注先验知识对识别效果的辅助作用。本文考虑在BiLSTM-CRF网络的基础上,引入外部的补充词典资源,提升模型的识别效果,既能实现对已知实体的识别,同时对未登录词也有一定的发现能力。
2 中文电子病历实体识别方法
2.1 电子病历实体识别任务
电子病历中,医生对患者的诊疗过程的通用描述模板为:通过检查手段(做什么检查)发现疾病的表现(什么症状),给出诊疗结论(什么疾病),并基于诊断结论,给出治理措施(如何治疗)[23],因此检查、症状、疾病和治疗是医疗活动中的4类重要实体。同时,身体部位也是一类重要实体,医生在描述疾病和症状时,往往需要精确到身体部位,不同身体部位产生相同症状时,所患疾病可能是不同的,检查和治疗手段亦是如此。因此身体部位这一实体类型在电子病历中占有很大比重,应当也纳入考虑范围内。综合以上目标,本文的电子病历实体识别任务主要包括表1介绍的几类目标实体[22]:
2.2 基于BiLSTM-CRF的实体识别模型
为了能够自动提取文本的潜在语义特征,减少手动提取特征的时间和人工开销,本文采用深度神经网络模型实现实体识别。深度神经网络模拟人类的思考模式,运用多層的网络运算,可以有效挖掘潜在有用信息,其层数越高,数据所表达的含义越抽象,对人工难以识别的特征的提取效果越好。具体而言,本文采用BiLSTM-CRF模型,该模型集成了LSTM和CRF的优点,既能够捕获文本的全文特征,又能够在输出预测时考虑到标签的顺序性。同时,本文设计了字符级的词典特征,对语义特征进行补充。
2.2.1 LSTM网络
基础的RNN网络实现了对当前时刻的输入和前一时刻状态的抽象表示,在预测状态时虽然能考虑到上一时刻的状态,但是在上下文距离过长情况下,容易产生梯度爆炸或梯度消失的情况,无法进行参数更新。LSTM网络改变了RNN网络细胞元结构,通过门控机制,在处理长距离依赖的序列时有着较好的效果,它能够记忆先前的信息并应用到当前输出的计算中。在单向的LSTM网络基础上,增加一层反向的LSTM网络可以形成BiLSTM网络,它能够有效捕捉某一时刻的前后文信息。
一个LSTM细胞结构如图1所示,它包括了遗忘门、输入门、输出门3个部分,数据流经过这3个部分的处理,输出更新后的状态。这3个部分的作用机理如下[23]:
遗忘门:
f(t)=sigmoid(Ufx(t)+Wfh(t-1)+bf)(1)
输入门:
i(t)=sigmoid(Uix(t)+Wih(t-1)+bi)(2)
a(t)=tanh(Uax(t)+Wah(t-1)+ba)(3)
输出门:
C(t)=C(t-1)Θf(t)+i(t)Θa(t)(4)
o(t)=sigmoid(Uox(t)+Woh(t-1)+bo)(5)
h(t)=o(t)Θtanh(C(t))(6)
2.2.2 CRF模型
CRF模型是给定一组输入随机变量条件下给出另一组输出随机变量的条件概率分布模型,已有学者把它应用在包括序列标注的不同预测任务上。根据条件随机场的思想[24],在一个给定的条件随机场内,随机变量X取值为x的条件下,随机变量Y取值为y的条件概率由两部分组成:
P(y|x)∝exp[∑i,kλktk(yi-1,yi,x,i)+∑i,lμlsl(yi,x,i)](7)
其中tk是转移特征函数,描述从前一个标签到当前标签的条件概率,sl是状态特征函数,依赖于当前位置,λk和μl为对应的权值。该模型在计算一个观测状态的隐藏状态的条件概率最大值时,不仅考虑当前状态特征,还考虑先前状态特征。
2.2.3 基于BiLSTM-CRF的命名实体识别框架
本文的网络模型整合了LSTM和CRF用于电子病历的实体识别任务。如图2所示,整个神经网络共有4层结构:输入层通过特征构建方法输入句子的特征向量序列;隐藏层为一个双向的LSTM网络,前向传播的LSTM网络用于获取上文信息,后向传播的LSTM网络用于获取下文信息,经过双向LSTM网络的挖掘能够充分提取过去和未来的信息;输出层对前后向的LSTM网络获得的信息进行拼接整合;在双向的LSTM网络上层再叠加一个CRF层,能够对标签信息加以利用。CRF能够利用转移特征考虑到标签之间的顺序性,获得全局最优的输出序列[25],因此,该网络的输出不再是独立的标签序列,而是考虑的顺序的最佳序列。
在训练过程中,给定一个输入X,对于一个预测序列y,最大化正确标签序列的似然概率:
log[p(y|X)]=P(X,y)-log∑∈YXeP(X,y)(8)
其中,YX是一个输入序列X对应的所有的可能的标签。定义损失函数loss=-log[p(y|X)],利用Adam优化器寻找合适的参数,使整个模型损失最小,以达到优化识别模型的目的。
2.3 中文字符层次特征
神经网络模型需要将每一个字符转化成向量的形式输入。对于一个中文字符,其对应向量的每一维表示该字符的某一特征。机器学习方法过度依赖于人工标注及构建的特征,不具备从自然语言文本中自动抽取和组织信息的能力。神经网络模拟了人的认知结构,与人类的学习过程更为相似。本文期望通过深度学习实现自动化获取特征和推理学习。此外,医学领域的词典资源非常丰富,利用这些先验知识可以强化神经网络对各类实体的认识,以弥补实验数据规模上的不足。本实验在构建特征向量时考虑融合自动化提取的内部语义特征和外部词典特征两部分特征共同构成神经网络输入的特征向量。
2.3.1 内部语义特征
Word2Vec模型通过深度学习的方法,将一个词表示成一个固定维度的实数值型向量,向量的每一维的特征是抽象的,但整个向量包含了一定的潜在语义特征,词的相似性可以通过向量的相似性来衡量,词与词之间也可以进行计算,产生“国王-男+女=女王”这样的等式。
本文采用数据集中经过清洗后的所有文本(包含已标注数据和未标注数据)作为语料库,使用Word2Vec的CBOW模型进行字向量训练,得到的语义特征向量作为特征的一个重要组成部分。
2.3.2 外部词典特征
本文的描述的字的外部词典特征用一个二值化向量表示,设定一种字ci与词w的映射关系:
ciw(9)
其中w=c1c2…ck,1≤i≤k。dict为预先定义的字典,当w∈dict时,有ci∈dict。定义如下词典特征描述函数,不同的值表示一个字c不同的词典特征状态:
bj(c)=0.5,ifc∈dictj
-0.5,else(10)
则字c的词典向量表示为[b1(c),b2(c),b3(c),b4(c),b5(c)]。
3 实验过程及结果
3.1 實验数据及预处理
本文研究采用的数据集源自于CCKS-2017的测评任务[26],是真实的经过脱敏处理的中文电子病历数据。全部数据共含800条(包括300条已标注数据和500条未标注数据)单人单次就诊记录,被组织成4个部分:一般项目、病史特征、诊疗过程、出院情况。
中文电子病历领域目前尚缺乏一份权威且完整的医学词典,本实验采用了北大开放数据平台提供的一份医学分词词典[27],共包括疾病、症状、检查、药物、手术治疗5个类别,其原始来源主要是MeSH(Medical Subject Headings,医学主题词表)、ICD-9(International Classification of Diseases,国际疾病分类),ICD-10等专业英文医学词典的翻译和搜狗词库中一些网友自发贡献的医学相关词库。虽然这个词典的分类与本实验目标不完全一致,但仍有一定的意义,通过该词典可以构建本文实验所需要的词典。将这几个类别与识别任务中的类别相对应,其中由于药物是部分科室的疾病的主要治疗手段,同时也根据前文对“治疗”的定义,实验中将北大开放数据平台提供的词典中的“药物”和“手术治疗”合并为一类使用。另外,由于网络上没有查找到关于“身体部位”较为全面完整的词典,本实验利用训练集中的已标记的实体组合成一个词典的方式进行使用。
使用Python对实验数据集进行预处理,清除文本中对于识别工作无意义的HTML标记,然后进行字符粒度的分割。根据卫生部关于病历书写的相关指引和要求,中文病历应当尽可能使用中文书写。中文病历中,英文字母主要是单位缩写、体温和心率等常规项目记录,考虑到数值和英文字母在中文病历中表征的含义较小,为增强模型的发现能力,对实验数据集中所有的英文字母和数字做了统一替换,将英文字母替换为“〈ENG〉”,将数字替换为“〈NUM〉”。将替换后的文本作为模型输入在Word2Vec中训练得到字向量表达。
本文标注对象为单个汉字,而非一个词语,主要基于以下考虑:1)与英文不同的是,中文词与词之间没有分隔标记,并且中文电子病历中很多实体为专有名词,通过目前常用的分词工具难以准确识别其边界,尤其是一些新词;2)本实验采用的数据集样本较少,基于字的标注相比较基于词的标注,可以获得更多的标记数量,有利于神经网络学习。本文采用“BIESO”格式进行字标注,“B”表示1个字是1个实体词的开始,“I”表示1个字是1个实体词的中间部分,“E”表示1个字是1个实体词的结束,“S”表示1个实体词是由该单字构成,“O”表示1个字不属于任何实体。比如,1个字被标注为“I-SIGNS”,表示这个字在一个类别为“症状和体征”(SIGNS)的实体中,且处于该实体词的中间位置。基于以上规则,将同一类型实体的相关连续标记析取为最终的实体词。
3.2 实体类别基础信息统计
对已标注的所有数据做基础统计,相关结果如表2所示。从数据中可以看出,数据集中的各类实体数量存在着不均衡的现象,如“身体部位”的数量是“疾病与诊断”的14.84倍,表明医生在写病历时,针对一次就诊,可能会需要针对较多的由“身体部位”、“症状和体征”以及“检查和检验”所推测的病因做出一次“疾病诊断”。观察图3展示的各类实体长度—数量的分布关系,各类实体的分布关系不尽相同,但超长词汇虽有一定占比,但相对也比较低。不同类别的实体平均长度存在较为明显的差异,其中“治疗”的平均长度是“症状和体征”的2.73倍。同类实体的长度分布差异也较大,如“身体部位”,长度最短为1,最长达到了24(例子:“C3/4、C4/5、C5/6、C6/7左侧椎间孔”),有许多限定词,这表明病历文本中的词汇具有很强的专业性。
3.3 实验过程
由于数据集规模较小,为了能够充分利用数据集的样本,本实验将数据集中已经被标注的300份数据划分成5份,按照4∶1的比例划分训练集和测试集,采用五折交叉检验的方式进行实验,每次均抽取其中一份为测试集,其他4份为训练集。同时为了验证BiLSTM-CRF神经网络和外部词典对于命名实体识别任務的意义,辅以两组对照实验,共进行如表3的3组实验。实验三的完整流程如图4所示。
3.4 测评指标
将神经网络的输出结果集合记为S={S1,S2…Sm},人工标注的结果集合记为G={G1,G2…Gn},采用严格等价的方式判断Si∈S与Gj∈G是否一致,即当且仅当一个实体的内容、所属类别、起始下标和终止下表4个要素全部都一致时,才认为该
3.5 实验结果分析
3.5.1 模型性能对比
表4统计了3个识别模型在测试集上的准确率、召回率和F1值,所有的数据都是五折交叉检验求平均后的值,同时计算了整体层面的实验结果。
BiLSTM-CRF模型的识别结果在准确率、召回率和F1值上都超过了CRF,可见BiLSTM-CRF模型优于传统的条件随机场:整体的F1值由85.05%提高到89.82%,提高了4.77%,提升效果非常明显,说明BiLSTM网络提取的句子深层上下文特征有利于实体的识别,可以获得更佳的性能。BiLSTM-CRF+Dict在BiLSTM-CRF基础上增加了词典特征,整体的F1值提高了0.59%,达到了90.41%。由于电子病历中含有大量的医学专用术语,词典作为一种已有的先验知识,在电子病历领域实体任务识别中是非常重要的资源。单纯基于词典的方法难以适应电子病历的复杂的语言模型,将词典引入BiLSTM-CRF神经网络,把它作为神经网络输入的一个特征,可以增强神经网络对于先验知识的学习。实验证明了该方法的有效性。
3.5.2 不同实体识别效果对比
相同模型下,不同类型实体的识别效果存在明显差异。图5展示了BiLSTM-CRF+Dict模型对于不同实体的识别效果。
从图5中可以看出,模型在各类实体识别效果上,P值和R值比较均衡,没有太大的差异。模型在“症状和体征”和“检查和检验”的识别上效果较佳,F1值分别达到了94.88%和94.74%,而识别效果较差的是“疾病和诊断”类和“治疗”类实体,F1值分别仅为78.13%和74.78%,说明这两类实体的识别难度相对较大。由表2可知,5类实体数量和平均长度存在较为明显的差异,其中“身体部位”、“检查和检验”、“症状和体征”3类实体数量远远多于“疾病和诊断”和“治疗”,后者的平均长度也较长。观察图3的各类实体长度—数量分布关系,“疾病和诊断”及“治疗”这两类实体的长词也较多。可以推知,针对“身体部位”、“检查和检验”、“症状和体征”3类实体,神经网络拥有更多的样本学习获得类别特征,且其字间转移特征相对于另外两类实体会相对简单,从而表现出更佳的实体识别效果。
进一步对错误识别进行分析,得出实体识别错误的几种情形:1)样本稀疏导致未识别出实体,如“肠粘连”等疾病没有被识别出;2)非指定实体的词语被误识别为实体,如“全部”被识别为身
体部位;3)实体类别识别错误:能够准确识别实体边界及内容但对实体类别判断错误,这类错误单独出现的概率极低;4)实体边界判断错误,如“左前臂内侧皮肤”仅识别出“左前臂”这一身体部位;5)基于上述几类错误的复合结果:如疾病“心包积液”的识别结果为身体部位“心包”。
在本文所用数据集中,由于数据集中超长词汇占比较少,因此模型针对短词汇的效果较佳,某些情况下倾向于将长词汇中的一部分作为识别结果,造成边界错误。此外,很多除身体部位实体以外的实体在描述时都需要借助于身体部位词,如“神经系统查体”、“心肺查体”、“直腿抬高试验”、“尿道前列腺激光汽化术”、“膀胱结石”等,此实体内部存在嵌套关系,也是产生上文中第五类错误的主要原因。因此,虽然“身体部位”实体数量最多,但其表现并不是很突出,F1值仅为86.80%。
此外,从3.1节的实体属性统计、图3中各实体的长度—数量分布曲线和观察实验的标注结果可以发现,“治疗”类的长度分布最广,长度在15以上的实体也有一定比例,长度均值达到了5.73。然而,训练集中的标注结果存在很多界限分割不一致的情况,比如“软组织修复药物及营养脑细胞药物”一词,某处会将其标注为一个实体,但另一处标注为“软组织修复药物”和“营养脑细胞药物”两个实体,训练集的标注一致性较差,这也导致了测试结果中常出现这一类错误,并间接导致其他类错误的产生。
3.6 讨 论
为提升中文电子病历命名实体识别效果,本文将识别任务视为序列标注任务,构建BiLSTM-CRF的神经网络模型,利用神经网络提取文本的上下文特征,同时融合从领域知识的词典资源中获得的字符级的补充特征,并结合文本标签的转移特征,获得其最大概率得到标签序列输出。
从结果指标上看,相比于传统的条件随机场,神经网络的实体识别性能提升显著。BiLSTM-CRF的神经网络能够更好地适应长句子内部的上下文依赖,捕获全局上下文信息,获得更好的实验结果。在Word2Vec的词嵌入基础上加入先验的词典特征,可以进一步增强模型的识别效果。利用深度学习自动提取的特征能够降低对人工标记特征的依赖,在神经网络模型中也能够取得更好的效果。在神经网络中引入词典特征,相当于为模型提供了一些先验知识,也能在一定程度上提升识别准确率。
从异常结果来看,一些错误的识别结果都可以在训练集中发现相似的情况,因为数据集中的错误标记会随着模型训练过程被带入到识别结果中,干扰模型效果,降低识别准确率。因此一个规范的高质量的语料库对命名实体识别任务至关重要。另外,由于数据集中长实体比例不高,因此,模型在识别短实体的效果更好;数据集中不同实体数量有差异,也导致不同实习识别效果不同,这都是数据集内部不均衡所造成的影响。
从模型扩展性来看,本文虽然应用于中文电子病历,但深度学习模型可移植性较强,因此理论上可适用于其他垂直领域。假若其他领域有权威的受控词表或者本体,都可以对其进行处理,形成文本的词典特征。在实体类别方面,也可以根据自己需求进行定义,挖掘不同的实体。
4 结 语
本文介绍了一种识别中文電子病历命名实体的方法,该方法融合过去基于深度学习和基于词典这两类方法的优势,能够识别出电子病历文本中“症状和体征”、“检查和检验”、“疾病和诊断”、“治疗”、“身体部位”5类实体,且取得了较好的效果,整体F1值为90.41%。但中文电子病历命名实体识别的任务还存在着很大的提升空间,在未来的研究工作中,尚有一些可改进之处:1)可以考虑利用纯度更高,内容更丰富,规模更大的语料库来构建更高质量的词向量,充分利用词的潜在抽象特征,同时还要注重数据集标注的规范性;2)考虑引入词性等更多较简单但又可以准确标记的特征,并加以利用;3)针对样本中可能存在的实体类别数量不均衡的现象,可以采取过采样或欠采样的方法,均衡各类别的数量,以提升效果较差的实体的识别效果;4)随着实体识别领域的不断深入,BERT、ELMo、Transformer-XL等预训练模型不断产生,在自然语言处理各项任务中也取得了不错的成绩。后续考虑将这些预训练模型引入特定领域实体识别任务,以期进一步提升已有的识别效果。
参考文献
[1]中华人民共和国卫生部.卫生部关于印发《电子病历基本规范(试行)》的通知[EB/OL].http://www.gov.cn/zwgk/2010-03/04/content_1547432.htm,2018-10-10.
[2]Wang Y,Wang L,Rastegar-Mojarad M,et al.Clinical Information Extraction Applications:A Literature Review[J].Journal of Biomedical Informatics,2018,77:34-49.
[3]邱奇志,周三三,刘长发,等.基于文体和词表的突发事件信息抽取研究[J].中文信息学报,2018,32(9):56-65,74.
[4]张琳,秦策,叶文豪.基于条件随机场的法言法语实体自动识别模型研究[J].数据分析与知识发现,2017,1(11):46-52.
[5]杨娅,杨志豪,林鸿飞,等.MBNER:面向生物医学领域的多种实体识别系统[J].中文信息学报,2016,30(1):170-176.
[6]王东波,胡昊天,周鑫,等.基于深度学习的数据科学招聘实体自动抽取及分析研究[J].图书情报工作,2018,62(13):64-73.
[7]Fowler S A,Yaeger L H,Yu F,et al.Electronic Health Record:Integrating Evidence-based Information at the Point of Clinical Decision Making[J].Journal of the Medical Library Association,2014,102(1):52-55.
[8]Harris Z.Grammar on Mathematical Principles[J].Journal of Linguistics,1978,14(1):1-20.
[9]杨锦锋,于秋滨,关毅,等.电子病历命名实体识别和实体关系抽取研究综述[J].自动化学报,2014,40(8):1537-1562.
[10]Bruijn B D,Cherry C,Kiritchenko S,et al.Machine-learned Solutions for Three Stages of Clinical Information Extraction:the State of the Art at i2b2 2010[J].Journal of the American Medical Informatics Association,2011,18(5):557-562.
[11]Jiang M,Chen Y,Liu M,et al.A Study of Machine-learning-based Approaches to Extract Clinical Entities and Their Assertions from Discharge Summaries[J].Journal of the American Medical Informatics Association,2011,18(5):601-606.
[12]Uzuner ,South B R,Shen S,et al.2010 i2b2/VA Challenge on Concepts,Assertions,and Relations in Clinical Text[J].Journal of the American Medical Informatics Association,2011,18(5):552-556.
[13]叶枫,陈莺莺,周根贵,等.电子病历中命名实体的智能识别[J].中国生物医学工程学报,2011,30(2):256-262.
[14]胡佳慧,方安,赵琬清,等.面向知识发现的中文电子病历标注方法研究[J].数据分析与知识发现,2019,(7):123-132.
[15]Luu T M,Phan R,Davey R,et al.Clinical Name Entity Recognition Based on Recurrent Neural Networks[C]//2018 18th International Conference on Computational Science and Applications(ICCSA),2018:1-9.
[16]Liu Z,Yang M,Wang X,et al.Entity Recognition from Clinical Texts via Recurrent Neural Network[J].BMC Medical Informatics & Decision Making,2017,17(2):53-61.
[17]Jagannatha A N,Hong Y.Structured Prediction Models for RNN Based Sequence Labeling in Clinical Text[C]//Proceedings of the Conference on Empirical Methods in Natural Language Processing,2016:856-865.(下转第58页)
[18]Qin Y,Zeng Y.Research of Clinical Named Entity Recognition Based on Bi-LSTM-CRF[J].Journal of Shanghai Jiaotong University,2018,23(3):392-397.
[19]Li L,Jin L,Jiang Y,et al.Recognizing Biomedical Named Entities Based on the Sentence Vector/Twin Word Embeddings Conditioned Bidirectional LSTM[C]//2016 Chinese Computational Linguistics and Natural Language Processing Based on Naturally Annotated Big Data,2016:165-176.
[20]Wei Q,Chen T,Xu R,et al.Disease Named Entity Recognition by Combining Conditional Random Fields and Bidirectional Recurrent Neural Networks[J].Database,2016:1-8.
[21]Luu T M,Phan R,Davey R,et al.A Multilevel NER Framework for Automatic Clinical Name Entity Recognition[C]//IEEE International Conference on Data Mining Workshops,2017:1134-1143.
[22]潘璀然,王青华,汤步洲,等.基于句子级Lattice-长短記忆神经网络的中文电子病历命名实体识别[J].第二军医大学学报,2019,40(5):497-506.
[23]杨锦锋,关毅,何彬,等.中文电子病历命名实体和实体关系语料库构建[J].软件学报,2016,27(11):2725-2746.
[24]Lipton Z C,Berkowitz J,Elkan C.A Critical Review of Recurrent Neural Networks for Sequence Learning[J].arXiv:1506.00019,2015:1-38.
[25]李航.统计学习方法[M].北京:清华大学出版社,2012:191-210.
[26]Ma X,Hovy E.End-to-end Sequence Labeling via Bi-directional LSTM-CNNs-CRF[C]//Proceedings of the 54th Annual Meeting of the Association for Computational Linguistics.USA:Association for Computational Linguistics,2016:1064-1074.
[27]CCKS 2017测评二[DS/OL].https://www.biendata.com/competition/CCKS2017_2/data/,2018-08-10.
[28]赵常煜,王若佳.医学分词词典[DS/OL].http://opendata.pku.edu.cn/dataset.xhtml?persistentId=doi:10.18170/DVN/SDM9GT,2018-09-20.
[29]Kudo T.CRF++:Yet Another CRF Toolkit[CP/OL].http://chasen.org/taku/software/CRF++/,2018-10-01.
(责任编辑:郭沫含)