Главная страница

Министерство образования и науки российской федерации федеральное агентство по образованию санктпетербургский государственный университет


Скачать 1.41 Mb.
НазваниеМинистерство образования и науки российской федерации федеральное агентство по образованию санктпетербургский государственный университет
Дата02.03.2023
Размер1.41 Mb.
Формат файлаpdf
Имя файла658.pdf
ТипУчебное пособие
#963925
страница11 из 11
1   2   3   4   5   6   7   8   9   10   11
4 Запуск программы
Каталог программы должен хранить следующие файлы, требуемые для ее выполнения: Semantic.exe, Vip6u2a.dll, Vip7edit.dll, Vip7kernel.dll,
Vip7regexp2.dll, Vip7run.dll, Vip7vpi.dll. Исполняемый модуль – Semantic.exe.
Сразу после старта программа выдает диалоговое окно для выбора файла глобальной базы знаний, которое выглядит следующим образом:
После того, как файл глобальной базы знаний открыт, появляется основное окно программы, которое описано в разд. 7 «Интерфейс программы».

118
5 Интерфейс программы
5.1. Граф семантической сети
Граф семантической сети, отображаемый с помощью программы, выглядит следующим образом:
Субъекты и объекты отображаются в виде эллипсов с надписями, а отношения (предикаты) – прямоугольниками с надписями. Для наглядности графа не рекомендуется давать субъектам, объектам и предикатам длинные названия, иначе фигуры будут накладываться друг на друга. Приняты следующие цветовые обозначения:
1. Розовым цветом обозначена основная тема.
2. Желтым цветом выделяются классы.
3. Красным цветом обозначается факт или отдельный объект или субъект, выбранный мышью.
4. Голубым цветом обозначается объект или субъект имеющий ссылки на внешний файл.
5. Последний факт, включенный в контекст, окрашен в зеленый цвет.
6. Оранжевым цветом обозначаются причинно-следственные связи.
В программе не в полной мере реализована перерисовка основного окна.
Если закрыть его другим окном, изображение не восстанавливается. Чтобы восстановить граф, можно нажать кнопку Redraw или изменить размер или положение окна на экране. Пока не поддерживается также скроллинг окна.

119
5.2. Элементы управления
После запуска программы и загрузки файлов с базами знаний на экране отображается основное окно программы, которое выглядит следующим образом:
В окне программы имеется основная панель Semantic и окно сообщений
Messages.
На панели “Semantic” имеются три поля для ввода запроса в виде Субъект-
Объект-Предикат. Для каждого из этих полей предусмотрены выпадающие для выбора значения из существующих фактов и правил. Рядом с ними находится поле диалога (“Machine says”). Поле “Questions counter” содержит счетчик запросов к базе знаний и может использоваться для контроля знаний в режиме обучающей системы. Кроме счетчика вопросов имеются счетчики правил:
Число найденных правил (Rules Found), число попыток их применения (Tried) и число успешных попыток (Applied).
Единственная действующая опция основного меню программы –
“File/New” или кнопка “New” – позволяет открыть новое окно программы без ее перезапуска. Параллельно можно открывать неограниченное число окон.
Ограничение связано только с объемом доступной оперативной памяти.
Кнопки основного окна имеют следующее назначение:
Say – Обработать триплет, введенный в поле для ввода.

120
Например, на запрос “Nikita is_a *”, получаем ответ: “Nikita is_a person” и соответствующий фрагмент семантической сети.
Вместо конкретного значения в любом поле ввода можно оставить звездочку. Это будет означать, что нас интересуют факты с любым значением в данном поле.
Если фактов, релевантных данному запросу, в базе больше нет, программа применяет цепочку обратного вывода (Back Chain Reasoning). Это может занять продолжительное время.
More – получить альтернативный ответ на запрос по кнопке Say.
Например, на вопрос “* has_child Nikita” программа дает ответ: “Sergey1913 has_child Nikita”. Нажатие кнопки More позволяет получить альтернативный ответ: “Natalia1903 has_child Nikita”, как показано ниже. Так же, как и по кнопке Say при отсутствии релевантных фактов запускается обратный вывод.
Wide – получить факт о другом объекте, связанным с выбранным субъектом или субъектом, полученном в последнем обращении, т.е. получить соседнюю ветвь по отношению к последней. (Последний факт, включенный в контекст, отображается на графе зеленым цветом, а объект, выбранный двойным щелчком мыши – красным цветом). Например, последний факт был
“Сергей профессия поэт”. Если нажать кнопку Wide еще раз, то будет получен факт “Сергей фамилия Михалков” и т.д.
При каждом нажатии кнопки Wide будет извлекаться очередной факт из базы знаний и пополнять контекст. После того, как все факты, относящиеся к данному субъекту, будут извлечены, программа начнет пытаться применить правила. Ниже показано, что Сергей является прародителем Анны. Если нажать кнопку Why, то оранжевым цветом будут выделены факты, являющиеся

