电子病历命名实体识别研究进展

2023-11-20 10:58刘安栋杜建强程春雷查青林
计算机工程与应用 2023年21期
关键词:评测命名病历

刘安栋,彭 琳,叶 青,杜建强,程春雷,查青林,2

1.江西中医药大学 计算机学院,南昌 330004

2.江西中医药大学 第二附属医院,南昌 330004

电子病历(electronic medical record,EMR)是指医务人员在医疗活动过程中,使用医疗机构信息系统生成的文字、符号、图表、图形、数据、影像等数字化信息,并能实现存储、管理、传输和重现的医疗记录[1]。电子病历主要分为门诊病历和住院病历两类,门诊病历中的短文本通常包含很少的医疗信息,因此,电子病历文本挖掘研究大多聚焦于住院病历。住院病历包括住院病案首页、入院记录、病程记录、医嘱单、辅助检查报告单、病理资料等记录。入院记录是患者入院后经诊治医师通过问诊、查体、辅助检查等获得的相关信息,包含患者的主诉、现病史、既往史、个人史、家族史、月经婚育史、体格检查、辅助检查、诊断等记录。其中,现病史是住院病历的重点内容,记录了患者疾病发生、演变及诊疗过程等信息[2-3],是目前电子病历命名实体识别的主要语料来源,也是医疗信息检索、医疗智能问答等应用的重要数据支撑。然而,电子病历大都以半结构化甚至非结构化的文本形式存在,很难被医疗信息系统直接利用,如何运用自然语言处理技术抽取电子病历中有益且关键的信息,并将其组织为结构化的内容,是一项意义深远的科研工作。

命名实体识别作为自然语言处理(natural language processing,NLP)技术之一,能够从非结构化、半结构化等文本数据中识别出具有特定意义的实体,如人名、时间、地理位置、组织机构名等。电子病历命名实体识别旨在运用命名实体识别技术从结构各异的电子病历中识别出具有特定意义的医疗实体,并将其归为预定义的疾病、症状、诊断、检查等医疗实体类别,为进一步的医疗关系抽取[4]、医疗智能问答[5]、医疗信息检索等[6]应用提供支持。

命名实体识别(named entity recognition,NER)经历了从模式匹配到特征工程再到数据驱动的三大发展阶段,也随之涌现了大量的命名实体识别研究文献。近年来,大量国内外学者对电子病历命名实体识别研究成果进行梳理和总结,杨锦峰等[7]梳理了基于字典和规则、基于机器学习的电子病历命名实体识别、实体修饰识别和实体关系抽取方法;吴宗友等[8]以医学命名实体识别、关系抽取、文本分类和智能问答4 个基础任务为出发点,综述了电子病历数据挖掘的常用方法;吴智妍等[9]在梳理技术发展历程的基础上额外阐述了小样本命名实体识别的方法;杜晋华等[10]从技术角度分析了电子病历命名实体识别的发展历程,并通过实验验证和分析了不同模型的识别效果;Bose 等[11]从模型的效果及性能出发,分析了临床电子病历信息抽取的现状与挑战;Liu等[12]从模型架构的角度出发,归纳和剖析了每类模型的优缺点。

上述综述从技术发展的角度梳理电子病历命名实体识别方法,既没有对电子病历命名实体识别中存在的问题进行归类,也没有总结每类问题所对应的解决方法和策略。与上述综述的不同之处在于:本文从问题出发,按照横向的技术发展和纵向的问题归类两大角度,分别对电子病历命名实体识别的现有研究成果进行了详尽的综述。

1 电子病历命名实体识别概述

1.1 问题定义

电子病历命名实体识别,是指给定一段病历文本序列S=(w1,w2,…,wn),识别出若干个元组<Is,Ie,t>,1个元组包含1 个实体信息,其中wi表示一个输入的字或词,Is、Ie分别表示实体的起止下标,t表示实体的类型[13]。图1所示是一个电子病历NER任务实例,对于给定的待识别序列通过NER 得到4 个实体:“左髋部”(BodyRegions)、“X 光片”(Examination)、“左侧粗隆骨间”(BodyRegions)、“骨折”(Disease)。

图1 电子病历NER实例Fig.1 Example of electronic medical record NER

1.2 标注方法

NER 通常将边界信息和类型信息组合成序列标记的形式,常用的序列标注方法有BIO、BIOES、BMES三种[14-15]。

