基于本体的临床诊疗推理研究

2018-07-20 01:40张敏罗军詹火木
电脑知识与技术 2018年13期
关键词:推理本体语义

张敏 罗军 詹火木

摘要:为了解决传统临床诊疗领域存的医患供需关系不平衡、人为因素带来医疗事故不可避免和无法为病人提供更加个性化的服务等问题,在研究本体的知识表示和推理的基础上提出了基于本体的临床诊疗模型和推理模型。将其运用到具体的疾病领域中,为医生和病人提供可参考的诊疗方案。以高血压疾病领域为例,验证了基于本体的临床诊疗模型和推理模型的可行性。

关键词:本体;临床诊疗;推理;语义;个性化

中图分类号:TP39 文献标识码:A 文章编号:1009-3044(2018)13-0267-04

随着医疗信息化的发展,信息技术已经广泛的应用于临床诊疗领域的各个医疗环节,提高了医疗的服务质量和效率。这些应用主要是将信息存储到计算机中,方便检索和查阅,而信息中蕴含的有价值的医疗知识却没有良好地利用。本体作为人工智能领域中一个热点方向,能够定义各种类别、关系和规则来对知识进行表示。在此基础之上通过自动的逻辑推理获取本体中蕴含的知识。本体对于知识的表示能力是现有的医疗系统不具备的,因此将本体引入临床诊疗领域,为临床诊疗领域建立本体的表示模型和推理模型,便于医疗知识的共享、减少人为因素带来的医疗事故、并且提供可参考的个性化的诊疗方案。

1 相关概念介绍

1.1 本体概念介绍

本体是知识的建模方式,公认的本体的定义是Grube在1993年提出的本体是对共享的概念进行形式化的显示规范说明[1]。本体有5个主要的部分:概念、函数、公理、关系和实例。概念用于表示事物,关系、函数和公理用于描述事物之间的内在联系,实例是概念包含的具体实体。知识可以通过本体进行形式化的表示和共享。

1.2 本体建模介绍

早期的本体语言有RDF、SHOE、OIL、DAML+OIL等,作为W3C标准的OWL语言是在原有语言的基础上受到描述逻辑的影响下发展起来的[2-3]。protégé 是目前使用最广泛的本体构建工具,它具有良好的设计和丰富的插件,同时也支持多种类型的本体[4]。

1.3 模糊理论介绍

模糊理论以模糊集合为基础,用于处理概念不明确的事物[5-6]。其中,模糊集合是与精确集合相对应的概念。模糊理論中主要包含了模糊集合、模糊关系和用以描述隶属程度的隶属函数。将模糊理论应用于本体中,是表示本体中蕴含的模糊信息的一种方式。

1.4 本体推理介绍

本体推理机是建立和使用本体的必不可少的工具。本体推理机通过算法和规则进行推理,从而获得本体中隐含的知识。本体的推理分为通用推理和专用推理,通用推理不需要固定在特定的语言之上,只需要建立相应的规则就可以进行推理,推理效率较低,规则难以维护。专用推理机是为特定的语言开发,推理效率较高,但是扩展性差。典型的通用推理机有jena和jess,典型的专用推理机有Pellet、Racer、FaCT++、HermiT等[7-9]。

2 临床诊疗本体的构建

2.1 领域的需求分析

领域本体的需求分析主要是确定领域本体的构建范围、构建方法和目的。临床诊疗本体的构建范围涵盖了整个临床诊疗过程,包括医生问诊、病人参与实验室检查、医生做出诊断和制定治疗方式等过程。构建方法采用斯坦福大学基于医学本体开发的七步法,在确定的临床领域范围内抽取出关键术语、定义类和类的层次、类与类之间的关系、类的属性、创建类的实例。主要目的是对临床诊疗领域的知识进行分析,建立基于本体的临床诊疗辅助模型,提供可参考的诊断结果和治疗方案。

2.2 本体建模分析

