Интеллектуальные технологии / Конспект лекций / AILect15
.docОсновные требования к проектированию экспертных систем. Критерии оправданности использования экспертных систем. Схема технологии разработки экспертных систем. Проблемы и перспективы использования экспертных систем.
Этапы разработки экспертных систем
Разработка интеллектуальных систем отличается от создания обычного программного продукта. Опыт разработки ранних экспертных систем показал, что использование традиционной технологии программирования либо чрезмерно затягивает процесс разработки, либо вообще приводит к отрицательному результату. Это связано главным образом с необходимостью модифицировать принципы и способы построения по мере того, как увеличивается знание разработчиков о проблемной области. В настоящее время сложилась последовательность действий при разработке экспертных систем. Она включает следующие этапы: идентификация, получение знаний, концептуализация, формализация, выполнение, тестирование и опытная эксплуатация.
Рис.1 Технология разработки экспертных систем
Идентификация
Этап идентификации связан прежде всего с осмыслением тех задач, которые предстоит решать будущей экспертной системе, и формированием требований к ней. На этом этапе планируется ход разработки прототипа системы, определяются источники знаний (книги, эксперты, методики), цели (распространение опыта, автоматизация рутинных действий), классы решаемых задач и т. д. Результатом этапа идентификации является ответ на вопрос, что надо сделать и какие ресурсы необходимо задействовать.
Получение знаний
При решении пррблемы получения знаний выделяют три стратегии: приобретение знаний, извлечение знаний и обнаружение знаний.
Под приобретением (acquisition) знаний понимается способ автоматизированного наполнения базы знаний посредством диалога эксперта и специальной программы. Автоматизированные средства приобретения знаний получают готовые фрагменты знаний в соответствии со структурами, заложенными разработчиками систем. Большинство таких инструментальных средств ориентировано на конкретные экспертные системы с жестко обозначенной предметной областью и моделью представления знаний. Например, система TEIRESIAS [6] предназначена
для пополнения базы знаний системы MYCIN или ее дочерних ветвей, построенных на оболочке EMYCIN [8] в области медицинской диагностики с использованием продукционной модели представления знаний. При попытке использования систем приобретения знаний в других областях разработчикам нередко приходится сталкиваться со следующими трудностями:
О неудачный способ приобретения, не совпадающий со структурой знаний в данной области;
О неадекватная модель представления знаний;
О отсутствие целостной системы знаний в результате приобретения только «фрагментов»;
О упрощение и уплощение «картины мира» и пр.
Извлечением (elicitation) знаний называют процедуру взаимодействия инженера по знаниям с источником знаний (экспертом, специальной литературой и др.) без использования вычислительной техники. Это длительная и трудоемкая процедура, в которой инженеру по знаниям, владеющему методами когнитивной психологии, системного анализа, математической логики и пр., нужно воссоздать модель предметной области, используемой экспертами для принятия решений.
Актуальность задачи извлечения знаний при разработке интеллектуальных систем обусловлена следующими причинами. Во-первых, значительная часть знаний эксперта является результатом многочисленных наслоений, ступеней опыта, и эксперт нередко не способен самостоятельно проанализировать все детали в цепи своих умозаключений. Во-вторых, диалог инженера по знаниям и эксперта служит наиболее естественной формой «раскручивания» лабиринтов памяти эксперта, в которых хранятся знания, часто носящие невербальный характер. И в-третьих, многочисленные причинно-следственные связи реальной предметной области образуют сложную систему, скелет которой иногда более доступен для восприятия аналитика, владеющего системной методологией и не обремененного знанием большого количества подробностей.
Термины «обнаружение знаний» (knowledge discovery), а также Data Mining связывают с созданием компьютерных систем, реализующих методы автоматического получения знания. На сегодняшний день это наиболее перспективное направление инженерии знаний, предполагающее, что в результате автоматизации процесса обучения система «сможет» самостоятельно раскрыть закономерности предметной области и сформировать необходимые знания на основе имеющегося эмпирического материала (баз данных). В настоящее время специалистам стало ясно, что инженер по знаниям с помощью одного лишь диалога с экспертом в какой-то конкретной области не способен добыть все нужные для разработки интеллектуальной системы сведения. Требуется еще и множество примеров, на которых удастся обучить машину [3].
Концептуализация
На этапе концептуализации проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач. Этот этап завершается созданием модели предметной области, включающей основные концепты и отношения. Модель представляется в виде графа, таблицы, диаграммы или текста.
Формализация
На этапе формализации все ключевые понятия и отношения выражаются на некотором формальном языке, который выбирается из числа уже существующих либо создается заново. Другими словами, на данном этапе определяются состав средств и способы представления декларативных и процедурных знаний, осуществляется это представление, и в итоге создается описание решения задачи экспертной системы на выбранном формальном языке.
Выполнение (реализация)
На этапе выполнения создается один или несколько реально работающих прототипов экспертной системы. Для ускорения этого процесса в настоящее время широко применяются различные инструментальные средства, характеристика которым дается ниже.
Тестирование
На данном этапе оценивается и проверяется работа программы-прототипа с целью приведения ее в соответствие с реальными запросами пользователей. Прототип проверяется по следующим основным позициям:
О удобство и адекватность интерфейсов ввода/вывода (характер вопросов в диалоге, связность выводимого текста результата и др.);
О эффективность стратегии управления (порядок перебора, использование нечеткого вывода и т. д.);
О корректность базы знаний (полнота и непротиворечивость правил).
Задача стадии тестирования — выявление ошибок и выработка рекомендаций по доводке прототипа экспертной системы до промышленного образца.
Опытная эксплуатация
На этапе опытной эксплуатации проверяется пригодность экспертной системы для конечного пользователя. Пригодность определяется в основном удобством и полезностью разработки. Под полезностью понимается способность экспертной системы определять в ходе диалога потребности пользователя, выявлять и
устранять причины неудач в работе, а также удовлетворять указанные потребности пользователя (решать поставленные задачи). В свою очередь, удобство работы подразумевает естественность взаимодействия с экспертной системой, гибкость (способность системы настраиваться на различных пользователей, а также учитывать изменения в квалификации одного и того же пользователя) и устойчивость системы к ошибкам (способность не выходить из строя при ошибочных действиях пользователя).
После успешного завершения этапа опытной эксплуатации экспертная система классифицируется как коммерческая система, пригодная не только для собственного использования, но и для продажи различным потребителям.
В ходе разработки экспертной системы всегда осуществляется ее модификация. Выделяют следующие виды такой модификации: переформулирование понятий и требования, переконструирование представления знаний в системе и усовершенствование прототипа (см. рис. П.20). Усовершенствование прототипа производится в процессе циклического прохождения через этапы выполнения и тестирования для отладки правил и процедур вывода. Циклы повторяются до тех пор, пока система не будет вести себя ожидаемым образом. Изменения, осуществляемые при усовершенствовании, зависят от выбранного способа представления знаний и класса решаемых задач. Если в процессе усовершенствования желаемое поведение не достигается, то производят более серьезные модификации архитектуры системы и используемой базы знаний.
Возврат от этапа тестирования на этап формализации приводит к пересмотру ранее выбранного способа представления знаний. Данный цикл называют переконструированием. Если возникшие проблемы еще более серьезны, то после неудачи на этапе тестирования может потребоваться возврат на этапы концептуализации и даже идентификации. В этом случае речь идет о переформулировании системы понятий, метапонятий и семантических отношений, то есть о проектировании всей системы заново.