规则驱动的多Agent系统的研究

2016-03-31 01:37胡玉敏陈海风
湖北工业大学学报 2016年1期

胡玉敏, 肖 亮, 陈海风

(湖北工业大学计算机学院, 湖北 武汉 430068)



规则驱动的多Agent系统的研究

胡玉敏, 肖亮, 陈海风

(湖北工业大学计算机学院, 湖北 武汉 430068)

[摘要]为提高临床决策的高效性、科学性,设计出一种基于规则驱动的多Agent系统,它使用结构化的XML定义临床知识,集成规则执行引擎、动态界面生成引擎和多Agent系统,指导医生做出迅速,准确地临床诊断,符合现实环境,提高了临床决策的实效性。

[关键词]临床知识; 规则驱动; XML; 多Agent系统

随着云计算,数字化医学等一系列技术的发展和融合,医疗信息化在医疗能力建设方面正在扮演重要角色。目前,由于我国在医疗信息化领域缺乏足够的关注度,临床决策的安全性和准确性无法保证。虽有临床指南的支持,但是仍不能满足临床决策的应用需求,主要体现在:1)临床指南发布时通常是基于文本形式的,这使得其很难被处理;2)将临床指南转化为计算机可执行的格式没有统一的标准[1]。因此,需要设计一种结构化和标准化的临床指南,为临床决策提供更好、更高效地支持。

近年来,在临床指南的结构化表达研究方面已经取得一系列成果,其中影响较大的是John Fox教授提出的可执行的过程建模语言PROforma[2]。PROforma能够以计算机所能理解的形式获取临床指南的结构与内容。该语言的形成为开发和发布可执行的临床指南奠定了基础。虽然PROforma可以准确地将以文本形式存储的临床指南转换成计算机可执行的形式,但它有一定的缺陷,主要体现在:1)不适用于分布式环境中;2)当临床指南内容改变时,软件不容易扩展和维护;3)用户不能迅速便捷的连接到所需要的资源;4)不同部门的医生在做决策时,无法同步数据操作。因此,系统的协同度很低。

针对PROforma出现的问题,提出了将临床指南XML[3]化。临床决策系统不因临床指南的改变而发生大的变动。同时,设计实现一个规则执行引擎,能动态执行结构化的临床指南,辅助医生做出决策。设计实现一个基于规则的动态界面生成引擎,用来收集患者必要的症状信息,解决临床决策过程中因数据不足而出现的推导阻塞问题。将结构化的临床指南、规则执行引擎以及基于规则的动态界面生成引擎集成到多Agent系统中,集规则的循证性与Agent的智能性为一体,提高临床决策的高效性与科学性。

1系统设计

在定义了规则后,需要设计一个规则解析引擎对该规则进行解析、执行,给医生决策提供参考。使用JDOM来对XML文档进行解析,并引入数据结构的多叉树存储的思想,将文档中的节点构造成具有多叉树结构的节点树,初始化一个队列来存储树中的叶子节点,并以此判断树的每一个分支是否通路,结果记录在决策支持队列或决策反对队列中,计算权值,最终给出最优决策。

使用规则引擎解析规则后,系统还需要一个动态界面生成引擎,动态地、实时地收集患者的检查信息。同样使用JDOM解析规则,从规则中解析出执行规则所需的所有条件,如果条件会出现重复,使用哈希表去重算法进行去重。在收集患者症状信息过程中可能出现已经就诊情况,需要从电子病历库中调取该患者的电子病历,从中解析出已有的所有信息的属性名称,与从规则中解析、去重后的属性名称取补集,从而动态给出人机交互界面(临床信息采集界面)中应当显示的信息。

最后一个重要的实现目标是,将规则驱动的临床决策系统即规则、规则执行引擎,以及基于规则的动态界面生成引擎嵌入到多Agent系统中,由结构化的临床指南驱动代理,从规则库中匹配出相应的规则,进行解析与执行,由基于规则的动态页面生成引擎为每一个Agent生成特定的临床信息采集界面。临床信息采集完成后,由规则执行引擎结合规则和病人信息,指导Agent快速、高效的做出决策,从而驱动下一个代理的执行。

图 1 系统框架图

为了完成上述目标,将系统框架设计图1所示。图1中包含四个层次,从下往上依次是:多Agent系统,规则执行引擎,基于规定的动态界面生成引擎,电子病历服务,外包系统和病人信息录入者。

2案例分析