(1)BIO:B即Begin,代表实体的开始;I即Inside,代表实体的中间位置或结束位置;O 即Outside,代表非实体的字词。

(2)BIOES:B即Begin,代表实体的开始;I即Inside,代表实体的中间位置;O即Outside,代表非实体的字词;E即End,代表实体的结束;S即Single,代表单个字是一个实体。

(3)BMES:B 即Begin,代表实体的开始;M 即Middle,代表实体的中间位置;E 即End,代表实体的结束位置;S即Single,代表单独的字词。

1.3 评价指标

电子病历命名实体识别采用传统的精确率(Precision)、召回率(Recall)以及F1-Measure 作为评价指标,并在此基础上从严格指标及松弛指标两个层面进行评价。输出结果集合记为S={s1,s2,…,sm},人工标注的结果(Gold Standard)集合记为G={g1,g2,…,gn}。集合元素为一个实体提及[16],表示为四元组<d,posb,pose,c>,d表示文档,posb和pose分别对应实体提及在文档中的起止下标,c表示实体提及所属预定义类别。

(1)严格指标

定义si∈S与gj∈G严格等价,当且仅当:

基于以上等价关系,定义集合S与G的严格交集为∩s。由此得到严格评价指标:

(2)松弛指标

定义si∈S与gj∈G松弛等价,当且仅当满足式(1)、(4)及(8):

基于以上等价关系,定义集合S与G的严格交集为∩r。由此得到松弛评价指标:

1.4 电子病历NER难点

通过对大量电子病历命名实体识别研究文献和真实临床电子病历数据的研究与分析,将电子病历NER难点划分为标注语料匮乏、实体类别不平衡、实体结构复杂、边界识别困难及术语表述不规范五类。

1.4.1 标注语料匮乏

医疗文本具有专业性强及实体结构复杂的特点,大规模的标注语料需要耗费大量的人力物力,导致了标注语料匮乏问题的出现。

1.4.2 实体类别不平衡

医疗实体的标注需要依赖专业医生的经验和知识,不同医生对同一实体的标注可能存在差异,而且很难为所有待抽取的实体类别构建足够数量的标注资源。此外,领域文本特点也是导致医疗实体类别不平衡的另一关键因素,例如,疾病名称出现的频率要远远高于药品名称。

1.4.3 实体结构复杂

电子病历中存在大量实体嵌套及不连续的文本。(1)实体嵌套:“左侧胸部疼痛”中包含两类实体,分别是症状类实体“左侧胸部疼痛”和部位实体“左侧胸部”;(2)实体不连续:“前胸、背部包块”中存在两个症状类实体“前胸包块”和“背部包块”。

1.4.4 边界识别困难

不同类别中实体的长度有很大差异,身体部位的实体很短,可能只有1~2个字符,如“头”;手术类实体有时会包含10多个字符,如“甲状腺癌根治性颈淋巴结清扫术”。医疗实体长度不一使得实体边界难以确定,给实体识别带来极大的困难。

1.4.5 术语表述不规范

医生书写的电子病历具有很高的主观性和个体差异性,缩写、误写等问题使得电子病历中出现大量的非规范术语。例如,“贝伐”“贝伐单抗”“贝伐珠单抗”指代的都是同一种药物。

2 电子病历命名实体识别方法

2.1 传统命名实体识别方法

2.1.1 基于字典和规则的方法

早期的电子病历命名实体识别方法以构建临床术语字典、模式匹配为主要手段,主要用来识别并保护患者的个人隐私信息,如姓名、地址、电话号码等;后来被用来识别病历中的疾病、药物等医疗信息。临床医生在病历记录过程中的误写、漏写等操作,使得电子病历中出现了大量的不规范术语。为了解决这一问题,Sweeney等[17]提出一种基于动态扩展缩略语的多通道检测算法。其中,动态扩展缩略语用来将模糊的缩略词映射到相应的标准临床术语,多通道检测算法针对每一类实体单独设定一个检测算法,在解决缩略词的同时进一步提升了实体抽取的性能。Ware 等[18]通过构建同义词词汇表来解决缩略词问题,并根据匹配到的实体截取相关的上下文进行校验和消歧,获得了较好的识别效果。

上述方法的共同特点是单纯基于术语字典的规则匹配,容易导致语法、语义等信息的缺失。为此,Solt等[19]提出了一个基于上下文感知的语义规则分类器,在出院摘要实体识别中颇有成效。Friedman 等[20]则尝试将不同方法的优势元素(术语字典、模式匹配、语义、语法等)结合到一个统一的框架中,最大限度地提高了医疗实体识别的性能。

