6.フレーム型知識表現

6.フレーム型知識表現
1975年Minskyらによる提案
「人は新しい場面に出会うとき、記憶
の中からフレームと呼ばれる記憶の
枠組みを選び出す。フレームは、必要
に応じて現実に合うよう変更される」
6.1 フレームによる知識表現と利用
フレーム理論は表現の理論である






型にはまった状況を表現するデータ構造。
フレームのトップレベルは常に真。
関連を持つフレームの集まりは、互いに結合される。
ひとつのフレームから他のフレームの変化は、因果関係
や視点の変化を示す。
フレームのスロットにはデフォルト値を割り当てることがで
きる。
知識の完全な表現方法や利用方法、値の割り当て方法
については論及しない。
典型的知識とフレーム(1)
三角錘 と 四角錘 の見え方
A B
A B
A D
B C
(a)
(b)
(c)
C
三角錐の見え方a
左側の三角形
A
右側の三角形
B
向こう側の三角形 C
三角錐の見え方b
左下の三角形
右下の三角形
上側の三角形
視点の変化
A
B
C
四角錐の見え方c
左上の三角形
左下の三角形
右下の三角形
右上の三角形
類似フレーム検索
A
B
C
D
典型的知識とフレーム(2)
会議
種類 : 業務活動
出席者 : 必要条件(出席者に 議長の役割の者が いるか)
凡例
特徴・手続きの継承
上位階層
PA会議
種類 : 会議
日時 : Default
場所 : Default
目的 : Default
出席者 : Default
第13回PA会議
種類 : PA会議
出席者 : (坂田)
(山田(役割 : 開発環境))
(曜日 : 金曜日
時間 : 1時間)
ソフト工学演習室
プロジェクト進捗
(坂田 (役割 : 議長))
(金山 (役割 : 推論))
(山下 (役割 : 知識ベース))
(中村 (役割 : マンマシン))
6.2 フレーム型知識表現言語
 フレームをどのように利用するかは、研究
者によって異なる。
 従って、知識表現言語は、適用対象によっ