本体是概念的形式化的明确表示,它强调要明确和形式化的描述概念和关系,只能处理精确的语义信息和知识。而临床诊疗领域中的知识主要包括两部分:第一部分是明确的概念和关系可以描述的精确定义的知识,第二部分是通过形式化的方法不能描述的知识,也就是一些相对模糊的信息。下面分析了两种类型的知识在本体中表示方法。

第一种,本体中形式化的方法可以描述的知识。本体中的类可以用来表示明确的概念。本领域中重要的概念包括了病人、疾病、症状、临床指标、药品、治疗方式等,将这些概念分别定义为此领域中的具体的类。这些类之间的关系主要分为三种,相等关系、父子关系和属性关系。相等关系用于定义含义相同的多个类。病人和patient应该定义为相等的两个类,这时病人类的所有实例也是patient类的实例,这符合自然语言的内在含义。父子关系用于定义有继承关系的两个类。药物治疗方式是治疗方式的子类,所有属于药物治疗方式的实例都是治疗方式的实例,但是属于治疗方式的实例并不一定属于药物治疗方式。属性关系用于定义一个类通过数据属性或对象属性与另外一个类发生的联系。病人“有疾病”,疾病“有症状”是可以用对象属性表示的关系, 病人有“年龄”、“性别”等是用数据属性表示的关系。

第二种,模糊信息的表示。临床诊疗领域中包含了青年、老年、中年这样一些概念。这些概念的外延是不明确的。一个年龄为58岁的人在实际中可以归到“中年”,“老年”等不同的集合。为了根据年龄段等模糊特征给病人推荐更加适合的处方,所以利用模糊理论中的隶属函数来计算出实例属于模糊概念的程度。由于构建临床诊疗领域本体中最主要的不确定信息是基于数值的信息。左区间和右区间用于刻画模糊概念的数值范围,隶属函数用于刻画个体对于模糊概念的隶属程度。根据不同的数值信息的论域特征,选取合适的隶属函数计算模糊概念的隶属度。式(1)(2)(3)分别是左梯形、右梯形和梯形隶属函数计算公式

2.3 本体的构建

根据上述分析,构建了图1所示的临床诊疗知识本体表示模型,长方形表示类、平行四边形表示模糊类、圆形表示数据属性的值,模型中主要包含了病人类、疾病类、症状类、临床指标类、治疗方式类、药品类等。 每个类之间的具体关系如下图所示,由于篇幅原因,只展示了部分内容。

3 推理模型

构建好本体以后,通过推理获得本体中蕴含的隐性知识。常用的推理方式包括专用推理机和通用规则推理机。分析了专用推理机和通用规则推理机的优缺点以后,本文采用将专用推理机和通用规则推理机结合起来的推理模式。这种混合推理模式既可以发挥专用推理机的高效率,用户又可以在构建好本体之后加入自定义的推理规则进行推理。混合推理模式与专用规则推理机相比,只需要建立较少的规则,减少规则的维护开销。

3.1 混合推理模式

第一步,在领域专家的帮助下建立好本体与推理规则。

第二步,将建立好的本体转化为本体模型放入内存中,从本体模型中,可以通过接口获取类、个体、属性的信息。

第三步,将本体模型和推理机绑定,得到包含基于描述逻辑推理出来的隐性知识的推理模型。

第四步,如果需要加入一些自定义的推理规则,则将第三步的推理模型与推理规则绑定,得到加入了规则的推理模型,这个模型包含了通过推理规则和描述逻辑共同推理出来的知识。

4 样例说明

4.1 实现高血压的临床药物诊疗推理

4.1.1 高血压领域知识介绍

本文将以高血压领域为例,根据上文的临床诊疗本体模型高血壓领域的知识构建高血压临床诊疗本体,在此基础上实现高血压的临床药物诊疗推理。血压值和危险因素评估是诊断和制定高血压治疗方案的主要依据,目前国内的高血压的诊疗主要依据的是中国高血压防治指南的标准[10].

