基于可视化知识图谱的心电图特征分析
2021-08-31李俊丽张洋陈润赫王子琪张桂溪邱磊
李俊丽,张洋,陈润赫,王子琪,张桂溪,邱磊
(青岛大学自动化学院,山东青岛,266071)
0 引言
心血管疾病是全球最常见的死因之一,中国心血管病患病率处于持续上升阶段[1]。在心血管病的诊断过程中,心电图必不可缺,不仅是心脏疾病特征的直观表现,更是专家观察疾病发展状况、快速诊断复杂心律失常、药物治疗效果的关键辅助信息[2]。
知识图谱是一种表示实体之间关系的语义网络,强调语义检索能力,它能够对事物及其相互关系进行形式化描述[3]。在人体12导联心电图领域开展知识图谱可视化系统的目标之一是实现计算机理解心电图判别专家的经验知识、创建封闭领域的可视化知识图谱,模拟专家诊断病态心电图特征过程,打造智能大脑。目前,国内外已有的医学类知识图谱均不能实现心内科疾病的诊断,本研究能够基于心电图的知识原理,补充心脑血管疾病诊断方面知识图谱的空白,推进心电图诊断知识体系的标准化、智能化[4]。本文通过分析常见病态心电图数字属性值以及形态属性值创建了可视化知识图谱系统,实现12导联心电图的特征语义关联,找到实体与实体间的联结性,实现实体与关系对齐,发现隐含的实体关系,是人工智能与医疗相结合的实践。
1 前期准备
1.1 构建流程
知识图谱构建流程为:(1)知识抽取与表示,从电子病历、医学类百科网站等渠道抽取心电图波形与心脑血管疾病的相关信息,识别出实体与实体间关系。(2)知识融合,将不同来源的知识进行消岐、加工、推理、更新等步骤。(3)知识推理,将以三元组形式(头实体,关系,尾实体)的知识进行实体预测和关系预测,结合深度学习模型,赋予实体到实体之间可推理的概率。(4)图谱可视化,利用图数据库Neo4j或者本体构建工具protege将图谱进行可视化展现。
1.2 特征预处理
心电图特征之间的关系可以用语义网络来描述,这种语义网络由结点与弧构成,是一种有向图。语义网络将实体与属性通过关系进行联结由“实体-关系-实体”或“实体-属性-属性值”三元组构成。心电图内涵丰富、数据量大,心电图诊断过程所涉及的概念和知识多而杂,结合心电图诊断知识特点,需要创建其语义类型和属性关系的规范文档,内容如表1。
表1 语义类型的分类
为了识别实体与实体之间的关系,需要对心电图知识进行抽取与表示。实体之间的关系的识别依靠人工识别和机器结合,在本文研究内容中,心电图判断过程并未有现成知识库,例如中文维基百科也只是给出了相关心血管疾病的解释。依据国内外权威参考文献,基于统计学的方法采用人工识别的方式获取病态分类、实体对应关系、分类属性值及波形形态特征。
2 Neo4j构建知识图谱实践
2.1 Neo4j介绍
Neo4j是一个高性能的、NoSQL数据库,它将结构化数据存储在网络上而不是表格中。同时,它是一个嵌入式的、基于磁盘的、具备完全的事务特性的Java持久化引擎,是一个成熟的、具有推理功能的引擎。利用Neo4j来构建心电图的知识图谱,能够直观地分析不同病态心电图的结构化数据网络。
2.2 知识图谱的实现
在建立心电图的知识图谱时,首先需要对心电图病态种类以及其包含的变异波群定义规则。我们将病态心电图的种类、12导联、波群形状、波形持续时间、表达关系进行了详致的分类,方便后续导入Neo4j。例如,本文将病态种类分为37种,依据不同参考资料,所创建分类也不同。
在对实体与关系进行了定义之后,将表格导入Neo4j,对其输入命令,使关系与实体全部呈现。这种实体与关系的可视化表示,可随意进行拖拽处理,还可以对其进行定义实体的属性。例如实体:窦性心动过缓,可对其定义属性:病名。
如图1所示,我们将实体与关系一同呈现的知识图谱展开,可以看出,同时拥有实体与关系的心电图知识图谱是一个封闭的语义网络。
图1 实体与关系的知识图谱
为了更加清晰地分析其中某些病态心电图之间的联系,我们截取WPW综合征这一部分进行介绍,由图2可以看出,WPW综合征表现出P-R间期缩短和出现预激波的特征。在P-R间期缩短这一特征中表现为缩短的间期时间的数字属性值不同,其所属疾病类别也不同。不同的数字属性值联结不同的实体,最后联结不同的病名,不断拓展,形成一个封闭的知识图谱。
图2 局部网络关系图
在创建知识图谱中,需要重视的是语义网络的分类问题,随着医学知识数据库的不断充盈,心电图的判断标准将会不断被细化、规范化,来满足构建专用知识图谱的需求。同时,上述基于Neo4j平台所实现的知识图谱还存在一定的局限性,在各类疾病判别中,特殊病征如波形不规则震动,其宽度、幅值和频率没有进行一个明确的分类,这会导致不同病系的特征识别度不高。为了提高病系的特征识别度,我们基于protege平台,创建了改进型的病系专用知识图谱,并获得了更加细致的实体分类。
3 protege构建知识图谱实践
3.1 protege介绍
protege是一种用于构建域模型与基于知识的本体化应用程序,提供了大量的知识模型架构与动作,用于创建、操纵各种表现形式的本体。OWL本体语言是知识图谱中最规范、最严谨、表达能力最强的语言,它基于RDF语法,可以认为是RDF的拓展,使表示出来的文档具有语义理解的结构基础。针对心电图病系中复杂的实体关系,可以采用描述逻辑的方法进行推理,使用protege来建立OWL 语言三元组的关系。
3.2 病系专用知识图谱的实现
以左右束支传导阻滞这一大病系为例,我们使用protege建立八个实体类,并导入相关实例,由弧即关系联结,形成了完整的专用病系心电图知识图谱。在OWL本体语言中,描述逻辑是基于知识表示的形式化,也叫概念表示语言或术语逻辑。下面对本体语言中的专用词汇进行解释。
◎概念,解释为一个领域的子集。例如,病:{x|disease(x)}。
◎关系,解释为该领域上的二元关系。例如,持续:{(x,y)|last(x,y)}。
◎个体,解释为一个领域的实体。例如,左前分支传导阻滞:{LAFB}
在左右束支传导阻滞病系中,我们通过研究和分析病系判别的细则标准,提取出隐含的实体,采用人工分类标注的方式进行语义分类。如图所示,创建了八个类别。
表2 病系的语义类型分类(1)
表3 病系的语义类型分类(2)
在进行语义类型分类之后,将实体与关系导入平台,开始创建基于protege的知识图谱,如图3所示,是八个实体类型的呈现。
图3 八个实体类别
我们将八个类别的实体与关系对齐,并从知识库中抽取类别的子集对应的实例,将其导入protege,得到左右束支传导阻滞病系的专用知识图谱,如图4所示。我们可以通过输入某一特征值,得到其联结实体,更加直观地展现左右束支传导阻滞病系的框架。
图4 病系专用知识图谱
以第八个类别(波形的形态形容)为例,如图5所示,波形的形状描述共有15种,每一种描述所对应的波(QRS 波、P波等)都不同,正是这些联结实体的繁杂,导致医生在实际诊断中有一定的困难。而知识图谱的展现,使特征之间的联系形象化、具体化,为医疗诊断带来便利,也为知识图谱后续的衍生服务提供了可行性。
图5 波形的形态形容
4 结束语
在数字领域,人工智能与医疗相结合的成果展现出巨大的潜力,使用数据库与查询语言相结合的知识图谱是一个具有创新性的工具。在病态心电图判别领域中,本体语言规范且具有规则性,运用知识图谱对病态心电图判别过程可视化目标之一是辅助医生查询,提高诊断准确性。目前并没有类似的心电图判别可视化知识图谱,它的出现也是人工智能实际应用的一个进展。本文提出了基于两种平台的知识图谱,基于Neo4j的知识图谱涵盖了37种病态心电图,内容广泛但实体分类不够细化;基于protege的知识图谱展现了单一病系的语义网络,内容更为细致和准确;二者都取得了良好的实践效果,是医疗与人工智能结合的一大尝试。
在创建知识图谱中,需要重视的是语义网络的分类问题,随着医学知识库的不断充盈,心电图判断标准不断细化、规范化,相信语义网络的语义分类不是难点。知识图谱中最规范、最严谨、表达能力最强的语言为 OWL 本体语言,它基于RDF语法,可以认为是 RDF 的拓展,使表示出来的文档具有语义理解的结构基础。对于像心电图知识领域中复杂的实体关系,可以采用描述逻辑进行推理。Hermit 是使用 OWL编写的本体论的推理器,给定一个 OWL 文件,它可以确定本体是否一致,识别类之间的包含关系等等,它基于一种新颖的“超高级”演算,提供比任何以前已知的算法更有效的推理。后续研究可将建立好的语义网嵌入到基于 Java 的 jena 框架中实现更加深度的混合推理。