基于字典和规则的方法依赖具体的领域语言和文本风格,当领域字典足够大且制定的规则足以覆盖领域实体特征的时候,往往可以得到很好的识别效果,但在实践中是极其耗时费力的。在深度学习盛行的今天,也不乏有研究者将字典和规则同深度学习融合,用以提升医疗实体识别的效果,如Chen 等[21]通过组合规则和领域字典抽取电子病历中的医疗实体,并在CCKS2017及CHIP2018两个数据集上验证了在实体抽取任务中结合规则和域字典的有效性。表1 总结了基于字典和规则的电子病历命名实体识别方法。

表1 基于字典和规则的电子病历NER方法Table 1 NER method for electronic medical record based on dictionaries and rules

2.1.2 基于传统机器学习的方法

基于传统机器学习的电子病历命名实体识别主要采用监督学习的方法,具体来说,从标记的文本中获得学习能力,然后根据学习到的知识自动处理未标记的文本。基于传统机器学习的方法主要从两个角度解决电子病历命名实体识别问题:一类是将实体识别视为分类问题,常用的方法有支持向量机(support vector machine,SVM)[22];另一类是将实体识别视为一项序列标注任务,常用的方法有最大熵马尔可夫模型(maximum entropy Markov model,MEMM)[23]、隐马尔可夫模型(hidden Markov model,HMM)[24]和条件随机场(conditional random field,CRF)[25]。

SVM:利用高维特征空间将识别问题转化为线性可分的二分类问题,但命名实体识别是一个多标签分类问题,因此很难直接使用SVM解决多分类问题。为此,Guo等[26]构造了一个多类网元识别器,即为每一个实体类别提供一个单独的分类器,并在I2B2 2006私人健康信息评测任务中取得了较好的识别效果。Doan 等[27]在Guo 的基础上,系统研究了不同类型的特征,实验表明了模型与特征的融合能够有效提升模型的识别性能。

HMM、MEMM、CRF:这三个模型都属于概率图模型(probabilistic graphical model)[28],即用关系图来表示变量之间的关系,如图2所示:y1,y2,y3代表标签序列,x1,x2,x3代表输入的文本。

图2 概率图模型Fig.2 Probabilistic graphical model

HMM 描述了实体标签生成可观察文本的过程,是一个生成模型。假设观察文本为“夜间腹部疼痛”,按照规则分为“夜间”“腹部”“疼痛”,对应的标签为“发病时间”“身体部位”“症状”。文本通过HMM获得多组观察序列,计算每组观察序列对应的文本概率,选择概率最高的观察序列作为文本的注释序列。HMM考虑了文本中标签之间的关系,是医学NER 任务早期常用的方法之一。Mao等[29]引用融合词缀特征的HMM识别眼科电子病历中的疾病、症状、时间、药物剂量等实体,较其他方法获得了更好的识别性能。Zhou等[30]设计了SVM分类器和两个判别性隐马尔可夫分类器的集成模型,各分类器相辅相成,最大限度地提升了实体识别的效果。即便如此,HMM仅依赖前一状态及其对应的观察对象,不能考虑上下文之间的关系,在较长的观察文本中难以获得准确的标签,在后续研究中逐渐被CRF模型所取代。

MEMM 针对HMM 问题进行了改进,MEMM 对序列中的每个单词进行分类,只依赖前一个单词的类别,只计算给定观察变量下隐藏变量的概率,并在状态转移概率中加入了上下文特征,使模型更具表现力。Fresko等[31]以MEMM 为基础模型,结合语言规则构建了适应于特定领域的实体识别模型,并在MUC-7 评测数据集上取得了较好的识别效果。但MEMM仍旧存在标签偏误[32]问题。

CRF是命名实体识别中最常用的概率图模型,不仅能够学习到句子的约束条件还能够考虑到邻域标签之间的相关性,解决了HMM 无法考虑的上下文关系和MEMM中存在的标签偏误问题。Liu等[33]研究了词袋、词性、字典、单词聚类等特征对临床命名实体识别任务的影响,实验表明,多特征的融合反而会降低模型的识别效果。表2 总结了基于传统机器学习的电子病历命名实体识别方法。

表2 基于传统机器学习的电子病历NER方法Table 2 NER method for electronic medical record based on traditional machine learning

2.2 深度学习方法

