0 引 言
知识图谱及相关技术的出现为领域知识的结构化提供了一种全新的手段,在医学领域,已经有较多支持知识图谱进行知识表示的术语资源,如国际疾病分类(international classification of diseases,ICD)系统、统一医学语言系统(unified medical language system,UMLS)等,但这些资源主要关注临床术语体系构建,不能表达医学文献和文档中除概念树以外的知识内容和知识结构及其内在关联的细粒度医学知识
[1,2]。
除术语资源以外,也有一些研究关注医学领域文档的本体建模
[3,4],但其主要关注文档中的部分重点知识和知识粗粒度的表示,忽略了非重点知识和深层次知识的表达。同时,由于这些模型构建时仅聚焦于文档内容,知识的来源、可信度无法得知,导致知识无法循证。本文使用一种新的建模方式对常见的两类医学文档元数据进行本体建模,主要工作如下:
1) 针对医学指南文献和药品说明书文档两大类知识进行本体建模,在保留各自的形式和结构特点基础上构建面向医药学文献和文档的本体(medical document ontology,MDO)模型,该模型能实现细粒度、可循证的医药学知识表达,可覆盖文档全文中的具体知识点;
2) 基于MDO模型提出推理规则,包括词语级语义细粒度知识、结构细粒度知识和可循证知识等推理,支持基于复杂推理的医学人工智能;
3) 作为验证性工作,本文以高血压疾病为例,使用人工和自动化相结合的手段构建高血压医药学知识图谱,其中包含193种抗高血压药品、622条高血压指南和5 780条说明书元数据,支持医药学细粒度知识、药学基础知识和深层次知识、知识循证、知识推理等不同类型的查询和推理,图谱已发布于OpenKG(
http://openkg.cn/dataset/mdo-dataset)。经IAA(inter-annotator agreement)标准实验表明,该本体模型具有较好的标注一致性,能全面准确地表示医药知识。
1 相关工作
知识图谱可将异构孤立的数据集组织成为可共享和可交互的结构化知识,从而支持全面准确的信息表达和查询
[5~8],该技术现已经运用到医疗、教育等领域
[9,10]。
为提供临床实践和医学研究的知识支撑,医药领域知识图谱需要具备全面性、细粒度性和可循证性。全面性指需要完整地对医药学文档文献的结构和内容进行覆盖。细粒度性指能对句子中的词语级语义进行表示,从一个句子中挖掘出多个三元组知识,细致表达句中含义,而非仅对段篇章中心思想进行概括;细粒度性可分为结构细粒度和词语级语义细粒度,其中结构细粒度表示是否含有文本语句从属结构等元数据知识。可循证性即有证可循,可分为知识来源可追溯性和医药学知识内容的可循证评估性。
表1基于知识的全面性、细粒度性和可循证性对现有医学图谱进行分析对比。
现有术语体系资源,如UMLS系统、ICD-10
[11]等术语体系仅对医学术语进行了规范与少量的术语关联;DrugBank
[12]数据库概述了药品的成分、类型等信息,但对于复杂字段如相互作用知识仅提供了相关文本段落描述,缺乏词语级语义表示;医疗卫生知识服务系统构建的医学、药学知识图谱相互独立,知识没有融合;PICO法
[13]是基于循证医学理论的一种检索方式,针对临床问题的对象、干预、对照和预后4个维度将临床问题用标准化方式表达出来,用证据解答问题,从而提供对可循证性的支持,但不足之处是对超出以上4个概念的知识难以表示,不能全面表示知识。
在面向医学文档的本体模型方面,文献[
3]构建了糖尿病本体,但没有深挖指南中细粒度知识;文献[
4]药品联用建模忽略了药品说明书中的大部分药学知识。因此在构建医药知识本体模型时,如何对医学知识细粒度表示、如何融合医药学知识、如何挖掘潜在医学知识等问题需要着重研究考虑
[14,15]。
针对现有医药学文档本体研究中的全文细粒度知识缺失、知识可循证性不足等问题,本文构建了一种新的医药学融合的文档知识本体(MDO)模型,并结合实际案例对其进行可行性、一致性和表达能力的分析。
2 面向医药学文档的知识图谱建模
本节介绍MDO模型的总体结构及各模块中的概念和关联,以及MDO模型中细粒度医药学知识表示的一致性和对循证性的支持。
2.1 细粒度医药学文档知识图谱本体建模
我们参考了已有本体库
[3~6],分析了医学领域实际应用、市场需求等特点,从确定医学本体范畴、梳理本体层次结构、复用现有本体、整理领域知识术语、定义知识类及属性关系、创建实例、本体的检验与评估几个步骤构建MDO模型。同时,参考了权威医学系统UMLS、国家医疗保障疾病诊断相关分组(China Healthcare Security Diagnosis Related Groups,CHS-DRG)和ICD-10等系统丰富本文图谱。
2.1.1 总体概念模块
通过分析现有医药学文档,确定MDO中的医药学知识包括医学指南知识、药学知识和医学术语这三部分。分析梳理这三部分中本体和相关层级结构,并参考专业医学术语本体概念以规范知识表示,各模块主要本体概念及关联如
图1所示。
1) 医学指南本体概念模块
如
图1(a)所示,医学指南本体根据指南不同维度分为文献元数据、文献结构和文献知识三部分。其中文献知识表示指南句子的类别,指南句子按照语义可分为定义、描述和事件三类。其中定义类句子通过定义对象和定义限制属性来具体表示句子内容;事件类句子包含事件主体、事件时间和事件地点等属性,从不同角度来表达句子所含有的事件;描述类句子则通过医学术语如关于疾病、关于症状等属性对句子进行更进一步的描述。
由于定义类句子和事件类句子有较为固定的表述框架,而描述类句子描述话题广泛、表达方式灵活,因此为实现描述类句子词语级语义细粒度知识灵活且简洁的表示,本文使用RDF具化(RDF Reification)方案对指南文献中的知识进行表达。RDF具化方案的关键思想是引入一个额外的对象,将这个对象与原来的声明关联
[16]。本文使用有描述知识属性将不同的描述类句子与一个三元组(rdf:Statement)集合进行关联,三元组集合中每一个三元组就是具化后的词语级语义细粒度医学知识,这一做法能兼顾指南知识表示的灵活性与规范性。除了本文使用的RDF具化方案,W3C也计划成立RDF-Star工作组,用于更规范地提供RDF和属性图之间互操作性方法
[17]。
2) 药学知识本体概念模块
药学知识本体中的具体药学知识如
图1(b)所示。其中药学知识类别包括相互作用、不良反应和禁忌三种知识,每一知识下又包含不同的药学知识实例和实例的具体信息。相互作用又可分为药药相互作用和药病正负相关两类学,其中药药相互作用又可细分为作用结果和临床指导,这些药学知识都有不同实例,同时实例又有序号、置信度等信息。
3) 医学术语本体概念模块
图1(c)为医学术语本体概念图,包含现有医疗资源。医学术语关联是医学术语模块与医学指南知识和药学知识的关联,如疾病实例可与ICD-10系统关联,增加实例的ICD-10属性;临床问题可与PICO本体关联等,MDO模型将不同医学角度的本体相互关联,不仅增加了MDO模型的本体知识丰富度,还可以使整个模型结构更加一致。
2.1.2 本体概念示例
医药学知识并不是单独存在,而是相互有关联的,各模块具体的本体概念图已上传至OpenKG,
图2以药学本体概念为例,展示了药学知识之间的联系。
本文将药学知识分为4部分,并对这4部分进行了本体概念的解释,再根据不同实例内容将知识点进行关联。为了使药品说明书实例与药品、药学知识关联,将药品实例与其对应的说明书与来源说明书属性关联,同时将药学知识的说明书原文信息的值域类型(rdfs:range)设为说明书句子。
2.2 细粒度医药学知识的一致性表示
医学指南文献和药品说明书文档中医学知识侧重点不同,因此可将两部分知识进行关联与融合,并在医学术语体系下对两部分知识进行一致性表示。MDO模型的一致性表示体现在三个层面:
1) 文献和文档建模的一致性。二者都作为文档的子类进行表示,具有类似的元数据信息。
2) 文献和文档知识的信息粒度一致性。二者都实现了句子级别的细粒度知识表示,在表示句子类型或主题的同时也能表示句子包含的具体内容。得益于三元组具化表示的兼容性优点,药学部分细粒度知识可以无差别地包含在指南知识中。
3) 医学术语的一致性。文献和文档两部分知识可以一致使用现有医学术语体系,在规范知识的同时也增加了知识的一致性。
以上三个层面使得医学指南和药品说明书中的知识相互关联、补充,表达出更丰富的医药知识,
图3展示了知识的一致性表示与融合。
医学指南仅会对疾病、药品或成分等信息进行粗粒度的描述。因此可以将医学指南句子中粗粒度的知识与药品说明书中具体、细粒度的知识进行关联。本文用药品说明书中详细的药学信息对医学指南相关知识进行补充,将医学知识与药学知识在本体模型中进行融合。如疾病与药品说明书中的药品实体或成分实体关联,临床试验中的不良反应与药品说明书中的不良反应症状和禁忌症状等相关联。具体来说,当医学指南中仅对A药品进行了名称描述时,可以通过药品相应说明书中详细的信息对指南中A药品的知识进行补充,达到医学和药学知识的融合。
2.3 医药学知识的可循证性
MDO模型在表示细粒度医药知识的同时,通过增加医药学知识的循证性表示使细粒度医药学知识可进行循证查询和推理。MDO可循证本体概念如
图4所示。医药学知识循证本体概念围绕循证评估类展开,每一医学文档知识都有相应的循证评估实例用来表示文档的来源和医药学循证信息。具体而言,循证评估实例包含信息来源追溯、所使用的循证体系、知识点之间的关联和常见循证依据4个方面信息。
图5为医药知识循证示例。
在信息来源追溯方面,通过来源信息关联到其出处,即相关指南或说明书的实体并给出相关基础信息,此外也有评估人、评估时间等属性补充说明。在循证体系方面,循证体系类中包含不同类别的循证标准,如广泛使用的GRADE循证分级标准
[18],该标准包含高级证据、中级证据、低级证据和极低级证据4个证据级别,级别之间用高于证据和低于证据表达循证等级强弱,循证评估实例通过有证据等级关系关联到循证体系下的各证据等级,用同样方法构建其他循证证据(包括老五级证据和观察性研究等)并进行关联;依托循证体系及其证据强弱关系表示,可支持医学指南的循证强弱关系推理,如可设定针对指南文档之间的循证等级强弱判定规则,通过分析对比其循证评估中所涉证据强弱得到某指南的循证等级高于另一指南。在知识点关联方面,本文使用知识点支撑/知识点反对属性将循证评估实例所涉及的指南具体知识点进行关联,从而完善循证知识的论证关系。最后,在常见循证依据方面,增加是否有对照实验、疗程、随访期等循证依据,与证据实例一起对文献循证知识做进一步解释。
3 医药学知识规则和推理
知识可由人工或者算法从元数据中定义或抽取,但医药知识体系庞大导致不能涵盖所有知识,因此可以通过知识间的关联制定规则推理出潜在知识。本节分别介绍MDO模型中的词语级语义细粒度推理、结构细粒度推理和可循证知识推理三部分共9条推理规则,如
表2。
3.1 词语级语义细粒度知识推理
词语级语义细粒度知识作为MDO模型中最详细的知识点,包含细致、全面的医药学知识,通过知识间的相关性、相似性可以推理出更多知识点,针对词语级细粒度知识的特点,给出规则如
表2所示。
表2中规则1推理出指南文献知识的关联术语;规则2表示若两种药品之间的作用结果为药效提高,则可推理出两种药同用时不良反应会增加;规则3表示若药A对疾病有正相关关系,但药B对疾病有不良反应,那么药A与药B不宜同用。
3.2 结构细粒度知识推理
医药学文档中所含的结构细粒度知识是承接整篇文档和词语级语义细粒度知识的桥梁。
通过
表2中规则4的推理可得到某指南知识点属于哪篇指南文献;规则5可以推理出某一相互作用的具体原文信息,方便了解原文知识。同理,药病正负相关信息也可进行推理。结构上很多属性都具有从属关系,因此能推理出更多结构细粒度知识。
3.3 可循证知识推理
医学循证旨在用证据解答临床问题,可以很好地弥补经验医学所带来的问题,是不同于传统医学的新医学思维模式和临床医学研究方法。
规则6可以解决数据不完整问题,补充知识点信息,如推理出指南出版期刊、文献作者等来源信息;规则7、8表示知识点之间的支撑或反对关系的推理,知识点支撑属性具有传递性、对称性和自反性,而知识点反对属性具有反对和非自反属性;规则9则是对文献的循证等级推理,根据文献证据等级推理文献间的循证等级。
需要指出的是,医学知识的规则和推理远不止
表2所列部分,本文只针对MDO所支持的代表性推理规则进行列举以说明其对于医药文献的词语级细粒度语义知识、结构细粒度知识和可循证知识的表达和推理能力,以上各类规则可在医学专家的辅助下进行扩展。
4 基于MDO的高血压知识图谱案例分析
由于高血压患病人群逐渐由高龄化、极端化向低龄化、大众化方向发展
[19],因此全面系统了解高血压疾病尤为重要。本节介绍使用MDO模型来对高血压类疾病进行医药学知识库构建和使用的案例,包括高血压知识图谱构建过程和结果、标注一致性分析和表达能力分析三个部分。
4.1 高血压知识图谱构建流程及结果
本案例中的医学指南和药品说明书均来自公开权威网站,医学指南抽取流程如
图6(a)所示,得到数据后通过阅读和分析指南内容选出内容全面、研究最新和价值高的文献并按照研究内容进行分类。随后将每篇指南按照结构分为章节、子章节和段落,再由人工标注每一段落中的文本,并对文本中包含的所有知识点进行标注,对标注的数据进行检查,最后得到622条高血压指南。
说明书数据为自动化抽取,流程如
图6(b)所示。本文从药品说明书的文本描述出发,以自然语言处理中的命名实体识别技术作为该信息抽取框架的出发点,以药品、疾病、身体部位、症状4个名称类别作为识别任务,使用词典匹配与深度学习相互补充为手段,充分挖掘出药品说明书中存在的药学知识。
图6(b)流程中,数据采集是从互联网相关权威数据源采集的药品说明书文本数据,采集到的数据以句号进行分割后储存,便于后续流程进行处理。命名实体识别部分从文本中识别出“药品”“疾病”“症状”和“身体部位”四类名称。将这4类实体作为主体,利用人工收集到的有限词典名称,以最长字符串匹配方式将原始文本转换成模型所需的训练数据集,为实体关系抽取提供数据来源。关系抽取部分则使用BERT(wwm)-BiGRU-ATT
[20]模型识别上一步识别出的实体。关系抽取以BERT作为上游的编码器,文本编码为中间词向量,下游以双向GRU网络和注意力机制来对上游编码的词向量进行训练。加入Attention机制可以对输入文本中的关键信息突出显示,以便更准确地抽取关系
[20,21]。最后得到有相互作用、无相互作用、疾病正相关、疾病负相关、不良反应和禁忌在内的6种关系。该网络结构由12-layer、768-hidden、12-heads和110M parameters组成。命名实体识别部分设置的最大句子长度为128,每次处理的句子数为64。关系抽取部分设置的最大句子长度为80,每次处理的句子数为16。最终得到3 445条相互作用、1 779条不良反应和556条禁忌药学数据。
融合医学知识与药学知识后最终得到高血压专病知识图谱,图谱所含各类三元组知识数量占比如
图7所示。在药品说明书知识中,占比最大的药品或成分间相互作用知识共有16 380条三元组,而不良反应类知识有14 392条三元组,占比最少但利用率最高的药品基本信息共2 509条数据,使用者可以通过药品基本信息查询药品的用法、用量或其他知识。医学指南中占比第二大的指南句子虽然只有622条数据,但由于每一条指南句子中存在多个三元组知识,因此有1 558条数据的指南细粒度知识占指南知识的比例最大。
图8展示了MDO模型实例,从中可看出《高血压药物治疗临床研究进展述评》中某一句子包括:1) 句子结构信息;2) 文本中包含的医疗知识;3) 句子文本级和三个词语级语义细粒度知识;4) 知识支撑的传递性,当不同文献的两个知识点同时支撑某一知识点时,那这两个知识点之间也相互支撑;5) 两篇文献的安全性评估均为安全和其他循证信息。
从药品说明书中得到的药学知识及相关信息如
图9所示。
图9展示了药药相互作用1中所包含的消胆胺和氢氯噻嗪片这两个实体间的相互作用以及作用结果等信息,同时也展示了两实体的基本信息,集中了相关信息,降低了了解医药知识的门槛。
4.2 标注一致性分析
为了证明MDO模型能被广泛使用,本文针对图谱构建过程中的标注步骤展开标注一致性实验,并用IAA评测指标
[22]对标注结果进行评测,IAA指标常用来评价标注一致性及标注的难度,通常关注以下指标:查准率(Precision),召回率(Recall)和
F1指数。
标注一致性实验的具体做法为先制定标注规则和注意事项,针对指南句子标注其中的医学知识本体、实例和句子中所有词语级细粒度知识,标注任务并不复杂;对药品说明书句子则标注实体对、药学知识类别和具体知识。由于药品说明书句子专业性较强,还需专业药师进行标注,同时使用BERT(WWM)-BiGRU-ATT模型对药品说明书进行自动识别。
对标注的指南句子,以3名标注者中标注数量最多者为标准;说明书句子由于有专业药师对数据进行核对与标注,因此将药师标注数据作为金标准,医学指南句子和药品说明书句子这两部分的
F1值如
表3所示。
对
表3测评结果分析后发现,医学指南句子和药品说明书句子这两部分
F1值无法达到100%的原因主要有两个方面:1) 标注者对文本语义的理解无法达到一致;2) BERT(WWM)-BiGRU-ATT模型在识别药品说明书中的复杂句式和长句子时有误差。结果汇总后,IAA实验的平均查准率为93.92%,召回率为87.63%,
F1值为90.63%,显示MDO模型有较好的一致性。
4.3 表达能力分析
本节以构建的高血压知识图谱为例,设置不同查询场景以分析MDO以及
表4所示的其他现有医学本体模型的表达能力。表达能力分析涉及到医药学知识、知识循证、药品联用、临床业务知识、知识推理等几个查询场景。
1) 医药学知识查询。该类查询主要查询模型中医学和药学知识,包括医药学基本信息、医学细粒度知识、药学相互作用知识等。MDO模型针对该场景可写出
图10的查询语句,
图10(a)(b)(c)分别可用于查询指南文献知识、药品的基本知识和药品禁忌相关知识。
表4中本体1通过搜索某一药品得到药品基本信息和相互作用等信息;本体2作为术语体系,仅支持知识的术语层面的查询;本体3可查询医药知识基本信息,但对相互作用信息无法查询;本体5支持指南文献中本体和知识层面的查询,对细粒的指南知识则无法查询;本体4和本体6可对临床知识中的医学和药学知识进行查询,但对禁忌等深层次药学知识无法查询。
2) 知识循证查询。该类查询可得到知识的来源和医学循证信息。MDO模型针对该场景可写出
图11的查询语句,
图11(a)(b)(c)分别可查询知识的出处、知识的医学循证信息和知识点之间的论证关系。
表4中本体1既可以查询知识的来源信息,也能查询医学循证知识如临床试验信息;本体3可查询知识的来源信息,如知识相关文献和机构;本体4为医学循证标准,可进行知识的医学循证;本体2为专业规范的术语库,本体5、6只是对已有医学知识进行构建,并未涉及到知识循证,因此无法进行此类查询。但以上资源都不支持知识的论证关系,即无法得知知识间的支撑或反对关系。
3) 药品联用查询。该类查询可得到不同药品之间的相互作用等信息。MDO模型针对该场景可写出
图12的查询语句,
图12(a)(b)(c)分别为药品联用相关信息、联用药品产生的禁忌信息和查询与药品有相互作用的另一药品。
表4中本体6可以查询到药品联用的信息;本体1、3可以查询药品的相关知识,但无法查询药品联用信息;本体2仅展示药品相关术语知识,不支持联用查询;本体4不单独对药品信息进行展示;本体5同样不支持药品联用查询。
4) 临床业务知识查询。临床知识包含了病例、实践知识、医学和药学知识。MDO模型主要关注文献文档中的知识建模,因此不能直接支持医疗机构的业务知识查询,如患者的就诊、处方、诊疗过程信息等,但可用于标注业务系统中的部分文档,如病历文本中所包含的医药学知识。
表4中本体4为临床医学循证,本体6是基于大量临床处方数据构建,因此本体4、6支持临床业务知识查询;同时本体1、2、3支持部分的查询,如本体1可查询知识临床试验信息,本体2可查询疾病相关编码信息等;本体5不支持临床业务知识查询。
5) 知识推理查询。该类查询可推理已有知识后得到潜在知识。MDO针对该场景可写出
图13的查询语句,
图13(a)(b)分别展示了药品联用及相关作用结构和禁忌推理及两篇文献间循证等级高低的推理。
表4中本体5支持模型的检索,因此可以得到部分推理知识;本体6可通过药品的联用得到潜在的知识;其余本体如本体2仅构建概念体系,并不提供额外的推理支持,因此并不支持这类查询。
不同系统在不同场景下的表达能力分析如
表5所示。MDO模型除了不直接支持临床业务知识查询外,对医药学知识、知识循证、药品联用和知识推理都具有较好的表达能力,相较于现有其他本体表现更好。
5 结 语
本文在建模时增加医学术语模块和RDF具化方案,使用词语级三元组表示医药学知识,对医学、药学知识中的专业医学知识进行具体灵活表示,增加了医学循证对指南文献的循证知识进行分析与处理;介绍了词语级语义细粒度、结构细粒度和知识循证三个方面的推理规则并给出了部分实例,且模型的一致性和表达能力都表现较好。
本文未来工作方向主要是进一步完善医药知识本体,并针对医学指南中文本知识类别多、知识类别分布不平衡以及文本复杂等问题进行知识自适应的自动抽取的研究。可根据医学文本中存在关系关键词的特点,对文本中的全量关系进行抽取,并用关系冗余度对全量关系进行衡量;然后利用关系冗余度自适应地选择实体、关系抽取顺序,减少文本中实体间关系多样化造成的关系冗余和抽取效率低等问题;最后利用抽取出的关系关键词信息对文本语义进行补充、增强,以此降低模型对标注语料的依赖,使模型在小样本数据下仍有较高的准确率。同时还将对医药知识规则的自动化或半自动化发现进行更深的研究,扩充医药学知识的规则及推理。
国家自然科学基金(U1836118)
富媒体数字出版内容组织与知识服务重点实验室开放基金(ZD2020/09-01)
湖北省教育厅科学研究计划指导项目(B2019009)