摘 要: 提出一種基于案例的Web推理方法和對應的CBR系統(tǒng)結構,以適應目前Internet環(huán)境下知識共享、知識管理工具和知識應用的發(fā)展。
關鍵詞: 語義Web CBR 案例 CaseML
基于案例推理CBR(Case Based Reasoning)是人工智能研究的傳統(tǒng)研究領域,吸引了大量的研究者致力于CBR的理論方法和應用研究,但是案例的存儲形式、相應的組織結構及其檢索、推理和應用一直是研究的重點和難點。從目前的研究情況來看,推理方法的實現(xiàn)是針對特定的案例表示和組織形式的,只有相應的工具才能使用案例,智能主體(Agent)無法直接理解案例的內容,不支持主體的自動求解,限制了案例庫的適用范圍,對案例庫進行更改必須同時修改CBR算法,不同的案例庫之間很難集成。隨著網(wǎng)絡技術的不斷發(fā)展和Internet規(guī)模的急劇擴大,使得CBR上述的局限性愈加明顯,單機系統(tǒng)已不能滿足應用的需要,需要基于Web框架來實現(xiàn)CBR系統(tǒng)。
1 CBR簡述
嚴格地說CBR并不是一種理論或技術,而是一種模擬人進行信息處理的方法。人們在進行問題求解時,除了邏輯推理,有些時候可能會依賴于過去的經驗或相類似的案例。例如,醫(yī)生在診斷病人時,常常會通過相類似的病例進行診斷。這種推理在人工智能研究領域稱為基于案例的推理CBR。CBR在人工智能領域已經有比較深入的研究和較廣泛的應用。
一個典型的CBR系統(tǒng)由如下幾個部分組成:
(1)一組由多個案例(Case)組成的案例庫(Case Base);
(2)一個或多個相似度比較函數(shù);
(3)一系列案例調整或自學習規(guī)則(Adaptive Rules)。
下面是傳統(tǒng)的廣為所知的R4 CBR推理周期[1]。具體分述如下:
(1)Retrieve:從案例庫中獲取最相似的案例列表;
(2)Reuse:重用這些案例以解決新問題;
(3)Revise:修改這些案例以適應新的問題,并形成新的解決方法;
(4)Retain:保存這些新的案例以備以后使用。
基于案例的方法在應用于Web查詢與推理時有其一定的優(yōu)勢。一方面,CBR以案例的問題描述為查詢輸入,比之基于關鍵字的方法,查詢表達相對更為豐富;另外一方面,CBR以案例的相似度比較來完成查詢處理,比之基于邏輯的方法,查詢處理要相對容易。因此,在某些應用場景下,CBR更適合于Web查詢與推理的實現(xiàn)。
目前這類系統(tǒng)在Web上已經有很多具體實現(xiàn),但這些CBR都存在一些共同的問題:(1)缺乏一致化的案例表達語言。雖然有很多現(xiàn)成的案例表達語言,如面向對象的表達語言CASUEL和Noos,基于XML的表達語言OML[02]和CBML[3],但這些語言各有特點,很難統(tǒng)一。(2)定義案例的領域術語缺乏本體的支持。這不適應于Web CBR的需要,因為Web CBR的典型模式是多個由不同機構或組織開發(fā)的案例庫進行集成式的協(xié)同CBR推理。(3)案例庫相對獨立和封閉,不滿足Web的開放性需要。
基于上述考慮,本文提出、定義和設計實現(xiàn)" title="設計實現(xiàn)">設計實現(xiàn)了CaseML語言,并基于開放式知識服務體系,提出了Web CBR的基本實現(xiàn)架構與方法。
傳統(tǒng)的Case表達方法共同的缺陷是,定義案例的術語缺乏明確表達的語義或本體支持,從而導致基于案例的知識共享、案例庫集成和案例交換難于實現(xiàn)。語義Web技術為解決這一問題提供了可能。為此提出并設計實現(xiàn)了一個基于RDF的案例表達語言,稱為CaseML。CaseML的基本設計思想是:基于RDF來描述案例,即基于RDF來描述和表達案例的問題空間" title="問題空間">問題空間和解答空間。也就是說,CaseML通過Web本體來統(tǒng)一案例描述的語義,以支持Web案例知識庫的集成。
2 CaseML的基本表達元語
本節(jié)對CaseML的基本表達元語進行介紹,并給出了CaseML的RDF Schema定義。首先給出CaseML案例庫和案例的定義。
Definition CaseML CaseBase
一個CaseBase=〈Cases,SimilarityAssessment〉,即包含一組案例描述和一組相似度比較方法定義;
Definition CaseML Case
一個Case=〈Problem,Solution,AdaptiveRule〉,即一個案例包含一個問題描述,一個解答描述,以及一個案例適配" 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類的子類,它是案例的容器。每個案例類實例都包含一個hasSimilarityAssement的屬性,并指向一個SimilarityAssessment類實例。
〈rdfs:Class rdf:ID=″CaseBase″〉
〈rdfs:subClassOf rdf:resource=″rdf:Bag″/〉
Case:每個案例都有一個問題描述(Problem)和一個解決方法描述(Solution)。
〈rdfs:Class rdf:ID=″Problem″/〉
Feature:一個特征(Feature)包含一組關于案例的問題或解答的RDF陳述。案例庫設計者可預先定義好描述案例的問題空間和解答空間的本體詞匯,這些詞匯可以在CaseML的Feature部分進行定義。
〈rdfs:Class rdf:ID=″Feature″/〉
Solution:一個解決方法也包含一個或多個特征描述。
〈rdfs:Class rdf:ID=″Solution″/〉
SimilarityAssessment:這個包裝了關于如何對該案例庫內的案例進行相似度比較的信息。可能包裝的是一個外部程序調用方法,也可能是一個Web服務的地址。
〈rdfs:Class rdf:ID=″Case″/〉
AdaptaionRule:這個類用于包裝某個案例的調整規(guī)則,這些規(guī)則可以用類似于RuleML[4]的規(guī)則表達語言進行表達。
〈rdfs:Class rdf:ID=″AdaptationRule″/〉
CaseML中的Property定義
domainOntology:一個案例庫需要指明其所使用的領域術語所屬的Web本體的地址
〈rdfs:Property rdf:ID=″domainOntology″〉
〈rdfs:domain rdf:resource=″#CaseBase″/〉
〈rdfs:range rdf:resource=″&xsd;string″/〉
〈/rdfs:Property〉/〉
hasProblem:這個屬性建立了Case類和Problem類的關系;
〈rdfs:Property rdf:ID=″hasProblem″〉
〈rdfs:domain rdf:resource=″#Case″/〉
〈rdfs:range rdf:resource=″#Problem″/〉
〈/rdfs:Property〉/〉
hasDescription:通過這個屬性,一個Feature類建立起和案例的問題或解答的具體描述。用戶可以把任何“rdf:resource”描述通過此屬性加入到案例的描述中。該“rdf Resource”可以是描述一個領域對象,也可以是描述一組屬性/值對,甚至可以是自由文本Literal;
〈rdfs:Property rdf:ID=″hasDescription″〉
〈rdfs:domain rdf:resource=″#Feature″/〉
〈rdfs:range rdf:resource=″rdf:Resource″/〉
〈/rdfs:Property〉/〉
hasSolution:此屬性建立起Case類的Solution類的關系;
〈rdfs:Property rdf:ID=″hasSolution″〉
〈rdfs:domain rdf:resource=″#Case″/〉
〈rdfs:range rdf:resource=″solution″/〉
〈/rdfs:Property〉/〉
hasFeatures:此屬性建立起Problem類、Solution類和Feature類之間的關系;
〈rdfs:Property rdf:ID=″hasFeatures″〉
〈rdfs:domain rdf:resource=″#problem″/〉
〈rdfs:domain rdf:resource=″#solution″/〉
〈rdfs:range rdf:resource=″# Feature″/〉
〈/rdfs:Property〉/〉
hasSimilarityAssessment每個案例庫實例都包含一個hasSimilarityAssessment屬性,并指向一個SimilarityAssessment類實例。有可能一個案例庫包含多個這樣的屬性,也就是說一個案例庫可能有多種不同比較相似度的方法;
〈rdfs:Property rdf:ID=″hasSimilarityAssessment″〉
〈rdfs:domain rdf:resource=″#CaseBase″/〉
〈rdfs:range rdf:resource=″# SimilarityAssessment″/〉
〈/rdfs:Property〉/〉
hasAdaptationRule:這個屬性建立起Case類和一個適配規(guī)則(Adaptation Rule)之間的關系。適配規(guī)則用于對查詢出的案例進行適配性的修改,因為有可能查詢出的案例并不能完全適用于新的問題。
3 幾個中醫(yī)藥實例
下面通過一個來自于中醫(yī)藥的案例介紹CaseML的表達案例的方法。
中醫(yī)藥的典型特征是個體化診療,因此用案例來表達中醫(yī)藥知識非常合適。一個典型的中醫(yī)藥案例可由如下兩部分組成:
Problem描述:即癥狀的描述。
中醫(yī)藥對癥狀進行診斷的基本方法是四診,即望、聞、問、切??梢猿槿〕鏊脑\的特征值,并表示為案例的屬性/值對,如:
舌苔:無苔、白苔、黃苔、黑苔。
脈象:浮脈、沉脈、遲脈、數(shù)脈。
Solution描述:可包含病因分析、治療方法和處方部分的描述。
病因部分:脾虛、心陰虛。
治法部分:健脾、補心陽。
處方部分:酉己方。
四診描述:
Problem趙某,男,27歲,頭暈,咳嗽,胸悶,氣短,低熱,盜汗,形體瘦弱,脈沉數(shù),舌質暗紅,少苔,大便干,小便赤黃。
Solution 病因描述:陰虛、肺癆、肝火旺。
治法描述:清肺氣、養(yǎng)肺陰、清肝火、益腎精。
處方描述:
處方名:保肺露。
藥物組成:百部10克、天漿殼10克、烏賊骨" title="烏賊骨">烏賊骨10克、龍膽草10克、石決明15克、白芍10克、麥冬10克、紫苑10克、秋石6克、潼沙苑10克、百合30克。
制作方法:浸泡30分鐘、文火煎煮40分鐘、加水再煎30分鐘。
AdaptationRule處方調整規(guī)則:咳血者,加三七粉。痰多者,加川貝母。少兒,百部減半;
一個典型的中醫(yī)藥案例的組成在定義中醫(yī)藥案例時需要用到中醫(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:舌質〉 暗紅、少苔 〈/tcm:舌質〉
〈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)絡環(huán)境下CBR的系統(tǒng)結構,使最新的網(wǎng)絡技術應用成為CBR新的研究方向。
參考文獻
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