基于深度学习的实体抽取方法当前已经居于统治地位。相比传统的命名实体识别方法,深度学习的主要优点是其训练一个端到端的过程,无需人工定义相关的特征。除此之外,深度学习方法还可以学习任务特定的表示,并建立不同模态、不同类型、不同语言之间信息的关联,从而获得更好的实体分析性能。近五年来,预训练语言模型的飞速发展更是为实体抽取带来了深刻的变革,深度学习与预训练语言模型的结合不仅仅带来了一个更好的语言学编码器,还提供了一种有效的知识融合手段,打通了实体类别、语言、模态以及各种可用资源之间的鸿沟,有效提升了小样本、低资源、细粒度实体抽取的能力。

2.2.1 卷积神经网络

卷积神经网络(convolutional neural network,CNN)[34]是最先被应用于NER 的深度学习模型之一。Dong 等[35]将CNN 运用到电子病历命实体识别中,但未能有效解决实体类别不平衡的问题,对此,Li[36]、Ouyang[37]、Xia[38]三人分别采用修正数据集、将实体类型信息融入N-Gram 语言模型、自主学习和主动学习扩大训练集三种不同的方式缓解了电子病历中实体不平衡的影响,其中,Xia 通过对BIO、BIOES、BMES 三种标注方式的对比实验,探究了不同序列标注方式对于长医疗实体边界识别的影响,验证了BIOES相较于其他两种序列标注方式在长实体识别中的优势。

2.2.2 循环神经网络

CNN 受限于卷积核的大小,只能学习到序列中的局部信息,在后续的研究中逐渐被具有记忆性且参数共享的循环神经网络(recurrent neural network,RNN)[39]所替代。Hu等[40]设计了名为HITSZ_ICRC的模型,使用四种独立的方法:规则、CRF、RNN 及融合词性等特征的RNN,并基于投票机制将预测实体进行组合,在CCKS2017 电子病历NER 评测任务中取得了第一名的优异成绩。在实践中,RNN 往往偏向于学习序列中最近的输入信息。Hochreiter 等[41]深入探究了这个问题,并于1997 年首先提出了基于RNN 的一种改进模型:长短记忆网络(long short-term memory,LSTM),该模型使用多个门来控制输入到存储单元的比例,以及先前信息状态到忘记的比例,解决了RNN 中存在的长距离依赖问题。Chen等[42]使用融合分词和词性特征的LSTMCRF 模型识别电子病历中的症状、疾病、检查等实体,相较于机器学习方法获得较好的识别效果,但仍然存在边界识别不准确的缺点。潘璀然等[43]提出一种融合Re-entity 的Lattice-LSTM 方法,其中,Re-entity 可以有效解决分词错误导致的错误传递;Lattice结构可以更好地结合字符和词序列中潜在的语义信息,进一步提高了NER的识别效果。

LSTM在建模时无法编码从后向前的信息,也就意味着LSTM 不能通过上下文来编码当前词汇的语义特征。针对这个问题,Graves等[44]基于LSTM提出了双向长短记忆网络(bi-directional long short-term memory,BiLSTM)。BiLSTM 使用两个独立的序列分别向前和向后呈现隐藏状态,分别捕获过去和未来的信息,然后将两个隐藏状态串联起来形成最终的输出,其有效性获得了Dyer等[45]的证明。Ji等[46]在BiLSTM模型的基础上加入了注意力(Attention)机制,解决了实体识别标签不一致的问题,并使用实体边界纠正算法和后处理规则解决了实体边界划分错误。

2.2.3 预训练语言模型

为了改进RNN 训练速度慢的致命问题,Google 团队在2017 年提出了一个名为Transformer 的网络架构。Transformer[47]完全基于注意力(attention)机制,将序列中的任意两个位置之间的距离缩小为一个常量;其次,它不需要依次输入序列信息,具有更好的并行性。Transformer网络架构的出现,促生了众多高质量的预训练语言模型(pre-training language model,PLM)[48]。2018年以来,以BERT[49](bidirectional encoder representation from Transformers)为代表的语义表示预训练语言模型取得了巨大突破,带来了预训练和微调的NLP技术变革。晏阳天等[50]使用融合字音、字形特征的BERT模型识别电子病历中的疾病、手术、药物、解剖部位等实体,使用启发式规则对预测实体进行校准,解决了电子病历中同一实体的多种表述问题。乔锐等[51]将BERT和基于BERT扩展的模型进行融合,并使用规则约束解决了电子病历NER 中出现的实体边界模糊、合并或分裂错误的问题。上述基于深度学习和预训练语言模型的方法都未能解决医疗实体不连续的问题,对此,Tang[52]和Lin[53]两人分别采用不同的方法抽取临床文本中的不连续实体,Tang 在LSTM-CRF 模型的基础上融入了CNN和注意力机制;Lin则提出了一种基于多标签结构化支持向量机(structural support vector machine,SSVM)的无序提及识别方法,有效解决了医疗文本中的实体不连续问题。