121
основанием для сделанного вывода, а в поле диалога и окне сообщений программы - текстовое объяснение:
Сергей is_grandparent Анна ПОТОМУ ЧТО Сергей родитель Никита И
Никита родитель Анна.
Кнопка Wide All находит все объекты, связанные с данным субъектом, в том числе пытается применить все правила.
Deep – получить следующий факт об выбранном объекте или объекте, полученном в последнем обращении, т.е. углубиться по текущей ветви графа.
Например, последний факт был “Sergey1913 has_child Nikita.”. При углублении по данной ветви получим факт “Nikita has_spouse Tatiana.”.
Up – получить факт, в котором последний или выбранный субъект является объектом, т.е. подняться выше по графу.

122
Если сейчас нажать на кнопку Up, то мы получим другой субъект, связанный с объектом “бить”:
Forget Fact – удалить из контекста факт, объект которого предварительно выделен красным цветом с помощью двойного щелчка мыши.
All Facts – найти и отобразить все факты. По нажатию этой кнопки программа включает в контекст все факты из базы знаний, а также пытается применить ко всем этим фактам правила наследования добавляет в текущий контекст новые факты, установленные на основе этих правил.
All Rules – Применить к базе знаний все известные правила. По нажатию этой кнопки программа последовательно применяет каждое правило ко всем фактам базы знаний. Выполнение этой функции может занять много времени.
Если в базе онтологий имеется 10 правил по два триплета в каждом, а в базе знаний – 100 фактов, то количество попыток применения этих правил будет лежать в диапазоне 10*100 – 10*100*100, т.е. от 1000 до 100000. Обработка
15000 попыток применения правил требует около 5 минут времени.
В целях ускорения логического вывода в программе реализован алгоритм индексации фактов, сокращающий время обработки правил приблизительно на два порядка. Для исследования временных характеристик алгоритма в программе также предусмотрен режим без индексации – наивный вывод
(переключатель Naïve), а также счетчики показывающие значения числа найденных правил (Rules Found), попыток применения (Tried) и успешных попыток (Applied), т.е. правил, выдавших релевантные факты. Счетчики находятся в верхней части экрана. При вызове правил кнопкой Wide счетчики показываю нарастающие значения, а по кнопке All Rules счетчики предварительно сбрасываются.
Следует заметить, что один цикл применения правил далеко не всегда дает все возможные факты, поскольку многие факты являются результатом выполнения цепочек фактов. Логика программы реализует прямой вывод
(forward chaining), т.е. от известных фактов к цели. При этом перебираются все правила, в теле которых есть триплеты, унифицируемые известными фактами.
Поиск завершается, когда находится факт, релевантный запросу.
Альтернативой данному подходу является обратный вывод (back chaining), в котором результирующая часть каждого правила унифицируется с заданной целью. Обратный вывод в данной редакции программы реализован по кнопкам

