电子病历的命名实体识别方法综述

2022-02-14 20:02陈翯常霞赵东宸
科技创新导报 2022年20期
关键词:分词命名病历

陈翯 常霞* 赵东宸

(1.北方民族大学数学与信息科学学院 宁夏银川 750021;2.宁夏智能信息与大数据处理重点实验室宁夏银川 750021)

近年来,人工智能、大数据分析等新科学技术的发展不断赋能医药卫生产业。尽管中国智能医院建设与发展总体呈现出稳定增长的态势,但医疗行业的信息化和智能化水平依然不够高。医院数据的来源、分析、获取等方面存在较大的不足。但是智能健康发展远景宽广,许多大型公司融合医院数据、硬件资源,构造智能健康产业链,如医学影像分析、远程探诊会诊、智慧医院系统等,而智慧医院系统的建立需要以数字化的电子病历数据库作为支撑。这一过程包括采用自然语言处理方法将电子病历文本结构化。自然语言处理(Natural Language Processing,NLP)构建了人与计算机通过自然语言开展有效沟通的理论和方法,其任务过程可以概括为词性标注、命名实体识别(Named Entity Recognition,NER)、实体关系抽取、数据训练等主要方面,其中命名实体识别是信息提取、问答系统、句法分析、机器翻译,面向Semantic Web的元数据标注等应用领域的重要基础,在自然语言处理技术实用化过程中占据关键地位。电子病历的命名实体识别以现有的病例数据库作为支撑,但是由于医生们的记录习惯不同及中文表达的多样性,导致目前电子病历仍然以非结构化文本为主。因此,将非结构化电子病历转换为结构化电子病历成为了人们研究的一个重要方向。中文表达方式的多样性,相较于其他语种的自然语言处理,中文电子病历结构化所面临的研究工作仍具挑战。

早先的命名实体识别分析方法着重于词典和规则[1]的设计。后因为机器学习的蓬勃发展和计算能力的不断增强,各种基于统计机器学习[2-4]的命名实体识别方法问世。自本世纪初Yoshua Bengio 提出了举世瞩目的神经网络模型后,深度学习方法在各个领域大放异彩,也成为了现今命名实体识别应用最广泛的方法。

2017年起,全国知识图谱与语义计算大会(CCKS)启动特别针对中文电子病案的MNER 测评技术难题,至今已连续举办五届,推动了中文电子病历NER研究的发展。虽然近年来,我国NER发展整体呈现上升趋势,但由于中文表达的复杂性,歧义性以及其他的情况,中文命名实体识别仍然有较大的发展空间,而电子病历因为其文本领域的特殊性,发展相较于其他类别的中文命名实体识别更稍显落后。本文在已有的研究成果基础上,总结了现有命名实体识别方法,分析讨论了现有方法的优势及其局限性,综述其研究进展,并对在医疗系统中的应用发展前景进行了展望。

1 基于规则和词典的命名实体方法

与通用领域的命名实体不同,电子病历的命名实体识别任务因为其文本包含大量的专业术语,文本数据标注呈现出更大的困难。早期的电子病历命名实体识别面向生物医学领域文本,与生物、化学等领域结合研究。最早期基于规则和词典的NER方法,其文本针对性太强,并且消耗大量的人力资源进行数据标注及规则的制定,已渐渐被淘汰。此方法对于现在每天海量更新的数据并不适应,但是对于简单的序列标注问题,其省时且简单的方法更能提高效率。简单来说基于规则方式的步骤可以概括为三步:(1)通过分词获得特征词;(2)对特征词进行序列标注;(3)对标注后的序列进行正则性匹配。基于规则的NER 优点在于其规则可以人为设置,对于简单的实体识别任务来说十分高效。但是因为其对于语言文本风格的依赖性较强,针对性太强,适应性太弱,系统转接性差,对于不同使用环境需重新进行系统构建,因此已经渐渐被其他方式取代。

