胡志潔
?。ㄌ旖蚴嗅t(yī)藥科學研究所,天津 300020)
摘 要: 針對肺心病臨床綜合病癥指標復雜、極易造成因臨床醫(yī)生經(jīng)驗少而誤診的現(xiàn)實問題,研制基于肺心病的診療專家系統(tǒng),以提高其臨床診斷率和治愈率。該系統(tǒng)采用Visual Prolog和Visual Basic相結合的方法設計完成,其界面由Visual Basic實現(xiàn),推理機由Visual Prolog設計完成,采用正向與反向相結合的推理策略。應用SQL Server 2008構建數(shù)據(jù)庫、知識庫并完成維護工作。經(jīng)臨床驗證,該系統(tǒng)設計合理,科學實用且準確率高,提高了肺心病的診療率,提升了臨床青年醫(yī)生的診療水平。
關鍵詞: 專家系統(tǒng);肺心病;知識庫;推理機;規(guī)則
0 引言
專家系統(tǒng)是人工智能領域最活躍和最廣泛的領域之一,它能模擬專家的大腦思維活動,運用邏輯推理技術進行推理判斷,是求解專門問題的計算機程序系統(tǒng)[1]。醫(yī)學專家系統(tǒng)通過收集醫(yī)學專家的經(jīng)驗知識,用計算機程序模擬臨床醫(yī)學專家分析病癥的思維過程和辨病方法,得出與醫(yī)學專家一樣的結論[2]。近年來,隨著人工智能和計算機技術的不斷發(fā)展,醫(yī)學專家系統(tǒng)的功能和作用更加實用,智能性也越來越好,涉及的領域也越來越廣。然而有關肺心病診斷與治療的臨床醫(yī)學智能診療專家系統(tǒng)的開發(fā),在國內(nèi)外尚不多見。
肺心病是我國當前發(fā)病率較高的常見病、多發(fā)病,特別是目前的霧霾天氣,嚴重威脅到人民健康。由于其綜合病癥指標復雜多變,極易造成青年臨床醫(yī)生因經(jīng)驗少而誤診的現(xiàn)實問題。本文收集和歸納總結了有30年以上臨床經(jīng)驗的資深知名肺心病專家的診斷經(jīng)驗和治療方法,利用人工智能計算機技術,模擬肺心病專家診斷的經(jīng)驗和辯證治療的思維過程,研發(fā)了針對肺心病的診療專家系統(tǒng)。利用該系統(tǒng)可幫助青年醫(yī)生迅速解決臨床診療中遇到的實際問題,迅速提升青年醫(yī)生的臨床診療技能。
1 系統(tǒng)設計
肺心病診療專家系統(tǒng)由知識庫、數(shù)據(jù)庫、推理機、知識獲取器、解釋器、字典庫和人機交互界面等幾個部分組成。該系統(tǒng)是利用輸入患者臨床病癥指標的各種數(shù)據(jù),通過知識庫中保存的專業(yè)知識和國內(nèi)外該病的診斷規(guī)則,模擬肺心病專家的臨床診治思維模式,通過推理機的邏輯推理,對規(guī)則庫中的規(guī)則進行全面搜索、匹配、分析和判定,最后給出診斷結論。
1.1 知識庫的構建
知識庫保存的是系統(tǒng)求解問題所需的知識。它是專家系統(tǒng)作出決策的依據(jù)[3]。知識庫的質量好壞直接影響專家系統(tǒng)的好壞[4]以及系統(tǒng)判定的精確度和準確率。該系統(tǒng)知識庫主要包含肺心病知名專家長期積累的有關肺心病診斷經(jīng)驗和肺心病的臨床指癥表現(xiàn)及其鑒別、診斷的標準、相關學術論述、著作和教科書中關于肺心病的專業(yè)知識。它們構建成知識庫中疾病數(shù)據(jù)庫和診斷規(guī)則庫。疾病數(shù)據(jù)庫保存的是肺心病的各種專業(yè)知識,診斷規(guī)則庫則保存肺心病診斷和治療過程中所用的推理規(guī)則,并使用特定的編號作為規(guī)則ID命名每條規(guī)則。系統(tǒng)的診斷規(guī)則庫是根據(jù)各類診斷規(guī)則優(yōu)先按從大到小順序保存,同一類規(guī)則中同一診斷治療規(guī)則則依據(jù)治療順序保存,以保證優(yōu)先權高的規(guī)則最先與數(shù)據(jù)庫中的數(shù)據(jù)進行比對、匹配。
系統(tǒng)采用SQL Server 2008構建知識庫,以及管理知識庫中的知識。肺心病知識和診斷規(guī)則分別用關系數(shù)據(jù)庫中的疾病信息表和規(guī)則表保存,用SQL語言完成對所有數(shù)據(jù)庫圖表的描述,并可對它們進行檢索、增加、修改、刪除和更新等。
1.2 推理機
推理機是專家系統(tǒng)的“大腦思維”靈魂機構,其主要作用是模擬專家大腦思維辯證施治的分析過程,控制執(zhí)行對問題的求解并證明某個假設的正確性[5]。推理是邊搜索邊匹配的過程。該系統(tǒng)采用產(chǎn)生式系統(tǒng),基于規(guī)則的推理,采用正向不精確推理與反向精確推理相結合的推理策略。
1.3 數(shù)據(jù)庫的構建
數(shù)據(jù)庫是用來保存用戶提供的各種初始數(shù)據(jù)、對問題的描述和推理過程中得到的各種中間數(shù)據(jù)和推理結果[6]。該系統(tǒng)數(shù)據(jù)庫包括三類內(nèi)容:(1)患者信息資料;(2)供系統(tǒng)運行分析時需要使用的信息資料,如各種回歸方程、用于有數(shù)學關系式的運算等;(3)系統(tǒng)推理過程中所得到的中間結果及推理獲得的疾病名稱等。
系統(tǒng)用SQL Server 2008構建數(shù)據(jù)庫。利用SQL語言建立患者初始信息表、臨床癥狀記錄表、化驗檢查記錄表、X線圖像參數(shù)表、CT及MRI檢查表等基本數(shù)據(jù)表。它們由患者編號關聯(lián)在一起,以完成患者全部臨床診斷數(shù)據(jù)的描述。
1.4 解釋器
解釋器的主要功能是針對用戶提出的問題進行解答[7]。在該系統(tǒng)中,它負責向用戶解釋系統(tǒng)的行為,對推理結論進行解釋,并向用戶輸出推理的結論。
1.5 字典庫
字典庫用于保存醫(yī)學專屬名詞和疾病名詞的解釋及縮寫,并用符號代替文字保存到字典庫中,便于推理和比對時使用,并與知識庫同步實時更新。
1.6 知識獲取器
知識獲取器用于知識獲取。將肺心病的事實性知識和肺心病專家特有的經(jīng)驗和診斷標準變成計算機可執(zhí)行的語句和程序,以完成肺心病知識庫和字典庫的構建。它也完成對知識庫、字典庫的增加、修改、刪除和更新及維護工作。
1.7 人機交互界面
人機交互界面完成系統(tǒng)的輸入和輸出工作。該系統(tǒng)將輸入的信息變?yōu)橄到y(tǒng)程序認可的表達形式,再交給程序指定的相應模塊去處理。系統(tǒng)通過人機交互界面輸出系統(tǒng)的診斷結果和各種數(shù)據(jù)。
2 知識表示
知識表示是用計算機可處理、可接受的符號和方式來模擬人類專家進行思維和推理。該系統(tǒng)知識庫中的知識是以IF<前提>THEN<結論>CF形式表示[8]。一條規(guī)則的關系模式RULELIB可定義如下:
RULELIB(RULENUM,RULENAME,RULE,CF)
RULE(前提,結論)
該系統(tǒng)中,前提主要指患者的臨床癥狀,結論則主要指患者患的肺心病類型。CF是有前提所描述的癥狀時肺心病發(fā)生的概率,即規(guī)則可信度??尚哦葏^(qū)間為(-1,1)。系統(tǒng)中CF采用了定量參數(shù)、半定量參數(shù)和布爾參數(shù)排列,再結合肺心病專家經(jīng)驗思維判斷,綜合臨床已發(fā)生的病癥指標和可能性進行組合、疊加、匹配后所確定。
3 推理機設計
推理機即為一個解釋器,它解釋和執(zhí)行知識庫中的規(guī)則,從而得出結論。該系統(tǒng)推理機通過搜索知識庫中的診斷規(guī)則,選出滿足當前用戶輸入條件的規(guī)則,并根據(jù)規(guī)則的優(yōu)先級別,執(zhí)行優(yōu)先權高的規(guī)則,當規(guī)則的優(yōu)先權相同時先執(zhí)行最先滿足條件的規(guī)則。推理機采用正向不精確推理與反向精確推理相結合的二次診斷推理策略,符合肺心病病種其復雜多變的臨床癥狀表現(xiàn)的需求。
該系統(tǒng)推理機的推理流程如圖1所示。
Prolog語言是邏輯型智能語言,能很高效地實現(xiàn)邏輯推理功能。該系統(tǒng)推理機采用Visual Prolog語言完成推理過程,推理機設計利用Visual Prolog語言通過對規(guī)則的編寫來實現(xiàn)。采用Visual Prolog V7.3提供的ODBC和SQL接口模塊SQLBIND,實現(xiàn)推理機與知識庫、數(shù)據(jù)庫的連接和調(diào)用。由于SQL Server 2008具有對SQL語句自動優(yōu)化的特點,降低了調(diào)用和使用知識的時間,大大提高了系統(tǒng)的推理效率。
4 系統(tǒng)實現(xiàn)
4.1程序開發(fā)工具
基于肺心病的診療專家系統(tǒng)編程語言為Visual PrologV7.3和Visual Basic 6.0。采用SQL Server 2008構建數(shù)據(jù)庫、知識庫以及完成維護工作。系統(tǒng)在Windows XP操作系統(tǒng)下運行。
4.2系統(tǒng)實現(xiàn)
采用Visual Prolog、Visual Basic和SQL Server 2008完成針對肺心病的診療專家系統(tǒng)軟件編制。Visual Prolog語言完成推理過程,Visual Basic語言實現(xiàn)系統(tǒng)界面的設計。SQL Server 2008用來完成數(shù)據(jù)庫、知識庫的構建以及完成其維護工作。
該系統(tǒng)具有的主要功能模塊包括病人信息管理、疾病診斷、知識庫管理、幫助系統(tǒng)和系統(tǒng)維護。系統(tǒng)運行后,顯示肺心病診療專家系統(tǒng)的系統(tǒng)界面,系統(tǒng)根據(jù)用戶的選擇,執(zhí)行并完成相應模塊的程序操作。
該系統(tǒng)的診斷界面如圖2、圖3所示。
例如:選擇肺氣腫的診斷,點擊“開始診斷”,進入肺氣腫的診斷界面,如圖3所示。在圖3中顯示的14項中,如有3項被選中,即可診斷為肺氣腫。
該系統(tǒng)利用SQL查詢語句對肺心病及其病例檢索,降低了系統(tǒng)運行過程中對病例檢索算法的實現(xiàn)難度,使用SQL語言保存、更改和添加更新數(shù)據(jù)庫、知識庫中的信息,極大地提升了該系統(tǒng)的運行效率。
5 結論
本文研制的針對肺心病的診療專家系統(tǒng),設計科學、實用,很好地實現(xiàn)智能辨病,符合肺心病病種復雜多變的臨床癥狀表現(xiàn),且適合我國專科病種的規(guī)范化管理,提高了肺心病的臨床診斷率和治愈率,為臨床醫(yī)生提供了一種快速智能輔助診斷的方法,大大提高了臨床醫(yī)生的診療水平。
該系統(tǒng)采用正向不精確推理與反向精確推理相結合的二次診斷的推理策略,提高了肺心病的確診率。系統(tǒng)還能回溯已執(zhí)行的規(guī)則,把診斷依據(jù)和推理思路重現(xiàn)出來,便于臨床醫(yī)生學習使用。經(jīng)350例臨床病例實踐研究,證實了該系統(tǒng)實用性好、準確性高,操作簡便,易于掌握。系統(tǒng)可隨著該病種臨床診斷的發(fā)展隨時知識更新,從而保證了該系統(tǒng)可長期使用。該系統(tǒng)在臨床青年醫(yī)生中獲得了廣泛認可和使用。
參考文獻
[1] 李峰,莊軍,劉侃,等.醫(yī)學專家決策支持系統(tǒng)的發(fā)展與現(xiàn)狀綜述[J].醫(yī)學信息,2007,20(4):527-529.
[2] WINSTANLEY T, COURVALIN P. Expert systems in clinical microbiology[J]. Clin Microbiol Rev, 2011,24(3):515-556.
[3] 馮怡,杜若飛,洪燕龍,等.關于構建中藥制劑工藝設計專家系統(tǒng)的思考[J].世界科學技術-中醫(yī)藥現(xiàn)代化,2013,15(1):25-28.
[4] 郭曉軍,高磊磊.基于模糊推理中醫(yī)診斷專家系統(tǒng)[J].機械設計與制造工程,2013,42(5):63-65.
[5] 雷玉凱.創(chuàng)傷骨科專家診斷治療系統(tǒng)的研制[J].中外醫(yī)學研究,2011,9(6):96-97.
[6] 張九妹,曹宏亮.淺談醫(yī)學專家系統(tǒng)[J].實用預防醫(yī)學,2008,21(9):10-12.
[7] 申龍朵,段世均,湯煒.專家系統(tǒng)在口腔醫(yī)學領域中的應用進展[J].現(xiàn)代生物醫(yī)學進展,2012,12(13):2585-2587.
[8] 鐘昌樂,鐘勇,馬春全,等.基于Spring框架的畜禽疾病診斷專家系統(tǒng)的設計與實現(xiàn)[J].計算機應用與軟件,2010,27(4):87-89.