APP下载

医学知识推理研究现状与发展

2022-06-17董文波孙仕亮殷敏智

计算机与生活 2022年6期
关键词:医学知识图谱实体

董文波,孙仕亮+,殷敏智

1.华东师范大学 计算机科学与技术学院,上海 200062

2.上海交通大学医学院 附属上海儿童医学中心病理科,上海 200127

2012 年,谷歌首次推出了知识图谱,并利用它来提高查询结果的相关性和用户的检索体验,为用户提供了更加精确化和智能化的搜索服务。知识图谱以网状的结构、三元组的知识组成形式来显式表示现实世界中的知识,更加简洁直观,灵活丰富。目前,不同领域内已经创建了很多大型知识图谱库(knowledge bases,KB),如DBpedia、Freebase和Yago等。这些知识图谱库是由大量的事实以三元组(头实体,关系,尾实体)形式构成的。其中,头实体和尾实体用图谱中的节点表示,关系由图谱中节点之间的连接边表示。每一个三元组表达了现实物理世界中的一条知识或事实。最近几年,伴随人工智能的快步发展,知识图谱逐渐成为了知识服务领域中一个新的研究热点,受到国内外学者和工业界的聚焦与关注,已经发展成为支撑众多人工智能应用的核心,比如智能化精准搜索、自动问答、推荐系统和决策支持等。

在医学领域,得益于信息化技术的快速发展和医疗信息系统的普及,医学数据库中积淀了海量的医学知识和临床诊断数据,如果能从这些数据中提炼出知识,同时对其管理和合理利用,是推进医学智能化和自动化的关键。同时,也能够为医学知识检索、医疗辅助诊断以及医学档案的智能化管理提供基础。知识图谱能够有效挖掘、组织和管理大规模数据中的知识,提高知识信息服务质量,从而也可以在医学领域为医生和病人提供更智能化的服务。尤其近年来人工智能快步发展和智能医疗、精准医疗和医学辅助诊断的提出,知识图谱在医学领域逐渐引起重视,受到国内外研究人员广泛的关注。不断有知识图谱在医学领域的相关成果和研究被提出。比如,牛津大学建立了称为LynxKB 的知识图谱,主要用以药学相关的研究。日本东北大学提出一种知识图谱来进行面向个体化预防和医疗的基因组前瞻性队列研究工作。中医科学院通过自动化技术构建了一种中医药知识图谱,用于帮助医生进行辅助诊断。吉林大学针对世界基因组流行病建立了一种基于知识图谱的可视化分析方法等。在这些医学知识图谱中,节点以及节点间的连接边分别囊括了不同的含义。通常,节点的含义包括:疾病、症状、药物、辅助检查、科室、手术和部位等。节点之间连接边的含义包含:疾病类型、临床表现、诱发病因、发病机理和机制、预防措施、药理作用、鉴别方式和诊断方法等。当前医学知识图谱的主要应用涵盖了医学问答系统、临床决策与支持系统、医学辅助诊断和医学语义精准搜索等方面,这些研究和成果促进了智能医疗和医学智能自动化的发展,存在着极其广阔的应用前景和社会价值。然而,虽然医学知识图谱取得了较好的应用与发展,却存在着一些缺陷,其中医学知识图谱由于构建过程中的不完整性严重制约了其使用效能。如何自动地从已有的医学知识中发掘隐藏的医学知识进而补全医学知识图谱已成亟待解决的事项。

从海量数据中发掘出隐藏的知识依赖于推理技术的支持。推理是模拟人类思维的过程,旨在从一个或多个已有的经验知识前提下推理出结论或者新的知识。学术界相继给出了知识推理的基本概念。Nikolas认为推理是一系列能力的集合,这种能力包括理解对象、应用逻辑规则和根据已有知识校准和核验体系结构的能力。Tari将知识推理归纳为基于已知事实和现有逻辑规则推断出新知识的机制。基于知识图谱的医学知识推理目的主要是从现有的知识图谱数据中辨别出错误的医学知识数据并发掘推断出新的知识。通过医学知识推理,可以获得医学知识图谱中现有实体对间新的关系,然后反馈给医学知识图谱,从而能够扩展和补全现有医学知识图谱,为医学高级应用提供完备的医学知识支持。基于医学知识图谱广泛的现实应用和补全现有医学知识图谱不完整的缺陷需求,基于知识图谱的医学知识推理成为当前知识图谱和知识推理研究领域的热门问题。医疗领域知识推理不仅可以补全医学知识图谱,还可以为医疗人员和病患者提供临床知识及相关诊疗方案进行辅助诊断,促进并推动了医疗诊断智能化的改革与进程。

本文首先针对医学知识图谱的相关构建技术和基于知识推理的医学辅助诊断进行了总结与归纳。其次重点回顾了医学知识推理的研究现状,并对其推理方法进行了分类,即:基于逻辑规则的医学推理、基于表示学习的医学推理以及基于深度学习的医学推理。最后,本文总结了医学知识推理目前面对的一些挑战和重要问题,并展望了其发展前景和研究趋势。

1 医学知识图谱的构建

本章首先结合标准知识图谱的构建流程,并从医学知识的表示、医学知识抽取、医学知识融合和质量评估这几个方面结合知识推理来介绍医学知识图谱的构建。首先,通过医学知识抽取和表示从大量的非结构化、半结构化和结构化的医学数据和医学知识中提取出实体、关系和属性等基本要素,并以合理高效的三元组形式保存到医学知识库中。然后,通过医学知识融合中的数据整合、实体对齐、知识消歧和知识加工分别对医学知识库的知识进行清理和整合,消除冗余和偏差信息,确保知识的质量,提升知识和数据内部的逻辑性和层次性。通过知识推理,推断出缺失或者隐藏的知识,自动把医学知识图谱中的旧知识进行更正与更新,并为知识图谱补充新的知识。质量评估主要是通过人工或者定义规则丢弃构建过程中置信度比较低的医学知识,来提高医学知识图谱的可信性和准确率,从而确保医学图谱知识和数据的质量。针对以上流程,图1 描述了医学知识图谱构建的框架和详细过程。

1.1 医学知识抽取