123
Wide, Ask и More.
Кнопка All Rules, на первый взгляд, реализует спуск по дереву поиска на один уровень. Однако, это не совсем так. Каждый найденный факт немедленно включается в состав фактов, используемых следующим правилом, а общее количество нажатий этой кнопки для гарантированного извлечения всех возможных фактов в значительной степени зависит от порядка следования правил в онтологиях. Если первыми стоят факты, результаты обработки которых используются следующими фактами, то все факты могут быть получены за один проход.
Gото Topic – перейти к субъекту или объекту, выделенному красным с помощью двойного щелчка мыши. При этом накопленный контекст
«забывается», но сохраняется для последующего восстановления, а выделенный субъект или объект становится основной темой, от которой начинает развертываться граф.
Topic Tree – показать дерево тем, которые были основными, и порядок перехода от темы к теме. На дереве тем можно мышью выделить любую тему и прейти к ней кнопкой Gото Topic. При этом сохраненный ранее контекст восстанавливается.
Redraw – Перерисовать граф. Целесообразно использовать эту кнопку, если узлы сети расположились неудачно.
Clear All – очистить контекст и начать все сначала.
Save – сохранить текущую базу знаний. Программа предлагает выбрать имя файла. Сохранять файл целесообразно в случае, если база знаний пополнялась с помощью кнопки Say. Кроме фактов базы знаний кнопка Say вызывает сохранение в файл текущего контекста, в т.ч. фактов, полученных с помощью правил. Таким образом, базу знаний можно обновить так, чтобы в следующий раз не запускать длительный процесс применения правил.
Exit – выход из задачи. Опцией меню File / New можно начать работу заново, без перезапуска программы.
Кроме кнопок имеется переключатели: Hide Classes, Hide Props, Local
Graph и Diagnostics.
Первые два переключателя позволяют скрыть на графе классы или свойства объектов соответственно, чтобы проредить слишком перегруженный граф. Переключатель Local Graph позволяет ограничить граф выбранным объектом и отношениями только с этим объектом. Переключатель Diagnostics включает выдачу диагностических сообщений в окне сообщений.
Обработка кликов мышью имеет следующие варианты. Если кликнуть мышью на эллипс, то он подсвечивается красным цветом и в дальнейшем может использоваться для установления новых или удаления установленных фактов (кнопки Deep, Wide, Wide All, Up, Why), а также перехода к другим темам (Goto Topic). Если сделан клик мышью на предикат, то весь факт подсвечивается зеленым цветом и приобретает статус последнего установленного факта. Двойной клик на эллипс вызывает попытку перехода к

124
новой базе знаний, ссылка на которую должна содержаться в данном объекте
(запись типа e).
В том случае, если установлен фильтр отображения свойств (Hide Props) одиночный клик мышью на объект вызывает еще и выдачу окна со списком свойств данного объекта, как показано ниже.
6 Управление контекстом
По мере увеличения сложности создаваемой семантической сети возникают проблемы.
Первая проблема связана со сложностью разрастающегося графа. Заметим, что на экране отображается не весь граф сети, а только та его часть, которая уже принимала участие в диалоге, которую мы будем называть контекстом. По мере вовлечения в диалог новых фактов граф может стать нечитаемым.
Вторая проблема заключается в том, что становится сложнее присваивать уникальные имена понятиям. В пределах контекста одинаковые имена соответствуют одним и тем же понятиям. Здесь существуют две проблемы: полисемия и синонимия. Полисемия – несколько значений одного и того же слова. Например, поле – это аграрное понятие для фермера, физическое для инженера, и правовое для юриста. Полисемия может привести к тому, что фрагменты семантической сети будут объединяться совсем не так, как ожидается. Синонимия – несколько терминов для одного и того же понятия, например, вертолет и геликоптер. Вследствие синонимии наоборот, фрагменты сети будут несвязными. Проблема синонимии затрудняет также объединение фрагментов сети, написанных разными авторами.
В реальном диалоге эта проблема решается на уровне контекста, который оба собеседника подразумевают одинаковым. В случаях, когда участники диалога имеют в виду различный контекст, обычно имеют место недоразумения. Например, вы назначаете встречу у метро на обычном месте.
Для вас это место – на выходе из метро, а собеседник думает, что это место у поездов. Не разминуться будет невозможно.
Управление контекстом позволяет привести диалог к виду, привычному для человека. Во-первых, на экране отображается текущий контекст, что позволяет быть в курсе того, о чем идет речь, если пользователь и забыл. В