构建高血压诊疗本体需要依据高血压领域的诊疗标准。根据测量测到的收缩压和舒张压的值将血压分为了不同的种类,根据血压等级与危险因素的个数、临床疾患、靶器官情况将高血压分为低危高血压、中危高血压和高危高血压。根据患者的血压危险级别和病人自身的特殊情况如,妊娠、老年等给出适合的处方。给出合适的处方有两种方式,第一种是根据诊疗标准和患者的情况给出较适合的处方。另外一种是参考之前已经有过的诊疗案例,根据案例之间的相似性获取可用的处方。

4.1.2 构建高血压临床药物诊疗本体

根据高血压领域的知识,在图1的基础上,定义高血压的类、属性、关系、个体等。

1) 高血压疾病类分为低危高血压疾病类,中危高血压疾病类、高危高血压疾病类。

2) 高血压药品类包括了A类降压药、a阻滞剂、β受体阻滞剂、利尿药、固定低剂量复方制剂、钙拮抗剂。每种药都有剂量范围、慎用范围、适用范围、副作用。

3) 高血压处方类分为了药物处方类和非药物处方类,药物处方类分为低危高血压药物处方类、中危高血压药物处方类、高危高血压药物处方类。处方中包括了使用的药品名,使用剂量,服用频率。

4) 病例类包含了病人基本信息、病人的临床指标信息、病人的诊断信息、病人的处方信息。

5) 病人类有姓名、性别等数据属性信息,还有年龄等对象属性信息。年龄类包含了具体的年龄值和年龄段。年龄段类根据图1的模型进行表示,然后可以得到一个年龄对于定义的年龄段的具体的隶属度。通过隶属度,为病人添加具体的个性化的特征。

根据高血压领域的知识,在protégé中建立了如图2所示的高血压诊疗本体。

4.1.3 推理模块

推理模块使用pellet作为专用推理引擎、jena中的通用规则推理机作为规则推理引擎,核心代码如下所示:

Reasoner reasoner = PelletReasonerFactory.theInstance().create();

InfModel pelletReasonerInfModel = ModelFactory.createInfModel(reasoner, this.getOntModel());

List rules = Rule.rulesFromURL("C:\\D\\gaoxueya_rules.txt");

GenericRuleReasoner ruleReasoner = new GenericRuleReasoner(rules);

InfModel ruleInfModel = ModelFactory.createInfModel(ruleReasoner, pelletReasonerInfModel);

先获取pellet推理机的实例,通过ModelFactory创建本体模型和推理机对应的推理模型,通过规则推理引擎获得加入了推理规则后的推理模型。将病人就诊信息实例添加到构造好的高血压临床药物诊疗本体中,然后通过推理模块进行推理,可以获得病人的病情诊断信息和推荐的药物处方信息。构建的部分推理规则如下所示:

(1)[rule: (?a rdf:type gaoxueya:病人)(?a gaoxueya:hasBloodPressure ?b)(?b rdf:type gaoxueya:三级高血压指标)->(?a gaoxueya:hasHypertension gaoxueya:高危高血压疾病)]

解释:如果一个病人检查了血压,他的血压指标是三级高血压指标的实例,那么得出这个病人有高危高血压

(2)[rule:(?a rdf: type gaoxueya:病人) (?a gaoxueya: hasSymptom ?b)(?agaoxueya : hasHypertensionPrescription ?c)(?d rdf: type ?c)(?d gaoxueya: hasHypertensionUsingMethod ?e)

(?e gaoxueya: hasHypertensionDrug ?f)(?f gaoxueya: hasCareful ?b) -> (?a gaoxueya:hasCareful ?d)]

解释:如果病人有某个症状或者特征,并且药物处方中的某种药对于这种症状或特征慎用,则提醒医生病人慎用这种药物处方

4.2 实验结果及分析