医学知识抽取方式可以划为人类专家抽取和以机器学习方法自动的抽取。人类专家抽取是专家根据经验制定相应的规则从医学信息中提取知识。基于机器学习方法的医学知识抽取是利用机器学习方法和技术,从原始医学数据中自动抽取出医学知识。由于人类专家提取的代价较大,通过机器学习方法设计自动提取技术是知识抽取当前的重点研究方向。医学知识抽取主要是从非结构化、半结构化和结构化的海量医学知识中提取出实体、关系和属性等基本要素。

早期的医学实体抽取方法基于医学词典和规则。该方法主要是通过医学专家定义规则生成医学词典或使用现有医学词典从语料中抽取疾病名、药物名、症状名等医学实体。Wu 等通过CHV 和SNOMEDCT 两个医学词典对医疗诊所笔记中的医学信息进行识别,取得了较好的实验结果。Friedman 等通过自定义语义模式和语法来识别电子病历中的医学信息。Hanisch 等通过基于规则的方法和预处理的同义词词典用于识别生物医学文本中可能出现的实体名,并将识别结果对齐至蛋白质和基因数据库。Savova 等提出了一种临床文本分析和知识提取系统,采用流水线结构以及基于规则和机器学习的技术来从电子病历和临床记录中提取信息。Yang 等提出一种基于字典的生物医学实体名称识别方法,并设计了医学术语缩写识别算法对生物医学实体词典进行扩充。然而,该类方法面临以下挑战:(1)目前没有一个完整的医学词典可以包括所有类型的医学实体,因此简单的文本匹配算法不足以强大来对实体进行识别;(2)相同的单词或短语其意义往往根据上下文语境的改变而改变;(3)很多药物和疾病实体拥有多个名称。因此,该类方法虽然有较高的提取准确度,却依赖专家编写的规则和医学词典,难以适应数据不断变化的现实情况。

图1 医学知识图谱的构建流程Fig.1 Construction process of medical knowledge graph

随之,研究者将机器学习算法应用于医学实体抽取中,利用医学数据的特点对模型进行训练,然后识别实体。与基于规则和词典的方法不同,机器学习方法需要标准的标注数据集以及合适的算法,然后利用样本数据的统计特征和参数来构建模型。目前使用到的机器学习算法有隐马尔科夫模型(hidden Markov model,HMM)、支持向量机(support vector machine,SVM)和条件随机场(conditional random field,CRF)等。Kazama 等使用支持向量机进行生物医学命名实体识别,同时为了提高训练效果,引入了词缓存和无监督训练等方法。实验结果表明了所提方法提取准确率高于对比方法,并能应用于大规模知识库中。Zhou 等通过一系列特征训练隐马尔科夫模型,包括词的构成特征、形态特征、文献内名称别名等,其医学知识的识别准确率达到了66.5%。Tang等提出了一种结构支持向量机算法来识别临床记录中的实体名,该算法结合了CRF 和SVM 的优点以及单词嵌入的有效表示,取得了高效的识别效果。然而,基于机器学习的方法需要高质量的数据进行训练,因而对人工标注的专业性要求较高。

为了降低对数据标注依赖,利用海量未标注数据提升模型性能,深度学习近些年来也被广泛应用于实体抽取。Collobert 等提出一个深层神经网络模型,取得了超越传统算法的识别效果。Wei 等基于CRF和双向循环神经网络(recurrent neural network,RNN)生成特征,再使用SVM 进行疾病命名实体识别。Jagannatha等实现了CRF、BiLSTM(bi-directional long short-term memory)和BiLSTM-CRF 三种模型以及一些改进模型在英文电子病历命名实体识别中的效果,实验结果表明基于LSTM 的模型比CRF 效果更好,并且BiLSTM 结合CRF 模型能够进一步提高评测结果的准确率。深度学习方法的优势在于无需专家制定复杂的抽取特征,神经网络模型可以自动学习到句子中隐含的语义表示。总结了不同的医学实体抽取方法如表1 所示。

医学关系抽取的目的是解决医学实体间的语义链接问题。早期的关系抽取主要是通过人工构造语义规则以及模板的方法识别实体关系。因为人工构造规则难以应对大规模数据量,所以各种关系抽取模型被提出。这些模型的做法通常是在两个实体间预定义好要抽取的关系类型,再将抽取任务转换为分类问题来处理。Uzuner 等在句子层面抽取了六类医疗实体关系,使用实体顺序和距离、链接语法和词汇特征来训练六个SVM 分类器,实验结果证明了所提方法的有效性。Abacha 等使用人工模板和SVM 的混合模型,取得了较高的值。该研究还指出,在样本数较少时,模板匹配方法起主要作用。而样本数较多时,SVM 起主要作用。Ryan分析了电子病历中实体关系的偏置特性,提出了一种节省标注语料的半监督关系识别方法,该方法采用SVM 作为分类器,对标注的样本先进行预测,把置信度低的样本加入到训练集中。曹明宇等提出一种基于BiLSTM-CRF 的药物实体与关系联合抽取方法。具体的,将药物实体及关系的联合抽取转化为端到端的序列标注任务,使用词向量及字符向量作为输入特征,应用BiLSTM-CRF 模型进行标注。针对生物医学文本中大量存在的重叠关系,他们改进了原始的标注模式,增加了M 标签来缓解重叠关系的问题,且增加了实体类别标签来更充分利用实体信息。此外还改进了关系抽取规则,相比简单的最近匹配规则,所提的方法能够显著提升重叠关系的召回率。Seol 等提出利用CRF 模型识别与患者相关的临床事件,利用SVM 模型提取事件之间的关系。

表1 医学实体抽取方法Table 1 Medical entity extraction methods

属性抽取是指对属性和属性值对的抽取。属性的抽取是指为医学实体构造属性列表,如药品的属性包括适应症、禁忌症、规格、剂量等。属性值的抽取是指为各实体附加具体的属性值。目前的做法通常是将属性抽取看成一种特殊的关系抽取,然后转化为关系抽取问题。阮彤等考虑了知识源的可靠性以及不同信息在各知识源中出现的频度等因素。在构建中医药知识图谱时对数据源的可信度进行评分,结合数据在不同源中出现的次数对数据项进行排序,并补充到相应的属性值字段中。

1.2 医学知识表示

医学知识表示主要是以符号化、形式化和模式化的语言来表示医学知识,提高计算机在医学知识获取、存储和应用上的效率。

