框架表示語言

框架表示語言

框架表示語言是指以框架方式表示知識的系統,由畫面文法生成的語言。用該語言可以輸入以框架形式表示的各種知識,從而建立系統的知識庫。框架表示語言是專門基於框架的程式設計語言。

基本介紹

  • 中文名:框架表示語言
  • 外文名:Frame Representation Language
  • 簡稱:FRL
  • 代表語言:SRL、FRL
  • 基礎:以框架方式表示知識
  • 工具:畫面文法
定義,框架表示法,結構性,繼承性,自然性,框架系統,求解問題的基本過程,主要優點,主要缺點,DEST的框架表示語言,框架語言的四個部分,框架語言的BNF描述,

定義

框架是描述所討論對象屬性的一種數據結構,一個框架由若干個稱為“槽”的結構組成,每個槽又可以分為若干個“側面”。一個槽用於描述所討論對象某一方面的屬性,一個側面用於描述相應屬性的一個方面。槽和側面所具有的屬性值分別稱為槽值和側面值。
框架表示是一種知識表示模式,一個框架用於描述某一對象,它用許多槽及其特定的槽值來描述一種或多種特性。它還可以表示框架之間的關係,從而組成框架系統。框架系統不僅能夠描述單個對象的複雜結構,而且能夠表述多個對象的關係以及單個對象的動態變化過程等複雜知識。
框架表示語言是指以框架方式表示知識的系統,由畫面文法生成的語言,用該語言可以輸入以框架形式表示的各種知識,從而建立系統的知識庫。

框架表示法

框架表示法的研究成果或系統體現在知識表示語言的創建以及專家系統的設計和套用方面。KRL是Bbw創建的基於框架的知識表示語言,SRL是由卡內基-梅隆大學建立的框架表示語言,FRL是由麻省理工學院創建的框架表示語言。創建了語言之後,設計了專家系統。除了以上幾家之外,還有B.D.Claytn創建的ART,是一種基於框架和產生式規則、面向過程與對象的通用型專家工具。
框架表示法有以下特點:

結構性

框架表示法最突出的特點是它善於表達結構性的知識,能夠把知識的內部結構關係及知識間的聯繫表示出來,因此它是一種經組織起來的結構化的知識表達方式。這一特點是產生式表示法所不具備的,產生式系統中的知識單位是產生式規則,這種知識單位由於太小而難於處理複雜問題,也不能把知識間的結構關係顯式地表達出來。框架表示法的知識單位是框架,而框架是由槽組成的,槽又可以分為若干個側面,這樣就可以把知識的內部結構顯式地表示出來。

繼承性

框架表示法使用槽值作為另一個框架的名字實現框架間的聯繫,建立起表示複雜知識的框架網路。在框架網路中,下層框架可以繼承上層框架的槽值,也可以進行補充和修改,這樣不僅減少了知識的冗餘,而且較好地保證了知識的一致性。

自然性

框架表示法體現了人們在觀察事物時的思維活動當遇到新事物時,通過從記憶中調用類似事物的框架,並將其中某些細節進行修改、補充,就形成了對新事物的認識,這與人們的認識活動是一致的。

框架系統

求解問題的基本過程

在用框架表示知識的系統中,問題的求解主要是通過匹配與填槽實現的。當要求解某個問題時,首先把這個問題用一個框架表示出來,然後通過與知識庫中已有的框架進行匹配,找出一個或幾個可匹配的預選框架作為初步假設,並在此初步假設的引導下進一步收集信息,最後用某種評價方法對預選框架進行評價,以便決定是否接受它。

主要優點

(1)有利於期望引導的處理;
(2)在給定的狀態下,通過設計能決定其本身的可利用性或者提供其他框架;
(3)深層次,結構性和一致性較好,並且有繼承性;
(4)知識組織的方式有利於推理。

主要缺點

(1)許多實際情況與原型不符合;
(2)不善於表達過程性知識
(3)屬性的不確定性帶來知識表達的不確定性;
(4)對新的情況、特例及複合對象的描述能力欠缺。

DEST的框架表示語言

框架語言的四個部分

DEST系統框架結構大體上可以分為四個部分:
(1)框架標識段。框架標識段要求在一行內寫完,以";"結束。
(2)框架的分類定義段。超類--子類關係用superclass或subclass表達,要求在一行內寫完,以";"結束。成員關係用member或memberof表達,要求在一行內寫完,以";"結束。
(3)框架屬性定義。框架屬性用槽表達,有ownslot和memberslt兩種槽。ownslot一般只存在於成員框架中,表達框架自身屬性;memberslot存在於類框架中,用於表達這一類對象中所有子類各成員的共同屬性。槽有多個側面,valueclass側面表達槽值的類;inheritance側面表達槽值的繼承屬性;用戶還可以自定義側面,表達槽的另外一些屬性。槽標識段要求在一行內寫完,以";"結束。
(4)框架結尾段。框架結尾要求在一行內寫完,以";"結束。

框架語言的BNF描述

<框架> ::= uiit <框架名> in <知識庫名>;          /*框架標識段*/
    {superclasses:<超類框架名> {,<超類框架名>};}      /*框架分類定義段*/
    {subclasses:<子類框架名> {,<子類框架名>};}
    {member:<成員框架名>{,<成員框架名>};}
       {memberof:<類框架名>{,<類框架名>};}
     <槽> {<槽>}                                              
     end unit;                                      
<槽> ::= memberslot|ownslot: <槽名> from <框架名>; /*槽標識段*/ 
   valueclass:<槽值類型>;
    inhertance:<繼承屬性>;
   {<自定義側面>:<側面值>;}
   values: <槽值>;
   end slot;
<槽值類型>   ::=interger{real|string|rules|methods|<類框架名>}
<繼承屬性>   ::=override|union|method
<框架名>     ::=<字元>{<字元> | <數字>}
<槽名>       ::=<字元>{<字元> | <數字>}
<側面值>     ::=<數值> | <字元串>
<槽值>       ::=<數值> | <字元串> | <方法名> | <框架名> | <規則集>
<數值>       ::=<整數> | <實數>
<字元串>     ::=<字元>{<字元> | <數字>}
<字元>       ::=A...Z | a...z
<數字>       ::=0...9             

相關詞條

熱門詞條

聯絡我們