2 基于机器学习的命名实体方法

随着机器学习的出现,大量基于统计机器学习的NER 方法出现,如隐马尔可夫模型、最大熵模型、支持向量机、条件随机场、决策树等比较出色的方法。其中,条件随机场方法到现在也仍然被许多研究人员用来与深度学习方法相结合提升NER 效果,此方法将NER 过程看作一个序列标注问题,解决了高维度向量中存在的数据稀疏问题。

基于统计学习的方法中最具代表性的4种算法分别为隐马尔可夫模型(Hidden Markov Model,HMM)、最大熵模型(Maximum Entropy Models,MEM)、支持向量机(Support Vector Machine,SVM)及条件随机场(Conditional Random Field,CRF)方法。HMM 是双重随机过程,即模型的变换过程隐秘,可检视的随机过程是隐秘的状态切换过程的随机函数[5]。对于NLP 来说,其文本序列具有递归性,当序列长度较大时,HMM的复杂程度会大幅度增加,因此,HMM-NER更适用于短文本的任务,当面对长文本时,其效果有时并没有MEM 及SVM 好。MEM 指在获取部分数据后,基于可知信息最大随机的推想下判别最适当的未明分布;一般来说正确率高于HMM,但是其模型关联性高,虽然通用性高,但是训练较为复杂。SVM 是一种二分类模型,通过构造超平面将数据一分为二,在解决小样本或高位模式识别中优势十分突出,在NER任务中准确性高于HMM模型。CRF是一种全局最优的标注框架,也是现在NLP 任务中更为受到青睐的一种方法,但是缺点为收敛速度较慢,训练时间长,所以一般将CRF与其他算法相结合,以达到更好的效果。基于统计学习方法的NER 对于语料库的依赖性较强,而电子文本的NLP 任务的重难点就在于其数据难得,因此并不推荐这种方法处理中的电子病历。

3 基于深度学习的命名实体识别方法

鉴于深度学习技术的逐步推进和计算机算力的不断提高,基于深度学习的NER方法也已转变成主流方法,Lample[6]等人提出的BiLSTM-CRF 模型变成NER的主流模型,Ma[7]等人将卷积神经网络加入BiLSTMCRF 中,提取了字符级特征。Rei[8]等人利用BiLSTMCRF 模型中的注意力机制,将原生的子向量和词向量结合进一步改进成取用两层传统神经网络隐含层学习注意力机制的权值。

如图1所示,BiLSTM是双向LSTM网络,由于单向LSTM网络只包含一层前向隐藏层,只能通过输入字符串的单项信息,但在双向LSTM网络中,则是从正反两个路径获取编码序列,学习双向信息,避免了梯度消失的问题。此外,CRF 层通过BiLSTM 层的输出,给出每个单词的每个标签的得分,并用原始CRF 模型的参数得到最终标签序列的概率。BiLSTM-CRF 作为当前深度学习中NER任务的最主流的模型,既保留了深度学习提取特征的优势,又不需要特征工程,便可提升词典特征的效率,结果的质量就会相应提高。

图1 BiLSTM

2018 年,Google 公司提出BERT 预训练语言模型,其概念简单,但实验效果极其出色,一经面世便创下了11个NLP任务的最优纪录,在NLP领域夺得开创性的研究进展。因为BERT 提供了优良的效果,使得此方法受到了大批研究人员的青睐,一些基于BERT 衍生的语言模型相继出现。

在医学领域,NER任务的发展与常规的NER极为相似。传统的医疗实体识别方法主要通过人工特征和规则进行实体识别。随着近年来电子病历数据的发展,对此类数据进行信息抽取越来越受到重视。但是因为电子病历文本的特殊性,一般难以获得大规模的数据进行训练,也使得电子病历的NER任务发展受到了限制。电子病历文本内容中不仅有许多患者的个人隐私信息,且其内容专业性极强,专业术语复杂多变;不仅如此,电子病历书写因人不同,不同医生的记录习惯都有或大或小的差异,这些都是电子病历NER任务中数据来源的困难,也是限制电子病历发展的主要问题。