目前构建的医学知识图谱基本是以(头实体,关系,尾实体)三元组的组织形式来表示医学知识。这种知识表示方法相对聚焦和深入,表示能力既强又方便灵活,因而具有较大的发展潜力。此外,该种以三元组形式的知识表示还可以借助机器学习方法,将实体和关系分别转化为计算机容易处理的低维稠密向量,提升了知识融合和知识推理的性能。

1.3 医学知识融合

医学知识融合主要是在概念规范下对医学知识实行数据整合、实体对齐、知识消歧和加工的过程。目的是解决由于医学知识来源不同引起医学知识重复、医学知识质量参差不齐和医学知识关联不清晰等问题,消除多余和错误的知识信息,提升医学知识数据内部的层次性和逻辑性。本文将医学知识融合分为医学实体对齐和医学知识库融合。

实体对齐用于消除异构数据中的实体冲突,指向不一致问题,从而形成高质量知识。于晓青等综述了数据融合技术在医学领域中的应用,并根据不同的抽象层次将其分为数据级融合、特征级融合和决策级融合三类。翟霄等提出一种多模态结构图模型,利用图结构对多模态医学数据进行建模和表示。并基于此模型,提出一种并行的数据加载技术,用于抽取出多模态医学数据中分属不同模态和模态间关系的数据并存储到图数据库中。吴嘉敏利用基于命名实体属性关系的相似性比较法,对“药物”“靶标”“基因”这几个类别的数据进行实体对齐。庞震等根据医疗领域的实际应用需求,提出了一种多数据源融合的医疗知识图谱构建理论框架。张志剑通过计算词向量间的空间距离表征词间语义相似度,并设定相似度阈值来划分医学本体间的关系,以此实现实体对齐。

由于当前大部分医学知识图谱都是针对某个科室或者某类疾病和药物来构建的,需要对不同的医学知识库进行融合以获得涵盖范围更为广泛和完整的医学知识图谱。Dieng 等将医学数据库转换为医学本体,然后在人工控制下对本体进行扩展和补全,并设计了一种启发式规则,自动建立知识的概念层次来实现医学知识库的融合。Baorto 等进行知识库融合时,先确定数据的医学术语是否已经存在,然后将新术语添加到医学实体词典中,同时建立了审计流程来保证引入医学数据的一致性。

总结了医学知识融合的方法如表2 所示。目前医学知识图谱的知识融合技术虽有一定的发展,然而,医学知识融合的质量还有待提升,融合过程需要大量人工干预。因此,高效的医学知识融合算法值得进一步研究。

表2 医学知识融合Table 2 Medical knowledge fusion

1.4 医学知识推理

医学知识推理主要通过从现有的医学知识数据中推断出查询结果,并能够识别错误推理出新的知识。

通过知识推理,可以发掘并推断出缺失和隐藏的医学知识,自动把医学知识图谱中的旧知识进行更新,并为知识图谱补充新的知识。在具体应用中,医学知识推理不仅可以补全医学知识图谱,还能够为医疗人员和患者提供临床知识及相关诊疗方案进行辅助诊断。将在下节对医学知识推理进行详细的回顾与分析。

1.5 质量评估

质量评估则是确保图谱知识数据好坏的重要过程。通过人工或者定义规则丢弃构建过程中可信度比较低的知识,来提高医学知识图谱的可信度和准确度。

Clarke 等使用基于任务评估方法来分析基因本体。Bright 等使用本体设计原则和领域专家审查意见作为指标来评估本体在抗生素决策支持系统中的效果。Cordon 等通过电子病历、诊断案例和临床事件等来构造黄金标准用以评估和改进传染病本体。张志剑和昝红英等在构建医学知识图谱时使用精度、召回率和1 值来作为评价指标,其定义分别为=/(+),=/(+),1=2×/(+)。其中,、、分别表示准确识别、错误识别以及无法识别的实体的数量。在关系抽取任务中,采用准确率ACC 作为评估标准。王菁薇等在构建伤寒论医学知识图谱时,针对实体抽取的结果,经过两位中医学博士进行人工校对与评估。

医学知识图谱构建是其应用的基础,而医学知识推理是医学知识图谱构建过程中非常重要却充满挑战的任务。早期的医学知识库需要小范围专家通过人工方式构建,成本高昂,因此其构建的医学知识库的规模较为有限。为了更好地构建大型医学知识图谱,利用人工智能技术和自然语言处理的方法,从半结构化和非结构化的文档中自动抽取知识,构成知识库。然而,数据来源有限和知识提取算法能力本身造成了其构建的知识图谱并不完整。随着知识图谱的增大,图谱中仍然有很多实体之间没有得到有效的关联。同时,知识图谱中也有一些明显的错误和过时的信息,需要进行更正和更新。无论是人工构建还是自动构建的医学知识图谱,以上不完整性严重限制了本身的使用效能。因此,医学知识推理技术无论是在医学知识图谱构建过程中,还是自身应用愈发重要。

1.6 医学知识图谱库

Open PHACTS 是一个开放型的医学知识访问平台,它整合了不同来源的医学数据。该平台创建了约三十亿余条的生物医学语义数据三元组。中医药知识服务平台则整合了中医药及其相关领域的医学术语和资源,包括医学本体、中药材、药剂药方和疾病症状等相关知识库。用户可以通过该平台进行关于中医药医学知识的检索和问答。SNOMED-CT是目前国内外比较全面的由多种语言的临床医学术语构成的本体医学知识库,它包含了经过科学验证的临床资源,并对电子健康记录中临床医学内容进行了一致性表示。最后,该知识库包含了大约349 548个医学相关概念。DisGeNET是一个关于基因、变异与疾病的医学数据库,囊括了大约10 万条医学关联关系。这些关联关系是由不同来源组成的,主要包括专家人工组织的数据库、动物实验结果、基因编码序列推断和相关科学文献挖掘结果,并使用了标准名词表映射以确保医学内容的一致性。DisGeNET已被普遍应用于人类疾病的分子级基础研究、疾病基因表现观察、疾病并发症治疗、药物疗效和副作用调查等相关领域。