随着对乳腺癌的深入研究,人们引入了乳腺癌三级评估的概念[4],用以确认一个疑似乳腺癌患者是否有恶性或良性乳腺疾病。乳腺癌的三重评估过程包括图像检查(乳房X光检查和超声波检查)、活检、癌症证实后的管理,通过这三个部分的决策来获取患者一个较为全面的病史。其中也包括遗传风险评估。对上述三个过程,分配了三种代理通过协作的方式共同完成乳腺癌三重评估的目标,分别是外科Agent、图像科Agent、病理科Agent。

图2是从乳腺癌临床指南中关于全科医生作进一步决策的决策分支节选部分,在此片段中,描述患者有关年龄、性别、肿块、疼痛等相关的乳腺癌症状的数据信息,医生根据临床指南做出最优决策。

图 2 乳腺癌临床指南片段

3系统实现

3.1规则定义

将临床指南定义为具有统一标准的、机器可执行的XML文档,包括行为规则和推导规则两个部分。行为规则用于指导Agent做出决策,比较抽象[5]。推导规则注重逻辑关系的定义,更加详细,它能够根据已有的知识推导出新的知识,这些知识作为行为规则的条件,提供给行为规则作出正确的处理。本文详细阐述推导规则的定义。

推导规则是对临床指南中逻辑关系的一种详细定义,它能够根据已有的知识推导出额外的知识,这些知识是行为规则的条件,能够促使行为规则作出正确处理[6]。

表1 操作符含义对照表

图 3 乳腺癌三级评估的推导规则节选

3.2规则执行引擎

用JDOM解析推导规则,并将其转换成多叉树。解析推导规则的deciesionTree标签,deciesionTree标签下的每一个候选项condidate标签的内容都能构造成一棵多叉树。示例第一个候选分支condidate标签中,构造的节点树见图4,节点树的构造步骤如下[6]:

图 4 根据推导规则的第一个决策 候选分支构造的节点树

为推导规则的每一个决策候选分支构建出节点树(多叉树)后,如何去遍历,处理这些节点树以完成规则执行的任务是一个很重要的问题,过程描述如下:

1)首先创建一个候选项队列,并做初始化。该队列中包含了编号、英文描述、中文描述、权值(初始值为0)、支持理由列表、反对理由列表。

3)创建一个推导队列,一个决策支持论据队列和一个决策反对论据队列,依次做初始化。

estExamination_lump, eq, yes、latest

Examination_nippleDischarge_bloodStained, eq, yes等存入到推导队列中,并赋权值weight(假设所有支持论据的权值均为1,所有反对论据的权值均为-1)。

5)按照先进先出的顺序从推导队列中取出节点,例如,取出第一个节点familyHistoryRisk, eq, elevated作为当前节点,比对从电子病历中获取的familyHistoryRisk属性的值为elevated,因此条件familyHistoryRisk==elevated为真,即该节点满足,继续判断其父节点age, gt_eq, 35,读到病人age属性的值为37,即条件age=35为真,该节点也满足,因此该条分支是一条通路。判断该论据的type属性的值为支持还是反对,判断结果为支持,则将当前节点familyHistoryRisk, eq, elevated所属的论据的编号aId属性和描述reason属性的值存入到决策支持论据队列中,并且候选项的支持论据队列的权值加1;假设,type属性的值为反对,则将当前节点所属的论据argument的编号aId属性和描述reason属性的值存入到决策反对论据队列中,并且候选项的反对论据队列的权值加-1。

6)循环第5)个步骤,遍历整棵节点树。

7)当该树遍历完后,用支持论据队列的权值加上反对论据队列的权值,即得出候选项do further investigation的权值,并将该权值赋给候选项权值。将决策支持论据队列赋予候选项支持理由列表。将决策反对论据队列赋予候选项反对理由列表。

8)以此方法,通过调用数据计算服务,得出整个决策树下各个决策候选分支的候选项队列。并比较各候选项权值,按候选项权值对候选项列表进行降序排列。例如:进一步决策(further investigation decision)中,执行结果为:作进一步决策(Do further investigation)的权值为5,管理病人(Manage patient)的权值为3,不作任何处理(Discharge)的权值为0,因此执行结果见图5。

图 5 推导规则执行结果

3.3基于规则的动态界面生成引擎