基于神经网络结构的NER方法,无需大量人工标注,通过词向量和字符向量即可达到不错的效果,这也是他成为研究主流的原因,而且现阶段的NER处理都更倾向于使用神经网络与机器学习相结合的方法,结合二者的优点,使效果更为突出,无论是CNN-CRF 还是RNN-CRF 都取得了比基于丰富特征的CRF 模型更好的效果。其中最常用的是双向循环神经网络(Bidirectional Recurrent Neural Network,BRNN)与CRF 相结合的方式的方法:该方法通过从输入句子的起点与终点同时进行处理,将上下文的信息编码,并在最终增加CRF 层,既改进了CRF 收敛慢,训练时间长的短板,又融入了神经网络分词算法对于处理输入长序列的优势,罗熹[9]等人基于自设计的优化字符级特征表示方法,提出将自注意力机制与BiLSTM-CRF 的命名实体识别方法,并与相关的医学词典结合,提高识别能力。除此之外,现在较为热门的还有将注意力机制应用在基于RNN或CNN等神经网络中,注意力机制的特点在于并不拘泥词与词之间的距离,直接计算二者的依赖关系,实现起来并不复杂。黄晓辉[10]等以卷积循环神经网络为基础,建立中文分词和实体识别联合学习的序列标注模型。基于统一的分词和实体识别序列标注模式,构建了分词信息与实体信息的联合学习,避免了传统流水线法的误差传播缺陷。不仅如此还可以在BiLSTM 的基础上用其他方式对命名实体识别进行优化、Yuan 等[11]人在已有的基于BiLSTM 基础上通过使用关键值记忆网络将句法信息合并到主干序列标记器中的方法,提高了命名实体识别的效率。虽然电子病历的NLP 任务处理尚不成熟,但是已经引起了许多学者的注意,杨文明和褚伟杰[12]在IDCNN-BiLSTM-CRF中,利用卷积神经网络和循环神经网络采集特征向量,将得到的向量拼合映射后,输入CRF层中完成NER目标,虽整体性能较好,但仍需要提高医疗实体识别率,并进行训练。其中,陈杰[13]等就基于ALBERT 模型,构建了一个ALBERT-BilSTM-CRF 模型,此方法减少了训练时间,大大减少了时间开销,但可能不如BERT可以训练更好的模型。

但即便如此,我国电子病历的NER任务近几年的发展速度仍在提升,车翔玖[14]等人提出利用Word2Vec和BERT 为基础进行预训练,再将生成的词输入到BiLSTM-CRF 网络的二阶段法进行生物医学的命名实体识别,其在Yidu-S4k 数据集实验的结果准确率为80.94%。马诗语[15]等人使用轻量级BERT 模型与BiLSTM-CRF 融合以减少训练时长,针对糖尿病数据集进行训练,取得了不错的效果。景慎旗[16]等人使用中文百科半自动化实体标注依赖神经网络GCN 对电子病历文本的依赖结构建模,构建BERT-GCN-CRF模型进行电子病历文书的NER 任务。胡海洋[17]等提出基于多头注意力机制的膨胀卷积神经网络模型,通过字嵌入和位置嵌入算法减轻模型对分词效果的依赖,使用北京协和医院的电子病历文本数据进行训练,准确率达到0.918。张厚昌与刘成良[18]提出融合字词特征的中文医疗命名实体识别模型,其内在也是BERTBiLSTM-CRF 模型的搭建。2018 年,新加坡学者Yue Zhang、Jie Yang等[19]人提出了Lattice-LSTM模型,此模型也是基于BiLSTM-CRF 搭建,通过字向量与词向量组成的Lattice 网格输入,以减少识别的歧义。此模型充分利用了词和词序的信息,通过门控单元让模型选择最为相关的字和词以实现实体识别,但是模型太过复杂且仅采用单向的LSTM,序列的反向信息并没有得到充分的利用,如图2所示。

