Экспертные системы в технологии как класс интеллектуальных систем (продолжение)
5.1. Особенности экспертных систем
Экспертная система — наиболее известный и распространенный вид интеллектуальных систем.
Выделяют следующие характеристики ЭС [85]: назначение, проблемная область, глубина анализа проблемной области, тип используемых методов и знаний, класс системы, стадия существования, инструментальные средства.
Назначение определяется следующей совокупностью параметров: цель создания экспертной системы — для обучения специалистов, для решения задач, для автоматизации рутинных работ, для тиражирования знаний экспертов и т. п.; основной пользователь — не специалист в области экспертизы, специалист, учащийся.
Проблемная область может быть определена совокупностью параметров предметной области и задач, решаемых в ней. Каждый из параметров можно рассматривать с точки зрения как конечного пользователя, так и разработчика экспертной системы.
С точки зрения пользователя предметную область можно характеризовать ее описанием в терминах пользователя, включающим наименование области, перечень и взаимоотношения подобластей и т.п., а задачи, решаемые существующими экспертными системами, — их типом. Обычно выделяют следующие типы задач:
- интерпретация символов или сигналов — составление смыслового описания по входным данным;
- диагностика — определение неисправностей (заболеваний) по симптомам;
- предсказание — определение последствий наблюдаемых ситуаций;
- конструирование — разработка объекта с заданными свойствами при соблюдении установленных ограничений;
- планирование — определение последовательности действий, приводящих к желаемому состоянию объекта;
- слежение — наблюдение за изменяющимся состоянием объекта и сравнение его показателей с установленными или желаемыми;
- управление — воздействие на объект для достижения желаемого поведения.
5.2. Структура и режимы использования ЭС
Типичная ЭС состоит из следующих основных компонентов: решателя (интерпретатора), рабочей памяти (РП), называемой также базой данных (БД), базы знаний (БЗ), компонентов приобретения знаний, объяснительного и диалогового компонентов (рис. 5.1).
База данных предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи. Этот термин совпадает по названию, но не по смыслу с термином, применяемым в информационно-поисковых системах (ИПС) и системах управления базами данных (СУБД) для обозначения всех данных (и в первую очередь не текущих, а долгосрочных), хранимых в системе.
База знаний в ЭС предназначена для хранения долгосрочных данных, описывающих рассматриваемую область (а не текущих данных), и правил, описывающих целесообразные преобразования данных этой области.
Решатель , используя исходные данные из РП и знания из БЗ, формирует такую последовательность правил, которые, будучи примененными к исходным данным, приводят к решению задачи.
Объяснительный компонент объясняет, как система получила решение задачи (или почему она не получила решения) и какие знания она при этом использовала, — это облегчает эксперту тестирование системы и повышает доверие пользователя к полученному результату.
Диалоговый компонент ориентирован на организацию дружелюбного общения со всеми категориями пользователей как в ходе решения задач, так и приобретения знаний, объяснения результатов работы.
В разработке ЭС участвуют представители следующих специальностей:
- эксперт в той проблемной области, задачи которой будет решать ЭС;
- инженер по знаниям — специалист по разработке ЭС;
- программист — специалист по разработке инструментальных средств.
Необходимо отметить, что отсутствие среди участников разработки инженера по знаниям (т.е. его замена программистом) либо приводит к неудаче процесс создания ЭС, либо значительно удлиняет его. Эксперт определяет знания (данные и правила), характеризующие проблемную область, обеспечивает полноту и правильность введения в ЭС знаний.
Инженер по знаниям помогает эксперту выявить и структурировать знания, необходимые для работы ЭС. Он осуществляет выбор того ИС, которое наиболее подходит для данной проблемной области, и определяет способ того представления знаний в этом ИС, выделяет и программирует (традиционными средствами) те стандартные функции (типичные для данной проблемной области), которые будут использоваться в правилах, вводимых экспертом.
Программист разрабатывает ИС, содержащее в пределе все основные компоненты ЭС, осуществляет сопряжение ИС с той средой, в которой оно будет использовано.
Экспертная система работает в двух режимах: приобретения знаний и решения задач (называемом также режимом консультации или режимом использования ЭС).
В режиме приобретения знаний общение с ЭС осуществляется через посредничество инженера по знаниям. Эксперт описывает проблемную область в виде совокупности данных и правил. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы. Правила определяют способы манипулирования данными, характерные для рассматриваемой проблемной области. Эксперт, используя компонент приобретения знаний, наполняет систему знаниями, которые позволяют ЭС в режиме решения самостоятельно (без эксперта) решать задачи из проблемной области.
Важную роль в режиме приобретения знаний играет объяснительный компонент. Именно благодаря ему эксперт на этапе тестирования локализует причины неудачной работы ЭС, что позволяет эксперту целенаправленно модифицировать старые или вводить новые знания. Обычно объяснительный компонент сообщает следующее: как правильно используют информацию пользователя; почему использовались или не использовались данные или правила; какие были сделаны выводы и т. д. Все объяснения делаются, как правило, на ограниченном естественном языке или языке графики.
Режиму приобретения знаний при традиционном подходе к разработке программ соответствуют этапы алгоритмизации, программирования и отладки, выполняемые программистом. В отличие от традиционного подхода разработку программ осуществляет эксперт (с помощью ЭС), не владеющий программированием, а не программист.
В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ получения решения. Пользователь в зависимости от назначения ЭС может не быть специалистом в данной проблемной области — в этом случае он обращается к ЭС за советом, не умея получить ответ сам; либо пользователь является специалистом — тогда он обращается к ЭС, чтобы либо ускорить процесс получения результата, либо возложить на ЭС рутинную работу. Термин "пользователь" подразумевает, что таковым может быть и эксперт, и инженер по знаниям, и программист. Поэтому, когда хотят подчеркнуть, что речь идет о том, для кого делалась ЭС, используют термин "конечный пользователь".
В режиме консультации данные о задаче пользователя обрабатываются диалоговым компонентом , который выполняет следующие действия:
- распределяет роли участников (пользователя и ЭС) и организует их взаимодействие в процессе кооперативного решения задачи;
- преобразует данные пользователя о задаче, представленные на привычном для пользователя языке, на внутренний язык системы;
- преобразует сообщения системы, представленные на внутреннем языке, в сообщения на языке, привычном для пользователя (обычно это ограниченный естественный язык или язык графики).
После обработки данные поступают в РП. На основе входных данных в РП, общих данных о проблемной области и правил из БЗ решатель (интерпретатор) формирует решение задачи.
В отличие от традиционных программ ЭС в режиме решения задачи не только исполняет предписанную последовательность операций, но и предварительно формирует ее. Если ответ ЭС непонятен пользователю, то он может потребовать объяснения того, как ответ получен.