6.フレーム型知識表現 1975年Minskyらによる提案 「人は新しい場面に出会うとき、記憶の中からフレームと呼ばれる記憶の枠組みを選び出す。フレームは、必要に応じて現実に合うよう変更される」
6.1 フレームによる知識表現と利用 フレーム理論は表現の理論である 6.1 フレームによる知識表現と利用 フレーム理論は表現の理論である 型にはまった状況を表現するデータ構造。 フレームのトップレベルは常に真。 関連を持つフレームの集まりは、互いに結合される。 ひとつのフレームから他のフレームの変化は、因果関係や視点の変化を示す。 フレームのスロットにはデフォルト値を割り当てることができる。 知識の完全な表現方法や利用方法、値の割り当て方法については論及しない。
典型的知識とフレーム(1) 三角錘 と 四角錘 の見え方 D A C B A A B C B (c) (a) (b) 視点の変化 三角錘 と 四角錘 の見え方 D A C B A A B C B (c) (a) (b) 三角錐の見え方a 左側の三角形 A 右側の三角形 B 向こう側の三角形 C 三角錐の見え方b 左下の三角形 A 右下の三角形 B 上側の三角形 C 四角錐の見え方c 左上の三角形 A 左下の三角形 B 右下の三角形 C 右上の三角形 D 視点の変化 類似フレーム検索
典型的知識とフレーム(2) 会議 種類 : 業務活動 出席者 : 必要条件(出席者に 議長の役割の者が いるか) PA会議 種類 : 会議 種類 : 業務活動 出席者 : 必要条件(出席者に 議長の役割の者が いるか) 凡例 特徴・手続きの継承 PA会議 種類 : 会議 日時 : Default (曜日 : 金曜日 時間 : 1時間) 場所 : Default ソフト工学演習室 目的 : Default プロジェクト進捗 出席者 : Default (坂田 (役割 : 議長)) (金山 (役割 : 推論)) (山下 (役割 : 知識ベース)) (中村 (役割 : マンマシン)) 上位階層 第13回PA会議 種類 : PA会議 出席者 : (坂田) (山田(役割 : 開発環境))
6.2 フレーム型知識表現言語 フレームをどのように利用するかは、研究者によって異なる。 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 ‘議長))))) (PA会議 (AKO ($VALUE (会議))) (日時 ($DEFAULT ((ON FRIDAY) (FOR 1 HOUR)))) (場所 ($DEFAULT (ソフト工学演習室))) (目的 ($DEFAULT (プロジェクト進捗))) (出席者 ($DEFAULT (坂田 (ROLE : 議長)) (金山 (ROLE : 推論)) (山下 (ROLE : 知識ベース)) (中村 (ROLE : マンマシン))))) (第13回PA会議 (AKO ($VALUE (PA会議))) (出席者 ($VALUE (坂田 (山田(ROLE : 開発環境)))))) (業務活動 (AKO ($VALUE (業務))) (出席者 ($REQUIRE ((AKO PERSON))) ($IF-NEEDED ((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 対象の排他的分類 カテゴリ名 機 能 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 対象のカテゴリへの割り当て (a prototype with identifier 1 = filler 1 … identifier n = filler n) Specification 役割を用いた表現 (the slotSpecifier from view targetDescription) (例)ある会社の社長 Predication 関係(述語)の定義 (which predicateNam predicateArgs) Logical Boolean OR, XOR, NOT (OR boolenArgs), (XOR booleanArgs), (暗黙的にはAND) (Not booleanArg) Restriction 条件を付けて具体例を示す (theONE restictionDesc) (例)メガネをかけた男 Selection 場合分け (using selectionDesc selectFrom selectionPattern 1 ~ selection 1 selectionPattern n ~ selection n otherwise defaultSelection) Set Specification 集合、リスト、列 (SetOf setElementDescription), (In SetDescription) (Items elements), (NotItems elements), (All Items elements), (ListOf elements), (Sequence elements) Contingency 時間の記述及び時間内に (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」としての見方