てさまざまに異なる。
色々なフレーム型知識表現言語
(1) FRL(Frame Representation Language)
(2) KRL(Knowledge Representation Language)
(3) Unit Package
(4) Script
(5) RLL(Representation Language)
(6) FMS(Frame Manipulation System)
(7) CL(Conceptual network based Language)
(8) KRINE(Knowledge Representation and Inference Environment)
(9) GENTAUR
(10) KEE(Knowledge Engineering Environment)
(11) LOOPS
(12) COMEX(Compact knowledge based Expert system)
(13) KBMS(Knowledge Base Management System)
FRL(Frame Representation Language) その1
(1) フレームによるデータ構造とフレーム処理用のLISP関数
(2) フレームの構造
スロット
:
データとフレームとの関係
ファシット
:
データの型(接頭辞“$”を付ける)
コメント
:
ラベルとメッセージで表現
(例) (患者A (年齢 ($VALUE (50 (SOURCE : 使用者)))))
患者Aの年齢は50であり、使用者からの入力である。
(3) 6種類のファシット
① $VALUE
データは値である
② $DEFAULT
データはデフォルトである
③ $IF-ADDED
値が割り当てられたときLISPプログラムを起動
④ $IF-REMOVED 値が削除されたときLISPプログラムを起動
⑤ $IF-NEEDED
値が必要となったときLISPプログラムを起動
⑥ $REQUIRE
値が要求されたときLISPプログラムを起動
FRL(Frame Representation Language) その2
(4) 最初から備わっているLISP関数
①フレームの生成、修正、削除、フレーム内部の修正、参照
②フレーム構造の表示および階層関係にあるフレームの表示
③付加手続きの実行
④値の制限
FRL(Frame Representation Language) 記述例
(会議
(AKO
($VALUE
(業務活動)))
(出席者
($REQUIRE
((EXIST? 作業者 (HAS-ROLE ‘議長)))))
($VALUE
(会議)))
(日時
($DEFAULT
((ON FRIDAY) (FOR 1 HOUR))))
(場所
($DEFAULT
(ソフト工学演習室)))
(目的
(出席者
($DEFAULT
($DEFAULT
(プロジェクト進捗)))
(坂田 (ROLE : 議長))
(金山 (ROLE : 推論))
(山下 (ROLE : 知識ベース))
(中村 (ROLE : マンマシン)))))
(PA会議 (AKO
(第13回PA会議
(AKO
(出席者
(業務活動 (AKO
(出席者
($IF-NEEDED
(日時
($VALUE
(PA会議)))
($VALUE
(坂田 (山田(ROLE : 開発環境))))))
($VALUE
(業務)))
($REQUIRE ((AKO PERSON)))
((ASK) (TYPE : REQUET))))
($IF-ADDED ((ADD-TO-CALENDAR)))))
FRLのアプリケーション例
 NUDGE(会議計画システム)
 WHOSIS(人工知能研究者名簿質問応答
システム)
KRL(Knowledge Representation Language)
応用システムは作成されなかったが…





様々な知識を表現するための様々なカテゴリーのフレーム
概念化情報の記述法の開発
手続き的知識を集約
フレームに対応するデータ構造をユニット(Unit)と呼ぶ。
ユニット7つのカテゴリがある(Basic, Specialization, Abstract,
Individual, Manifestation, Relation, Proposition)
KRLでのユニットのカテゴリ
カテゴリ名
Basic
Specialization
Abstract
Individual
Manifestation
Relation
Proposition
機
能
対象の排他的分類
より具体的な分類 (例)脊椎動物に対して哺乳類
遺伝すべき記述と手続き
個々の具体例
複数の具体例に共有される記述のグループ化
抽象的関係や述語
具体的関係や命題
スロットの考え方



スロットに、概念的実体(Conceptual Entities : 物体,関係,
シーン,出来事など)を記述。
スロットの記述(Descriptions)は、記述子(Descriptors)の
リスト。
記述子は9種類(Direct Pointer, Perspective, Specification,
Predication, Logical Boolean, Restriction, Selection, Set
Specification, Contingency)
KRLの記述子(Descriptors)
記述子
機能
表現形式
Direct Pointer
Perspective
直接的な指示
対象のカテゴリへの割り当て
Specification
Selection
役割を用いた表現
(例)ある会社の社長
関係(述語)の定義
(例)ある会社の社長
OR, XOR, NOT
(暗黙的にはAND)
条件を付けて具体例を示す
(例)メガネをかけた男
場合分け
ユニット名、数、ストリング、リスト
(a prototype with identifier 1 = filler 1 …
identifier n = filler n)
(the slotSpecifier from view targetDescription)
Set Specification
集合、リスト、列
Contingency
時間の記述及び時間内に
有効な表現
Predication
Logical Boolean
Restriction
(which predicateNam predicateArgs)
(OR boolenArgs), (XOR booleanArgs),
(Not booleanArg)
(theONE restictionDesc)
(using selectionDesc
selectFrom selectionPattern 1 ~ selection 1
selectionPattern n ~ selection n
otherwise defaultSelection)
(SetOf setElementDescription), (In SetDescription)
(Items elements), (NotItems elements),
(All Items elements), (ListOf elements),
(Sequence elements)
(during timeSpecification then contingentDescription)
KRLの記述例(「知識工学」(情報処理学会編)P95より
[Travel UNIT Abstract
<SELF
(an Event)>
<mode
(OR Plane Auto Bus)>
<destination (a City)>]
[Visit UNIT Specialization
<SELF
(a Social Interaction)>
<visitor
(a Person)>
<visitees
(SetOf (a Person))>]
[Event137 UNIT Individual
<SELF
{ (a Visit with
visitor=Rusty
visitees = (Items Danny Terry))
(a Travel with
destination = San Francisco
mode = Plane)}>]
「Visit」とし
ての見方
「Travel」と
しての見方