Рамков модел на знания
Фрейм (англ. frame - рамка, рамка) - структура от данни за представяне на някакъв концептуален обект. Информацията, свързана с рамка, се съдържа в нейните съставни слотове.
Слот (англ. slot - слот, слот) може да бъде терминал (йерархичен лист) или да представлява рамка от по-ниско ниво.
Всеки кадър, както е показано на фигурата по-долу, се състои от произволен брой слотове, като няколко от тях обикновено се дефинират от самата система за изпълнение на специфични функции, а останалите се дефинират от потребителя.
- framename (framename) е идентификаторът, присвоен на рамката. Рамката трябва да има име, което е уникално в дадения модел рамка (уникално име);
- име на слот (име на слот) е идентификаторът, присвоен на слот. Един слот трябва да има уникално име в рамката, към която принадлежи. Обикновено името на слота не носи никакво семантично натоварване и е само идентификатор за този слот, но в някои случаи може да има конкретно значение;
- указател на наследяване – само за рамкови модели от йерархичен тип; те показват каква информация за атрибута на слот в рамката от най-високо ниво е наследена от слотове със същото име в рамката от най-долно ниво;
- указател на атрибут – указател на типа данни на слота. Тези типове включват: (указател), (цяло число), (реално), (булева стойност), (прикачена процедура), (текст), (списък), (таблица), (израз) и други;
- slot value – стойност, съответстваща на типа данни на слота и удовлетворяваща условията за наследяване;
- daemon е процедура, която се стартира автоматично, когато е изпълнено определено условие. Демоните се стартират при достъп до определен слот за модел на рамка. Например,демонът се стартира, ако стойността му не е зададена в момента на достъп до слота, стартира се, когато в слота се вмъкне стойност, стартира се, когато стойността на слота бъде изтрита.
Пример за рамков модел от йерархичен тип е показан на фигурата по-долу:
Рамките образуват йерархия. Йерархията в моделите на рамки генерира единична многостепенна структура, която описва или обект, ако слотовете описват само свойствата на обекта, или ситуация или процес, ако отделните слотове са имената на процедурите, прикрепени към рамката и извиквани, когато се актуализира.
Формално рамката е тип данни за изглед:
- – име на обект;
- – набор от слотове, съдържащи факти, които определят декларативната семантика на рамката;
- - набор от слотове, които осигуряват връзки с други рамки (каузални, семантични и т.н.);
- – набор от слотове, които осигуряват трансформации, които определят процедурната семантика на рамката.
Рамките са разделени на:
- frame-instance – конкретна реализация на рамка, която описва текущото състояние в тематичната област;
- frame-sample – шаблон за описание на обекти или допустими ситуации от предметната област;
- frame-class е рамка от най-високо ниво за представяне на колекция от примерни рамки.
Съставът на рамките и слотовете във всеки конкретен модел на рамката може да бъде различен, но в рамките на една система е препоръчително да има едно представяне, за да се елиминират ненужните усложнения.
Могат да бъдат описани различни видове обекти или обекти, съответстващи на концепцията за „множество светове“, която се състои например във факта, че конят е животно без крила за един (реален) свят и в същото време крилат (Пегас в митичния свят) за друграмки, които се различават една от друга.
Като цяло рамковият модел позволява представянето на всички свойства на декларативното и процедурното знание. Дълбочината на влагане на слотовете в рамката (броят нива) зависи от предметната област и езика, който изпълнява модела.