摘 要: 提出一種基于案例的Web推理方法和對(duì)應(yīng)的CBR系統(tǒng)結(jié)構(gòu),以適應(yīng)目前Internet環(huán)境下知識(shí)共享、知識(shí)管理工具和知識(shí)應(yīng)用的發(fā)展。
關(guān)鍵詞: 語(yǔ)義Web CBR 案例 CaseML
基于案例推理CBR(Case Based Reasoning)是人工智能研究的傳統(tǒng)研究領(lǐng)域,吸引了大量的研究者致力于CBR的理論方法和應(yīng)用研究,但是案例的存儲(chǔ)形式、相應(yīng)的組織結(jié)構(gòu)及其檢索、推理和應(yīng)用一直是研究的重點(diǎn)和難點(diǎn)。從目前的研究情況來看,推理方法的實(shí)現(xiàn)是針對(duì)特定的案例表示和組織形式的,只有相應(yīng)的工具才能使用案例,智能主體(Agent)無法直接理解案例的內(nèi)容,不支持主體的自動(dòng)求解,限制了案例庫(kù)的適用范圍,對(duì)案例庫(kù)進(jìn)行更改必須同時(shí)修改CBR算法,不同的案例庫(kù)之間很難集成。隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展和Internet規(guī)模的急劇擴(kuò)大,使得CBR上述的局限性愈加明顯,單機(jī)系統(tǒng)已不能滿足應(yīng)用的需要,需要基于Web框架來實(shí)現(xiàn)CBR系統(tǒng)。
1 CBR簡(jiǎn)述
嚴(yán)格地說CBR并不是一種理論或技術(shù),而是一種模擬人進(jìn)行信息處理的方法。人們?cè)谶M(jìn)行問題求解時(shí),除了邏輯推理,有些時(shí)候可能會(huì)依賴于過去的經(jīng)驗(yàn)或相類似的案例。例如,醫(yī)生在診斷病人時(shí),常常會(huì)通過相類似的病例進(jìn)行診斷。這種推理在人工智能研究領(lǐng)域稱為基于案例的推理CBR。CBR在人工智能領(lǐng)域已經(jīng)有比較深入的研究和較廣泛的應(yīng)用。
一個(gè)典型的CBR系統(tǒng)由如下幾個(gè)部分組成:
(1)一組由多個(gè)案例(Case)組成的案例庫(kù)(Case Base);
(2)一個(gè)或多個(gè)相似度比較函數(shù);
(3)一系列案例調(diào)整或自學(xué)習(xí)規(guī)則(Adaptive Rules)。
下面是傳統(tǒng)的廣為所知的R4 CBR推理周期[1]。具體分述如下:
(1)Retrieve:從案例庫(kù)中獲取最相似的案例列表;
(2)Reuse:重用這些案例以解決新問題;
(3)Revise:修改這些案例以適應(yīng)新的問題,并形成新的解決方法;
(4)Retain:保存這些新的案例以備以后使用。
基于案例的方法在應(yīng)用于Web查詢與推理時(shí)有其一定的優(yōu)勢(shì)。一方面,CBR以案例的問題描述為查詢輸入,比之基于關(guān)鍵字的方法,查詢表達(dá)相對(duì)更為豐富;另外一方面,CBR以案例的相似度比較來完成查詢處理,比之基于邏輯的方法,查詢處理要相對(duì)容易。因此,在某些應(yīng)用場(chǎng)景下,CBR更適合于Web查詢與推理的實(shí)現(xiàn)。
目前這類系統(tǒng)在Web上已經(jīng)有很多具體實(shí)現(xiàn),但這些CBR都存在一些共同的問題:(1)缺乏一致化的案例表達(dá)語(yǔ)言。雖然有很多現(xiàn)成的案例表達(dá)語(yǔ)言,如面向?qū)ο蟮谋磉_(dá)語(yǔ)言CASUEL和Noos,基于XML的表達(dá)語(yǔ)言O(shè)ML[02]和CBML[3],但這些語(yǔ)言各有特點(diǎn),很難統(tǒng)一。(2)定義案例的領(lǐng)域術(shù)語(yǔ)缺乏本體的支持。這不適應(yīng)于Web CBR的需要,因?yàn)閃eb CBR的典型模式是多個(gè)由不同機(jī)構(gòu)或組織開發(fā)的案例庫(kù)進(jìn)行集成式的協(xié)同CBR推理。(3)案例庫(kù)相對(duì)獨(dú)立和封閉,不滿足Web的開放性需要。
基于上述考慮,本文提出、定義和設(shè)計(jì)實(shí)現(xiàn)" title="設(shè)計(jì)實(shí)現(xiàn)">設(shè)計(jì)實(shí)現(xiàn)了CaseML語(yǔ)言,并基于開放式知識(shí)服務(wù)體系,提出了Web CBR的基本實(shí)現(xiàn)架構(gòu)與方法。
傳統(tǒng)的Case表達(dá)方法共同的缺陷是,定義案例的術(shù)語(yǔ)缺乏明確表達(dá)的語(yǔ)義或本體支持,從而導(dǎo)致基于案例的知識(shí)共享、案例庫(kù)集成和案例交換難于實(shí)現(xiàn)。語(yǔ)義Web技術(shù)為解決這一問題提供了可能。為此提出并設(shè)計(jì)實(shí)現(xiàn)了一個(gè)基于RDF的案例表達(dá)語(yǔ)言,稱為CaseML。CaseML的基本設(shè)計(jì)思想是:基于RDF來描述案例,即基于RDF來描述和表達(dá)案例的問題空間" title="問題空間">問題空間和解答空間。也就是說,CaseML通過Web本體來統(tǒng)一案例描述的語(yǔ)義,以支持Web案例知識(shí)庫(kù)的集成。
2 CaseML的基本表達(dá)元語(yǔ)
本節(jié)對(duì)CaseML的基本表達(dá)元語(yǔ)進(jìn)行介紹,并給出了CaseML的RDF Schema定義。首先給出CaseML案例庫(kù)和案例的定義。
Definition CaseML CaseBase
一個(gè)CaseBase=〈Cases,SimilarityAssessment〉,即包含一組案例描述和一組相似度比較方法定義;
Definition CaseML Case
一個(gè)Case=〈Problem,Solution,AdaptiveRule〉,即一個(gè)案例包含一個(gè)問題描述,一個(gè)解答描述,以及一個(gè)案例適配" title="適配">適配規(guī)則。
接下來介紹CaseML的Schema定義,后面的" title="面的">面的定義用到了下面的命名空間定義:
〈?xml version=″1.0″?〉
〈?DOCTYPE rdf:RDF [ENTITY xsd
http://www.w3.org/2001/XMLSchema#〉]〉
〈rdf∷RDF
xmlns:rdf=″http://www.w3.org/1999/02/22-rdf-syntax-ns#″
xmlns:rdfs=″http://www.w3.org/2000/01/rdf-schema#″
xmls:caseml=″http://grid.zju.edu.cn/caseml/″
xmls:base=″http://grid.zju.edu.cn/caseml/〉″
CaseML中的Class定義
CaseBase:CaseBase是rdf:Bag類的子類,它是案例的容器。每個(gè)案例類實(shí)例都包含一個(gè)hasSimilarityAssement的屬性,并指向一個(gè)SimilarityAssessment類實(shí)例。
〈rdfs:Class rdf:ID=″CaseBase″〉
〈rdfs:subClassOf rdf:resource=″rdf:Bag″/〉
Case:每個(gè)案例都有一個(gè)問題描述(Problem)和一個(gè)解決方法描述(Solution)。
〈rdfs:Class rdf:ID=″Problem″/〉
Feature:一個(gè)特征(Feature)包含一組關(guān)于案例的問題或解答的RDF陳述。案例庫(kù)設(shè)計(jì)者可預(yù)先定義好描述案例的問題空間和解答空間的本體詞匯,這些詞匯可以在CaseML的Feature部分進(jìn)行定義。
〈rdfs:Class rdf:ID=″Feature″/〉
Solution:一個(gè)解決方法也包含一個(gè)或多個(gè)特征描述。
〈rdfs:Class rdf:ID=″Solution″/〉
SimilarityAssessment:這個(gè)包裝了關(guān)于如何對(duì)該案例庫(kù)內(nèi)的案例進(jìn)行相似度比較的信息??赡馨b的是一個(gè)外部程序調(diào)用方法,也可能是一個(gè)Web服務(wù)的地址。
〈rdfs:Class rdf:ID=″Case″/〉
AdaptaionRule:這個(gè)類用于包裝某個(gè)案例的調(diào)整規(guī)則,這些規(guī)則可以用類似于RuleML[4]的規(guī)則表達(dá)語(yǔ)言進(jìn)行表達(dá)。
〈rdfs:Class rdf:ID=″AdaptationRule″/〉
CaseML中的Property定義
domainOntology:一個(gè)案例庫(kù)需要指明其所使用的領(lǐng)域術(shù)語(yǔ)所屬的Web本體的地址
〈rdfs:Property rdf:ID=″domainOntology″〉
〈rdfs:domain rdf:resource=″#CaseBase″/〉
〈rdfs:range rdf:resource=″&xsd;string″/〉
〈/rdfs:Property〉/〉
hasProblem:這個(gè)屬性建立了Case類和Problem類的關(guān)系;
〈rdfs:Property rdf:ID=″hasProblem″〉
〈rdfs:domain rdf:resource=″#Case″/〉
〈rdfs:range rdf:resource=″#Problem″/〉
〈/rdfs:Property〉/〉
hasDescription:通過這個(gè)屬性,一個(gè)Feature類建立起和案例的問題或解答的具體描述。用戶可以把任何“rdf:resource”描述通過此屬性加入到案例的描述中。該“rdf Resource”可以是描述一個(gè)領(lǐng)域?qū)ο?,也可以是描述一組屬性/值對(duì),甚至可以是自由文本Literal;
〈rdfs:Property rdf:ID=″hasDescription″〉
〈rdfs:domain rdf:resource=″#Feature″/〉
〈rdfs:range rdf:resource=″rdf:Resource″/〉
〈/rdfs:Property〉/〉
hasSolution:此屬性建立起Case類的Solution類的關(guān)系;
〈rdfs:Property rdf:ID=″hasSolution″〉
〈rdfs:domain rdf:resource=″#Case″/〉
〈rdfs:range rdf:resource=″solution″/〉
〈/rdfs:Property〉/〉
hasFeatures:此屬性建立起Problem類、Solution類和Feature類之間的關(guān)系;
〈rdfs:Property rdf:ID=″hasFeatures″〉
〈rdfs:domain rdf:resource=″#problem″/〉
〈rdfs:domain rdf:resource=″#solution″/〉
〈rdfs:range rdf:resource=″# Feature″/〉
〈/rdfs:Property〉/〉
hasSimilarityAssessment每個(gè)案例庫(kù)實(shí)例都包含一個(gè)hasSimilarityAssessment屬性,并指向一個(gè)SimilarityAssessment類實(shí)例。有可能一個(gè)案例庫(kù)包含多個(gè)這樣的屬性,也就是說一個(gè)案例庫(kù)可能有多種不同比較相似度的方法;
〈rdfs:Property rdf:ID=″hasSimilarityAssessment″〉
〈rdfs:domain rdf:resource=″#CaseBase″/〉
〈rdfs:range rdf:resource=″# SimilarityAssessment″/〉
〈/rdfs:Property〉/〉
hasAdaptationRule:這個(gè)屬性建立起Case類和一個(gè)適配規(guī)則(Adaptation Rule)之間的關(guān)系。適配規(guī)則用于對(duì)查詢出的案例進(jìn)行適配性的修改,因?yàn)橛锌赡懿樵兂龅陌咐⒉荒芡耆m用于新的問題。
3 幾個(gè)中醫(yī)藥實(shí)例
下面通過一個(gè)來自于中醫(yī)藥的案例介紹CaseML的表達(dá)案例的方法。
中醫(yī)藥的典型特征是個(gè)體化診療,因此用案例來表達(dá)中醫(yī)藥知識(shí)非常合適。一個(gè)典型的中醫(yī)藥案例可由如下兩部分組成:
Problem描述:即癥狀的描述。
中醫(yī)藥對(duì)癥狀進(jìn)行診斷的基本方法是四診,即望、聞、問、切??梢猿槿〕鏊脑\的特征值,并表示為案例的屬性/值對(duì),如:
舌苔:無苔、白苔、黃苔、黑苔。
脈象:浮脈、沉脈、遲脈、數(shù)脈。
Solution描述:可包含病因分析、治療方法和處方部分的描述。
病因部分:脾虛、心陰虛。
治法部分:健脾、補(bǔ)心陽(yáng)。
處方部分:酉己方。
四診描述:
Problem趙某,男,27歲,頭暈,咳嗽,胸悶,氣短,低熱,盜汗,形體瘦弱,脈沉數(shù),舌質(zhì)暗紅,少苔,大便干,小便赤黃。
Solution 病因描述:陰虛、肺癆、肝火旺。
治法描述:清肺氣、養(yǎng)肺陰、清肝火、益腎精。
處方描述:
處方名:保肺露。
藥物組成:百部10克、天漿殼10克、烏賊骨" title="烏賊骨">烏賊骨10克、龍膽草10克、石決明15克、白芍10克、麥冬10克、紫苑10克、秋石6克、潼沙苑10克、百合30克。
制作方法:浸泡30分鐘、文火煎煮40分鐘、加水再煎30分鐘。
AdaptationRule處方調(diào)整規(guī)則:咳血者,加三七粉。痰多者,加川貝母。少兒,百部減半;
一個(gè)典型的中醫(yī)藥案例的組成在定義中醫(yī)藥案例時(shí)需要用到中醫(yī)藥的本體和術(shù)語(yǔ)定義。
上述中醫(yī)藥案例可以用CaseML描述如下:
〈caseml:Case rdf:id=″#case001″〉
〈caseml:hasProblem rdf:resource=″#problem001″/〉
〈caseml:hasSolution rdf:resource=″#solution001″/〉
〈caseml:hasAdaptationRule〉
咳血者,加三七粉; 痰多者,加川貝母;少兒,百部減半
〈/caseml:hasAdaptationRule〉
〈/caseml:Case〉
〈caseml:Problem rdf:id=″#problem001″/〉
〈caseml:hasFeature rdf:resource=″#feature001″/〉
〈caseml:hasFeature rdf:resource=″#feature002″/〉
……
〈/caseml:Problem〉
〈caseml:Feature rdf:id=″#feature001″/〉
〈caseml:hasDescription〉
〈rdf:description rdf:nodeID=″ ″〉
〈tcm:性別〉 男 〈/tcm:性別〉
〈tcm:年齡〉 27〈/tcm:年齡〉
〈/rdf:Description〉
〈/caseml:Feature〉
〈caseml:Feature rdf:id=″#feature002″/〉
〈caseml:hasDescription〉
〈rdf:Description rdf:nodeID=″ ″〉
〈tcm:舌質(zhì)〉 暗紅、少苔 〈/tcm:舌質(zhì)〉
〈tcm:脈象〉 沉、數(shù) 〈/tcm:脈象〉
〈tcm:寒熱〉 低熱、盜汗 〈/tcm:寒熱〉
……
〈/rdf:Description〉
〈/caseml:Feature〉
……
〈caseml:Solution rdf:id=″# Solution 001″〉
〈caseml:hasFeature rdf:resource=″#feature003″/〉
〈caseml:hasFeature rdf:resource=″#feature004″/〉
……
〈/caseml:Solution〉
〈caseml:Feature rdf:id=″#feature003″〉
〈caseml:hasDescription〉
〈rdf:Description rdf:nodeID=″ ″〉
〈tcm:病因〉 陰虛、肺癆、肝火旺
〈/tcm:病因〉
〈tcm:治法〉清肺氣、養(yǎng)肺陰、清肝火、益腎精〈/tcm:治法〉
〈tcm:處方 rdf:resource=″tcm:處方001″〉
〈/rdf:Description〉
〈/caseml:Feature〉
〈tcm:方劑 rdf:id=″#處方001″〉
〈tcm:方劑名稱〉保肺露〈/tcm:方劑名稱〉
〈tcm:組成〉
百部10克、天漿殼10克、烏賊骨10克、龍膽草10克、石決明15克、白芍10克、麥冬10克、紫苑10克、秋石6克、潼沙苑10克、百合30克
〈/tcm:組成〉
〈tcm:制備方法〉
浸泡30分鐘、文火煎煮40分鐘、加水再煎30分鐘
〈/tcm:制備方法〉
〈/tcm:方劑〉
……
網(wǎng)絡(luò)環(huán)境下CBR的系統(tǒng)結(jié)構(gòu),使最新的網(wǎng)絡(luò)技術(shù)應(yīng)用成為CBR新的研究方向。
參考文獻(xiàn)
1 Aamodt A,Plaza E.Case-Based Reasoning:Foundational Issues,Methodological Variations,and System Approaches.AI Communications.IOS Press,1994;(7)39~59
2 Aha D.The omnipresence of case-based reasoning in science and application.Knowledge-Based System.1998;(11):261~273
3 Goker M H,Berghofer T R.The development and utilization of the case-based help-desk support system HOMER.Engi-neering Applications of Artificial Intelligence.1999;(12):665~680
4 Schmidt R,Montani S,Bellazzi R et al.Case-Based Reason-ing for Medical Knowledge-based Systems.International Jour-nal of Medical Informatics.2001;(64):355~367