在临床决策过程中,如果病人信息不充分,则会导致推导阻塞,进而影响决策,因此,根据推导规则决策的实际情况,开发和设计一个与各代理相匹配的,基于规则的动态问诊界面生成引擎是本文的重点研究问题,其详细设计方法与实现过程如下:

1)首先提取出执行规则中所有的必要条件、属性名称,即获取推导规则中所有不为空的con元素的值,存入集合listQuess中。使用哈希表去重算法[7],对listQuess集合去重。

2)当病人首次进入医院做问询检查时,需要通过动态问询界面采集的信息的属性名称为步骤2)中的listQuess中的属性名称,然后直接跳到第7)步。若病人曾经去医院做过问询检查,即电子病历库中有该病人的电子病历记录时,按电子病历id,从电子病历库中获取该病人的电子病历。

3)创建一个集合paQuess并初始化,将电子病历中已有的问询、检查结果记录的属性名称存入到paQuess中。

4)取集合paQuess和集合listQuess的补集,并存储在集合listQuess中,此时的listQuess即为基于规则的动态问询界面上应该显示的信息、属性名称。

图 6 基于规则的动态信息采集界面

5)以属性名称为参数,调用数据定义服务,获取与该属性名称对应的动态问询界面中,需要展示的问题列表,包括属性说明、默认值、数据类型、中文取值范围、英文取值范围、表单提交类型和属性描述。

6)用Jsp页面动态显示医生在对该病人做出医疗决策时,需要采集的充分且必要的信息。

基于进一步决策的推导规则further_investigation_PR.xml的动态信息采集界面见图6。

4结束语

本文对规则驱动的多Agent系统进行了分析和设计,并实现了临床决策知识的规则化,临床决策的自动化,决策界面的动态化。今后的工作将从两方面展开。一是在规则定义中增加多症状属性值计算,使规则在临床决策支持过程中的使用更加灵活、方便。二是,引入Web服务技术,减少本地引擎组件,为跨学科、跨科室的医疗工作与研究打下坚实的基础。

[参考文献]

[1]王晓丹.当前医疗信息化存在的问题及对策研究[J].医学信息学杂志,2011(1):44-47.

[2]Fox J,Patkar V,Thomson R.Decision support for health care:the PROforma evidence base[J].Informatics in primary care, 2006, 14(1): 49-54.

[3]孙鑫. XML、XML Schema、XSLT 2.0和XQuery开发技术详解[M].北京:电子工业出版社,2009:3-8.

[4]郑莹,吴春晓,张敏璐.乳腺癌在中国的流行状况和疾病特征[J].中国癌症杂志,2013:08-30.

[5]L Xiao,J Fox,H Zhu.An Agent-oriented approach to support multidisciplinary care decisions[C].Engineering of Computer Based Systems (ECBS-EERC),Eastern European Regional Conference on Budapest,Hungary: 2013: 8-17.

[6]Hu Y, Xiao L, Yan Z, Wei Q.Multi-agent based clinical knowledge representation with its dynamic parse and execution[C].Third International Conference, HIS Shenzhen China:2014,8423:261-273.

[7]张蒙,康建荣,贾莹媛,等.基于二维哈希表的海量高程点数据去重算法设计[J].测绘科学,2012,12-29.

[责任编校: 张岩芳]

Research of Rule-driven Multi-Agent System

HU Yumin,XIAO Liang,CHEN Haifeng

(SchoolofComputerScience,HubeiUniv.ofTech.,Wuhan430068,China)

Abstract:In recent years, with the development of evidence-based medicine, how to organize, make use of clinical knowledge, and make efficient and scientific clinical decisions has become an important research topic in the process of medical information in our country. This paper designed a rule-driven multi-agent system which uses a structured XML to define the clinical knowledge, integrates rule execution engine, rule-based dynamic interface generation engine and multi-agent system to guide doctors to make quick and correct clinical decisions. The results show that the system is in line with the reality of the environment and can improve the effectiveness of clinical decisions.

Keywords:Clinical guidelines; rule-driven; XML; Multi-agent system

[中图分类号]TP311

[文献标识码]:A

[文章编号]1003-4684(2016)01-0071-05

[通讯作者]肖亮(1979-),男,湖北武汉人,湖北工业大学教授,研究方向为软件自适应

[作者简介]胡玉敏(1990-), 女,湖北黄冈人,湖北工业大学硕士研究生,研究方向为软件工程与医疗信息化

[基金项目]国家自然科学基金(61151001),青年科学基金(61202101)

[收稿日期]2015-04-24