医学知识图谱和其他领域知识图谱一个区别之处在于,医学知识图谱中的节点可能更多的是医学相关概念。在一些医学知识图谱研究工作中,研究者一般将那些含有丰富语义链接关系的节点当作实体,比如“冠心病”疾病。而那些相对比较抽象、语义模糊和链接较少的当作医学概念,比如“心血管疾病”。其次,医学知识图谱是更加针对性的,更具有专业性质的领域知识图谱,其医学知识语义分析复杂性使得构建更具挑战性。再者,医学实体名称不规范和医学规范命名不统一使得医学名称多样性,而医学又是关乎生命的科学,因此医学知识图谱对知识精度的要求非常高,特别是应用于临床辅助决策过程中的医学知识,必须保证其准确性。因此,在医学知识图谱的整个构建过程中,需要有医学专家全程审核医学相关知识来保证知识的正确性。最后,也有研究者认为医学知识图谱是一个概率知识图谱,即图谱中有一些关系可能具有一定的概率。其他知识图谱多为事实类图谱。例如,比尔盖茨创建了微软,在知识图谱中被表示为三元组(比尔盖茨,创建,微软)。该三元组是一个事实三元组,它成立的概率为1。而在医学知识图谱中,虽然“糖尿病”会导致“多饮”“多尿”等症状,但这并不是对于所有患有糖尿病的病人都成立的,很多病人并没有这些显性症状。其次,在“药物不良反应”关系中,也会出现“常见”“罕见”和“非常罕见”等不同的概率。这些药物的不良反应概率不尽相同。

医学知识图谱应用于实际问题中,主要面临两个难题。其一,缺乏涉及全科医学知识的完整性医学知识图谱。目前的医学知识图谱主要是依据单个科室、某种疾病和治疗药物来构建的,无法被广泛应用。其二,医学知识推理的可靠性。基于医学推理做出的诊断支持牵系到病人的身体健康和生命安全,因此对推理的正确性和可靠性有非常高的要求。目前,基于医学知识推理给出的医疗诊断支持只能起到搜索和辅助诊断的作用。受限于医学知识图谱构建的复杂性和现有医学知识推理的能力,基于医学知识图谱的医学知识推理仍需进一步研究。

2 基于医学知识推理的辅助诊断

基于医学知识推理的辅助诊断应用广泛。美国斯坦福大学开发出一个MYCIN 系统,用来辅助内科医生诊疗由细菌感染的血液性疾病。MYCIN 的主要功能是可以对疾病进行辨别诊断,并根据患者体重不同给出使用抗生素计量差异性的建议。Rugers大学研发了一个名为CASNET 的系统,主要用以辅助医生进行青光眼的诊治。斯坦福大学研发出一款叫作PUFF 的肺功能检测系统,用以辅助医生专家进行肺功能测试。经过各种临床实例验证,其测试成功率可以达到93%。耶鲁大学构建了Senselab 知识图谱,用以描述人类的脑结构。它缓解了目前神经科学所面对的大量数据难题,并从微观到宏观,基因到行为的多个层系上帮助研究人员理解人类大脑。目前,比较常见的医学知识图谱有NDF-RT、Sider、MEDI、LabeledIn等。这些医学知识图谱大多来自于MEDLINE 和OpenKG 等公开的医学数据库。此外,国外应用比较广泛的临床知识库有MorphoCol、NursingKB等,主要用以辅助医生进行医疗决策诊断和支持工作。

国内学者和研究人员对中医药知识图谱的创建流程和方法,以及基于医学推理的辅助开药进行了探索和研究。张德政等开发出用以高血压诊断的智能专家系统,该系统利用人工神经网络技术来抽取知识并基于此进行推理以辅助医生进行诊治。还有学者成功研发出一款计算机辅助分析专家系统,主要用以智能描绘心率和记录宫缩图像。该系统可以在对不同病人进行诊治的同时给出同样或类似的诊疗建议,并可以对病人进行诊断解释。杨连初等研发出一款存储了四百多种疾病类型的中医诊断软件。该软件内容充实详细,涉及面广泛,得到了普遍的应用。阮彤等创建了一种中医药知识图谱。该中医药知识图谱囊括了发病症状库、疾病类型库和中草药库中的相关医学知识,主要用以中医药问答和帮助医生辅助开药。

基于医学知识推理的辅助诊断在工业界也备受瞩目。北京康夫子科技有限公司利用知识图谱相关构建技术,构建了医疗大脑知识图谱。主要让计算机去阅读医疗文献,构建知识库,并利用知识推理技术,达到辅助医生诊断的目的。百度创建了百度医生APP,利用医疗知识图谱和知识推理技术,让医生和患者之间交流进行辅助诊断,并提供医疗信息服务。IBM 开发的Watson,可为病人患者提供个性化、有优先针对顺序和循证医学证据的治疗方案。目前可支持乳腺癌、肺癌、胃癌和结肠癌等13 种常见癌症,其提供的治疗方案与世界顶级医生专家符合度高达90%以上。开放医疗和健康联盟(open medical and healthcare alliance,OMAHA)研究了医学知识图谱的相关构建工作,目前已经成功发布了Schema 知识图谱模型。知识图谱包括了药品和适应症,用于临床治疗的相关检查这两种医学知识数据。在医学知识推理的辅助诊断过程中,他们也发现医学知识图谱独特于其他知识图谱的问题。比如:(1)医学实体名称多样性。由于医学知识数据来源不同,致使医学实体名称多样性。然而,很多医学实体实际上表示同一医学知识。比如,获得性免疫缺陷综合征与艾滋病表示同一种医学疾病。OMAHA 通过借鉴医学知识定义较为清晰的七巧板医学术语集来进行医学知识图谱实体对齐,从而消除医学实体名称多样性的问题。同时,还可以完善医学实体的定义,丰富医学实体的表述方式。(2)医学对知识质量和推理精度要求更高。医学涉及到人类的生命健康,因此对于医学知识质量和推理的精度提出了非常高的要求。尤其是应用于医疗辅助诊断中的医学知识,必须已在实践中得到了充分的验证。医学知识推理的精度也必须得到较高的保障。研究人员应该优先选取临床指南、医学教材、药品说明书等这些医学知识质量较高的知识来源用于医学知识图谱的构建,同时通过自动抽取加人工审查相结合的方式来保证医学知识的精确度。

3 医学知识推理