在BERT 中,中文是以字为粒度进行切分,没有考虑到NLP 中的中文分词。为了解决这一问题,哈工大讯飞联合实验室发布了基于全词掩码(whole word masking)[54]技术的中文预训练模型BERT-wwm,以及与此技术相关的衍生模型:BERT-wwm-ext、RoBERTawwm-ext等。

传统的预训练模型主要基于词和句子之间的共现进行学习,实际上,训练文本数据中的词法结构、语法结构、语义信息也同样重要。为此,百度基于BERT 开创性地提出了基于知识增强的持续学习语义理解框架ERNIE[55](enhanced language representation with informative entities),它将大数据预训练与多源丰富知识相结合,通过持续学习技术,不断吸收海量文本数据中词汇、结构、语义等方面的知识,进一步实现模型效果的不断优化。表3 总结了基于深度学习的电子病历NER方法。

表3 基于深度学习的电子病历NER方法Table 3 NER method for electronic medical record based on deep learning

3 命名实体识别评测任务及数据集

生物医学NER 评测起源于国外,主要有I2B2、CLEF 及SemEval。为了促进中文医学信息的发展,国内相继出现了围绕医疗文本的评测任务和标注数据集,主要有CCKS和CHIP。

3.1 CCKS

全国知识图谱与语义计算大会(China Conference on Knowledge Graph and Semantic Computing,CCKS)由中国中文信息学会语言与知识计算专业委员会主办,旨在探讨大数据环境下语言理解、知识获取、知识融合、知识推理等方面的关键技术以及在新基建大背景下的各种智能应用。电子病历命名实体识别评测任务开端于2017 年,是继CCKS2016 影视领域实体发现与实体链接评测的延续,且以后每年的评测任务都是继CCKS2017 电子病历命名实体识别评测任务的改进和完善,旨在促进医疗领域实体识别与实体链接的研究发展。

CCKS 评测任务的数据集来源于真实电子病历数据,并由专业的医生团队对数据进行整理和标注。CCKS2017的数据集由北京极目云健康科技有限公司提供,并将医疗实体类别限定为5 类,包括:症状和体征、检查和检验、疾病和诊断、治疗、身体部位。CCKS2018的数据集由医渡云(北京)技术有限公司提供,由于CCKS2018 提供的数据集中症状类实体多表现为结构化形式,因此将症状类实体进行了细化,分为3类:解剖部位、症状描述、独立症状,最终将医疗实体归为如下5类:解剖部位、症状描述、独立症状、药物及手术。CCKS2019 的评测任务沿用了CCKS2017 的数据集,并额外提供了10 420 份未标注的电子病历文档。CCKS2020、CCKS2021 沿用了CCKS2018 的数据集并做出了三个改变:对训练数据的扩充;提供了实体词表及大量非标注数据;将医疗实体划分为6 类:疾病和诊断、检查、检验、手术、药物及解剖部位。

通过对CCKS 评测论文的分析与研究发现:CCKS2017 NER评测中,绝大多数参赛队采用BiLSTMCRF模型,并基于该模型进行改进;CCKS2018 NER评测中,参赛队伍大都聚焦于特征提取,通常在BiLSTMCRF 模型中融入了除字向量、词向量以外新的特征,包括但不限于笔画、偏旁、字音、字形、拼音等;CCKS2019 NER 评测中,参赛团队大都采用BERT 和BiLSTM 融合的方法提高系统的多样性和实体识别的准确度;CCKS2020 NER评测中,参赛者大多使用基于BERT改进的RoBERTa、ALBERT 等预训练模型,并将其与基线模型BiLSTM-CRF 进行融合;CCKS2021 评测以来,单纯的基于模型的改进很难进一步提升电子病历命名实体识别的效果,参赛团队和科研人员将研究重心转移到电子病历命名实体识别中存在的实体不连续、实体类别不平衡、实体嵌套等难点上。

3.2 CHIP

