
- •Классификация экспертных систем.
- •1. Цель работы:
- •2.Теоретическая часть
- •2.1 Особенности функционирования оболочки imp
- •2.2 Механизм вывода оболочки imp
- •3.3.2. Организация диалога с пользователем
- •4. Содержание отчета
- •4.1. Цель работы.
- •5. Контрольные вопросы
- •Лингвистический процессор экспертной системы.
- •1. Цель работы:
- •2.Теоретическая часть
- •2.1 Анализ текстов на естественном языке
- •2.2 Формализация русского языка
- •2.3. Грамматические и семантические категории, используемые в лингвистическом процессоре.
- •2.4. Лексический анализ
- •2.5. Морфологический анализ
- •2.6. Синтаксический анализ
- •2.7. Семантический анализ
- •3.3.2. Разработка семантических правил.
- •3.3.3. Работа с программой.
- •3.3.4. Просмотреть результаты работы, убедится в работоспособности разработанных правил и объяснить результаты работы.
- •4. Содержание отчета
- •1. Цель работы.
- •5. Контрольные вопросы
- •Литература
Лабораторная работа №3
Классификация экспертных систем.
1. Цель работы:
Изучение возможностей оболочки IMP построения экспертных систем и реализация на ее основе экспертной системы, объясняющей свои действия. Получение практических навыков создания базы данных на языке Turbo-Prolog.
2.Теоретическая часть
Экспертные системы делятся на два основных класса: динамические и статические ЭС. Различие состоит в использовании и хранении исходных данных и данных, получаемых во время решения задачи.
Статическими называются ЭС, которые исходные данные во время процесса решения не меняют. Изменяются только промежуточные данные, необходимые для получения решения.
Динамическими ЭС называются такие ЭС, которые, в отличие от статических, изменяют исходные данные. То есть возникают условия, когда для успешного решения задачи необходимо изменить исходные данные. Такая ситуация может возникнуть, когда исходные данные были введены некорректно или задана задача, заведомо не имеющая решения. В этом случае ЭС изменяет исходные данные с помощью пользователя системы. Также возможна ситуация, когда для получения решения не хватает знаний. ЭС задаёт необходимые вопросы и продолжает решение, изменив исходные данные.
Начальные знания также могут изменяться экспертной системой после получения определённого опыта. Таким образом, ЭС накапливает знания, которые помогают в решении будущих задач. Это процесс называется самообучением.
Эти два вида ЭС являются различными по реализации. Статические ЭС программируются на самом простом уровне. Для реализации динамических ЭС необходим большой опыт, это является серьёзной задачей.
Ещё одним видом классификации ЭС являются пустые ЭС или оболочки экспертных систем. Данные программные продукты не содержат никакой информации о решаемой задаче. Они включают в себя универсальный язык, который возможно использовать для решения определенного круга задач. На этом языке пользователь описывает задачу, которую необходимо решить. Такие системы являются универсальными для. заданной области, но содержат ограничения для других областей.
Оболочкой называется программа, используя которую любой пользователь, даже не имеющий навыков программирования, может создать необходимую экспертную систему, используя внутренний язык её представления в оболочке.
IMP разработана для реализации статических экспертных систем, описываемых импликациями, объединяющими два узла.
Импликацией называется отношение типа: Если <"условие"> то <"действие">, где <"условие"> называется посылкой, а <"действие"> - выводом. Существуют и отношения, содержащие более чем одно условие. Отношения, содержащие два условия, называются бинарными.
Однако, используя такие бинарные импликации в оболочке IMP, можно описывать отношения, содержащие более чем два условия. Это становится возможным благодаря использованию специальных объединяющих правил, которые вычисляют общий коэффициент определенности для нескольких импликаций.
2.1 Особенности функционирования оболочки imp
Оболочка использует нечеткие рассуждения. Это означает, что на вопрос можно отвечать не только «да» и «нет», но и возможно использовать промежуточные значения. При этом ответ «нет» принимается за -1, а «да» - за 1. Таким образом, ответ с любой степенью уверенности находится в этом интервале. Принятое значение называется коэффициентом определенности рассматриваемой импликации.
Существуют два основных типа логического вывода: прямой и обратный. Прямым называется такой вывод, который начинается с терминальных узлов и заканчивается гипотетическими узлами. Терминальными узлами дерева решения называются узлы, которые стоят на самом низком уровне и являются исходными данными. Гипотетические узлы - это результат вывода, использующего дерево решений. Обратный вывод работает наоборот. Перебор начинается с гипотетического узла и финиширует при достижении терминальных узлов.
Механизм рассуждений, используемый в оболочке, является обратным. Объясняется это тем, что мы заранее знаем, какие узлы являются результирующими. Обратный вывод в этом случае позволяет не осуществлять лишних шагов (в худшем случае - полный перебор), а рассматривать только те узлы, которые необходимы для получения решения. Это позволяет пользователю отвечать на минимальное число вопросов и значительно сокращает время решения.
Например, если из А и Б следует С, то можно ли сказать обратное, что из С следует А и Б. Условия также могут записываться в отрицательной и положительной формах. Положительная форма - это условие типа: если А, то Б. Отрицательная форма является обратной положительной форме - если не А, то Б.
Оболочка IMP воспринимает следующие импликации: И, ИЛИ, простая импликация и импликация, содержащая реляционное выражение, то есть выражение, зависящее от переменных, составляющих определенную математическую формулу. Синтаксис представления импликации в базе данных оболочки IMP принят такой:
Imp (<«тип»>, <«обратимость»>, <«вывод»>, <«отрицание»>, <«условие1»>, <«отрицание»>, <«условие2»>, <«коэффициент определенности»>);
Принята следующая последовательность ввода правил: все виды импликации, концевые узлы, гипотетические узлы.
Imp - это обозначение импликации, откуда и произошло название оболочки; <«тип»> - тип импликации, который определяется по первой букве слов английского языка (OR; AND; SIMPLE и другие): «s» - простая импликация;
«о» - ИЛИ;
«а» - И;
«f» - реляционное выражение;
<«обратимость»> - обратимость импликации:
«г» - обратима;
«п» - необратима;
<«отрицание»> - отрицание условия:
«pos» - положительно;
«neg» - отрицательно;
<«вывод»>, <«условие1»> и <«условие2»> - соответственно вывод и две посылки (условия импликации).
<«коэффициент определенности»> - коэффициент определенности для данной импликации.
При работе оболочки IMP в режиме экспертизы (с реально созданной базой данных ЭС), пользователю задаются вопросы, от ответа на которые зависит реакция экспертной системы.
Эти вопросы являются терминальными узлами. В базу данных они записываются следующим образом:
terminal_node(<«вопрос»>).
Здесь под «вопросом» понимается вопрос, который задается экспертной системой. Множество таких терминальных узлов, содержащих вопросы, являются исходными данными для работы ЭС. От ответа на них зависит получаемое решение.
Есть возможность ответить да, нет или задать коэффициент определенности от -1 до 1. Потенциальные решения или советы, которые экспертная система может выдать в результате работы, называются гипотезами. В базе данных они представляются таким образом:
hpothesis_node(<«вывод»>).
И терминальные узлы и гипотезы обязательно включаются в дерево решений, которое по определению не должно содержать циклов и должно быть одним целым.
Пример простого дерева решений приведен на Рисунке 1. Здесь, два условия, например с2 и с3, соединенные дугой, являются посылками импликации И (сплошная линия), а условия с1 и с4 – посылками импликации ИЛИ (пунктирная линия). Остальные условия являются простыми импликациями. Обозначение rev означает, что условие обратимо, nrev - условие необратимо. Перечеркнутое ребро является отрицательным условием. В этом примере две гипотезы - с5 и с6. Терминальные узлы - el, е2, еЗ, е4, е5. Над ребрами надписаны коэффициенты определённости для каждой импликации в отдельности. Приведённый пример является простым, что объясняется присутствием всего двух гипотез, чего недостаточно для описания реальной ситуации с множеством возможных последствий. Реальные ЭС содержат десятки гипотез.
Рисунок 1. Простое дерево решений