Uploaded by Артём Беленко

Лабораторная работа №1 Семантические сети

advertisement
Лабораторная работа № 1
Сетевые модели представления знаний
Цель работы: получение знаний, умений и навыков по представлению
знаний в указанной предметной области в виде сетевых моделей.
Краткие теоретические сведения
Элементы семантических сетей
Семантическая сеть — это система знаний, имеющая определенный
смысл в виде целостного образа сети, узлы которой соответствуют понятиям
и объектам, а дуги – отношениям между понятиями и объектами.
Сама по себе семантическая сеть является моделью памяти и не раскрывает, каким образом осуществляется представления знаний. Поэтому семантические сети должны рассматриваться как метод представления знаний с возможностями структурирования этих знаний, процедурами их использования и
механизмом вывода.
В иерархической структуре понятий существуют отношения, по крайней
мере, двух типов:
отношение включения или совпадения (IS - A);
отношение «целое – часть» (PART - OF).
Например, в предложении
«ноутбук» (IS - A) «компьютер»
основной мыслью является, что устройство ноутбук принадлежит к
классу компьютеров. Это означает, что имеет место отношение включения или
совпадения. То есть, ноутбук представляет собой один из элементов множества всевозможных устройств, составляющих класс компьютеров.
Для этих отношений характерным является то, что экземпляры понятий
нижнего уровня содержат все атрибуты понятий верхнего уровня. Это свойство называется наследованием атрибутов между уровнями иерархии (IS - A).
Для рассматриваемого примера это означает, что ноутбук, как понятие более
низкого уровня, будет обладать всеми свойствами (атрибутами), определенными для понятия компьютер.
Отношение «целое – часть» можно иллюстрировать предложением, которое характеризует то, что экземпляры понятия «процессор» являются частью любого экземпляра понятия «компьютер».
«процессор» (PART - OF) «компьютер»,
Отношения типа (PART - OF) позволяют определить некоторые общие
свойства (набор атрибутов) для конкретного класса понятий. В частности, приведенный выше пример отношения описывает тот факт, что общим свойством
всех компьютеров является наличие в их составе процессоров. И это свойство
будет наследоваться всеми экземплярами понятия ноутбук.
Семантическая сеть представляет собой ориентированный граф с помеченными (поименованными) дугами и вершинами. Основными элементами
сети являются вершины и дуги. При этом вершинам семантической сети соответствуют понятия, события и свойства (рис. 1).
Рис. 1. Вершины семантической сети

Понятия – представляют собой сведения об абстрактных или физических
объектах предметной области или реального мира.

События – представляют собой действия происходящие в реальном мире
и определяются:

указанием типа действия;

указанием ролей, которые играют объекты в этом действии.

Свойства – используются для уточнения понятий и событий.
Применительно к понятиям они описывают их особенности и характеристики (цвет, размер, качество), а применительно к событиям — продолжительность, время, место.
Дуги графа семантической сети — отображают многообразие семантических отношений, которые условно можно разделить на четыре класса (рис.
2).
Рис. 2. Классификация семантических отношений
Лингвистические отношения — отображают смысловую взаимосвязь
между событиями, между событиями и понятиями или свойствами. Лингвистические отношения бывают:
 глагольные (время, вид, род, залог, наклонение);
 атрибутивные (цвет, размер, форма);
 падежными.
Логические отношения — это операции, используемые в исчислении высказываний (алгебре логики): дизъюнкция, конъюнкция, инверсия, импликация.
Теоретико-множественные — это отношение подмножеств, отношение части
и целого, отношение множества и элемента. Примерами таких отношений являются "IS-A" и "PART-OF".
Квантифицированные отношения — это отношения, которые используют
логические кванторы общности и существования. Они используются для представления таких знаний как «Любой станок надо ремонтировать», «Существует работник А, обслуживающий склад Б».
Семантическая сеть как программа на языке Пролог
Важнейшей концепцией формализма семантических сетей является
иерархия понятий и связанное с ней наследование атрибутов между уровнями
иерархии (IS - A).
Если семантическую сеть рассматривать как описание отношений, которые поддерживаются между понятиями, то ее непосредственно, можно реализовать на языке Пролог. На рис. 3 представлена структура сети, аналогичная
примеру предыдущего раздела.
Рис. 3. Пример семантической сети
Эта сеть может быть реализована как Пролог - программа, обобщенная структура которой будет иметь вид:
is_a (ласточка, птица).
is_a ("Ласта", ласточка).
/* учет иерархии наследования */
является (X,Y) :- is_a(X,Y).
является (X,Y) :- is_a(Z,Y), является(X,Z).
имеет (крылья, птица).
/* учет наследования атрибутов между уровнями иерархии*/
имеет (X,Y): - является (Y,Z), имеет (X, Z)
Один из вариантов реализации этой программы в среде Турбо-Пролога может иметь вид, представленный на рис.4
Рис. 4. Реализация семантической сети (рис.3) на языке Пролог
Получение вывода с помощью семантической сети
Особенность семантической сети как модели представления знаний состоит в единстве базы знаний и механизма вывода. При формировании запроса
к базе знаний (БЗ):
 строится семантическая сеть, отражающая структуру запроса;
 вывод обеспечивается за счет сопоставления общей сети БЗ и сети для