中国健康信息处理大会(China Health Information Processing,CHIP)是中国中文信息学会(CIPS)医疗健康与生物信息处理专业委员会主办的关于医疗、健康和生物信息处理和数据挖掘等技术的年度会议,是中国健康信息处理领域最重要的学术会议之一。从CHIP2018起开设评测任务,其中,开设NER 评测任务的会议有CHIP2018、CHIP2020、CHIP2022。鉴于其数据的开放性,只介绍CHIP2020和CHIP2022的评测任务及语料库。

CHIP2020 共开设了6 个评测任务,与NER 相关的评测任务分别是中文医学文本命名实体识别(评测任务一)和中药说明书实体识别(评测任务六)。评测任务一的数据集来源于医学领域文献,由北京大学计算语言学教育部重点实验室、郑州大学信息工程学院自然语言处理实验室、哈尔滨工业大学(深圳)以及鹏城实验室人工智能研究中心智慧医疗课题组联合构建,并划分了9大类医学命名实体,分别为疾病、临床表现、药物、医疗设备、医疗程序、身体、医学检验项目、微生物类及科室。为了保证医学实体意义的可解释性和完整性,9大类实体不考虑实体嵌套问题,实体可以是一个词、短语或句子。评测任务六旨在通过抽取中药药品说明书中的关键信息,以实现构建中医药药品知识库。数据集来源于中药药品说明书,定义了13 类实体,分别为药品、药物成分、疾病、症状、证候、疾病分组、食物、食物分组、人群、药物分组、药物剂型、药物性味及中药功效。

CHIP2022 开设了名为面向“基因-疾病”的关联语义挖掘的评测任务。该任务包括三个子任务:(1)触发词实体识别;(2)语义角色标注;(3)“基因,调控类型,疾病”三元组抽取。其中,子任务一的数据来源于PubMed文献,划分了12 类实体,分别是4 类分子实体和8 类触发词实体:Disease(疾病)、Gene(基因)、Protein(蛋白)和Enzyme(酶);Var(突变)、MPA(分子活性)、Interaction(互作)、Pathway(通路)、CPA(细胞活性)、Reg(调控)、PosReg(正调控)和NegReg(负调控)。

通过对CHIP2020及CHIP2022 NER评测论文的分析与研究,发现参与评测的团队使用的方法具有如下特点:一是使用BiLSTM-CRF、BERT-BiLSTM-CRF、BERT-CRF、BiLSTM-Attention-CRF 等主流基线模型;二是在基线模型的基础上融合部首、拼音、字、词等特征;三是通过各模型的对照实验证明模型的有效性及可行性。

3.3 医疗NER数据集

国内医疗领域命名实体识别数据集如表4所示。

表4 医疗NER数据集Table 4 Medical NER dataset

4 电子病历命名实体识别难点的解决思路

上文按照横向的技术发展角度,阐述了每类命名实体识别方法的优缺点及相关的评测任务。本章按照纵向问题归类的角度,详细讨论和总结了电子病历命名实体识别每一类难点的解决方案。

4.1 实体类别不平衡

实体类别不平衡是命名实体识别任务中的一个常见问题。实体类型的分布与文本数据集的内容和领域有关,在医疗领域中,实体类别不平衡问题尤为突出。例如,电子病历中的疾病、药物等实体类型可能比其他实体类型更为常见。医疗实体类别不平衡问题的解决方法主要有以下几种:

(1)数据扩充:通过生成额外的少数类样本来平衡数据集。这种对原始数据应用转化来生成新样本的方法,可能会提升模型的泛化能力,但需要设计良好的数据增强[56]策略,以确保扩充的样本贴近现实且具有基础数据的代表性。例如,Li 等[36]使用修正数据集的方式,使得分布不均的数据类别趋于平衡;Ouyang等[37]使用主动学习等机器学习技术扩充数据集,提高了模型的泛化能力。

(2)数据重采样:采样分为过采样(oversampling)[57]和欠采样(undersampling)[58]。过采样通过增加少数类的样本数量,使得少数类和多数类样本数量趋近。过采样大都搭配正则化模型使用,一般可以提升模型的泛化能力,但有一定的过拟合风险。欠采样通过减少多数类的样本数量,使得多数类和少数类样本数量趋近。欠采样的比例过大,会导致信息丢失的问题,针对信息损失的问题,一般采用模型融合和多次欠采样(增量训练)两种方法。例如,罗熹等[59]对疾病和治疗两类实体进行重采样,进一步提升了模型的识别效果;Akkasi 等[60]提出了平衡欠采样方法,并在四个生物医学数据集上分别实验比较随机欠采样、SWF 和平衡欠采样三种欠采样方法的效果,证明了调节数据集中实体类单词和实体类单词比例可以改善模型的识别效果。

