Лекция 4
1.1.4 Фреймовая модель знаний
Фреймовая модель знаний предложена Марвином Минским. Минский также ввел терминологию и язык фреймов. Эта терминология включает такие понятия как "фреймы", "слоты", "терминалы", "значения по умолчанию". Фрейм определяется как структура следующего вида:
{<имя-фрейма> <имя слота1 > <значение слота>1, ...,
<имя слотаn > <значение слота>n }
Так, определим фрейм для объекта "книга":
{<КНИГА>
<АВТОР> <ДюмаА.>
<НАЗВАНИЕ> <Граф Мосте Кристо>
<ЖАНР> <Роман>}
Рекомендуемые материалы
Мы видим, что слоты соответствуют атрибутам (характеристикам, свойствам) объекта. Если значения слотов не определены, то фрейм называется фреймом-прототипом. Заменяя неизвестное значение звездочкой ("*") будем иметь следующий фрейм-прототип:
{<КНИГА>
<АВТОР> <*>
<НАЗВАНИЕ> <*>
<ЖАНР> <*>}
Напротив, фрейм, в котором все слоты заполнены, называется конкретным фреймом. Отметим, что имена слотов часто называют ролями. Основной процедурой над фреймами является поиск по образцу. Образец, или прототип, это - фрейм, в котором заполнены не все структурные единицы, а только те, по которым среди фреймов, хранящихся в памяти ЭВМ, отыскиваются нужные фреймы. Другими процедурами, характерными для фреймовых языков, являются наполнение слотов данными, введение в систему новых фреймов-прототипов, а также изменения некоторого множества фреймов, сцепленных по слотам (т.е. имеющих одинаковые значения для общих слотов).
Фрейм может быть декларативного, процедурного и процедурно-декларативного типа. В фреймах процедурного типа процедуры привязываются к слоту путем указания последовательности выполняемых операций. Различают два вида процедур: процедуры-"демоны" и процедуры-"слуги".
Процедура-демон запускается автоматически, когда фрейм удовлетворяет некоторому образцу, по которому осуществляется поиск в базе знаний.
Процедура-слуга запускается по внешнему запросу, а также используется для задания по умолчанию значений слотам, если они не определены.
слоты | факты | процедуры | |
|
| внутренние | внешние |
|
|
|
|
|
|
|
|
Рис1.1
Структура фрейма, содержащего процедуры, показана на рис. 1.1.
Внутренняя процедура используется для изменения содержимого данного фрейма, в то время как внешняя - для изменения содержимого других фреймов. Процедура выполняет изменения в той части фрейма, которая называется терминальной (образована множеством терминалов - ячеек для хранения и записи информации).
Примеры систем, работающих с фреймами, это KRL, FRL, GUS, OWL [20, 21] и др.
Развитием концепции фреймовых моделей являются сценарии и ленемы.
Понятие сценария введено Р. Шенком и Р. Абельсоном. Сценарий - это фреймоподобная структура, в которой определены такие специальные слоты как сценарий, цель, сцена, роль. Следующий пример сценария взят из:
< сценарий : ресторан
роли: посетитель, официант, кассир
цель: принятие пищи, чтобы насытиться и получить удовольствие
сцена 1: вход в ресторан
войти в ресторан
осмотреть места
выбрать свободное место
пройти к свободному столику
сесть
сцена 2: заказ
взять меню
прочитать меню
решить, что заказать
заказ меню официанту
сцена 3: прием пищи
получение пищи
съедение пищи
сцена 4: уход
просьба рассчитать
получение чека
движение к кассиру
передача денег кассиру
выход из ресторана >
Сценарии отражают каузальные ( причинно - следственные ) цепочки предметной области, т.е. имеют более развитую семантику в сравнении с "классическими" фреймами. Таким образом, сценария рассматриваются как средство представления проблемно-зависимых каузальных знаний.
Ленема предназначена для структурного комплексного описания понятий предметной области. Ленема включает следующие компоненты (поля): имя, иерархический контекст, определитель, отрицательный определитель, интерпретацию, оболочку, функциональную схему оболочки, модель. Поле "имя" указывает некоторый класс и переменную, принадлежащую данному классу, например,
имя: животное х
Поле "иерархический контекст" определяет родо-видовые отличия данного класса, например:
иер_контекст: млекопитающее,
имеет-шерсть,
четвероногое,
домашнее.
Поле "определитель" и "отрицательный определитель" содержат отличительные особенности, которыми обладает или (не обладает в случае отрицательного определителя) представитель данного класса. Например,
n_опред: о6ладает_развитым_о6онянием;
быстро_обучается;
о-опред: летает;
нападает_на_человека.
Поле "интерпретация" содержит описание домена, представляющего множество объектов данного класса, например,
интерпрет.: овчарка, дворняга, шпиц, такса, бульдог
Поле "оболочка" представляет множество слотов и служит для описания характеристик объектам процедур, связанных с его функционированием.
Отмстим, что фреймовые модели знаний эффективны для структурного описания сложных баз знаний, однако для них нет специфического формализованного аппарата, в связи с чем фреймы часто используют как базу данных системы продукций.
1.1.5 Семантические сети
Семантическая сеть - это граф, вершины которого соответствуют объектам или понятиям, а дуги, связывающие вершины, определяют отношения между ними.
![]() | |||
|
Введен также специальный тип вершин: вершины связи. Вершина связи не соответствует ни объектам, ни отношениям и используется для указания связи.
Основными отношениями в семантической сети являются отношения принадлежности к классу, свойства, специфические для данного понятия и примеры данного понятия (рис. 1.2).
Отношение принадлежности элемента к некоторому классу либо части к целому в англоязычной литературе определяется соответственно как "IS А", либо как "РАRТ ОF", например, фразе "лев есть хищник" соответствует семантический фрагмент, изображенный на рис. 1.3.
![]() | |||
![]() | |||
Рис. 1.3 Рис. 1.4
![]() |
Рис. 1.5
Свойства передаются через связки "IS" и "HAS" ("есть" и "имеет"), например, высказывание "лев имеет гриву" интерпретирует фрагмент сети, показанный на рис.1.4, а фраза "грива густая" (a mane is thick) передается фрагментом на рис. 1.5.
Если обозначить фрагменты, показанные на рис.1.3 - 1.5 через Фi, то в общем случае семантическая сеть образуется как соединение (°) этих фрагментов, т.е. как
Ф1 ° Ф2 °...° Фn,
причем порядок индексации фрагментов не имеет значения (операция соединения коммутативна).
Важный момент в организации модели базы знаний на основе семантической сети заключается в представлении событий и действий. Концептуализация действий строится из следующих элементов:
Деятель | - понятие исполнителя АКТа |
АКТ | - действие, производимое по отношению к объекту |
Объект | - вещь, над которой производится действие |
Реципиент | - получатель объекта в результате АКТа |
Направление | - местоположение, к которому направлен АКТ |
Состояние А | - состояние, в котором находится какой-либо объект |
Для описания семантики действий используются следующие основные группы обозначений и концептуальных схем:
Обозначения:
РР - класс физических объектов;
О - физические объекты;
АСТ - действия;
РА - свойства объектов;
LОС - местоположение;
Т - времена;
АА - атрибуты (характеристики) действий;
РА - атрибуты (характеристики) объектов;
R. - реципиенты;
I - инструменты, посредством которых выполняется действие;
D - направление действия;
Концептуальные схемы:
Û - используется для обозначения концепта действия
(1) PP Û ACT - некоторые объекты могут производить действия
(2) PP Û PA - объекты обладают свойства
(3) - АКТы имеют объекты
![]() |
(4) - АКТы имеют направление
![]() |
(5) - АКТы имеют реципиентов
(6) - АКТы могут изменять характеристики
(7) PP Û PP - один PP эквивалентен другому или является
его частной характеристикой
(8) - концепт действия характеризуется местоположением
![]() |
(9) - один концепт действия является причиной другого
|
![]() |
(11) - концепт действия характеризуется изменением состояния
(12) - действие ACT характеризуется инструментом I
(13) - действие характеризуется объектом 0.
Следующие примеры демонстрируют использование введенных понятий.
Пример 1. Джон съел лягушку.
![]() | |||
![]() | |||
Джон Û съесть лягушка
Y - некоторое неизвестное местоположение.
Пример 2. Билл обидел Джона.
Пример 3. Джон дал Мэри книгу.
Для задания событий используются временные отношения, такие как "раньше", "позже", "в данный момент", "одновременно", "не позднее" и т.д.
Кроме рассмотренных понятий, на семантической сети могут быть определены также сетевые продукции, которые позволяют:
В лекции "18. Анализ дискретных линейных систем МПС" также много полезной информации.
- добавлять или удалять фрагменты сетей
- добавлять или удалять связи и вершины
- проверить, что некоторый фрагмент содержится в сети
- строить примеры отношений
- находить фрагменты, общие для двух и более сетей и др.
Особенностью и в то же время недостатком семантической сети является ее представление в виде такой целостной структуры, которая не позволяет разделить базу знаний и механизм выводов. Это означает, что процесс вывода, как правило, связан с изменением структуры сети путем применения сетевых продукций.