医学知识推理不仅可以补全医学知识图谱,还能够为医疗人员和患者提供临床知识及相关诊疗方案进行辅助诊断。知识图谱推理在医生辅助诊断任务中得到了广泛的研究和应用,大大提高了医生工作的效率,已成为近年来的研究热点。

医学知识推理也是基于通用的知识推理技术,因此,本文首先将医学知识推理分为三类,即:基于逻辑规则的医学推理、基于表示学习的医学推理以及基于深度学习的医学推理。然后给出每种推理类别的定义以及一些典型做法,最后给出该类推理方法在医学知识图谱推理中的应用。

3.1 基于逻辑规则的医学推理

基于逻辑规则的医学推理方法在早期得到了普遍的关注,产生了不同的推理方法,包含了谓词逻辑推理方法、本体推理方法和随机游走推理方法等。

一阶谓词逻辑将命题当作基本的推理单元,其中命题包含了个体和预测。个体即是知识图谱中的实体对象,可以单独存在。它们可以是一个具体的事物或者一个抽象的概念。谓语被用来描述个体的属性。Schoenmackers 等提出了一种一阶归纳学习方法,是谓词逻辑的一项主要工作。该方法主要通过搜索知识图谱中的全部关系,并获得每个关系的集合作为特征来推理和预测实体对应的关系是否存在。Bienvenu 等提出一种框架来强化推理系统,使之在不一致容忍语义下具有解释能力。为了对大规模的不完整信息知识库进行推理,Wang 等提出了一种称为ProPPR 的一阶概率语言,在知识库推理中允许相互递归(联合学习)来提高性能。Yang 等研究了概率一阶逻辑规则的学习问题,主要用以知识库的推理。这个问题较为困难,因为它需要学习连续空间中的参数和离散空间中的结构。因此构建了一种基于神经逻辑的程序架构,将一阶逻辑规则的参数学习和结构学习进行联合学习。在经验数据中的实验验证了该框架在多个知识库基准数据集上的表现好于对比方法。Bousquet 等提出一种根据DAML(Darpa agent markup language)和OIL(ontology inference layer)描述逻辑来推理的实现方法,并用以改进信号检测用于药物警戒系统。Chen 等采用基于规则的推理方法研发了糖尿病诊断系统用以辅助医生并提供开药建议。边红根据医疗数据建立了中医胃病的相关知识图谱,并基于此图谱实现了一种专家辅助诊断系统。该系统可以通过把不同的医学输入信息转变为置信结构,然后根据产生式规则来表示这些内容,接着进行模糊推理,最后可以通过患者的体征表现和症状表现向患者提供快速而基本的诊断结果。袁勇等建立了一个呼吸道疾病专家系统,主要针对呼吸道疾病进行确诊和排除,并对提出的诊断假设进行判断。该系统主要使用基于规则的方法进行推理,同时还考虑了疾病和表现症状之间的不确定性。在相关实验上证明了所提方法有效性,能够给出较高准确性的诊断结果。罗率力受启发于医生在诊断过程中的思维分析,并根据医学知识表达结构,提出了一种基于模糊框架的推理机制和模糊规则的推理机制。该机制运用了正向推理和逆向推理,这两种推理互相嵌套,克服了单一推理机制的不足,提高了医学诊断的正确性。该推理机制还将推理过程分为多个步骤同步进行,使得推理过程不至于过分冗长,满足了不同用户的个性化需求。Kumar等提出了一种基于实例推理和规则推理的混合方法,并开发出一种用以重症监护病房的临床决策支持系统,提高了病房的监察与护理。

基于知识图谱的医学推理也能够基于图谱中本体进行推理。本体是更抽象化和概念化的知识表示,基于本体的图谱推理主要是发现本体定义里的逻辑错误与矛盾,从而构建更加准确的本体。在对物理世界中的知识进行建模时,常常需要用本体来表示和推理。为了使用描述逻辑(description logics,DL)来处理这样的本体,Markus 等使用有限的属性值对集合(称之为注释)来丰富DL 概念和角色,并允许概念包含来表达对注释的约束。Wei 等提出并实现了知识图谱表示学习分布式推理系统,该系统基于一个OWL(web ontology language)的知识图谱。由于系统含有丰富的更具表达性的规则,推理能力也相对较强。同时,还支持对冗余数据的优化。实验结果表明,与其他推理系统相比,该系统能够有效推导出本体中更多的隐含信息,也能够很好地检测知识图谱中的不一致性。Martínez-Romero 等研发了一种基于本体的智能监护治疗系统,用以急性心脏病危重病人的智能监护。其中,专家知识由OWL 本体和一组规则来进行表示。基于可以代表专家知识的本体和规则,推理机可以进行相应推理,从而能够向医生提供关于病人诊疗的建议。Shi 等根据本体的概念建立了语义健康知识图谱,它是异构医学知识与医学服务的语义集成,可以用于自动化的临床医学辅助诊断和推理。Angel等研发了基于逻辑推理和本体驱动的辨别辅助诊断系统,并用于帮助医生进行辅助诊断。

一系列研究表明,将基于路径的推理规则引入知识推理可以显著提升推理的性能。路径排序算法(path ranking algorithm,PRA)是一种在图中根据路径进行推理的算法。为了学习知识库中某个特定边类型的推理模型,PRA 会找到经常链接节点的边类型序列,这些节点是该边类型的实例预测。PRA根据路径上的关系规则的特征作为Logistic 回归模型的输入来推理知识图中实体对的缺失边。PRA 的主要思想是用一条或者多条连接两个实体之间的序列路径来推理该对实体之间的具体的隐藏关系。在知识图谱中,路径主要是由连接两个实体之间的实体和关系序列构成。学习阶段一般分为三个阶段:序列路径寻找、提取路径特征和构建分类器。PRA算法中常用的序列路径寻找方法有随机游走、深度优先游走和广度优先游走。提取路径特征一般是将不同路径的二值特征提取并作为下一步分类器的输入。分类器通常是构造一个逻辑回归二元分类器。侯秀萍等设计了基于动态模糊逻辑和加权模糊逻辑相结合的计算机辅助医学诊断系统,通过实例证明了所提方法的有效性。朱吕行通过整合基因-疾病库、基因-基因库和疾病-疾病库,构建了一个异构中医知识图谱。该知识图谱含有疾病和基因两种类型节点,以及它们的三种相互关系。基于该知识图谱,提出了一种深度游走算法使得可以在全局网络上进行搜索游走,然后根据游走的路径获得各个节点的嵌入表示向量。最后使用图卷积神经网络提取向量的特征用于后续的预测诊断。他们实现了可以学习已知的疾病-基因关联信息并为未知的疾病-基因关联做出预测。王雁等提出一种专家医生的知识结构及诊断推理方式。医生将临床医学数据以疾病脚本的方式进行组织。伴随临床经验的丰富与增加,专家医生可以聚积充足的疾病脚本。在临床诊断过程中,专家可以不需要对病人全部的病历数据和病状进行详细分析,而可以通过模式识别或样例辨认等机器学习方法自动搜索与之相似的疾病脚本,从而可以对病人做出快速准确的诊断。