(3)调整类权重:根据不同类别的重要性为其分配不同的权重。在电子病历命名实体识别任务中,可以为少数类分配更高的权重来弥补样本不平衡带来的模型性能差距。例如,本妍妍等[61]在MacBERT-CRF 模型的基础上,通过引入加权多分类交叉熵缓解了实体类别不平衡问题;Yang 等[62]设计了一个新的损失函数,该损失函数能够对目标类别分数和非目标类别函数进行成对比较,以自动平衡权重,缓解不平衡问题的同时提升了模型的性能。

4.2 复杂实体识别

解决复杂实体的关键在于解码设计,即标注标签到结构化信息的转换过程,现有的方法大都基于此进行优化和改进。本节分别从实体嵌套和实体不连续两个角度进行探讨。

4.2.1 实体嵌套

针对实体嵌套问题,目前主要有序列标注、指针标注、span和多头选择标注四种方法。传统的序列标注的方法主要是将实体嵌套问题转化为多标签分类问题[63],也有研究者使用标记层级(层叠CRF[64])来表示实体,将实体分为不同的层级,并为每个层级分配一个标记。该方法简单易懂,可以直接使用现有的序列标注模型,但难以解决嵌套实体中子实体之间相互影响的问题。指针标注[65]将每个实体的开始和结束位置表示为指针,然后使用模型来预测每个实体的指针位置。相对于传统的序列标注方法,指针标注可以很好地解决嵌套实体中子实体之间相互影响的问题,但需要更复杂的模型、训练过程以及更多的计算资源。基于span[66]的方法在输入中标记实体的开始和结束位置,进而将实体表示为连续的字符区间,是一种相对简单且解释性较高的实体嵌套解决方法,缺点是对于实体之间的重叠需要额外的后处理步骤。多头选择标注[67]是一种结合序列标注和指针标注的方法,它将实体标记为一个矩形框,其中包括实体的开始和结束位置。多头选择标注能够有效地解决实体嵌套和不连续问题,并且不需要额外的后处理步骤,但需要使用复杂的模型架构及更多的标注数据。

4.2.2 实体不连续

现有的不连续实体的解决方法主要分为三类:基于序列标注的标签扩展方法、基于超图的方法以及基于跨度的方法。基于序列标注的标签扩展方法将不连续实体转化为多标签分类问题,例如,Tang 等[68]将BIO 标签方案扩展为带有特殊标签的BIOHD 和BIOHD1234 标签方案,用以表示不连续结构,获得了很好的识别效果;Dirkson 等[69]在Tang的基础上提出了一种名为FuzyBIO的替代方案,能够更好地提升模型的泛化能力。基于超图的方法[70]将文本中的字或词视为节点,将包含实体的片段视为超边,构建超图,然后利用超边和节点之间的关系来识别不连续实体。上述两类方法的识别效果可能会受到解码歧义的影响,为了解决这个问题,Fei等[71]提出了一种结合Seq2Seq 和指针网络的不连续实体抽取模型。模型中的每个指针通过全局信息做出决策,能够很好地捕获信息线索,在基准数据集上获得了比所有基线模型更好的性能。然而,Seq2Seq 模型具有潜在的解码效率及曝光偏差问题。基于跨度的方法通过枚举所有可能的文本跨度,然后利用多分类策略确定一个文本跨度的实体类型,Li等[72]提出了一种基于词间关系分类的统一抽取模型,并设置了三种关系来区分扁平、嵌套及不连续实体,在多个公开数据集上获得了良好的识别效果。

4.3 边界识别

针对边界识别不准确问题,主要从模型的输入、输出、序列标注方式及注意力机制四个方面进行改进。

(1)模型输入端:多特征信息的融合,例如,Li等[73]、姚蕾等[74]将位置信息融合到Lattice结构中,并利用相对位置编码解决边界识别不准确的问题。

(2)模型输出端:除了使用CRF进行约束外,还可以通过后处理的方式来进一步完善实体识别结果,如模式匹配、正则表达式等手段。

(3)序列标注方式:Alshammari等[75]通过实验表明,相对于BIO 标注方式而言,使用更具有约束效果的BIOES和BMES标注方式能够提高模型的识别效果。