125
частности, отображаются текущие значения Во-вторых, меняя контекст, можно временно «забыть» о текущей теме, начав диалог заново. После этого можно снова вернуться к обсуждаемой теме, предложив компьютеру «вспомнить» то, о чем говорилось ранее. Для этого используются возможности программы, реализованные с помощью кнопок Goto Topic, Forget Fact, Topic Tree.
При отображении понятий, для которых имеется отдельный файл с локальной базой знаний, они подсвечиваются голубым цветом. Выбрав одиночным щелчком мыши такой объект, можно нажать кнопку Topic Tree.
После этого текущий контекст запоминается, загружается база знаний для новой темы и вызывается из памяти запомненный контекст, если данная тема уже обсуждалась.
Так, нажав кнопку Topic Tree, мы получаем граф переходов от темы к теме, которые происходили в ходе диалога. Таким образом, можно вернуться к любой ранее обсуждавшейся теме, «вспомнив» ее контекст.
Замечание: Строго говоря, граф переходов будет древовидным только в случае соответствующего развития диалога. Если перескакивать с темы на тему беспорядочным образом, граф тем будет иметь сетевую структуру.
7 Сообщения программы
Программа выдает сообщения, относящиеся к диалогу, в поле вывода, а все прочие сообщения – в окне Messages.
7.1. Сообщения в поле вывода
Сообщение
Причина
Действия пользователя
No more facts in the current branch.
Была нажата кнопка
DEEP, но последний объект является листом
Попытаться пойти по другой ветви
No more facts about the cur rent subject.
Была нажата кнопка
WIDE, от последнего субъекта больше нет ветвлений
Попытаться пойти по другой ветви или углубиться в текущей
The fact about is f orgotten forever.
Нажата кнопка
FORGET FACT. Факт, включающий в себя
, исключен из контекста и из базы знаний. Если после этого нажать SAVE, то и из файла данной
Любые

126
темы
The fact about can not be forgotten.
Нажата кнопка
FORGET FACT, а фактов, включающих в себя , нет в контексте
Возможная ошибка в программе.
Обратиться к автору
Double click the mouse to c hoose an object, then push
Forget Fact button.
Нажата кнопка
FORGET FACT, а субъект или объект не выбран
Выбрать субъект или объект двойным щелчком мыши
Сlick the mouse to choose a n object, then push Change
Topic button
Нажата кнопка GOTO
TOPIC, а субъект или объект не выбран
Выбрать субъект или объект двойным щелчком мыши
The topic already exists in the tree
Нажата кнопка GOTO
TOPIC для перехода к теме , которая уже обсуждалась
Любые
No external knowledge bas e about the topic
Нажата кнопка GOTO
TOPIC для перехода к теме .
Внешнего файла для данной темы не создано
Проверить, действительно ли внешний файл был создан, но не подключился
The context is cleared. You may start from scratch.
Нажата кнопка CLEAR
ALL. Контекст очищен. База знаний загружена заново.
Любые
Cannot re-initialize the knowledge base!
Нажата кнопка CLEAR
ALL. Контекст очищен. База знаний не может быть загружена заново.
Возможная ошибка в программе.
Обратиться к автору
7.2. Сообщения в окне Messages
Сообщения в окне Messages имеют буквенную и цифровую идентификацию. Буква обозначает характер сообщения: i – информационное,
W – предупреждение о возможной ошибке, E – сообщение об ошибке.

127
ID
Текст
Причина
Действия
001i The file
> is loading….
Файл базы знаний загружается
Не требуется
002
E
Error loading a knowle dge base!
Невозможно загрузить файл базы знаний
Проверить наличие и имя файла, указан- ного в сообще- нии 001i
003i The file
> is loading….
Файл онтологии загружается.
Не требуется
004
E
Error initialization a knowledge base!
Ошибка загрузки онтологий
Проверить файлы, указанные в записях onto
005
E
Error indexing a new fact!
Ошибка индексации факта.
Вероятнее всего, ошибка в программе
Обратиться к разработчику
009i
The fact SPO
replenished the knowledge base


Предложение пользователя пополнило контекст фактом

Не требуется
025i A new fact established


К текущему контексту применено правило, записанное в соответствующей строке типа r и получен новый факт

Не требуется
030i
The fact
replenished the context
Факт
пополнил контекст
Не требуется
040
W
Pre-selection the fact

failed
Для данного триплета нет фактов в базе знаний
Не требуется
041i чч.мм.сс.Forward chai ning started
Начата обработка всех правил
Не требуется
042i чч.мм.сс.Forward chai ning ended. Rules foun d %, tried %, applied %
Закончена обработка правил. Найдено, использовано, использовано успешно.
Не требуется

128 071
E
Cannot draw fact

Невозможно вывести на экран факт

Обратиться к автору
072
E
Cannot draw at
Невозможно вывести на экран объект
Обратиться к автору
080i The last fact
discarded.
Факт
удален из контекста
Не требуется
081i
Current topic is >.
Основная тема теперь
.
Не требуется
083i Selected fact by a click is