3.2 基于表示学习的医学推理

基于表示学习的医学推理主要是学习三元组中实体和关系的低维嵌入表示,然后基于此向量化的知识表示进行计算和知识图谱推理。近些年来,不同学者相继提出了一些基于表示学习的推理方法,比如距离平移模型和语义匹配模型。

距离平移模型是通过构建三元组中实体和关系的平移操作来学习它们的向量化表示。Bordes 等提出了基于距离平移的TransE 模型,旨在将知识图谱中构成三元组的实体和关系使用低维的稠密实值向量来表示。TransE 将知识图谱中实体和关系分别投影到一个连续的低维向量空间中,把关系解释为头实体和尾实体之间的平移操作,即+≈。然后通过计算式(1),数值越小,认为构成的三元组越合理。

图2 医学知识图谱嵌入表示学习示例Fig.2 Framework of medical knowledge graph embedding representation learning

为了解决多跳推理问题,各种基于路径的知识表示学习模型被提出。Seo 等提出一种基于可靠路径的表示学习方法,用以知识图谱的表示学习。具体来说,他们提出一种可靠的知识图路径排序方法,避免了不可靠路径的不必要计算,找到语义上有效的关系路径。实验结果证明了所提方法有效性和高效性。刘峤等提出了一种基于表示学习的语义感知关系推理算法,充分考虑了实体和关系在语义上的多样性。通过加权的方式联合实体向量的语义要素,实现不同实体对之间关系语义的表示与辨分。在知识图谱中的推理任务验证了所提算法的有效性,实验结果表明了算法可以较好地区分实体对之间的复杂关系的语义,提升了知识图谱中关系推理任务中的准确率。郑子强通过整理关于慢性肾脏病中医医案文献,构建了慢性肾脏病知识图谱。在医学知识推理任务中,按照慢性肾脏病的诊疗过程,将之分解为知识图谱多层实体间的链路预测任务。在慢性肾脏病知识图谱表示学习的基础上,通过多维卷积神经网络对知识图谱中的实体和关系构成的路径向量进行特征提取,然后输入分类器中实现链路预测任务。实验结果验证了所提方法是有效的,在多个评估指标下预测都超过了95%。

3.3 基于深度学习的医学推理

深度学习的再度兴起,使得深度神经网络被广泛应用于各种领域。神经网络由于其较强的特征捕捉与映射能力,基于深度学习的知识推理也是当前一个研究热点。目前在医学推理中应用比较广泛的是基于循环神经网络(RNN)、卷积神经网络(convolutional neural networks,CNN)和图神经网络(graph neural network,GNN)的知识推理方法。

循环神经网络的优势是可以有效处理序列数据,并能够有效编码序列信息的上下文。然而,知识图谱是由大量的知识三元组构成的,这些知识三元组无法形成有效的序列信息。一个可行的解决方案是通过寻找知识图谱中两个实体之间的链接路径,将路径上的信息融合来构建知识图谱链路序列信息。然后,通过将链路序列输入RNN 进行路径编码,最终来获得知识图谱中头实体与尾实体之间的路径的语义相关向量进行知识推理。然而,由实体和关系组成的路径序列信息仅能够提供有限的推理信息。同时,从大量的链路序列中搜索对推理有用的路径序列效率较低。Arvind 等提出了一种使用称为path-RNN 的递归神经网络来组合路径含义,该网络对多跳关系的链接进行推理。Path-RNN 使用PRA为每个关系类型找到不同的路径,然后将路径中二进制关系的嵌入作为输入向量。最后通过构建关系分类器来将路径特征向量推理为实体间具体的关系。

大多数方法集中在使用三元组本身的结构信息来学习实体和关系的语义嵌入表示,然后基于此低维嵌入表示进行推理。然而,实际上,在大多数知识图谱中,实体的描述通常很简洁,现有的方法无法很好地利用这些描述。而这些多源异构描述信息能够加强知识图谱中实体和关系的语义区分能力。卷积神经网络因为其自身独有的网络架构,为这些额外的描述数据的特征提取提供了支持。Xie 等提出了一种基于实体描述信息的知识图谱嵌入表示学习模型。具体来说,他们探索了连续词袋和深度卷积神经网络两种编码方法来分别编码实体描述的语义信息。然后进一步使用三元组和描述语义信息的特征来学习知识图谱三元组中实体和关系的向量化知识表示。实验表明,该方法在推理任务中取得了良好的效果,还可以减少数据稀疏性对推理模型性能的影响。Chen等提出了DIVA(discrete infer variational auto-encoder)的概率图模型框架。他们认为知识图谱推理问题可以归结为两个步骤:链接路径寻找和路径推理。同时在优化过程中通过提高了这两步之间的交互以增加模型的鲁棒性和减弱模型对噪声的敏感性。DIVA 使用潜变量图模型来建模知识推理问题,假设在知识图谱中存在一个潜在变量,它承载了实体之间关系的等价语义。路径寻找过程作为一个先验分布,主要用来搜索给定实体对之间的关系链接路径。路径推理过程作为一个似然分布,主要是将搜索到的路径的潜在变量分类为多个关系类别。