图2 Lattice-LSTM

综上所述,可见在电子病历的NER 任务中,BERT、BiLSTM、CRF 仍然是能够取得最好效果的方法,在医学方面也被广泛应用,但效果都明显落后于如新闻稿件,微博博客类的生活类文本,这与医学文本本身具有的特殊性以及专业性有关系,另外,医学文本的数据稀缺也是一个极为重要的原因。

NER 作为NLP 任务的底层任务,对于电子病历的处理来说有着举足轻重的作用,将这一任务处理好,后续的工作都将更为轻松。现今我国对于电子病历NER任务的研究已经逐渐被研究人员注意,不再只聚集于特征工程任务的算法提高,而是因为电子病历的特殊性逐渐做到对症下药,细致到每一步进程。

4 分词

分词作为语料预处理的一部分,其重要程度并不逊色于命名实体识别;现有公开的中文NLP 工具都十分出色,如哈尔滨工业大学研发的语言技术平台(Language Technology Platform,LTP)、HanLP、THULAC、jieba 分词,以及复旦大学邱锡鹏团队的fastHan 及NLPIR;HanLP 蕴含的语料库极为丰富,且针对不同NLP任务都有详细代码,且长期在GitHub上进行更新,方便同领域的其他研究人员使用学习。但是因为基于Java开发,环境或调用包的设置有些复杂,可能对于不熟悉Java 的人来说稍有难度,且对于大文本数据可能耗时较其他工具略长。哈工大研发的LTP 支持跨平台,跨语言编程,高效精确,不需要下载SDK。主要可以进行分词,词性标注,命名实体识别,依存句法分析,语义角色标注及语义依存分析六项任务,其算法先进且功能全面,因此多被研究者们用来与自己算法结果进行对比。然而,它的缺点是必须基于API 参数构建HTTP 请求,并在线获得分析结果。fastHan 算法基于BERT 的联合模型,通过fastNLP 与pytorch 实现,且有base(前四层)与large(前八层)两个版本。其安装简单方便,fastNLP 版本高于0.5.0,Pytorch版本高于1.0.0即可,可处理中文分词、词性标注、依存句法分析、命名实体识别4项任务。输出结果表现为list形式,为后续其他领域的使用提供了方便。且使用简单,如分词粒度,分词风格都可以根据使用者进行调换。Jieba 是基于前缀词典实现高效的词图指标,选用实时规划检索最大概率路径。支持精确模式、全模式及搜索引擎模式的3个分词模式。不仅如此,jieba还支持自定义词典,这对如电子病历这种特性较强的文本处理非常友好,长期以来,jieba 是研究人员的基础使用工具。但是词典数据中不能包含空格,否则无法进行分词。NLPIR使用基于CRF 的字标注模型实施分词,将频数超过一定阈值的词语作为候选词语。NLPIR可以多角度保证大数据文本的需求,其功能全面丰富,并且所有功能模块全部具有对应的二次开发口,使用方便,也常常被用来与其他改进算法结果进行比较。THULAC所采用的分词模型是结构化感知器,属于两种CWS 模型中的Character-Based Model,将中文分词视为序列标注问题进行处理。不过虽然THULAC分词时间消耗虽然比较少,但最后效果可能稍显潦草。不过,这些NLP工具的分词结果仍然都取得了喜人的效果,虽然因为病历文本中许多疾病名称或症状并不是这些工具训练数据库中常见的词组,对于电子病历分词的处理效果会有所下降,但是可以在这些开源代码上加以电子病历的训练达到更好的分词效果。

5 其他工作

