医疗健康知识挖掘中的语义资源、数据集和工具
2022-05-10张展鹏张明淘
张 伟,张展鹏,张明淘,韩 普
(南京邮电大学 管理学院,江苏 南京 210003)
0 引 言
大数据时代,电子病历、医学文献以及社会化媒体中的医疗健康数据呈现出了爆发式增长,这些数据蕴含着宝贵的医疗健康知识。近些年,如何利用文本挖掘和自然语言处理技术从各类医疗健康大数据中获取医疗健康知识受到了学界的极大关注。与以往研究不同的是,医疗健康数据的多源异构性、复杂性和海量性以及临床和用户的信息需求给传统的数据分析和处理带来了巨大挑战。随着大数据和人工智能技术的迅速发展以及相关应用的日趋成熟,医疗健康领域的知识挖掘迫切需要新的突破。目前,计算资源不再是限制人工智能发展的最大障碍,而各类语义资源和标注数据的稀缺已经成为影响医疗健康信息抽取和知识发现的最大障碍[1]。
随着大数据和人工智能时代的来临,电子病历、医疗健康问答社区以及医学文献等非结构化数据逐渐成为人们获取医疗健康知识的重要来源。在分词阶段,由于医学词语构成复杂、专业性强,通用分词工具表现不佳,而加入词典后可取得更好的效果[2]。在医疗实体识别研究中,机器学习是目前最为主流的方法,但加入词典可进一步提升识别的准确率。不仅如此,词典优势还在于所匹配的实体直接对应着标准概念,准确率非常高,也不需要实体归一化等后续处理步骤[3]。
人工智能时代下,深度学习所面临的挑战之一是大规模训练数据标注。和传统方法相比,虽然采用深度学习等机器学习方法可以提升信息抽取和知识挖掘的效果,但需要依赖人工标注数据以生成训练模型。2006年起,I2B2等学术机构发起了一系列医学概念抽取及概念关系评测的会议。国内不少学者在医疗实体识别以及实体关系计算研究中常采用I2B2发布的数据进行模型对照实验[4],也有学者基于研究需要,自行标注所需语料[3,5]。不同于一般的数据标注任务,医疗健康文本中的实体、实体关系以及各类语义关系标注需要具有医学背景人员的深入参与[6]。
从已有研究来看,国内外在医疗健康语义资源建设和数据标注方面取得了不少成果,尤其是在英文领域,已经具备了非常丰富的医学资源、数据集、相关系统和工具。和国外相比,国内这部分研究还存在非常大的提升空间。该文通过系统梳理国内外各类医疗健康语义资源、标注数据以及相关系统和工具,以期为国内医疗健康信息抽取和知识挖掘提供借鉴和思考。
1 医学词典和语义资源
在医疗健康知识挖掘研究中,医学词典和语义资源在不同任务中发挥着重要作用,本节将系统梳理这些医学资源的背景及其适用场景。
1.1 UMLS
UMLS(Unified Medical Language System)是美国国家医学图书馆1986年开始研发的一体化医学语言系统[7-8],是目前医学领域最大的医学本体[9]。在UMLS中,每个概念都有一个唯一标识符CUIs。ICD和SNOMED-CT实际上也是UMLS的子集[9-10]。在医疗健康文本挖掘研究中,UMLS是常用的语义资源,通常的任务如疾病名称识别[11-12]、医疗实体归一化[13]、语义关系计算[14]以及医学问答系统[15]等均需要UMLS资源。
1.2 MeSH
医学主题词表(Medical Subject Headings,MeSH)是由美国国家医学图书馆编制的医学领域主题词表,该词表为医学文献关键词选取提供了参考标准,对提升医学文献检索的准确率和效率具有重要作用[16-17]。在医学文献的文本挖掘中,该词表往往和机器学习方法一起使用,以提高实体识别效果[12]。在实体归一化中,MeSH通常作为标准概念使用[18-19]。由于MeSH主要应用于医学文献主题词,因此在面向医学文献(如PubMed和NCBI疾病语料库)的实体识别、术语映射等研究中,通常会选用MeSH[18,20]作为标准语义资源。
1.3 SNOMED CT
SNOMED CT最早由美国病理学家协会于1986年开始建设,目前由国际医学术语标准化与研发组织维护和更新。该词典是世界上较为全面,也是最大的多语种综合性临床术语集,并且还是临床术语的国际标准。美国电子健康档案规定记录问题清单、程序和一些临床发现要使用SNOMED CT术语;英国国家医疗服务体系要求在2020年4月1日之前,在所有电子病历的文字记录中以及与病人交流时必须使用SNOMED CT标准术语[21]。
医疗健康文本挖掘研究中,首先需要实体识别或概念抽取,接着通过归一化将这些实体或概念映射到SNOMED CT等标准的临床医学词典上[13,22]。在2013年的ShARe/CLEF eHealth任务1中,组织方要求参赛团队识别临床文本中精神障碍方面的问题,并将其归一化为SNOMED-CT认知障碍语义组中的标准概念[23]。值得注意的是,2009年后,SNOMED CT 开始采用OWL语言以增加在语义网方面的应用,这大大推进了SNOMED CT在医疗健康文本挖掘和自然语言处理中的应用。
1.4 MEDIC
MEDIC疾病词典合并了MeSH中的疾病部分以及在线人类孟德尔遗传术语库OMIM。MeSH和OMIM均是包含疾病概念的医学语义资源,合并后的MEDIC词典在疾病概念的广度和深度上优势非常明显,包含约9 700个疾病名称和67 000个同义词[17]。该词典提供疾病名称、概念标识码、定义、上级节点及同义词,目前是英文领域最为常用的疾病词典。在医学健康文本挖掘和自然语言处理中,MEDIC通常用于疾病识别和疾病名称归一化等研究[17-18,24]。
1.5 ICD
ICD是由世界卫生组织制定的国际统一国际疾病分类。在临床应用中,由于ICD手工编码不仅耗时耗力并且容易出错,Mullenbach等[25]利用卷积神经网络模型根据临床文本内容来预测ICD编码。
1.6 RxNorm
RxNorm是由美国国家医学图书馆编制的临床药物术语标准词典,它为药物名称以及不同系统之间药物术语互通和共享提供了标准[26],同时也是美国政府指定的临床医学信息交换系统标准。2002年,RxNorm通过UMLS发布第一版,2008年后该资源每月都会更新以满足美国不断出现的药物名称。
可以发现,英文领域的医学词典和语义资源非常丰富,除了UMLS这一超级词表外,还有不少是针对领域的词典。值得注意的是,SNOMED CT和 RxNorm词典均被整合到UMLS中,这些资源之间通过公共接口进行连通[21]。尽管如此,这些资源仍然保持自身特定的概念模型和特色,而相互之间的数据共享和整合进一步提升了资源的覆盖面和影响力。
1.7 中文医学语义资源
和英文资源相比,中文医学词典和语义资源非常稀缺,这给中文医疗健康文本挖掘带来了非常不利的影响。目前主要有SNOMED-CT中文版、ICD中文版、《中华人民共和国药典》以及其他在线词典。2018年,国家卫健委组织中华医学会以及国内医疗机构对ICD 11进行了编译,形成了ICD 11中文版。在疾病名称标准化研究中,尹帅龙和夏晨曦[27]利用词向量将口语化疾病名称映射到ICD 11中文版的疾病术语集。另外,国家卫健委明确要求在医疗病案书写中要采用ICD的疾病名称和代码,这不仅有助于构建中文的医疗数据标准体系,同时也为临床疾病名称提供了统一标准。
在中文电子病历的信息抽取研究中,Xu等[28]将SNOMED-CT中文版、ICD中文版、《中华人民共和国药典》、万方医学术语以及搜狗医学术语整合在一起,构建了中文核心医学词典,实验中通过词典遍历进行术语识别。在医疗实体识别研究中,Li 等[29]将ICD和搜狗网站提供的医学术语作为医学词典。在药物不良反应文本的医疗实体识别研究中,Chen等[30]使用了ICD中文版、中国医疗保险药物术语以及搜狗医学词典。Xu等[31]利用SNOMED-CT中文版和搜狗医学词典用于提升在线文本的实体识别效果。和英文相比,在文本预处理过程中,中文需要分词,Zhang等[32]在分词过程中加入了搜狗医学词典以提高准确率。相比而言,在线医学术语影响力要弱一些。由于缺少权威的词典,学者往往将多个词典整合起来使用,但涉及到医学概念关系、医学本体、医学知识图谱的语义资源还非常稀缺。尽管国内近些年出现不少在线医学词典,但这些资源的权威性、系统性、覆盖面和深度都没有保障。
2 医疗健康文本数据集
大规模文本标注数据是机器学习方法中用以生成训练模型的重要驱动,在医疗健康文本挖掘和自然语言处理中扮演着非常重要的角色。本节主要对国内外一些公开的,在医疗健康文本的信息抽取和知识挖掘研究中常用的数据集进行梳理。
2.1 英文电子病历数据集
自2006年起,美国国立卫生研究院下的I2B2中心先后组织了多次基于电子病历的医学概念识别和概念关系抽取测评。目前在临床文本的信息抽取和知识挖掘研究中,常用的是I2B2/VA 2010电子病历数据集[4,14,30]。该数据集包含871份出院小结,20 000个句子[33]。临床文本信息抽取中另一常用数据是I2B2 2012年的电子病历数据集[34],组织方对310篇出院小结的时态信息进行了人工标注。
利用I2B2/VA 2010数据集,在临床文本的实体识别研究中,Qin和Zeng[4]对医学问题、治疗和检查实体进行了实验研究;在医疗实体关系计算中,文献[35-36]采用深度学习等方法对语义关系进行了自动抽取研究。在英文电子病历的文本挖掘和信息抽取研究中,I2B2公开的评测数据集最为常用。
2.2 英文医学文献数据集
(1)亚利桑那疾病文献数据集。
I2B2数据集标注的是临床文本,而亚利桑那疾病数据集(ADZC)标注的是医学文献摘要。ADZC是亚利桑那州立大学2009年发布的医学文献数据集[37]。针对生物医学研究中文本挖掘和机器学习的迫切需求,Leaman等[37]通过人工方法标注了PubMed论文摘要中的疾病概念、疾病概念在UMLS中的CUIs,并且建立了与标准语义词典的语义关联关系。在疾病名称归一化研究中,Kang等[38]将ADZC作为实验的黄金语料。
(2)NCBI医学文献数据集。
2.3 英文在线医疗健康标注数据集
随着互联网在人们生活中的进一步渗透,问答社区、微博、微信等在线平台已经成为人们获取、分享和传播医疗健康信息的重要渠道,在线医疗健康数据常用来分析患者需求[42]、研究用户行为[43]、预测流行病[44]、检测药物不良反应[24]等。
针对在线医疗健康文本中药物不良反应研究的迫切需求和资源稀缺性,澳大利亚研究组织CSIRO构建了CADEC语料库。该语料库原始数据来自于AskaPatient,是目前为数不多的可以公开获取的在线医疗健康数据集。利用CADEC,Tutubalina等[24]采用多个深度学习模型进行了实体归一化对比实验;Liu等[45]对其中的药物不良反应事件进行了抽取研究。另外,CADEC的所有实体由临床术语专家将其映射到SNOMED CT和MedDRA等医学词典,这为使用该语料进行实体归一化、词义消歧等提供了统一的训练集和检验集,具有较高的学术应用价值。
Limsopatham等[46]为了验证社会化媒体中不同语体的医疗实体归一化效果,使用了TwADR-S、TwADR-L和AskAPatient三个数据集。TwADR-S和TwADR-L的原始数据来自Twitter,AskAPatient原始数据来自于AskAPatient医疗健康论坛,所有数据均进行了人工标注。在语义上,将医学短语处理后映射到SNOMED-CT标准术语词典。
2.4 中文电子病历数据集
电子病历被认为是最能为临床决策提供支持的数据源之一。参照英文电子病历数据标注工作,国内学者近些年开始着手中文电子病历的标注和相关研究[6,47]。哈尔滨工业大学关毅研究团队参照I2B2 2010标注规范,将医疗实体划分为疾病、自诉症状、异常检查结果、检查、治疗和疾病诊断六类[6],共标注了992篇电子病历的出院小结部分。该数据集包含了39 511个医疗实体,7 693条语义关系[48]。基于该数据集,关毅研究团队在智能诊断[49]及医疗知识发现方面[50]做了大量的实验和探索。
针对中文电子病历中医疗实体识别的问题,中文信息学会-语言与知识计算专家委员会连续三年在全国知识图谱与语义计算大会(CCKS)为电子病历的医疗实体识别设定评测任务,其方式和流程与I2B2测评类似。参照I2B2在I2B2/VA 2010的标注规范,北京大学Lei等[47]标注了中文电子病历中入院记录和出院小结部分。虽然国内学者标注了不少临床文本,但目前并没有完整、公开共享的电子病历数据集,不少学者[5,51-52]在开展临床文本的信息抽取研究中,仍然需要投入大量时间和精力进行数据标注。
2.5 中文在线医疗健康数据集
近些年,针对不断涌现的在线医疗健康社区,国内学者开展了不少前沿性的探索研究。为了识别在线医疗健康文本中的医疗实体,苏娅等[53]获取了“好大夫在线”的问答数据,并由人工标注了1 000个问答帖子中五类实体。类似地,Liu等[54]爬取了中文医疗问答网站的问答数据,从中选取了1 500个帖子作为训练集和检验集。Xu等[31]从三个医疗健康问答网站中获取了5 000份问答记录,在未标记语料的情况下对在线文本的医疗实体识别和链接进行了研究。由于缺少开放共享的医疗健康在线标注数据,国内学者往往根据研究需要自行标注,并且鲜有文献详细说明其标注的规范和流程。
3 医疗健康文本处理工具和系统
3.1 MetaMap
MetaMap是由美国医学图书馆下的国家生物医学通讯中心的Aronson开发,2010年由美国医学图书馆公开发布。在文本处理时,MetaMap首先通过词典遍历和浅层句法分析来识别名词短语,然后将医学文本与UMLS的CUIs建立映射关系。目前该工具被广泛应用于实体归一化、药物-疾病关系挖掘[55]等研究。
3.2 Peregrine
和MetaMap一样,Peregrine也是知名的医疗实体识别和实体归一化系统。该系统由荷兰鹿特丹大学医学中心开发,它利用词典资源从文本中识别出有关概念,并将其映射到标准语义资源以实现实体归一化[56]。Kang等[38]利用ADZC语料对比了Peregrine和MetaMap的疾病归一化效果,发现在不加入规则的前提下,前者的F值高出后者2.9%。
3.3 DNorm
DNorm[13]是由Leaman等开发的一款通过Pairwise学习算法计算概念之间相似度以实现概念(尤其是疾病)归一化的系统。该系统采用向量空间模型来表示医疗实体概念,然后基于句子相似度来计算实体概念相似度,使用时需要依赖MEDIC词典和NCBI数据集。在实体归一化对比实验中,DNorm在效果上要优于MetaMap[24],并且在PubMed摘要、NCBI疾病语料以及电子病历数据集上的归一化对比实验中均取得了较好效果[13]。
3.4 cTAKES
cTAKES是哈佛医学院Savova等开发的针对临床文本的自然语言处理和信息抽取系统,该系统是符合UIMA架构的开源软件[57]。针对英文临床文本,该系统提供词性标注及依存句法分析等处理,目前广泛应用于临床文本的自然语言处理任务中。基于I2B2 2008年肥胖和糖尿病患者出院小结的测评数据集,Reátegui等[58]对比了MetaMap和cTAKES在医疗实体抽取上的效果,结果发现二者在召回率、准确率和F值上均非常接近。
3.5 中文分词及词性标注系统
和英文医疗健康文本挖掘相比,中文通常还需要分词等预处理环节。在通用领域已有不少分词工具,常见的有ICTCLAS、jieba、thulac、pkuseg、哈尔滨工业大学的LTP和斯坦福大学的StanfordCoreNLP。医学词汇不仅数量庞大,组词结构也非常复杂,通用分词工具在医疗健康文本中的效果并不理想。Lei等[47]在中文的临床文本分词中,利用StanfordCoreNLP进行分词和词性标注,并整合多个资源,构建了中文医学概念词典以提升临床文本的分词效果。类似地,在电子病历分词中,王若佳等[2]通过搜集权威词表、官方网站和在线健康网站数据构建了医学词典。值得一提的是,北京大学的PKUSEG分词系统[59]可根据领域选择不同模型,医学健康领域可以采用其医疗模式,以获取更准确的分词结果。
4 结束语
随着互联网应用在社会中的日益渗透,各类医疗健康数据呈现出了爆发式增长,这些海量数据蕴含着重要的医疗健康知识。深度学习和大数据分析为医疗健康文本挖掘和知识发现提供了技术条件,但这些技术离不开语义资源、标注数据和工具的支撑。在深度学习等机器学习任务中,大部分模型均需要高质量、大规模的标注数据作为训练集。和英文资源相比,中文医学词典以及语义资源非常稀缺,医疗健康文本数据集标注虽然近些年受到了学界的重视,各学术团体不惜投入大量人力物力进行数据标注,但目前国内医疗健康领域缺少数据开放共享的环境。该文主要对国内外的医学词典及语义资源、标注数据集、文本处理系统及工具进行了系统梳理,并对其应用场景进行了分析;针对当前存在的问题,希望国内研究机构和相关领域学者在资源构建和数据标注方面开展协作,共同推进由数据驱动的医疗健康知识挖掘和人工智能应用研究。