摘 要:研究基于知識系統(KBS)中知識的不確定性是開發KBS的重要問題,但現有模型化KBS幾乎都是基于確定性知識的。以經典的CommonKADS模型為背景,采用模型化工程中的不確定性技術,研究KBS中不確定性知識的表示方法。首先在基于值系統的值集概念上引入假設函數集合的評估函數,定義靜態不確定性領域知識;而后采用因果模型描述動態的不確定性推理知識和任務知識;最后將三類不確定性知識映射至CommonKADS模型。由此給出了描述不確定KBS的通用模型,擴展了KBS的可用性。
關鍵詞:基于知識系統; 不確定性; 模型化; CommonKADS
中圖分類號:TP182文獻標志碼:A
文章編號:1001-3695(2009)09-3381-03
doi:10.3969/j.issn.1001-3695.2009.09.051
Uncertain model for knowledge-based system
YUAN Yuan
(College of Computer Science Technology,Chongqing University of Posts Telecommunications, Chongqing 400065, China)
Abstract:The critical problem to exploit knowledge-based system (KBS) lies in surveying the uncertainty of knowledge in KBS. But the current modeling KBSs are based on certain knowledge almost. This paper took CommonKADS model as starting point, and adopted uncertain technology in modeling engineering, then researched the representational methods of uncertain knowledge in KBS. Firstly introduced evaluation function of hypothesis function set on the concept of valuation set of valuation-based system, thus defined the static uncertain domain knowledge. Then, described dynamic uncertain inference knowledge and task knowledge by causal model. Finally, mapped three kind of uncertain knowledge into KADS model. Thus, presented a common framework describing uncertain KBS, and improved the availability of KBS.
Key words:knowledge-based system; uncertain; modeling; commonKADS
0 引言
自Chandrasekaran提出知識共享和重用的概念以來[1],基于知識系統(knowledge-based system, KBS)一直是知識工程的熱點研究問題[2],并隨著知識網絡的發展成為開發語義Web的基礎研究[3]。為獲得知識最大可能共享與重用,KBS的開發遵循模型化方法,其中最具代表性的模型化KBS是Wielinga等人提出的KADS[4]。它將KBS中的知識明確劃分為領域知識、推理知識和任務知識,并提出了一個經典的由任務本體、問題解決方法(problem-solving method, PSM)和領域本體構成的基于模型的層次化KBS——KADS,強調三類知識的重用。此后關于KBS較有影響的研究都基于此模型[5~8],近來的一些研究也是如此[9,10]。但這些工作在模型化KBS的同時,卻沒有考慮到系統中知識的不確定性,即它們以確定性知識為前提。
實際系統皆具有一定程度的不確定性,主要體現為表示系統知識數據的不完備性??v觀KADS[4]、CommonKADS[5]、iBrow[6]、Protégé[7]、UPML[8]等KBS的代表性研究,極少有表述這種不確定性現象的形式化研究,從而將KBS與實際應用相隔離。KBS通常采用模型化方法建模,因此不能采用描述不確定信息的方法(如粗糙集、模糊集、粒計算等)[11]表征KBS的不確定性。而在模型化工程中存在大量表達不確定性的形式化方法,但其只側重于對某類不確定性現象的描述,而不能刻畫不確定模型化知識。比如,描述靜態不確定性現象的基于值的系統(valuation-based system, VBS)[12]、描述動態不確定性現象的因果模型[13]。為構建不確定KBS的形式化框架,下文在簡要陳述KBS模型和VBS、因果模型兩種不確定性方法的基礎上,以VBS來描述KBS不確定性領域知識,采用因果模型作為表達KBS不確定性推理知識和任務知識的工具,并給出三類不確定性知識向KBS的映射方法。
1 基于知識系統的模型
基于模型的KBS開發方法倡導知識的可重用性,致力于向使用者提供KBS的形式化模型。理想情況下,KBS模型的形式化規范將自動轉換為可執行代碼。以Wielinga模型為基礎,Schreiber細化了KADS的層次化結構。圖1所示為CommonKADS模型[5],下文以此模型為基礎討論KBS的不確定性建模。
概念是領域知識的基本要素,概念、概念實體及其間的相互關系構成了整個領域知識。
定義1 領域模型。若ABB(A,B)為從A到B所有映射的集合,領域模型DOM為五元組(Con, Ins, V, Attr, R)。其中,Con為概念集合,Ins為概念實例集合,V為實例值的集合,概念屬性AttrABB(Ins,V),而概念關系RConn∪Insn。
推理層是解決任務的執行體,推理知識分為知識源和派生知識。知識源是推理層中的基本操作,派生知識是知識源在執行問題解決過程中產生的新知識。知識源操作來自于領域層的領域知識而推理,參與推理的領域知識由元類(meta-class)來描述,其決定了領域知識在問題解決過程中所扮演的角色?;贑ommonKADS的模型將此角色分為輸入、輸出和靜態角色。
定義2 推理模型。若ABB(A,B)為從A到B所有映射的集合,推理模型INF為四元組(IR, OR, SR, KS)。其中,IR為輸入角色集合,OR為輸出角色集合,SR為靜態角色集合,知識源KSABB(2TR×2SR, OR)。
如何組合及執行推理層中的基本推理步則屬于任務知識的范疇??蛻羧蝿沼删哂幸欢ㄟ壿嬯P系的子任務構成,如將子任務的推理結果看為輸出,則較大粒度子任務的推理結果是較小粒度子任務輸出的集成,而原子任務則一一對應于推理層知識源。
定義3 任務模型。任務模型TASK為四元組(Task, SubTask, Res, Goal)。其中,Task為任務集合,子任務關系Sub-TaskT×T,Res為任務結果集合,任務目標Goal: Task→Res為任務到結果的映射。
連接上述模型就構成了KBS模型。據元類規范,將領域層元素填充到用于推理過程的角色實現了領域層同PSM層之間的連接,推理層和任務層則通過為原子任務分配知識源而交互,知識源決定了原子任務的輸出。
定義4 KBS模型。設DOM為領域模型,INF為推理模型,且TASK為任務模型。KBS模型EXP為五元組(DOM, fill, INF, ass, TASK)。其中,fill: DOM→INF,ass: TASK→INF。
2 描述不確定性現象的兩個模型
為描述KBS中的不確定性知識,首先引入模型化工程中的兩個基本模型,即VBS(基于值的系統)和因果模型。
2.1 VBS
VBS通過變量和變量值集來表示不確定性現象,首先定義不確定性變量的值集,然后采用組合和分裂算子操作值函數集合,實現對不確定性現象的描述。文獻[14]給出了上述過程的具體實現方案。
定義5 VBS設Vi是變量vi的值函數,WVi是vi的值集,ΨVi是vi值的確定性程度集合。對于ψ∈ΨVi,ψ∈[0,1],且WVi×ψVi→Vi。VBS定義為三元組({V1,…,Vm}, , ↘)。其中:為組合算子;↘為分裂算子。
同其他描述不確定性現象的系統相比,VBS側重于對現象的描述,非常適合于對靜態不確定性知識的定義。因此,下文將結合CommonKADS的形式化模型,采用VBS對不確定現象的描述方法來規范定義CommonKADS中的不確定性領域知識。
2.2 因果模型
因果模型著重刻畫變量間的因果關系,這種因果關系通過結構化方程來描述。模型將變量分為內部變量Vi和外部變量Ui,Vi描述了系統內部確定性因素,而不確定性因素由外部變量引入,并通過一定概率分布來非反映確定性因素對內部變量的影響程度。結構化方程形如
Voai=f(Vpai, Uai)
其函數值是可觀測的內部變量值,而函數變量是其余內部變量的值(Vpai)和外部變量的值(Uai)。因此,方程左邊表示事件發生的結果,而右邊則表示引起事件發生的原因,從而此方程一一對應于因果關系。因果模型的另外一個重要特色是通過結構化方程對活動的描述,此時,結構化方程為condition: [action]→result。若原子活動描述為do(X=x),它表示活動將結構化方程中x的值替換為X的值,即由于系統中活動的作用引起了結構化方程輸出結果的變化。因果模型非常適合于對復雜動態過程的描述,為描述CommonKADS中不確定性推理知識提供了可能性。
3 不確定性知識建模
根據CommonKADS的KBS知識劃分,下文將對三種類型的不確定性知識予以描述??紤]到領域知識同推理知識和任務知識在性質上的巨大差異,對其進行分別討論。
對于不確定性領域知識,根據VBS采用值集來定義不確定性現象的基本思想,必須定義其值集,但此值集只反映了不確定性現象在CommonKADS中的初始化形式,即沒有反映出不確定性知識的逐步求精過程,這一點是VBS所沒有考慮到的。對此,本文的思路是首先定義不確定性現象的初始值函數集合,本文稱其為假設函數集合(hypothesis function set),用系統事先定義的知識集合來評估此假設集合,此知識集合是某些評估函數(evaluation function)的集合。評估函數根據對表示不確定性現象的假設函數的評估結果修正假設函數集合,從而將不確定性知識引入KBS中。而對于動態的推理和任務知識,直接采用因果模型給出定義。
3.1 不確定性領域知識
根據上述基于評估函數集合的思想,變量的假設函數集合和評估函數集合構成了不確定性領域知識的基本建模元素。
定義6 簡單不確定性領域知識。簡單不確定性領域知識up為對(SFSv, EFS)。其中,SFSv為變量v的假設函數集合,EFS為系統提供的評估函數集合。
但對于具有復雜對象的領域,每一對象可能對應著一個不確定現象,因此,采用簡單的不確定性領域知識來評估復雜的領域知識是很不充分的。復雜的不確定性領域知識由簡單不確定性領域知識通過一定的邏輯運算而構成。
定義7 復雜不確定性領域知識 UP為簡單不確定性領域知識集合,kUP是復雜的不確定性領域知識集合,kUP2UP。復雜的不確定性領域知識表示為
kUPs1,…,sn=opsni=1{si}
其中:si表示簡單不確定性領域知識,ops為邏輯算子。
3.2 推理和任務知識
如前文所述,因果模型的結構化方程可描述系統活動,推理可看為具有原因和結果的活動。因此,可采用結構化方程來描述系統中的推理活動,即每個推理活動對應一個結構化方程。知識源是推理層的底層知識,領域知識通過推理層與領域層間的元類對知識源的規范映射為知識源。
定義8 不確定性知識源。UP為不確定性領域知識集合,不確定性知識源UKS為映射UPn×KSS→UP,其中KSS為元類對知識源的規范集合。
若p1,…,pn為不確定性現象,根據結構化方程,UKS的結果eUKS=UKS(p1,…,pn)。另外,在確定性KBS模型中,知識源的推理活動可派生出新的推理知識。
而任務知識的基本功能是描述子任務關系以及如何將推理映射到原子任務上,即根據任務結構如何組合解決整體任務的單獨推理步以及如何集成單獨推理結果為整體結果。因此,系統外部的不確定性因素不影響任務知識的構成。
4 不確定性知識向CommonKADS的映射
在基于模型的知識工程中,上述知識模型只有在同KBS語義模型間關系明確的情況下才有實際意義,因此必須將上述不確定性知識映射到CommonKADS中才能構成真正意義的不確定性KBS?;贑ommonKADS模型采用定義參考函數的方法來獲取外部知識[2],本文基于CommonKADS的不確定性KBS沿用上述方法以支持不確定性知識與系統的映射。
4.1 領域層
不確定性知識同領域層的融合通過將不確定性領域知識映射到由領域對象和領域對象間的連接組成的領域模型元素上而實現。
定義9 簡單領域參考。UP為簡單不確定性領域知識的集合,Θ是領域元素間連接的布爾函數集合,則簡單領域參考ref[dom]定義為
ref[dom](UP)∈(Ins∪Con)×(Attr∪Θ)
ref[dom](UP)=(ref[obj](UP), ref[link](UP))
由此,簡單不確定性領域知識到領域模型對象的映射ref[obj](UP)分為兩種情況描述:對于實例ins∈Ins,ref[obj](UP)=ins;對于概念con∈Con,ref[obj](UP)=con。簡單不確定性領域知識到領域模型對象間連接的映射ref[link](UP)也存在兩種情況:對于attr∈Attr,ref[link](UP)=attr;對于θ∈Θ,ref[link](UP)=θ。
而復雜不確定性領域知識和KBS模型之間的關系基本上是由其中的簡單領域知識同系統之間的關系復合而成,但在進行復合時領域層可能不存在同其中簡單領域知識相關聯的概念,即復合的復雜領域知識不能同領域層對象建立映射關系。對此,一個可行的解決方案是將領域概念抽象為謂詞,在將組成復雜領域知識的簡單領域知識映射到領域元素時預先向其提供謂詞參考。
定義10 謂詞參考。kup={up1,…,upn}為復雜不確定性領域知識,簡單不確定性領域知識upi=(SFSv, EFS),pi為不確定性現象,若ref[obj](upi)=pi(i=1, …,n),稱Ref(ref[link](p1), …, ref[link](pn))為kup的謂詞參考。
定義11 復雜領域參考。KUP為復雜不確定性領域知識集合,REF是所有參考謂詞的集合,復雜領域參考ref[dom]定義為
ref[dom](KUP)∈(Ins∪Con)×REF
ref[dom](KUP)=(ref[elem](KUP), ref[pred] (KUP))
由此,復雜不確定性領域知識到領域模型元素的映射表示為ref[elem](KUP),分兩種情況對其進行處理:對于實例ins∈Ins,ref[pred](KUP)∈REF,則ref[elem](KUP)=ins;對于概念con∈Con,ref[pred](KUP)∈REF,則ref[elem](KUP)=con。
4.2 推理和任務
根據因果模型,結構化方程規定了不確定性活動的輸入和輸出關系。考慮推理層,輸入和靜態角色及輸出角色則對應于因果關系的原因和結果,且一旦知識源已由不確定性領域知識而定義,其結果將成為其派生不確定性推理的輸入和靜態角色。
定義12 知識源參考。UKS(p1, …, pn)為不確定性知識源,知識源參考ref[inf]定義為
ref[inf](UKS)∈KS
ref[inf](eUKS)∈OR
ref[inf](pi)∈IR∪SR; i=1, …, n
ref[inf](UKS): ref[inf](p1)×…×ref[inf](pn)→ ref[inf](eUKS)
任務知識不受外部不確定性因素的影響,但在將任務知識安排到推理層時,必須考慮不確定性推理知識對任務的影響。因此,本文假設將所有不確定性知識源映射至系統任務層上,由此,推理參考和任務參考均由不確定性知識源而表示。
定義13 任務參考。UKS(p1, …, pn)為不確定性知識源,其中,pi為不確定性現象,則相應的任務參考ref[task]定義為
若Tai∈Task為原子任務,
ref[task](eUKSi)∈Res
ref[task](UKSi)=Tai
若Tai∈Task不為原子任務,
ref[task](pi)∈Res; i=1,…,n
Tai: ref[task](pi)=Goal(Tai)∧SubTask(Tai,ref[task](UKS));i=1, …, n
上述定義的第一種情況表示將不確定性知識源直接映射到原子任務上;而在第二種情形中,根據不確定性知識源的結構化方程,可將原子任務輸出的集成作為子任務輸入,且整個任務安置過程可保證任務拓撲的不變性。
5 結束語
隨著智能軟件大型化、分布化,追求知識共享與重用,KBS也隨之成為研究面向大型計算智能計算機、語義Web的基礎,為符合實際應用環境必須研究KBS不確定性。本文以CommonKADS形式化模型為基本骨架,吸收基于值的系統和因果模型對不確定性因素的形式化描述,提出了與具體演算無關的KBS中不確定性知識的描述方法,通過將不確定性知識融入KBS中,給出了一個不確定性KBS的形式化模型,使其具有較強的通用性,為探索基于模型的不確定性知識建模方法進行了新的嘗試,可初步作為不確定性知識模型的創建方法。圍繞本文的研究目標和內容,進一步的研究包括選擇一種實例化語言來描述文中不確定性KBS以及探討其可重用性。
參考文獻:
[1]CHANDRASEKARAN B. Towards a taxonomy of problem-solving types[J]. AI Magazine, 1983, 4(1):9-17
[2]STUDER R, BENJAMINS V R, FENSEL D. Knowledge enginee-ring:Principles and methods[J]. Data and Knowledge Enginee-ring, 2000,26(2):161-197.
[3]BUSSLER C,FENSEL D, MAEDCHE A. A conceptual architecture for semantic Web enabled Web services[J].ACM SIGMOD Record,2002,31(4):24-29.
[4]WIELIANGA B J, SCHREIBER G, BREUKER J A. KADS:a modeling approach to knowledge engineering[J]. Knowledge Acquisition Journal, 1992,4(1): 5-23.
[5]SCHREIBER G, WIELINGA B, De HOOG R, et al. CommonKADS:a comprehensive methodology for KBS development[J]. IEEE Expert, 1994, 9(6): 28-37.
[6]ZDRAHAL Z, MOTTA E. A library of problem-solving components based on the integration of the search paradigm with task and method ontologies[J]. International Journal of Human-Computer Stu-dies, 2002, 49(4):437-470.
[7]SCHREIBER G,CRUBZY M. A case study in using Protégé-2000 as a tool for CommonKADS[C]//Proc of the 12th European Workshop on Knowledge Acquisition, Modeling and Management.London:Springer-Verlag, 2000:33-48.
[8]OMELAYENKO B, CRUBEZY M, FENSEL D, et al. UPML:the lanugage and tool support for making the semantic Web alive[M]. Cambridge:the MIT Press, 2003.
[9]CORSAR D. KBS Development through ontology reuse and ontology driven acquisition[D]. Aberdeen:University of Aberdeen, 2007.
[10]朱欣娟. 應用領域知識系統建模研究[D]. 西安: 西北工業大學, 2004.
[11]王國胤, 張清華.不同知識粒度下粗糙集的不確定性研究[J].計算機學報, 2008,30(9):1588-1598.
[12]SHENOY P. Valuation-based system: a framework for managing uncertainty in expert systems[J]. Fuzzy Logic for the Management of Uncertainty, 1989, 5(2): 43-62.
[13]PEARL J. Structural and probabilistic causality[J]. The Psycho-logy of learning and Motivation, 1996, 34(5): 393-435.
[14]SHENOY P P. Consistency in valuation-based systems[J]. ORSA Journal on Computing, 1994, 6(3): 281-291.