摘要:計(jì)算機(jī)輔助診斷是當(dāng)前人工智能和信息技術(shù)研究的熱點(diǎn)之一。針對(duì)計(jì)算機(jī)輔助中醫(yī)診斷的特殊性,結(jié)合ATMS這一人工智能推理系統(tǒng),以脾虛證的計(jì)算機(jī)輔助診斷研究為契機(jī),討論了運(yùn)用ATMS進(jìn)行中醫(yī)輔助診斷規(guī)則的表示、挖掘、查詢和更新的問(wèn)題。
關(guān)鍵詞:計(jì)算機(jī)輔助診斷; 脾虛證; ATMS
中圖法分類號(hào):TP181文獻(xiàn)標(biāo)識(shí)碼:A
文章編號(hào):1001-3695(2007)01-0269-03
傳統(tǒng)中醫(yī)藥學(xué)是我們中華民族的瑰寶。但是,當(dāng)前我國(guó)中醫(yī)藥學(xué)發(fā)展存在著一些突出的問(wèn)題。雖然積累了海量的臨床醫(yī)療數(shù)據(jù),但缺乏有效的利用。中醫(yī)師診斷疾病、開(kāi)處方時(shí)更多的是根據(jù)經(jīng)驗(yàn)的推測(cè),而不是通過(guò)對(duì)已有臨床數(shù)據(jù)進(jìn)行科學(xué)的分析和計(jì)算。利用信息技術(shù),特別是人工智能和數(shù)據(jù)挖掘技術(shù),在臨床醫(yī)療數(shù)據(jù)的基礎(chǔ)上挖掘出相對(duì)客觀的診斷標(biāo)準(zhǔn),而且該標(biāo)準(zhǔn)可以隨著疾病臨床診斷經(jīng)驗(yàn)的增長(zhǎng)而不斷改進(jìn)和趨于完善,這對(duì)于提高中醫(yī)疑難疾病診斷的客觀性和科學(xué)性,降低誤診率有著積極的現(xiàn)實(shí)意義。
ATMS(Assumptionbased Truth Maintenance System)是由De Kleer[1]提出的一種基于假設(shè)的真值維護(hù)系統(tǒng)。它通常與問(wèn)題求解器相結(jié)合,每當(dāng)收到問(wèn)題求解器傳遞的一個(gè)新的信息,便增量地計(jì)算每個(gè)數(shù)據(jù)所依賴的假設(shè),實(shí)現(xiàn)信念修改和非單調(diào)推理。ATMS的基本數(shù)據(jù)結(jié)構(gòu)是節(jié)點(diǎn),每個(gè)節(jié)點(diǎn)表示問(wèn)題求解器產(chǎn)生的數(shù)據(jù)。節(jié)點(diǎn)由三部分組成,即問(wèn)題求解器的數(shù)據(jù)、用來(lái)表示數(shù)據(jù)成立的假設(shè)條件的標(biāo)記和支持這些數(shù)據(jù)的證實(shí)。本文把ATMS的節(jié)點(diǎn)記作以下形式:
<數(shù)據(jù)>:<標(biāo)記>:<證實(shí)>
數(shù)據(jù)、標(biāo)記和證實(shí)三部分都是一個(gè)集合,其中標(biāo)記和證實(shí)的元素同時(shí)也是集合。數(shù)據(jù)的元素之間用逗號(hào)隔開(kāi)。標(biāo)記的元素之間用分號(hào)隔開(kāi),每個(gè)元素用一組大括號(hào)括起,表示一個(gè)環(huán)境,代表著數(shù)據(jù)最終依賴的假設(shè)集,環(huán)境之間是析取關(guān)系。標(biāo)記由ATMS自動(dòng)維護(hù)。證實(shí)的元素也是集合,每個(gè)集合用一組大括號(hào)括起,它由問(wèn)題求解器提供,表示用于支持?jǐn)?shù)據(jù)的推斷中的前項(xiàng),證實(shí)的集合之間也是析取關(guān)系,用分號(hào)隔開(kāi)。
例如有如下節(jié)點(diǎn):
該節(jié)點(diǎn)在問(wèn)題求解器提交證實(shí):D∨(E∧F)x∧y時(shí)被加入,表示問(wèn)題求解器產(chǎn)生了數(shù)據(jù)x∧y,它可以由D或者E∧F推出。經(jīng)過(guò)ATMS的計(jì)算,得出x∧y歸根結(jié)底是依賴于假設(shè)A∧B或者C的,所以集合{A,B}和集合{C}構(gòu)成了該節(jié)點(diǎn)的標(biāo)記。
脾虛證[2]是人體常見(jiàn)的一種胃腸道疾病,主要癥狀有:胃納減少或食欲差、大便溏或爛、腹脹、體倦乏力、舌質(zhì)淡、舌體胖或有齒印。關(guān)于脾虛證的診斷規(guī)范化研究是當(dāng)前中醫(yī)界的一個(gè)研究熱點(diǎn)。本文正是以脾虛證診斷規(guī)則的標(biāo)準(zhǔn)化研究為契機(jī),提出將ATMS運(yùn)用于計(jì)算機(jī)輔助中醫(yī)診斷的理論和方法。
1運(yùn)用ATMS節(jié)點(diǎn)表示中醫(yī)診斷規(guī)則
由于中醫(yī)的診斷過(guò)程一般采用的是傳統(tǒng)的望、聞、問(wèn)、切方法,對(duì)病人癥狀的描述多停留在定性判斷的水平,如發(fā)高熱、發(fā)低熱、腹瀉、脈濡緩等。所以我們可以很方便地為診斷規(guī)則中的癥狀類型和癥狀表現(xiàn)編碼,從而將規(guī)則表示成ATMS節(jié)點(diǎn)的形式,便于計(jì)算機(jī)識(shí)別和運(yùn)算。具體方法如下:
(1)建立屬性名稱的代碼—值映射表和屬性值的代碼—值映射表,將規(guī)則轉(zhuǎn)換成形式化的數(shù)學(xué)公式。由于我們研究的規(guī)則均針對(duì)脾虛證而言,所以為簡(jiǎn)單起見(jiàn),規(guī)則中均將后件省略。這里的屬性名稱實(shí)際上是指診斷規(guī)則中出現(xiàn)的癥狀類型,例如舌苔、腹痛性質(zhì)等;屬性值是指對(duì)應(yīng)于癥狀類型所表現(xiàn)出來(lái)的具體癥狀表現(xiàn),例如舌苔白、腹隱痛等。所以,如果我們有以下表示脾虛證的診斷規(guī)則:舌苔白,胃納減少并且腹隱痛,并且制定好代碼映射關(guān)系:舌苔為A;腹痛性質(zhì)為B;胃納情況為C;舌苔白為A1;腹隱痛為B3;胃納減少為C2,那么這條規(guī)則就變成:A1∧B1∧C2。
(2)將上一步得到的形式化規(guī)則的屬性名稱部分作為ATMS節(jié)點(diǎn)的數(shù)據(jù),屬性值部分作為ATMS節(jié)點(diǎn)的標(biāo)記,并忽略證實(shí)部分,組成ATMS節(jié)點(diǎn)。例如規(guī)則A1∧B1∧C2對(duì)應(yīng)的ATMS節(jié)點(diǎn)為
2從中醫(yī)臨床數(shù)據(jù)庫(kù)中挖掘診斷規(guī)則
至此,我們解決了診斷規(guī)則在計(jì)算機(jī)中的表示問(wèn)題。但如何得到這些規(guī)則,就需要我們?cè)O(shè)計(jì)一定的算法,從記錄了大量病人癥狀信息的中醫(yī)臨床數(shù)據(jù)庫(kù)中挖掘出這些客觀的診斷規(guī)則,以指導(dǎo)中醫(yī)師的臨床實(shí)踐。我們經(jīng)過(guò)研究,結(jié)合以前工作的成果,設(shè)計(jì)出以下挖掘方法:
(1)按照上一節(jié)制定的屬性名稱的代碼—值映射表和屬性值的代碼—值映射表,將整個(gè)中醫(yī)臨床數(shù)據(jù)庫(kù)轉(zhuǎn)換成代碼形式,以方便挖掘算法的運(yùn)算。圖1以兩條記錄為例演示了轉(zhuǎn)換的過(guò)程和結(jié)果。
(2)運(yùn)用文獻(xiàn)[3]提出的算法對(duì)上一步得到的事務(wù)數(shù)據(jù)庫(kù)進(jìn)行關(guān)聯(lián)規(guī)則挖掘,得到帶復(fù)合項(xiàng)的診斷規(guī)則,并按照本文第1節(jié)的方法將規(guī)則轉(zhuǎn)換成ATMS節(jié)點(diǎn)的形式。
3運(yùn)用基于ATMS的知識(shí)庫(kù)維護(hù)系統(tǒng)對(duì)現(xiàn)有規(guī)則進(jìn)行查詢、推演和更新
以上我們得到了從中醫(yī)臨床數(shù)據(jù)庫(kù)中挖掘出來(lái)的帶復(fù)合項(xiàng)的規(guī)則。但要求這些規(guī)則直接指導(dǎo)中醫(yī)師的臨床醫(yī)學(xué)決策還有一定的困難。可能的原因有:規(guī)則數(shù)目太多,無(wú)法有效運(yùn)用;不能動(dòng)態(tài)適應(yīng)最新臨床經(jīng)驗(yàn)的變化等。基于此,我們運(yùn)用基于ATMS的知識(shí)庫(kù)維護(hù)系統(tǒng)[4]和非單調(diào)推理功能,設(shè)計(jì)了對(duì)現(xiàn)有規(guī)則進(jìn)行查詢、推演和更新方法。所有這些方法均是基于用ATMS節(jié)點(diǎn)表示的規(guī)則集上的運(yùn)算。為了闡述和舉例方便,假設(shè)我們現(xiàn)在針對(duì)脾虛證臨床數(shù)據(jù)庫(kù)挖掘得到了以下診斷規(guī)則(規(guī)則前的字母標(biāo)號(hào)是為了下文闡述方便而添加):
C:
E::<{a1, b1}>F::<{a1, c2}; {a1, c1}; {a2, c3}>
G::<{a2, d4∨b2}>H::<{b1, c2}>
I:
3.1規(guī)則的查詢
基于當(dāng)前得到的規(guī)則我們可以進(jìn)行以下三種查詢,每種查詢對(duì)于中醫(yī)臨床輔助診斷都有重要的現(xiàn)實(shí)意義:
(1)直接求當(dāng)前ATMS的擴(kuò)展[5],可以得到在所有規(guī)則中所出現(xiàn)的癥狀類型的集合。例如,ATMS的擴(kuò)展為{a, b, c, d}。此查詢?cè)谂R床上的意義就是確診某疾病的所有癥狀類型集。以脾虛證為例,醫(yī)師通過(guò)運(yùn)行此查詢,可以在臨床數(shù)據(jù)庫(kù)所含的四十多種癥狀類型中,得知哪些癥狀類型對(duì)脾虛證的確診起著關(guān)鍵性的作用。
(2)通過(guò)ATMS知識(shí)庫(kù)的知識(shí)查詢功能,可以計(jì)算某一條新的記錄是否可能會(huì)導(dǎo)致目標(biāo)屬性(即疾病類型)。繼續(xù)上例,向ATMS提交環(huán)境{a2, c3, d4},ATMS通過(guò)簡(jiǎn)單的子集測(cè)試運(yùn)算,就可以由此環(huán)境推出目標(biāo)屬性。從脾虛證診斷的臨床意義來(lái)說(shuō),此查詢可以對(duì)一個(gè)新的病例進(jìn)行分析,得出它是否可以確診為脾虛證的判斷參考。(3)通過(guò)ATMS知識(shí)庫(kù)的知識(shí)查詢功能,由節(jié)點(diǎn)數(shù)據(jù)求其標(biāo)記,就可以從癥狀類型組合得出癥狀表現(xiàn)組合。繼續(xù)上例,我們想知道屬性組{a, b, c}是否是決定目標(biāo)屬性的關(guān)鍵屬性,節(jié)點(diǎn)J直接表明了{(lán)a, b, c}的確是關(guān)鍵屬性,其具體取值為a=1,b=1,c=2。臨床上,當(dāng)我們想知道某些癥狀類型的組合是否可以成為確診脾虛證的決定性癥狀,如果是,這些癥狀的表現(xiàn)分別是什么的時(shí)候,就可以運(yùn)用此查詢、驗(yàn)證和完善醫(yī)師的判斷。
3.2規(guī)則的演化和更新
我們運(yùn)用ATMS知識(shí)庫(kù)維護(hù)系統(tǒng)和非單調(diào)推理功能,使得在新的知識(shí)不必進(jìn)入數(shù)據(jù)庫(kù),并且不必重新運(yùn)行挖掘算法的情況下,隨著臨床經(jīng)驗(yàn)的逐漸豐富和完善,可以不斷地演化和更新診斷規(guī)則,保證輔助診斷規(guī)則的科學(xué)性、客觀性和靈活性。
有兩種形式的知識(shí)更新可用于診斷規(guī)則的演化:
(2)經(jīng)過(guò)最新的臨床實(shí)踐證明,得出肯定不會(huì)導(dǎo)致目標(biāo)疾病的癥狀表現(xiàn)的集合,它同樣也會(huì)引起現(xiàn)有規(guī)則發(fā)生重大變化。可以運(yùn)用ATMS知識(shí)庫(kù)維護(hù)系統(tǒng)的更新知識(shí)功能,向ATMS增加Nogood(矛盾節(jié)點(diǎn))來(lái)實(shí)現(xiàn)此功能。Nogood的增加將刪除現(xiàn)有節(jié)點(diǎn)中所有含有最新Nogood的環(huán)境,甚至引起整個(gè)節(jié)點(diǎn)的刪除,從而更新診斷規(guī)則的內(nèi)容,使診斷規(guī)則可以快速反映最新的臨床診斷反例,減少后續(xù)診斷的誤診率。如上例,ATMS節(jié)點(diǎn)狀態(tài):
如果我們把可以反映診斷標(biāo)準(zhǔn)變化的一些新的病例輸入中醫(yī)臨床數(shù)據(jù)庫(kù),然后重新運(yùn)行挖掘算法,有可能得不到我們所需要的最新規(guī)則。這是因?yàn)樗幸?guī)則均需要一個(gè)支持度閾值,只有那些在整個(gè)臨床觀察表中占據(jù)一定數(shù)量,其比例超過(guò)支持度閾值的病例才能使這些病例反映出來(lái)的規(guī)律成為挖掘算法結(jié)果的一部分。我們最新病例的規(guī)模有可能還達(dá)不到這樣的數(shù)量級(jí),或者最新的知識(shí)主要是根據(jù)醫(yī)學(xué)上的理論研究和論證得來(lái),這樣暫時(shí)就更會(huì)缺乏相應(yīng)的病例。所以,我們采用將最新的診斷知識(shí)直接運(yùn)用于已有規(guī)則的方法,運(yùn)用ATMS知識(shí)庫(kù)管理功能對(duì)現(xiàn)有規(guī)則進(jìn)行演化,從而有效而及時(shí)地使最新的診斷標(biāo)準(zhǔn)能如實(shí)反映現(xiàn)實(shí)情況,使疾病診斷日趨科學(xué)化。
4總結(jié)
本文針對(duì)中醫(yī)臨床數(shù)據(jù)庫(kù)特點(diǎn)和計(jì)算機(jī)輔助中醫(yī)診斷的特殊要求,以脾虛證的中醫(yī)輔助診斷應(yīng)用為切入點(diǎn),討論了使用ATMS節(jié)點(diǎn)來(lái)表示診斷規(guī)則,以及如何運(yùn)用ATMS對(duì)挖掘出來(lái)的診斷規(guī)則進(jìn)行查詢和更新的問(wèn)題,把人工智能技術(shù)結(jié)合到中醫(yī)的輔助診斷應(yīng)用研究中,具有一定的理論創(chuàng)新意義和實(shí)踐意義。
參考文獻(xiàn):
[1]De Kleer J. A Truth Maintenance System[J].Artificial Intelligence, 1979, 12(3): 231272.
[2]邱向紅.脾虛證診斷規(guī)范化研究概述[J].廣州中醫(yī)藥大學(xué)學(xué)報(bào),1997,14(1):58.
[3]戴浩,方思行.中醫(yī)輔助診斷中帶復(fù)合項(xiàng)的關(guān)聯(lián)規(guī)則挖掘算法[J].暨南大學(xué)學(xué)報(bào),2005,26(3):337.
[4]方思行.基于ATMS的知識(shí)庫(kù)維護(hù)系統(tǒng)與開(kāi)放邏輯的實(shí)現(xiàn)[J]. 計(jì)算機(jī)科學(xué),1995,22(1):1013.
[5]De Kleer J. Extending the ATMS[J]. Artificial Intelligence,1986,28:163196.
[6]De Kleer J. A General Labeling Algorithm for Assumptionbased Truth Maintenance[C]. The AAAI’88, 1988.188192.
作者簡(jiǎn)介:
戴浩(1979 ),男,助教,碩士,研究方向?yàn)閿?shù)據(jù)庫(kù)與數(shù)據(jù)挖掘;方思行(1946),男,教授,碩士生導(dǎo)師,研究方向?yàn)槿斯ぶ悄堋r(shí)態(tài)數(shù)據(jù)庫(kù)與數(shù)據(jù)挖掘。
注:本文中所涉及到的圖表、注解、公式等內(nèi)容請(qǐng)以PDF格式閱讀原文