谢红薇,闫 婷,车晋强
(太原理工大学 计算机科学与技术学院,太原 030024)
本体驱动的贝叶斯网络模型在医学诊断中的应用
谢红薇,闫 婷,车晋强
(太原理工大学 计算机科学与技术学院,太原 030024)
基于本体驱动的贝叶斯网络模型来辅助医学诊断,采用以NETICA API(Application Programming Interface)为基础的算法实现本体和贝叶斯网络之间的映射来自动构建贝叶斯网络给出诊断信息。选择高血压诊断医学模型对本文模型进行验证,实验结果表明,该模型是正确且可行的,在医学诊断中具有很好的普适性和可移植性。
本体;贝叶斯网络;智能诊断;高血压
医学诊断操作中存在着大量的不确定性,这些不确定性来源于信息的不完整或者知识的不可靠性。本文选用本体来解决知识管理以及用贝叶斯网络的方法来处理不确定性诊断。本体作为一个知识库,能够将领域知识表达成机器可读的形式;可以基于语义表达出一个复杂领域的组织结构,但是它不能够处理知识的不确定。贝叶斯网络通过获取不确定知识的置信度,在给出不确定知识的推理结论方面广为应用[1-2]。本体含有实体类以及对象属性和关系属性,通过大量的实例,本体可以依赖于对象属性将实例形成一张图结构;贝叶斯网络拥有自己的变量,这些变量之间通过依赖关系也能形成一个图结构。因此,可以实现本体与贝叶斯网络的相互转换,将本体实例映射为贝叶斯网络变量,将本体实体之间的对象关系映射成贝叶斯网络变量之间的依赖关系。
本体与贝叶斯网络各有长处,本文的创新点在于结合本体与贝叶斯网络的优点,创建一个本体驱动的贝叶斯网络模型以将本体的知识采用贝叶斯网络表达出其概率,通过提供病人患病概率,对医学疾病的诊断提供参考依据。本文首先使用protégé来构建高血压疾病本体,然后以NETICA API (Application Programming Interface)为基础,从高血压疾病本体中自动构造贝叶斯网络模型,最后利用贝叶斯网络推理出病人患高血压的概率。
目前,很多学者研究了本体并给出其定义[3-8]。从本质上来看,本体提供一种明确定义的知识。这个知识能改进各信息体彼此交流意识的精度和效率,从而获得操作、重用以及共享等其他好处。具体开发过程如下。
1.1 本体的目标和范围
为了能够清楚地表述医学领域的概念以及概念之间的关系,所构建的医学领域本体不但要满足医学领域的需要,还应当具有较强的语义推理,因此,该本体的构建需要职业医师的参与。
1.2 构建本体
图1 医学本体类的层次关系Fig.1 The hierarchy of medical ontology
首先,在构造领域本体之前,应当描述领域中的关键概念,图1描述了定义在医学本体中的关键概念。本体中,类是概念的表述,在此特别提及两个主要的类,即原因(Cause)和结果(Effect)。原因的子类有环境(Environment)和遗传(Heredity),结果的子类有疾病(Disease)、症状(Symptom)、病症(Sign)、检验(Test)。
第二步是确定概念间的属性关系。本文两种主要属性关系,如图2所示。
图2 医学本体中类之间的关系Fig.2 The ralationship between classes in the medical ontology
任何病因至少有一个结果,实现方式为Cause has Effect(逆关系是Effect of Cause)。任何结果可以产生其它结果,实现方式为Effect generates Effect(逆关系是Effect generated By Effect)。这两种关系都具有可逆性。关系的可逆性对于贝叶斯网络的图形化很重要,应用于双向推理当中。
本文所构建的本体知识库主要来源于高血压领域,如图3所示。在环境类中,我们添加了饮酒、肥胖、运动、吸烟四个实例,在遗传类当中,我们增加了是否具有高血压病族史类,而在疾病类中,我们增加了高血压以及肥胖症,类似的,我们在病症、病状以及检验子类中都增加了相应的实体。
图3 高血压领域本体实例的定义Fig.3 The definition of medical ontology instance
上述所描述的本体类以及实体及类与类之间的属性关第、对象关系都存储于一个后缀为owl的文件当中,它符合OWL规范,其本质上属于XML文件。我们可以将该本体文件移植到任何一个领域当中,而不需要做很多的更改,只要保留基础类Cause和Effect,这是因为构造贝叶斯网络模型只需要那些基础类即可。
贝叶斯网络是广泛用于不确定性的概率知识表示的图形化模型[9]。人们获得的知识由于主观性、随机性、歧义性、模糊性常常具有一定的不确定性,贝叶斯网络以一种合理的方式通过概率表示现实世界中事物存在的不确定性,同时模块化地表示不确定知识,使得贝叶斯网络在不同环境中得以应用,尤其是在推理方向。
贝叶斯基本结构为有向无环图,它负责对应用领域内的变量以及变量之间的关系进行编码,将关联的数字部分以及联合概率分布进行关联编码,贝叶斯网络模型当中可以对结构和数字信息进行建模。贝叶斯网络的构建可以按照下述步骤[10]:
Step.1 确定领域中的变量及变量的取值范围;
Step.2 确定领域之间变量的关系并将关系描述为图形化结构;
Step.3 在贝叶斯当中的变量全部来源于在本体当中定义的实体。
在贝叶斯网络模型当中,每一个节点代表领域变量,而节点之间的关系代表节点与节点之间的依赖关系,本文采用NETICA API[11](Application Programming Interface)来创建贝叶斯网络。贝叶斯网络节点之间的层次结构可由程序代码自动构建,这个构建操作基于医学本体中实体之间的层次关系。所有的贝叶斯网络节点在内存中以并行方式创建,节点之间的父子关系通过在执行的线程之间采用同步技术来创建,因此子节点将会等待直至它所有父节点都创建完毕。在构造算法完成之后,条件概率表将会填充上默认值(这个操作由NETICA自动完成)。
条件概率表的结构依赖于父结点的数量。在构建时,存在如下三种状态:
1) 对于没有父结点的根结点,条件概率表达的状态和节点在本体中定义的属性一样。
2) 若节点只存在一个父节点,用二维矩阵表示其条件概率表。其中一维是节点的状态,另一维是父节点的状态。
3) 对于那些多于一个父节点的节点,本文采用Noisy-Or算法[12]来减少概率参数的数量。Noisy-Or可以大大简化条件概率表。并且在实际应用中,估计任意两个节点之间的条件概率要比估计多个节点针对于一个节点的联合条件概率要容易。
定义1 因果独立性。在贝叶斯网络模型中,若父变量X1,X2,…,Xn均可以单独对子变量C产生概率影响,则称这n个父节点是相互因果独立的。
在因果独立的情况下,称贝叶斯网络模型为Noisy-Or模型,Noisy-Or模型中各节点的父节点之间都是因果独立的。则图4所示的贝叶斯网络中节点X4发生的条件概率如下所示。
(1)
图4 简单的贝叶斯网络Fig.4 A simple Bayesian network
文中大多数条件概率表来自中国心血管病报告2010[13]。极少数条件概率表是经由心血管医生的指导下统计获取的。例如,表1显示了不同危险因素对高血压患病风险的影响。
NETICA既提供了可以操纵贝叶斯网络的多种程序语言API,又提供了可视化操作贝叶斯网络的软件产品。NETICA的可视化推理实验方法如下。
表1 不同危险因素对高血压的患病风险
1) 生成贝叶斯网络层次结构。本文的第1节对本体进行了介绍并讲解了如何构建本体,然后以高血压领域为例子建立了高血压领域本体,该本体存储在一个符合OWL规范的XML文件中。该文件将成为第2节讲解的从疾病本体自动构建疾病的贝叶斯网络模型算法的输入,同时该算法还将输出一个NETICA软件产品可识别的贝叶斯网络模型。不过这个模型还不能够用于推理,因为该模型仅仅包含了从本体中映射而来的结构信息。
2) 输入模型的数字信息—条件概率表。条件概率表将采用本文第2节所讲的方式进行处理。对没有父节点或者只有一个父节点的那些节点,其条件概率表可以直接在可视化的表格中输入。
对于有多个父节点的那些节点,采用Noisy-Or算法来简化条件概率表。其条件概率将采用式(1)来计算。在NETICA软件中,采用Noisy-Or算法的条件概率表用公式表示。在高血压贝叶斯网络模型中,有两个节点需要使用Noisy-Or算法。
节点Obesity(肥胖)的条件概率公式如式(2)所示。其中,数字0.30表示p(Obesity|Overnutrition)=0.30,即Overnutrition(营养过剩)取值为yes的条件下,Obesity(肥胖)取值为yes的概率。同样,数字0.27可以类似的解释。
p(Obesity | Overnutrition, notEnoughExercise)=NoisyOrDist(Overnutrition,0.30,notEnoughExercise,0.27) .
(2)
节点Hypertension(高血压)的条件概率公式如式(3)所示。
p(Hypertension | Cholesterol, Obesity,triglyceride, Alcohol,Smoking, FamilyHypertension)=NoisyOrDist(Cholesterol, 0.432 6,Obesity, 0.512 0, triglyceride, 0.372 0, Alcohol, 0.288 3, Smoking, 0.263 2, FamilyHypertension, 0.303 8) .
(3)
3) 输入病人证据并诊断。采用如表2所示的证据来做实验测试,该证据来自一位确诊患有高血压的病人。
首先输入表2中除节点Obesity、Cholesterol、 triglyceride以外的所有证据,诊断结论如图5所示。从图5可以看出该病人患高血压的概率是65.2%。
表2 系统测试数据
图5 诊断结论1Fig.5 Diagnostic conclusion 1
现在我们在上一次诊断证据的基础上加上Obesity这个节点的证据。输入这些证据得到的诊断结论如图6所示。此时可以看到该病人患高血压的概率是83.4%。由于有了Obesity这个更强的证据,此时Overnutrition节点与notEnoughExercise节点的证据就失去了作用。从图6可以看出通过Obesity节点证据反推出Overnutrition节点与notEnoughExercise节点的概率。
图6 诊断结论2Fig.6 Diagnostic conclusion 2
最后,输入表2中的所有证据,得到的诊断结论如图7所示。此时可以看出该病人患高血压的概率是84.8%。对比图5—图7,我们可以看出,证据越充分,诊断的准确性越高。通过该诊断模型,可以对病人高血压患病情况提供诊断参考。
图7 诊断结论3Fig.7 Diagnostic conclusion 3
此外,还可以在确定病人患高血压的概率后,进一步推理出该病人由高血压引起的症状或其它病症的概率。图5—图7中之所以Cephalagia,Epistaxis,Dizziness这3个节点的概率为默认值(50%),是因为我们尚未提供高血压与这些节点之间关系的条件概率表。
本文所提出的本体驱动的贝叶斯网络模型充分利用了本体知识库的语义性及强表达性,自动将本体中的实体转换为贝叶斯网络模型。从而巧妙地利用了贝叶斯网络在解决不确定性和非完整性信息的优势。
为证明该模型的有效性,本文构建了一个高血压本体。通过将高血压本体映射在贝叶斯网络模型中,输入不同的条件概率,获得患者患高血压的概率。实验结果表明,本体驱动的贝叶斯网络模型可以根据高血压病人数据做出正确的判断,同时不难看出诊断精度依赖于患者证据,证据越充足,诊断精度越高。此外,诊断精度也取决于贝叶斯网络结构的合理性以及条件概率的准确性,所以在未来的工作中我们会调整高血压本体的层次结构使其更加合理,进一步提高条件概率表的准确性。
由于现有的依靠测量血压的方法来诊断高血压存在一些缺陷,例如“白大衣效应”导致误诊,隐匿性高血压可能会导致漏诊。因此,本文建立的高血压诊断模型可以作为现有诊断高血压方法的补充,辅助内科医生更好地做出诊断。
[1] CHAPELLE O,ZHANG Y.A dynamic Bayesian network click model for web search ranking[C]∥ACM.Proceedings of the 18th International Conference on World Wide Web,2009:1-10.
[2] SRINIVAS K,RANI B K,GOVRDHAN A.Applications of data mining techniques in healthcare and prediction of heart attacks[J].International Journal on Computer Science and Engineering (IJCSE),2010,2(2):250-255.
[3] JUNG J J.Reusing ontology mappings for query routing in semantic peer-to-peer environment[J].Information Sciences, 2010, 180(17): 3248-3257.
[4] SPIES M.An ontology modelling perspective on business reporting[J].Information Systems,2010,35(4):404-416.
[5] LI J,TANG J,LI Y,et al.RiMOM:A dynamic multistrategy ontology alignment framework[J].IEEE.Transactions on Knowledge and Data Engineering,2009,21(8):1218-1232.
[6] WANG J,HUANG Q,LIU Z P,et al.NOA:a novel network ontology analysis method[J].Nucleic Acids Research,2011,39(13):e87.
[7] LEHMANN J.DL-Learner:learning concepts in description logics[J].The Journal of Machine Learning Research,2009,10:2639-2642.
[8] JEPSEN T C.Just what is an ontology,anyway?[J].IT Professional,2009,11(5):22-27.
[9] LIU K F R,LU C F,CHEN C W,et al.Applying bayesian belief networks to health risk assessment[J].Stochastic Environmental Research and Risk Assessment,2012,26(3):451-465.
[10] DARWICHE A.Modeling and reasoning with Bayesian networks[M].Cambridge:Cambridge University Press,2009.
[11] NORSYS SOFTWARE CORP.Netica-J Manual[M].Vancouver:Norsys Software Corporation,2010.
[12] HENRION M.Practical issues in constructing a Bayes’ belief network[J].2013,3:132-139.
[13] 卫生部心血管病防治研究中心.中国心血管病报告2010[M].4版.北京:中国大百科全书出版社,2010:44-78.
(编辑:朱 倩)
Using Ontology-Driven Bayeslan Network Model in Medical Dlagnosis
XIE Hongwei,YAN Ting,CHE Jinqiang
(DepartmentofComputerScienceandTechnology,TaiyuanUniversityofTechnology,Taiyuan030024,China)
An ontology-driven Bayesian Network model is proposed in the paper in order to assist medical diagnosis. An algorithm based on NETICA API is used for realizing the mapping between the ontology and Bayesian network to build Bayesian Network automatically in order to make a diagnosis. Finally, a sample medicine model for the diagnosis of hypertension is adopted to test this model. Experimental results demonstrate that the model is correct and feasible. The proposed model has good universality and portability in medical diagnosis.
ontology;bayesian network;intelligent diagnosis;hypertension
1007-9432(2016)03-0389-05
2015-05-30
国家高科技研究发展计划(863计划):基于用户兴趣模型的媒体大数据内容整合与合视化技术(2014AA015204),山西省国际科技合作项目:基于数据分析的远程智能监护系统和推理辅助诊断模型系统研发(2014081018-2),山西省科技基础条件平台建设基金资助项目(2013091003-0103)
谢红薇(1962-),女,江苏武进人,博士,教授,主要从事人工智能、医学信息学的研究,(E-mail)xiehongwei@tyut.edu.cn.
TP39
A
10.16355/j.cnki.issn1007-9432tyut.2016.03.021