Получение вывода с помощью семантической сети
Особенность семантической сети как модели представления знаний состоит в единстве базы знаний и механизма вывода. При формировании запроса к базе знаний (БЗ):
· строится семантическая сеть, отражающая структуру запроса;
· вывод обеспечивается за счет сопоставления общей сети БЗ и сети для запроса.
Рассмотрим пример семантической сети, которая отражает иерархию подчиненности сотрудников некоторой организации организации (рис. 15).
Рисунок 15. Семантическая сеть «Подчиненность сотрудников организации».
Приведенные связи показывают подчиненность первого сотрудника. Остальные сотрудники связываются через вершины сети «руководит 2», «руководит 3» и т.д.
Запрос: «Кто руководит Сидоровым?» может быть представлен как фрагмент общей сети. Например, он может иметь вид подсети, приведенной на рис. 16.
Рисунок 16. Семантическая подсеть «Кто руководит Сидоровым?».
Составление общей сети с сетью запроса начинается с поиска вершины «руководит», имеющий ветвь «объект», направленную к вершине «Сидоров». Затем производится переход по ветви «агент», что и приводит к ответу «Петров».
Наряду с методом сопоставления, в семантических сетях используется метод перекрестного поиска, при котором осуществляется:
· поиск отношения между понятиями;
· ответ на запрос формируется путем обнаружения вершины, в которой пересекаются дуги, идущие из дуг вершин.
Пример представления знаний семантической сетью
Поставим задачу разработки семантической модели представления знаний, которые содержатся в следующем описании некоторой предметной области:
«Если станок закончил обработку, робот грузит кассету с деталями на робокар, который перевозит их на склад».На первом этапе решения этой задачи необходимо выделить основные объекты и понятия, о которых идет речь в данном описании, а также события и действия, которые устанавливают взаимосвязи между этими объектами и понятиями.
Из анализа содержания исходной фразы следует, что в ней взаимодействуют такие основные понятия, как "Cтанок", "Деталь", "Кассета", "Робот", "Робокар" и "Склад". К числу основных событий, которые в исходной фразе описываются глаголом, следует отнести: "Закончил", "Грузит", "Перевозит".
На основе выделенных понятий и событий появляется возможность из исходного описания предметной области выделить описание элементарных действий:
· F1 – станок закончил обработку
· F2 – работник грузит
· F3 – робокар перевозит
Однако эти действия в исходной фразе описаны недостаточно однозначно, и требуется более подробный анализ предметной области для доопределения выделенных понятий. На основе проведенного анализа, знания могут быть доопределы, и представлены следующим набором действий:
· F1 – станок закончил обработку детали
· F2 – робот грузит кассету на робокар
· F3 – робокар перевозит кассету на склад
· F4 – кассета содержит детали
На втором этапе необходимо установить связь между выделенными, в описании предметной области, действиями. В качестве примера рассмотрим взаимодействия только двух событий: "F1–Закончил обработку" и "F2–Грузит". Графическое представление этого взаимодействия в виде фрагмента семантической сети может иметь вид, представленный на рис. 17.
Рисунок 17. Фрагмент сети, описывающий взаимодействие событий F1 и F2.
Выполнив аналогичный анализ для всех возможных сочетаний взаимодействий всех возможных событий, появится возможность построить обобщенную модель семантической сети, которая будет описывать знания об исходной предметной области. Для рассматриваемого примера такая сеть будет иметь вид, представленный на рис. 18.
Рисунок 18. Обобщенная семантическая сеть.
Заметим, что при описании фраз естественного языка факты часто называют высказываниями. Кроме этого, как отмечалось выше, схема семантической сети может служить простым описанием знаний о предметной области к реализации на языке Пролог. В качестве примера можно привести набор основных Пролог-правил, которые содержатся в полученном фрагменте семантической сети:
грузит(робот, X, робокар):– закончил_обработку(станок, Z), содержит(X, Z). перевозит(X, Y, склад) :– грузит (робот, Y, X). содержит(кассета, X) :– закончил_обработку(станок, X).Варианты для выполнения лабораторной работы №1
Вариант 1
Компания, в которой Вы работаете, получила задание на разработку справочной системы по журналам издательства «Издательство Мечты». Данная компания выпускает различные по целевой аудитории, ценовой категории и объему страниц журналы.
Вам необходимо построить модуль на основе семантической сети, позволяющий определить целевую аудиторию для различных журналов, а также для кого предназначено издание и его стоимость. Ваша задача построить семантическую сеть на основе информации, представленной в таблице 2.
Таблица 2
Название журнала | Основная целевая аудитория | Стоимость одного номера, руб. | Объем страниц журнала | Какая информация представлена в журнале | Возможна ли подписка на журнал |
Тюниг автомобилей | Мужчины | Современные технологии тюнинга автомобилей | нет | ||
Мода | Женщины | Новейшие тенденции моды | да | ||
Компьютерные и видео игры | Мужчины и женщины | Все о компьютерных и видео играх | нет | ||
Рукоделие | Женщины | Эксклюзивные вещи своими руками | да | ||
Фотография | Мужчины и женщины | Основы и секреты фотографии | да | ||
Кино и музыка | Мужчины и женщины | Только актуальная информация и кино и музыке | нет |
В построенной семантической сети определить:
1. Какой журнал предоставляет информацию о современных технологии тюнинга автомобилей?
2. Какие журналы предназначены для мужчин?
3. Какие журналы стоят 100 рублей?
4. На какие журналы можно оформить подписку?
Вариант 2
Ваша задача состоит в создании экспертной системы АСУ предприятия, автоматизирующей контроль за выполнением задач коллективом предприятия. АСУ следует построить в виде семантической сети.
Система должна описывать структуру предприятия, в том числе руководство и структуру отделов.
Система так же должна описывать выполняемые предприятием задания, в том числе:
1. Наименование задания.
2. Сроки его выполнения.
3. Этапы выполнения задания и их очередность.
Для каждого этапа описывается:
1. Отдел, выполняющий этап.
2. Ответственное лицо, обычно – руководитель отдела или подразделения.
3. Сроки начала и окончания этапа.
Предприятие, для которого строится система – ООО «Созвездие»:
Директор: Иванов И.И.
Отдел разработки, нач. отдела – Перов П.П.
В составе отдела разработки:
Бюро постановки задач, нач. бюро – Сидоров С.С.
Бюро программирования, нач. бюро – Брайан Керниган
Бюро сопровождения, нач. бюро – Билл Гейтс
Отдел маркетинга, нач. отдела – Тошико Ямада
Задания в работе:
1. Разработка текстового редактора «Созвездие», этапы – постановка задачи, программирование, продвижение на рынок, поддержка.
2. Разработка Интернет - браузера «Созвездие», этапы – постановка задачи, программирование, продвижение на рынок, поддержка.
В построенной семантической сети определить:
1. Кто является начальником отдела маркетинга?
2. Какие задания выполняет ООО «Созвездие»?
3. Чем занимается Иванов И.И.?
4. Какие сроки выполнения заданы для разработки Интернет - браузера?
Лабораторная работа №2.
Продукционная модель представления знаний
Цель работы: получение знаний, умений и навыков по созданию базы знаний, представляющей собой продукционную модель представления знаний.
Продукционная модель – это модель, основанная на правилах, позволяющая представить знание в виде предложений типа:
«ЕСЛИ условие, ТО действие»
Продукционная модель обладает тем недостатком, что при накоплении достаточно большого числа (порядка нескольких сотен) продукций они начинают противоречить друг другу.
В общем случае продукционную модель можно представить в следующем виде:
- N – имя продукции;
- A – сфера применения продукции;
- U – условие применимости продукции;
- C – ядро продукции;
- I – постусловия продукции, актуализирующиеся при положительной реализации продукции;
- R – комментарий, неформальное пояснение (обоснование) продукции, время введения в базу знаний и т. д.;
Системы обработки знаний, использующие продукционную модель, получили название «продукционных систем». В состав экспертных систем продукционного типа входят: база правил (знаний), рабочая память и интерпретатор правил (решатель), реализующий определенный механизм логического вывода. Любое продукционное правило, содержащееся в базе знаний, состоит из двух частей: антецедента и консеквентна. Антецедент представляет собой посылку правила (условную часть) и состоит из элементарных предложений, соединенных логическими связками «и», «или». Консеквент (заключение) включает одно или несколько предложений, которые выражают либо некоторый факт, либо указание на определенное действие, подлежащее исполнению. Продукционные правила принято записывать в виде антецедент-консеквент.
Примеры продукционных правил:
ЕСЛИ
«двигатель не заводится»
И
«стартер двигателя не работает»
ТО
«неполадки в системе электропитания стартера»
Любое правило состоит из одной или нескольких пар «атрибут-значение». В рабочей памяти систем, основанных на продукционных моделях, хранятся пары атрибут-значение, истинность которых установлена в процессе решения конкретной задачи к некоторому текущему моменту времени. Содержимое рабочей памяти изменяется в процессе решения задачи. Это происходит по мере срабатывания правил. Правило срабатывает, если при сопоставлении фактов, содержащихся в рабочей памяти, с антецедентом анализируемого правила имеет место совпадение, при этом заключение сработавшего правила заносится в рабочую память. Поэтому в процессе логического вывода объём фактов в рабочей памяти, как правило, увеличивается (уменьшаться он может в том случае, если действие какого-нибудь правила состоит в удалении фактов из рабочей памяти). В процессе логического вывода каждое правило из базы правил может сработать только один раз.
Существуют два типа продукционных систем – с «прямыми»и «обратными»выводами. Прямые выводы реализуют стратегию «от фактов к заключениям». При обратных выводах выдвигаются гипотезы вероятностных заключений, которые могут быть подтверждены или опровергнуты на основании фактов, поступающих в рабочую память. Существуют также системы с двунаправленными выводами.
Основные достоинства систем, основанных на продукционных моделях, связаны с простотой представления знаний и организации логического вывода. К недостаткам таких систем можно отнести следующее:
· отличие от структур знаний, свойственных человеку;
· неясность взаимных отношений правил;
· сложность оценки целостного образа знаний;
· низкая эффективность обработки знаний.
При разработке небольших систем (десятки правил) проявляются в основном положительные стороны продукционных моделей знаний, однако при увеличении объёма знаний более заметными становятся слабые стороны.
Пример.
Задача. Построить продукционную модель представления знаний в
предметной области «Ресторан» (посещение ресторана).
Описание процесса решения.Для построения продукционной модели представления знаний необходимо выполнить следующие шаги:
1) Определить целевые действия задачи (являющиеся решениями).
2) Определить промежуточные действия или цепочку действий, между начальным состоянием и конечным (между тем, что имеется, и целевым действием).
3) Опередить условия для каждого действия, при котором его целесообразно и возможно выполнить. Определить порядок выполнения действий.
4) Добавить конкретики при необходимости, исходя из поставленной задачи.
5) Преобразовать полученный порядок действий и соответствующие им условия в продукции.
6) Для проверки правильности построения продукций записать цепочки продукций, явно проследив связи между ними.
Этот набор шагов предполагает движение при построении продукционной модели от результата к начальному состоянию, но возможно и движение от начального состояния к результату (шаги 1 и 2).
Решение.
1) Обязательное действие, выполняемое в ресторанах – поглощение пищи и ее оплата. Значит, есть уже два целевых действия «съесть пищу» и «оплатить», которые взаимосвязаны и следуют друг за другом.
2) Прежде чем что-либо съесть в ресторане, туда нужно придти, дождаться официанта и сделать заказ. Кроме того, нужно выбрать, в какой именно ресторан пойти. Значит, цепочка промежуточных действий: «выбор ресторана и путь туда», «сделать заказ официанту».
3) Прежде чем идти в ресторан, необходимо убедиться, что есть необходимая сумма денег. Выбор ресторана может обуславливаться многими причинами, выберем территориальный признак – к какому ближе в тот и идем. В разных ресторанах работают разные люди, поэтому в зависимости от выбора ресторана, официанты будут разные.
Кроме того, разные рестораны специализируются на разных кухнях, поэтому заказанные блюда будут в разных ресторанах отличаться. Значит вначале идут действия, позволяющие выбрать ресторан, затем характеризующие рестораны, а уже после заказ, еда, и оплата заказа.
4) Пусть в задаче будут рассматриваться два ресторана: «Вкусная еда» и «Вкуснятина». Первый –паб и заказы приносят быстрее, чем во втором, второй –пиццерия. В первом работает официант Сергей, а во втором официантка Марина. Петр –это клиент.
5) Выше описанное можно преобразовать в следующие предложения типа «Если, то»:
* Если субъект хочет есть и у субъекта есть достаточная сумма денег, то субъект может пойти в ресторан.
* Если субъект ближе к ресторану «Вкусная еда», чем к ресторану «Вкуснятина» и субъект может пойти в ресторан, то субъект идет в ресторан «Вкусная еда».
* Если субъект ближе к ресторану «Вкуснятина», чем к ресторану «Вкусная еда» и субъект может пойти в ресторан, то субъект идет в ресторан«Вкуснятина».
* Если субъект идет в ресторан «Вкуснятина» и в ресторане «Вкуснятина» работает официант Марина, то у субъекта принимает заказ Марина.
* Если субъект идет в ресторан «Вкусная еда» и в ресторане «Вкусная еда» работает официант Сергей, то у субъекта принимает заказ Сергей.
* Если субъект выбрал блюда и у субъекта принимает заказ Марина, то заказ принесут через 20 мин.
* Если субъект выбрал блюда и у субъекта принимает заказ Сергей, то заказ принесут через 10 мин.
* Если заказ принесут через 20 мин. или заказ принесут через 10 мин., то субъект может есть.
* Если субъект может есть, то после еды субъект должен оплатить заказ.
Введем обозначения для фактов (Ф), действий (Д) и продукций (П), тогда:
Субъект = Петр;
Ф1= субъект хочет есть;
Ф2= у субъекта есть достаточная сумма денег;
Ф3= субъект ближе к ресторану «Вкусная еда», чем к «Вкуснятина»;
Ф4=в ресторане «Вкуснятина» работает официант Марина;
Ф5=в ресторане «Вкусная еда» работает официант Сергей;
Ф6= субъект выбрал блюда;
Д1= субъект может пойти в ресторан;
Д2=субъект идет в ресторан «Вкусная еда»;
Д3=субъект идет в ресторан «Вкуснятина»;
Д4= у субъекта принимает заказ Марина;
Д5=у субъекта принимает заказ Сергей;
Д6=заказ принесут через 20 мин.
Д7=заказ принесут через 10 мин.
Д8=после еды субъект должен оплатить заказ.
Для продукций установим приоритет (в скобках перед запятой, чем выше приоритет, чем раньше проверяется правило).
П1(4 , Ф1 и Ф2)= Д1;
П2(5 , Ф3 и Д1)= Д2;
П3(4 , не Ф3 и Д1)= Д3;
П4(3 , Д3 и Ф4)= Д4;
П5(3 , Д2 и Ф5)= Д5;
П6(2 , Д4)= Д6;
П7(2 , Д5)= Д7;
П8(1 , Д6 или Д7)= Д8;
6) Для отображения взаимосвязи продукций построим граф (рис. 2.1).
Рисунок 2.1. Схема продукций предметной области «Ресторан».
Варианты лабораторной работы №2
1. Построить продукционную модель представления знаний в предметной области «Аэропорт» (диспетчерская).
2. Построить продукционную модель представления знаний в предметной области «Железная дорога» (продажа билетов).
3. Построить продукционную модель представления знаний в предметной области «Торговый центр» (организация).
4. Построить продукционную модель представления знаний в предметной области «Автозаправка» (обслуживание клиентов).
5. Построить продукционную модель представления знаний в предметной области «Автопарк» (пассажирские перевозки).
6. Построить продукционную модель представления знаний в предметной области «Компьютерные сети» (организация).
7. Построить продукционную модель представления знаний в предметной области «Университет» (учебный процесс).
8. Построить продукционную модель представления знаний в предметной области «Компьютерная безопасность» (средства и способы ее обеспечения).
9. Построить продукционную модель представления знаний в предметной области «Компьютерная безопасность» (угрозы).
10. Построить продукционную модель представления знаний в предметной области «Интернет-кафе» (организация и обслуживание).
11. Построить продукционную модель представления знаний в предметной области «Разработка информационных систем» (ведение информационного проекта).
12. Построить продукционную модель представления знаний в предметной области «Туристическое агентство» (работа с клиентами).
13. Построить продукционную модель представления знаний в предметной области «Зоопарк» (организация).
14. Построить продукционную модель представления знаний в предметной области «Прокат автомобилей» (ассортимент и работа с клиентами).
15. Построить продукционную модель представления знаний в предметной области «Операционные системы» (функционирование).
16. Построить продукционную модель представления знаний в предметной области «Кинопрокат» (ассортимент и работа с клиентами).
17. Построить продукционную модель представления знаний в предметной области «Информационные системы» (виды и функционирование).
18. Построить продукционную модель представления знаний в предметной области «Предприятие» (структура и функционирование).
Лабораторная работа №3.
Фреймовая модель представления знаний
Цель работы: получение знаний, умений и навыков по созданию базы знаний, представляющей собой фреймовую модель представления знаний.
Фрейм (англ. frame — каркас или рамка) предложен М.Минским в 70-е гг. прошлого века как структура знаний для восприятия пространственных сцен. Эта модель, как и семантическая сеть, имеет глубокое психологическое обоснование.
Под фреймом понимается абстрактный образ или ситуация. Например: слово "комната" вызывает у слушающих образ комнаты, "жилое помещение с четырьмя стенами, полом, потолком, окнами и дверью, площадью 6-20 м2.
В отличие от моделей других типов во фреймовых моделях фиксируется жесткая структура информационных единиц, которая называется протофреймом. В общем виде она выглядит следующим образом:
Структуру фрейма можно представить так:
ИМЯ ФРЕЙМА:
(имя 1-го слота: значение 1-го слота),
(имя 2-го слота: значение 2-го слота),
(имя N-ro слота: значение N-го слота).
Ту же запись представим в виде таблицы, дополнив двумя столбцами.
Имя фрейма | имя слота | тип слота | значение слота | присоединенная процедура |
В таблице дополнительные столбцы предназначены для описания типа слота и возможного присоединения к тому или иному слоту специальных процедур, что допускается в теории фреймов. В качестве значения слота может выступать имя другого фрейма; так образуют сети фреймов.
Различают фреймы-образцы, или прототипы, хранящиеся в базе знаний, и фреймы-экземпляры, которые создаются для отображения реальных ситуаций на основе поступающих данных.
Модель фрейма является достаточно универсальной, поскольку позволяет отобразить все многообразие знаний о мире через:
• фреймы-структуры, для обозначения объектов и понятий (заем, залог, вексель);
• фреймы-роли (менеджер, кассир, клиент);
• фреймы-сценарии (банкротство, собрание акционеров, празднование именин);
• фреймы-ситуации (тревога, авария, рабочий режим устройства) и др.
Важнейшим свойством теории фреймов является заимствованное из теории семантических сетей наследование свойств. И во фреймах, и в семантических сетях наследование происходит по АКО-связям (A-Kind-Of = это). Слот АКО указывает на фрейм более высокого уровня иерархии, откуда неявно наследуются, т.е. переносятся, значения аналогичных слотов.
Например, в сети фреймов на рис. 3.1 понятие "ученик" наследует свойства фреймов "ребенок" и "человек", которые находятся на более высоком уровне иерархии. Так, на вопрос: "Любят ли ученики сладкое?" Следует ответ: "Да", так как этим свойством обладают все дети, что указано во фрейме "ребенок". Наследование свойств может быть частичным, так, возраст для учеников не наследуется из фрейма "ребенок", поскольку указан явно в своем собственном фрейме.
Основным преимуществом фреймов как модели представления знаний является способность отражать концептуальную основу организации памяти человека, а также ее гибкость и наглядность.
Рисунок 3.1. Сеть фреймов
Пример решения задачи
Задача. Построить фреймовую модель представления знаний в предметной области «Ресторан» (посещение ресторана).
Описание процесса решения.Для построения фреймовой модели представления знаний необходимо выполнить следующие шаги:
1) Определить абстрактные объекты и понятия предметной области, необходимые для решения поставленной задачи. Оформить их в виде фреймов-прототипов (фреймов-объектов, фреймов-ролей).
2) Задать конкретные объекты предметной области. Оформить их в виде фреймов-экземпляров (фреймов-объектов, фреймов-ролей).
3) Определить набор возможных ситуаций. Оформить их в виде фреймов-ситуаций (прототипы). Если существуют прецеденты по ситуациям в предметной области, добавить фреймы-экземпляры (фреймы-ситуации).
4) Описать динамику развития ситуаций (переход от одних к другим) через набор сцен. Оформить их в виде фреймов-сценариев.
5) Добавить фреймы-объекты сценариев и сцен, которые отражают данные конкретной задачи.
Решение.
1) Ключевые понятия данной предметной области – ресторан, тот, кто посещает ресторан (клиент) и те, кто его обслуживают (повара, метрдотели, официанты, для простоты ограничимся только официантами).
У обслуживающего персонала и клиентов есть общие характеристики, поэтому целесообразно выделить общее абстрактное понятие – человек.
Тогда фреймы «Ресторан» и «Человек» являются прототипами-образцами, а фреймы «Официант» и «Клиент» – прототипами-ролями.
Также нужно определить основные слоты фреймов – характеристики, имеющие значения для решаемой задачи.
ЧЕЛОВЕК
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
пол | Мужской или женский | из внешних источников | |
возраст | От 0 до 120 лет | из внешних источников |
РЕСТОРАН
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
Название | из внешних источников | ||
адрес | из внешних источников | ||
Часы работы | из внешних источников | ||
Специализация | из внешних источников | ||
Класс | Средний или высший | из внешних источников |
Фреймы-наследники содержат все слоты своих родителей, они явно прописываются только в случае изменения какого-либо параметра.
ОФИЦИАНТ (AKO ЧЕЛОВЕК)
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
возраст | от 18 до 55 лет | из внешних источников | |
стаж работы | из внешних источников | ||
зарплата | из внешних источников | ||
график | из внешних источников | ||
место работы | Фрейм-объект | из внешних источников |
КЛИЕНТ (AKO ЧЕЛОВЕК)
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
Вид оплаты | Наличные или карточка | По умолчанию (наличные) | |
Статус | Обычный или Vip | По умолчанию (обычный) | |
Форма заказа | Заказ есть или нет | По умолчанию (заказа нет) | |
Чаевые | Из внешних источников |
2) Фреймы-образцы описывают конкретную ситуацию: какие рестораны имеются в городе, как именно организовывается посещение, кто является посетителем, кто работает в выбранном ресторане и т.д. Поэтому определим следующие фреймы-образцы, являющиеся наследниками фреймов-прототипов:
КАФЕ-РЕСТОРАН "ВКУСНЯТИНА" (AKO РЕСТОРАН)
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
Название | Вкуснятина | из внешних источников | |
Адрес | г. Ульяновск, улица Минаева, 15 | из внешних источников | |
Часы работы | 9:00-00:00 | из внешних источников | |
Специализация | Пиццерия | из внешних источников | |
Класс | Средний | из внешних источников |
КАФЕ "ВКУСНАЯ ЕДА" (AKO РЕСТОРАН)
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
Название | Вкуснятина | из внешних источников | |
Адрес | г. Ульяновск, улица Карла Маркса, 9 | из внешних источников | |
Часы работы | 9:00-00:00 | из внешних источников | |
Специализация | Пабя | из внешних источников | |
Класс | Средний | из внешних источников |
СЕРГЕЙ (AKO ОФИЦИАНТ)
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
возраст | из внешних источников | ||
Пол | Мужской | из внешних источников | |
Стаж работы | из внешних источников | ||
зарплата | из внешних источников | ||
График работы | Через день с 18:00 до 00:00 | из внешних источников | |
Место работы | Кафе «Вкусная Еда» | из внешних источников |
МАРИНА (AKO ОФИЦИАНТ)
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
возраст | из внешних источников | ||
Пол | женский | из внешних источников | |
Стаж работы | из внешних источников | ||
зарплата | из внешних источников | ||
График работы | Каждый день с 9:00 до 14:00 | из внешних источников | |
Место работы | Кафе-ресторан «Вкуснятина» | из внешних источников |
ПЁТР ( AKO КЛИЕНТ)
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
возраст | из внешних источников | ||
Пол | Мужской | из внешних источников | |
Вид оплаты | наличные | по умолчанию (наличные) | |
Статус | Обычный | по умолчанию (наличные) | |
Форма заказа | Заказа нет | по умолчанию (наличные) | |
Чаевые | 7% от суммы заказа | из внешних источников |
3) Фреймы-ситуации описывают возможные ситуации. В ресторане клиент попадает в несколько типичные ситуаций: заказ и оплата. Возможны и другие не типичные ситуации: клиент подавился, у клиента нет наличности для оплаты счета и т.д. Рассмотрим типичные ситуации (их может быть больше):
ЗАКАЗ
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
Перечень блюд | из внешних источников | IF-ADDED (изменяет слот «Перечень цен») | |
Перечень цен | Присоединенная процедура | IF-ADDED (изменяет слот «Сумма заказа») | |
Сумма заказа | Присоединенная процедура | ||
Принял заказ | Фрейм-образец | из внешних источников | |
Сделал заказ | Фрейм-образец | из внешних источников |
ОПЛАТА
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
Вид платежа | из внешних источников | IF-ADDED (изменяет слот «Чаевые») | |
Чаевые | Присоединенная процедура | ||
Оплатил | Фрейм-образец | Присоединенная процедура | |
Заказ | Фрейм-образец | из внешних источников | IF-ADDED (изменяет слот «Оплатил») |
4) Ситуации возникают после наступления каких-то событий, выполнения условий и могут следовать одна за другой. Динамику предметной области можно отобразить в фреймах-сценариях. Их может быть множество, опишем наиболее общий и типичный сценарий посещения ресторана:
ПОСЕЩЕНИЕ РЕСТОРАНА
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
Ресторан | Фрейм-образец | из внешних источников | IF-ADDED, IF-REMOVED (изменяют слот «Официант») |
Официант | Фрейм-образец | Присоединенная процедура (определяет по выбранному ресторану) | |
Сцена 1 | Вход | из внешних источников | |
Сцена 2 | Заказ | из внешних источников | |
Сцена 3 | Еда | из внешних источников | |
Сцена 4 | Оплата | из внешних источников | |
Сцена 5 | Выход | из внешних источников |
5) Пусть в рамках нашей задачи Пётр посетил ресторан «Вкусная еда».
Тогда фреймы будут заполнены следующим образом:
ПОСЕЩЕНИЕ «Вкусной еды» (AKO ПОСЕЩЕНИЕ РЕСТОРАНА)
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
Посетитель | Петр | из внешних источников | |
Ресторан | Кафе «Вкусная еда» | из внешних источников | IF-ADDED, IF-REMOVED (изменяют слот «Официант») |
Официант | Сергей | Присоединенная процедура (определяет по выбранному ресторану) | |
Сцена 1 | Вход, выбор | из внешних источников | |
Сцена 2 | Заказ Петра | из внешних источников | |
Сцена 3 | Еда | из внешних источников | |
Сцена 4 | Оплата | из внешних источников | |
Сцена 5 | Выход | из внешних источников |
ЗАКАЗ ПЕТРА (AKO ЗАКАЗ)
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
Перечень блюд | Отбивная, темное пиво | из внешних источников | IF-ADDED(изменяет слот «Перечень цен») |
Перечень цен | 250,75 | Присоединенная процедура | IF-ADDED (изменяет слот «Сумма заказа») |
Сумма заказа | Присоединенная процедура | ||
Принял заказ | Сергей | из внешних источников | |
Сделал заказ | Петр | из внешних источников |
ОПЛАТА ПЕТРА (AKO ОПЛАТА)
Имя слота | Значение слота | Способ получения значения | присоединенная процедура |
Вид платежа | Отбивная, темное пиво | из внешних источников | IF-ADDED(изменяет слот «Чаевые») |
Чаевые | Присоединенная процедура | ||
Оплатил | Петр | из внешних источников | |
Заказ | Заказ Петра | из внешних источников | IF-ADDED (изменяет слот «Оплатил») |
Взаимосвязь различных видов фреймов отображается графически в виде графа (рис. 3.2).
Рисунок 3.2. Схема фреймов для предметной области «Ресторан».
Использование фреймовой модели аналогично семантической, только в процессе получения ответа кроме вершин учитываются и слоты.
Например, получить ответ на вопрос «Кто работает официантом в ресторане “Вкусная еда”?» можно следующим образом: из запроса понятно, что необходимо найти фрейм «Ресторан “Вкусная еда”» и проследить связь с фреймом «Сергей», являющимся наследником фрейма «Официант». Также можно найти слот «Место работы» и проверив его значение во фреймах наследниках фрейма «Официант» определить, что официантом в ресторане “Вкусная еда” работает Сергей.
Варианты лабораторной работы №3
1. Построить фреймовую модель представления знаний в предметной области «Аэропорт» (диспетчерская).
2. Построить фреймовую модель представления знаний в предметной области «Железная дорога» (продажа билетов).
3. Построить фреймовую модель представления знаний в предметной области «Торговый центр» (организация).
4. Построить фреймовую модель представления знаний в предметной области «Автозаправка» (обслуживание клиентов).
5. Постро