近几年来,利用图神经网络和强化学习来求解路径搜索问题也引起了广泛关注。Xiong 等假设给定源实体和关系,可以通过路径寻找另一个实体,这个过程可以定义为一个马尔科夫决策过程。提出的Deep-Path 是首次在知识图中使用强化学习方法进行路径寻找的模型,对后续的派生模型有着重要的启示。在这项工作中,他们提出了一种新的可控多跳推理方法,将路径寻找过程使用强化学习(reinforcement learning,RL)来搜索。代理agent 在路径寻找的每一步中,通过对关系进行采样来扩展其路径,从而采取增量式路径扩充。为了更有效地刺激强化学习中的代理寻找关系路径,他们使用策略梯度进行训练并设计了一个新颖的奖励惩罚函数,用来共同鼓励路径搜索过程中寻找到路径的准确性、多样性和效率。实验结果表明该方法优于路径排序算法和基于距离嵌入模型的方法。然而,与传统方法相比,Deep-Path 更侧重于路径的搜索,在推理过程中,只是简单地使用寻找到路径的二值特征输入到一个二元分类器中来预测一个预定义的关系是否存在。DAPath 模型增强了基于深度路径的强化学习的运用,并用之主要解决知识图谱推理任务中的链接预测问题。进一步的,M-WALK 通过使用RNN 记录所有轨迹路径,然后使用蒙特卡洛采样和Q 学习算法迭代优化策略来学习模型。Wang 等设计了一个基于生成对抗网络(generative adversarial network,GAN)的强化学习模型,应用于知识图谱推理与补全的任务。他们将知识图谱补全问题定义为马尔科夫过程,并探索在状态转移过程和奖励过程中引入的规则,以更好地指导生成对抗网络优化下的行走路径。同时,使用长短项记忆模型(long shortterm memory,LSTM)作为生成对抗网络的生成器,不仅用来记录历史轨迹,而且可以生成新的子图,然后使用GAN 训练策略网络。此外,为了更好地生成新的子图,采用图神经网络将知识图嵌入到低维向量中,并对各层的消息传递过程进行参数化。

图3 动态交互式智能诊断模型框架图Fig.3 Framework of dynamic interactive intelligent diagnosis model

受以上知识推理工作的启发,殷苏娜通过对糖尿病临床医学数据进行分析和整理,构建了糖尿病知识图谱。同时,为了处理医学临床知识中的时序数据,设计了基于长短期记忆神经网络的序列增量学习模型。该模型利用长短期记忆网络可以联系上下文的优势,并提出一个序列增量学习层来强化学习特征。最后,以一种端到端的方法来解决知识图谱中的链接预测推理任务。李芸提出一个交互式智能辅助诊断模型用于提升医生的诊断效率。该模型包括了疾病推理和检查推荐两大模块,其智能诊断整体结构如图3 所示。首先,模型根据疾病与症状、病史等之间的关联关系,构建了疾病知识图谱。模型推理模块将医学诊断过程看作马尔科夫决策过程,设计了一个基于强化学习框架的检查推荐策略网络,用于预测每步交互状态中最优的动作,优化诊断路径。模型接收到用户在系统中输入的信息,然后推荐当前状态的动作。如果推荐动作为检查项目,模型则会等待用户进一步输入信息,继续与用户进行交互。如果推荐动作为诊断疾病结果,模型则结束当前交互过程并给出医学诊断结果。通过现实中的实际操作,验证了所提模型和系统在疾病辅助诊断上的灵活性和准确性。Yang 等提出一种ART-Kohonen 神经网络和病历推理相结合的智能诊断,提高了诊断的效率和准确度。神经张量网络模型在Freebase 等知识图谱本体库上对缺失和隐藏关系的推理准确率达到了90%。Karegowda 等在糖尿病知识图谱中通过使用遗传算法和反向传播神经网络相结合的混合推理模型,将诊断正确率提高了7%左右。赵超提出基于马尔科夫随机场的医学知识推理框架,针对疾病诊断、检查推荐、治疗方案推荐三大临床决策问题,结合图特征、边特征、分布式表示的节点特征等构建了六种势函数,设计了三种评价指标对推理系统性能进行评估。这三种评价指标分别是平均@(mean@,@)、平均@(mean@,@) 以及平均准确率(mean average precision,MAP)。其中,@是指前个返回结果的准确率,@是前个返回结果中的正实例在全部正实例中所占的比重,MAP 为多个查询的平均正确率的均值。罗计根通过整理中医书籍《中医证候鉴别诊断书》和《中医证候辨证论治辑要》,提出了一种结合双向长短期记忆网络和条件随机场的中医命名实体识别模型,然后构建了中医实体抽取语料库。为了更好地展示中医实体及实体间的关系,建立了模式层的结构。然后,作者利用TF-IDF(term frequencyinverse document frequency)算法分别对证候-症状、证候-舌像、证候-脉象三类关系之间的贡献权重进行计算。最后将实体、关系和权重导入到数据库中完成知识图谱的构建,如图4 所示。在中医知识图谱推理过程,中医领域里面大部分的实体之间没有存在直接的关系。例如,当要查询治疗血虚证的证方中是否含有当归这味中药时,知识图谱中中药类实体和证候类实体并没有直接的关系,这两者是根据方剂相连接的,如图5 所示。此时,需要通过实体血虚证找到治疗它的方剂,再根据方剂找到组成中是否含有该中药。因此,为了更好地对构建的中医知识图谱进行实际应用,提出了一种基于路径的推理算法。

图4 中医领域构建的知识图谱Fig.4 Constructed knowledge graph in field of traditional Chinese medicine

图5 知识图谱中的间接关系Fig.5 Indirect relationship in knowledge graph

目前基于深度学习的知识图谱推理在医学领域的探索和工作研究处在初始阶段,仍有很多可以进步的空间。

3.4 小结与讨论

本节对现有的医学知识推理技术进行了广泛的综述,并对其推理方法进行了分类:基于逻辑规则的医学推理、基于表示学习的医学推理以及基于深度学习的医学推理。这三种方法既有相似之处又有区别,在推理任务中是可以互相补充的。相似之处是这些方法都是对知识图谱中的三元组进行特征建模和参数学习。主要区别在于基于深度学习的知识推理模型将CNN、RNN 和GNN 集成到表示学习模型或逻辑规则模型中,通过深度学习模型对知识图谱中的实体和实体间关系进行学习,然后通过实体之间的序列路径建立预测模型进行相关推理。表示学习模型主要是学习实体和关系的低维嵌入表示,并基于此语义表示进行后续的医学推理。其优点是可以充分利用知识图谱中的结构信息,缺点是建模时不能引入先验知识来实现推理。逻辑规则模型的优点是可以模拟人类的逻辑推理能力,并映入人类的先验知识来进行辅助推理。缺点是它没有解决对领域专家的依赖性,计算复杂度高,泛化能力比较差。在医学知识图谱领域,目前的医学推理方法虽然促进了医学诊断自动化和智能的进程,但仍存在着学习能力不够强、医学知识和数据利用率较低等缺陷。为了解决上述问题,需要探索和研究高效的混合医学推理模型。表3 罗列并对比了不同知识推理方法。