结果:实验结果如图3所示,成功实现了高血压疾病的诊断和处方的个性化推荐。根据中国高血压防治指南要点(基层版)和病人的自身情况来说,可以分析出本系统的诊断结果和个性化的治疗方案都是比较合理的

分析:第一步,将采集到的病人信息加载到系统中,系统通过分析病人的信息构造具有个性化特征的病人实例。例如,病人年龄是60岁,通过隶属度计算得到他属于老年的隶属度最高,所以,系统给病人实例添加了一个老年的特征。BIM肥胖指数属于正常范围的隶属度最高,由于是正常的所以不添加。病人处于妊娠中,所以为病人实例添加妊娠的特征。第二步,根据采集到的临床指标进行推理得到病人的诊断的结果。第三步,根据推理得到的诊断结果获取系统中相应疾病的处方。第四步,结合病人的个性化特征和候选处方中的藥物的特征,为病人推合适的药物处方并且列出不推荐的药物处方。

5 结语

本文首先介绍了本体构建、本体推理和模糊理论等相关概念,研究了临床诊疗的知识,分析了专用推理机和通用规则推理机的优缺点,提出了临床诊疗本体模型和推理模型。在此基础上以高血压疾病领域为例,建立好高血压疾病本体之后,系统根据规则和推理,提供了高血压疾病的诊断建议与药物治疗处方的个性化推荐的功能。就目前的趋势来看,提供个性化的服务成为发展的趋势。医疗领域提供的服务的基础是医生的经验和划分定制的较少层级的标准。这种服务是将所有的病人划分到仅有的几个标准中而提供的单纯依靠人工的诊疗服务,它对于病人自身来说是不够精确的和准确的,无法避免因为人为原因带来的误诊,也无法为病人提供更加符合自身特点的服务。在本文的基础上,可以进一步研究药物的个性化定制与处方推荐模型,这将是诊疗领域的一个发展趋势。

参考文献:

[1] Gruber T R. A translation approach to portable ontology specifications[J]. Knowledge Acquisition, 1993, 5(5): 199-220.

[2] Borst W.N. Construction of Engineering Ontologies[D].University of Twente, Enschede, 1997.

[3] OWL Web Ontology Language Overview[EB/OL].(2004-02-10) [2017-05-21].https://www.w3.org/TR/2004/REC-owl-features-20040210/#s1.3.

[4] Matthew Horridge. A Practical Guide To Building OWL Ontologies Using Protégé 4 and CO-ODE Tools Edition 1.3[EB/OL].(2013-04-15) [2017-05-21]https://wenku.baidu.com/view/08fd3ad4240c844769eaeea5.html?re=view.

[5] 杨柳.模糊本体建模方法及语义信息处理策略研究[D].长沙: 中南大学,2011.

[6] 陈薇.面向语义信息检索的模糊本体自动化构建的研究[D]. 武汉:华中师范大学,2010.

[7] Fenando Bobillo, Umberto Straccia. Fuzzy ontology representation using OWL 2[J]. International Journal of Approximate Reasoning, 2011, 7(52): 1073-1094.

[8] 汪智勇,徐德智. 本体查询与推理研究及其实现[D]. 长沙:中南大学,2008.

[9] Reasoners and rule engines: Jena inference support[EB/OL].http://jena.apache.org/documentation/inference/#api.

[10] 中国高血压防治指南修订委员会.中国高血压防治指南2010[J].中华高血压杂志,2011,19(8):701-737.

猜你喜欢
推理本体语义
Abstracts and Key Words
对姜夔自度曲音乐本体的现代解读
语言与语义
也谈高中英语教学中的阅读技巧
提高农村学生学习几何的能力探索
《唐人街探案》:异域奇观下的喜剧推理实验
“上”与“下”语义的不对称性及其认知阐释
《我应该感到自豪才对》的本体性教学内容及启示
认知范畴模糊与语义模糊
语义分析与汉俄副名组合