Выбран факт Subject>

Не требуется
091
W
No external knowledge base about the topic opic>.
Нет внешней базы данных для темы . Если файл должен быть, то возможна ошибка имени файла
Проверить имя файла, если он есть
092i
No context for the topic
.
Для темы нет сохраненного контекста.
Если тема уже обсуждалась, то возможна ошибка программы
Обратиться к автору
093i
The topic has not been discussed yet.
Тема еще не обсуждалась
Не требуется
094i
Now we talk about
.
Основная тема теперь
.
Не требуется
095i
The topic ''", Topic, "'' h as been restored.
Контекст основная тема
восстановлен.
Не требуется
096i
We talk about ''", Topic
, "''again.
Выполнен повторный переход к ранее сохраненной теме .
Не требуется
097i External knowledge bas e about the topi c is loaded.
Внешняя база знаний для темы загружена
Не требуется
В случае ошибок в синтаксисе файлов локальных или глобальной базы данных выдаются сообщения следующего вида:

129
К сожалению, данное сообщение не содержит указания на конкретную строку, в которой обнаружена ошибка. Подсказкой может быть строка
«Expected symbol ‘)’, got ‘]’”, из которой следует, что где-то стоит квадратная скобка вместо круглой. Для ускорения поиска подобных ошибок для редактирования файлов баз знаний и онтологий целесообразно пользоваться редакторами в составе компиляторов языка Пролог, например, SWI-Prolog или
Visual Prolog.

130
СПбГУ ИТМО стал победителем конкурса инновационных образовательных программ вузов России на 2007–2008 годы и успешно реализовал инновационную образовательную программу «Инновационная система подготовки специалистов нового поколения в области информационных и оптических технологий», что позволило выйти на качественно новый уровень подготовки выпускников и удовлетворять возрастающий спрос на специалистов в информационной, оптической и других высокотехнологичных отраслях науки. Реализация этой программы создала основу формирования программы дальнейшего развития вуза до 2015 года, включая внедрение современной модели образования.
КАФЕДРА ВЫЧИСЛИТЕЛЬНОЙ ТЕХНИКИ
Кафедра вычислительной техники СПбГУ ИТМО создана в 1937 году и является одной из старейших и авторитетнейших научно-педагогических школ
России. Заведующими кафедрой в разное время были выдающиеся деятели науки и техники М.Ф. Маликов, С.А. Изенбек, С.А. Майоров, Г.И. Новиков.
Многие поколения студентов и инженеров в Советском Союзе и за его пределами изучали вычислительную технику по учебникам «Структура ЭВМ» и «Принципы организации цифровых машин» С.А. Майорова и Г.И. Новикова,
«Введение в МикроЭВМ» В.В. Кириллова и А.А. Приблуды, «Основы теории вычислительных систем» С.А. Майорова и Г.И. Новикова, А.А. Приблуды,
Б.Д.Тимченко, Э.И. Махарева и др.
Основные направления учебной и научной деятельности кафедры в настоящее время включают в себя встроенные управляющие и вычислительные системы на базе микропроцессорной техники, информационные системы и базы данных, сети и телекоммуникации, моделирование вычислительных систем и процессов, обработка сигналов.
Выпускники кафедры успешно работают не только в разных регионах России, но и во многих странах мира: Австралии, США, Канаде, Германии, Индии,

131
Китае, Монголи, Польше, Болгарии, Кубе, Израиле, Камеруне, Нигерии,
Иордании и др.
Игорь Александрович Бессмертный
ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ
Учебное пособие
В авторской редакции
Дизайн
И.А. Бессмертный
Верстка
И.А. Бессмертный
Редакционно-издательский отдел Санкт-Петербургского государственного университета информационных технологий, механики и оптики
Зав. РИО
Н.Ф. Гусарова
Лицензия ИД № 00408 от 05.11.99
Подписано к печати
Заказ №
Тираж
100 экз.
Отпечатано на ризографе

132
Редакционно-издательский отдел
Санкт-Петербургского государственного университета информационных технологий, механики и оптики
197101, Санкт-Петербург, Кронверкский пр., 49

133
1   2   3   4   5   6   7   8   9   10   11


написать администратору сайта