表3 医学知识推理方法Table 3 Medical knowledge reasoning methods

4 挑战及展望

医学知识图谱构建和医学推理技术,将会成为知识图谱和人工智能领域的热点研究对象,其研究成果能够推动医学自动化和智能化进程,促进智能医学应用的研发。本章总结了医学知识推理目前面对的一些挑战和重要问题,并展望了其发展前景和研究趋势,希望能促进这一快速发展领域的进一步研究。

(1)现有的海量医疗数据在语言、功能、存储等方面存在着比较大的差异。因此,知识复用、泛化能力和实体消歧等问题对医学推理造成了极大的挑战。深度学习的信息捕捉和特征映射能力已在其他人工智能领域得到了验证,而目前基于深度学习的知识图谱推理在医学领域的探索和工作研究处在初始阶段,仍有很多可以进步的空间。深度学习的表示学习能力和医学知识推理的结合,将显著提升推理学习的性能,并带动工业界和学术界的发展。

(2)现有的医学知识推理方法通常需要很多高质量的医学知识和数据样本进行训练和学习,然后才能完成有效的推理。而这需要消耗医生专家和研究人员大量的时间和精力对医学数据和样本进行标注,成本和代价高昂。此外,训练所得到的模型的泛化能力通常也比较差。而人类常常可以根据少量样本学习,然后举一反三即可完成推理。如何实现小样本或者零样本学习推理是一个挑战。最近几年,零样本学习(zero-shot learning)和少样本学习(fewshot learning)在计算机视觉及自然语言处理等领域引起了广泛的关注。零样本学习和少样本学习可以从一个未遇到过的类别或者只有很少的样本实例中学习。结合零样本学习和少样本学习的医学知识推理可以避免高昂的数据获取,提高推理泛化能力,值得进一步研究。

(3)医学知识推理的可视化可以让医生和患者更加直观地了解到推理的详细过程和依据结果。在医疗领域,由于医生和患者的知识背景不同,如何提高医生和患者之间的沟通效率是一件困难的事情。医学推理可视化可以做到“换位思考”,即分别从医生和病人的角度,展示出最佳的推理方案,让病人能够明白诊断的过程和依据结果,医生则可以根据知识图谱的动态推理做出合理高效的医疗诊断,从而达到辅助诊断、智能诊断的目的,也可以带给病患更友好的就诊体验。

(4)传统医学知识推理的方法只考虑了图谱中三元组本身的结构信息,知识信息利用不全面,也在一定程度上造成了推理准确度不高。如何更高效地利用知识图谱的图结构信息和外部专家知识是进一步提升推理性能的关键问题。不同模态、不同来源的医学数据,比如医疗文本、医疗影像等中蕴含着丰富的、可以相互补充的医学知识和信息。可以利用多模态和多源数据融合的方法进行更加可靠的知识推理,从知识增强的角度进一步提高知识推理的性能。同时,知识图谱中的关系预测路径长度会随着知识图谱的增大不断增长,而现有的主要方法中预测长路径的能力有限。推理性能随着路径的长度逐渐降低。然而,在大规模医学知识图谱中,实体之间的长路径推理不可避免。因此需要更高效的推理模型来描述更复杂的推理任务。

(5)医学知识图谱中医学知识的有效性通常会受到空间以及时间等动态因素的影响。如何更加合理地利用这些医学知识的动态约束信息进行动态推理也是医学知识推理目前面临的难题和一大挑战。比如,疾病的诱发、缓解和治愈是一个逐渐发展演变的历程,因此医学知识推理需要结合病人在医治过程中产生的历史临床数据进行推理。但是,目前的推理模型还无法结合病人治疗过程中动态产生的临床事实序列,因此不能够总是给出正确的推理结果。设计能够根据医学知识的有效性进行动态推理的模型是必要的。

(6)患者自我诊断。如何解决医生短缺这个医疗领域的难题是一个挑战。培养一个经验丰富的医生需要较长的时间。基于知识推理技术的智能问诊在解决该难题方面有巨大的潜力。智能问诊系统主要是患者与机器进行交互,患者通过输入自身基本信息,比如患病症状、既往病历和过敏史等,系统可以通过知识推理技术进行分析,然后形成原始的诊断结果,极大减短了问诊的时间,提高了问诊的效率。同时,患者也可以通过人机交互来进行智能查询与诊断,比如诱发病因、用药、治疗方案等,最终可以生成诊断报告,从而进行自我辨别诊断。

5 结束语

从大量的医疗数据中提取出医学知识,然后构建医学知识图谱,对其进行高效利用,是推进医学智能化和自动化改革的关键,对智能医疗的实现有着重要意义。同时,也能够为医学知识检索、医学辅助诊断以及医学档案的智能化管理提供基础。本文对构建医学知识图谱的关键技术和医学辅助诊断进行了总结与归纳,并重点回顾了医学知识推理研究现状,对其推理方法进行了分类。对于每一类别,分别介绍了代表性算法和最新研究进展。最后,本文总结了医学知识推理目前面对的一些挑战和重要问题,并展望了其发展前景和研究趋势。医学知识推理仍有很多尚未完善和可创新的工作,需要更多的学者和研究人员共同推进该领域的发展。

猜你喜欢

医学知识图谱实体
基于图对比注意力网络的知识图谱补全
绘一张成长图谱
前海自贸区:金融服务实体
实体书店步入复兴期?
图表
思维导图在医学中的应用
两会进行时:紧扣实体经济“钉钉子”
振兴实体经济地方如何“钉钉子”
加强班级凝聚力建设,激发学生学习的积极性
主动对接你思维的知识图谱