除了上述工作之外,后续的其他工作都对NLP 的结果产生影响。在上面提到的几种分词处理工具对于词性标注都有非常不错的结果,若集中电子病历数据对其进行训练,准确率将不会逊色;电子病历文本的独特性,导致其间没有语气感叹词及其他需要进行大量停用的词,因此直接导入停用词表即可,且对停用词数据库的要求不那么严格,甚至可以不加停用词的设计。

获得的数据经过预处理之后,得到了可用的特征语料,再进行文本特征选择。文本的构造目前习惯用的几种方法分别是句法分析、实体N-gram、频次法及基于神经网络的词嵌入方法,文本特征包含以上这些但不限于这些。这几种方法都有应在具体的应用中。如现在比较成熟的几种分词方法,都不同地使用的这几种方法且取得了相应的成功。目前,较为热门的方法仍然是无监督或弱监督的预训练与端对端的有监督训练,这两类方法作为现在研究的主流方法,吸引了大批量学者的研究,其中,频次法中的TF-IDF 也受到许多人的青睐,因为其算法可以有效地提取出关键信息且不会提取重复的无用信息,因此经常作为关键字抽取的主要算法之一。特征工程后,需要进行特征选择工作,特征选择的目的往往是降维。严格来讲,一是减少特征数量,增强模型的泛化能力,降低过度拟合的出现概率;二是加强对特征和特征值的理解,但是特征选择的工作往往使只能选择其一,因此大部分的学者往往首选降维作为主要目的。当做完降维工作也就是特征选择的工作之后,再对模型进行训练以达到效果,现有的优化算法势不可挡,但仍然是我们后续研究探索的重点。

6 结论与展望

尽管电子病历在我国的研究与应用方面取得了一定的成绩,但与发达国家相较仍有差距;一方面,碍于电子病历的发展不均衡,军队医院加速实现病例系统间信息联结时,部分地方医院仍然没有使用电子病历;另一方面,因为中文特有的文字表达方式及现在各个医院结构化电子病历投入力度不够,同时医生对于病人的病史和体检,体征方面的叙述表达差异较大,且病历的私密性与隐私等相关问题等,一系列的原因造成了现在研究人员数据大量不足的情况,使得诊疗数据没有实现其科学研究价值。除此之外,现有分词工具较少,针对中文的NLP任务相对还处在发展阶段,相较于英文NER 发展相对滞后,但相关研究人员仍在努力,现阶段可能不够突出,但后续发展仍然十分乐观。除此之外,近两年关于电子病历的NLP 任务逐渐受到重视,大量科研人员都在努力克服困难,虽然数据来源仍然有困难,但不再是不可攻克的难关。

对于NER任务,深度学习与统计相结合的方法成为了现在的主流,因为其具有良好的效果且不会过多消耗人力和时间,近几年成为了新的研究热潮并产生了许多优秀的成果。电子病历的自然语言处理是电子病历整理及后续研究工作的重点和基础,为解决此问题许多方法如BERT、BiLSTM、QCNN 等新型的神经网络模型被使用在电子病历文本的处理上,并且具有良好的效果,如表1 所示[20]。且现在越来越多的学者已经不满足于仅使用神经网络模型,而是将神经网络与机器学习的方法结合起来,未来研究方向也将朝着两种甚至更多的神经网络模型与机器学习的方法结合,以提高算法效率。为了满足当今科技发展,推动医疗智能化和自动化发展,采用命名实体识别技术挖掘电子病历的数据信息,是今后智能化工作的关键和必由之路。在后续的工作中如特征工程与模型训练还有许多可以开发的空间,仍需要不断地努力和探索。

表1 现有部分算法在Weibo数据集上NER效果对比

猜你喜欢
分词命名病历
强迫症病历簿
命名——助力有机化学的学习
分词在英语教学中的妙用
“大数的认识”的诊断病历
为何要公开全部病历?
村医未写病历,谁之过?
河鲀命名小考
论英语不定式和-ing分词的语义传承