胡玉敏, 肖 亮, 陳海風
(湖北工業大學計算機學院, 湖北 武漢 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