запроса.
Рассмотрим пример семантической сети, которая отражает иерархию
подчиненности сотрудников некоторой организации организации (рис. 5).
Рис. 5. Семантическая сеть «Подчиненность сотрудников организации».
Приведенные связи показывают подчиненность первого сотрудника.
Остальные сотрудники связываются через вершины сети «руководит 2», «руководит 3» и т.д.
Запрос: «Кто руководит Сидоровым?» может быть представлен как
фрагмент общей сети. Например, он может иметь вид подсети, приведенной
на рис. 6.
Рис. 6. Семантическая подсеть «Кто руководит Сидоровым?».
Составление общей сети с сетью запроса начинается с поиска вершины
«руководит», имеющий ветвь «объект», направленную к вершине «Сидоров».
Затем производится переход по ветви «агент», что и приводит к ответу «Петров».
Наряду с методом сопоставления, в семантических сетях используется
метод перекрестного поиска, при котором осуществляется:
 поиск отношения между понятиями;
 ответ на запрос формируется путем обнаружения вершины, в которой
пересекаются дуги, идущие из друг вершин.
Рис. 7. Примеры различных интерпретаций семантической сети понятия «автомобиль»
Последовательность выполнения работы
1. Изучить теоретический материал.
2. Выполнить задания к лабораторной работе.
3. Подготовить доклад об одной из экспертных систем, использующих семантические сети в качестве языка представления знаний (PROSPECTOR,
CASNET, TORUS и др.)*.
3. Подготовить отчет о проделанной работе.
Задание 1
Компания, в которой Вы работаете, получила задание на разработку
справочной системы по журналам издательства «Издательство Мечты». Данная компания выпускает различные по целевой аудитории, ценовой категории
и объему страниц журналы.
Вам необходимо построить модуль на основе семантической сети, позволяющий определить целевую аудиторию для различных журналов, а также
для кого предназначено издание и его стоимость. Ваша задача построить семантическую сеть на основе информации, представленной в таблице 1.
Таблица 1.
Название
журнала
Основная
целевая
аудитория
Стоимость
одного номера, руб
Объем
страниц
журнала
Тюнинг
автомобилей
Мужчины
140
170
Мода
Женщины
90
90
Компьютерные и
видео
игры
Рукоделие
Мужчины и
женщины
65
60
Женщины
45
50
Фотография
Мужчины и
женщины
100
95
Кино и
музыка
Мужчины и
женщины
30
30
Какая информация
представлена в
журнале
Современные технологии тюнинга автомобилей
Новейшие
тенденции
моды
Все о компьютерных и видео играх
Эксклюзивные
вещи своими руками
Основы и
секреты
фото-графии
Только актуальная
ин-формация и кино
и музыке
Возможна
ли подписка на
журнал
нет
да
нет
да
да
нет
В построенной семантической сети определить:
1. Какой журнал предоставляет информацию о современных технологиях тюнинга автомобилей?
2. Какие журналы предназначены для мужчин?
3. Какие журналы стоят 100 рублей?
4. На какие журналы можно оформить подписку?
Задание 2
Ваша задача состоит в создании экспертной системы АСУ предприятия,
автоматизирующей контроль за выполнением задач коллективом предприятия. АСУ следует построить в виде семантической сети. Система должна описывать структуру предприятия, в том числе руководство и структуру отделов.
Система так же должна описывать выполняемые предприятием задания, в том
числе:
1. Наименование задания.
2. Сроки его выполнения.
3. Этапы выполнения задания и их очередность.
Для каждого этапа описывается:
1. Отдел, выполняющий этап.
2. Ответственное лицо, обычно – руководитель отдела или подразделения.
3. Сроки начала и окончания этапа.
Предприятие, для которого строится система – ООО «Созвездие»:
Директор: Иванов И.И.
Отдел разработки, нач. отдела – Перов П.П.
В составе отдела разработки:
Бюро постановки задач, нач. бюро – Сидоров С.С.
Бюро программирования, нач. бюро – Брайан Керниган
Бюро сопровождения, нач. бюро – Билл Гейтс
Отдел маркетинга, нач. отдела – Тошико Ямада
Задания в работе:
1. Разработка текстового редактора «Созвездие», этапы – постановка задачи,
программирование, продвижение на рынок, поддержка.
2. Разработка Интернет - браузера «Созвездие», этапы – постановка задачи,
программирование, продвижение на рынок, поддержка.
В построенной семантической сети определить:
1. Кто является начальником отдела маркетинга?
2. Какие задания выполняет ООО «Созвездие»?
3. Чем занимается Иванов И.И.?
4. Какие сроки выполнения заданы для разработки Интернет - браузера?
Задание 3
Представить данные в виде семантической сети. Написать программу,
которая отвечала бы на вопрос пользователя. Вопрос, заданный на естественном языке, представить в виде фрагмента семантической сети и написать программу поиска этого фрагмента в заданной семантической сети. Вопрос и данные выбираются по варианту задания.
1. Построить семантическую модель (сеть) представления знаний в предметной области «Аэропорт» (диспетчерская).
2. Построить семантическую модель (сеть) представления знаний в предметной области «Железная дорога» (продажа билетов).
3. Построить семантическую модель (сеть) представления знаний в предметной области «Торговый центр» (организация).
4. Построить семантическую модель (сеть) представления знаний в предметной области «Автозаправка» (обслуживание клиентов).
5. Построить семантическую модель (сеть) представления знаний в предметной области «Автопарк» (пассажирские перевозки).
6. Построить семантическую модель (сеть) представления знаний в предметной области «Компьютерные сети» (организация).
7. Построить семантическую модель (сеть) представления знаний в предметной области «Университет» (учебный процесс).
8. Построить семантическую модель (сеть) представления знаний в предметной области «Компьютерная безопасность» (средства и способы ее обеспечения).
9. Построить семантическую модель (сеть) представления знаний в предметной области «Компьютерная безопасность» (угрозы).
10. Построить семантическую модель (сеть) представления знаний в предметной области «Интернет-кафе» (организация и обслуживание).
11. Построить семантическую модель (сеть) представления знаний в предметной области «Разработка информационных систем» (ведение информационного проекта).
12. Построить семантическую модель (сеть) представления знаний в предметной области «Туристическое агентство» (работа с клиентами).
13. Построить семантическую модель (сеть) представления знаний в предметной области «Зоопарк» (организация).
14. Построить семантическую модель (сеть) представления знаний в предметной области «Кухня» (приготовление пищи).
15. Построить семантическую модель (сеть) представления знаний в предметной области «Больница» (прием больных).
16. Построить семантическую модель (сеть) представления знаний в предметной области «Кинопрокат» (ассортимент и работа с клиентами).
17. Построить семантическую модель (сеть) представления знаний в предметной области «Прокат автомобилей» (ассортимент и работа с клиентами).
18. Построить семантическую модель (сеть) представления знаний в предметной области «Операционные системы» (функционирование).
19. Построить семантическую модель (сеть) представления знаний в предметной области «Информационные системы» (виды и функционирование).
20. Построить семантическую модель (сеть) представления знаний в предметной области «Предприятие» (структура и функционирование).
Пример решения задачи 3
Задача. Построить сетевую модель представления знаний в предметной области «Ресторан» (посещение ресторана).
Описание процесса решения. Для построения сетевой модели представления
знаний необходимо выполнить следующие шаги:
1) Определить абстрактные объекты и понятия предметной области, необходимые для решения поставленной задачи. Оформить их в виде вершин.
2) Задать свойства для выделенных вершин, оформив их в виде вершин, связанных с исходными вершинами атрибутивными отношениями.
3) Задать связи между этими вершинами, используя функциональные, пространственные, количественные, логические, временные, атрибутивные отношения, а также отношения типа «являться наследником» и «являться частью».
4) Добавить конкретные объекты и понятия, описывающие решаемую задачу.
Оформить их в виде вершин, связанных с уже существующими отношениями
типа «являться экземпляром», «есть», is_a.
5) Проверить правильность установленных отношений (вершины и само отношение при правильном построении образуют предложение).
Решение.
1) Ключевые понятия данной предметной области – ресторан, тот, кто посещает ресторан (клиент) и те, кто его обслуживают (повара, метрдотели, официанты, для простоты ограничимся только официантами). У обслуживающего
персонала и клиентов есть общие характеристики, поэтому целесообразно выделить общее абстрактное понятие – человек. Продукцией ресторана являются
блюда, которые заказывают клиенты. Исходя из этого, вершины графа будут
следующими: «Ресторан», «Человек», «Официант», «Клиент», «Заказ» и
«Блюдо».
2) У этих объектов есть определенные свойства и атрибуты. Например, рестораны располагаются по определенным адресам, каждое блюдо из меню имеет
свою цену. Поэтому добавим вершины «Адрес» и «Цена».
3) Добавим знание о конкретных фактах решаемой задачи. Пусть имеется два
ресторана: «Вкуснятина» и «Вкусная еда», в первом работает официантка Марина, а во втором официант Сергей. Пётр решил пойти в ресторан «Вкусная
еда» и сделал заказ официанту на 2 блюда: картофель фри за 30 р., бифштекс
за 130 р. Также известны адреса этих ресторанов и их специфика. Исходя из
этого, добавим соответствующие вершины в граф и соединим их функциональными отношениями и отношениями типа «например» или «являться экземпляром». Полученный в результате граф изображен на рис. 8.
5) Осуществим проверку установленных связей. Например, возьмем вершину
«Блюдо» и пройдем по установленным связям. Получаем следующую информацию: блюдо является частью заказа, примерами блюд могут служить картофель фри и бифштекс.
Рис. 8. Семантическая сеть предметной области «Ресторан»
Контрольные вопросы
1. Особенности знаний?
2. Классификация знаний?
3. Методы представления знаний?
4. Семантическая сеть, определение, типы?
5. Классификация объектов и отношений в семантических сетях?
6. Организация вывода в семантических сетях?
7. Достоинства и недостатки сетевых моделей представления знаний?
Download