(4)基于注意力机制:通过在模型中引入注意力机制,使模型能够自动关注文本中与实体边界相关的部分。例如,张汝佳等[76]提出了一种基于分割注意力和边界感知层叠神经网络模型,有效解决了实体嵌套及边界识别不准确的问题。

4.4 术语的规范化表述

针对医疗领域中的术语不规范问题,主要通过构建临床术语表框架的映射字典进行解决。常用的临床术语表框架有SNOMED CT、ICD、ICPC等。

SNOMED CT(systematized nomenclature of medicine clinical terms)[77]以概念为核心对疾病、临床发现、解剖结构等医疗记录中的医学信息进行组织。概念表、描述表以及语义关系表是SNOMED CT 基本组成单元。概念表覆盖规范的医学概念名称;描述表收集概念的不同表达形式;语义表揭示了临床医学概念之间的关联。SNOMED CT主要应用包括医学术语标准化建设、健康数据互操作及临床数据提取和标准化描述三类。

ICD(international classification of diseases)[78]由联合国世界卫生组织监制的疾病分类系统。ICD 编码的临床术语是初级、二级、三级保健疾病等健康记录和统计的主要依据,主要用于决策支持、临床评估、患者安全、药品安全等方面。

ICPC(international classification of primary care)[79]是一个主要用于家庭医疗保健的分类系统,由世界家庭医学组织(WONCA)和荷兰家庭医学学会(NHG)共同开发。ICPC 主要用于描述家庭医生的日常诊断、治疗和管理过程,是医生和研究人员进行家庭医疗保健研究和统计的一个重要工具。ICPC 包含了超过7 000 个疾病、症状和问题的编码,主要涵盖了各个系统的常见疾病和健康问题,例如,消化系统、心血管系统、呼吸系统、皮肤病、精神障碍等。

5 总结与展望

深度学习和预训练模型的兴起促进了电子病历命名实体识别的发展,并显著改变了电子病历命名实体识别的技术发展路线,使得电子病历命名实体识别中存在的实体嵌套、实体不连续等问题得到了良好的解决。然而,标注语料的匮乏、模型的泛化能力等因素都制约着医疗实体抽取前进的步伐。基于本文的研究,未来电子病历命名实体识别的发展趋势包括以下几个方面:

(1)多模态融合。近年来,基于深度学习的命名实体识别方法在医疗领域中得到广泛应用,与此同时,多模态信息也被越来越多地应用于电子病历命名实体识别中。不同模态之间的信息存在天然的互补关系,且图像、音频等模态的信息则可以为医疗文本的实体抽取提供更加丰富的信息和更准确的判断。因此,如何有效地将不同类型的数据进行整合和处理;如何提取并融合不同类型数据的特征信息;如何设计有效的多模态融合模型,提高命名实体识别的准确性和鲁棒性,都将是未来的研究热点。

(2)Few-shot NER。传统的NER 模型需要依赖大量手工标注的数据来提升准确性,但是,手工标注既耗时又昂贵。医疗文本具有专业性强、实体结构复杂等特点,更进一步增加了手工标注的困难。因此,使用少标注NER 模型将成为越来越流行的方法。除此之外,可以使用少标注数据训练个性化NER模型,例如,针对特定患者或患者组的少量标记数据进行训练,构建对应的NER模型。

(3)可解释性。现有的主流NER 模型大都是端到端的,因而NER模型通常被视为黑匣子,很难理解其决策过程,这使得NER 模型不能直接应用于实际的医疗场景中。未来,可以期待看到更多的研究专注于开发可解释的NER模型,以提高临床决策的效率和可解释性。

(4)语料库的建立。现有的中文电子病历命名实体识别公开数据集大都基于扁平实体,对于嵌套实体及不连续实体的研究需要依据公开数据集进行二次构造和标注。除此之外,中医领域命名实体识别的数据集极度匮乏,现有的中医领域中的命名实体识别大都基于自构数据集。因此,构建公开统一共享的医疗文本语料库及评估平台是非常有必要的。

猜你喜欢
评测命名病历
强迫症病历簿
次时代主机微软XSX全方位评测(下)
命名——助力有机化学的学习
次时代主机微软XSX全方位评测(上)
“大数的认识”的诊断病历
攻坡新利器,TOKEN VENTOUS评测
有一种男人以“暖”命名
为一条河命名——在白河源
Canyon Ultimate CF SLX 8.0 DI2评测
为何要公开全部病历?