Точно Не проект 2 / Не books / Источник_1
.pdfГЛАВА 7
ЭКСПЕРТНЫЕ СИСТЕМЫ
Среди систем искусственного интеллекта наиболее широкое применение получили экспертные системы (ЭС). Под экспертной системой понимают программную систему, аккумулирующую знания эксперта в определенной области и вырабатывающую решения и рекомендации на уровне эксперта. ЭС отличаются от традиционных программных систем обработки данных тем, что они:
-реконструируют методику решения задачи экспертом в соответствующей области;
-формируют выводы, основываясь на знаниях, которые хранятся отдельно от программного кода, управляющего процессом вывода;
-используют при решении задач эвристические методы, которые не требуют исчерпывающей исходной информации, и, следовательно, обеспечивают решение, характеризуемое определенной степенью уверенности;
-имеют возможность накапливать знания в процессе функционирования;
-обладают способностью объяснять предлагаемые решения;
-обеспечивают “дружественный”, как правило, естественноязыковый интерфейс с пользователем.
В главе рассматриваются основные функции и компоненты ЭС, обсуждаются этапы разработки ЭС. Важная роль в ходе разработки ЭС отводится приобретению знаний, поэтому в главе рассматриваются основные проблемы приобретения знаний в процессе общения с экспертами. Существенное значение имеет повышение эффективности поиска решений в ЭС, а также способность объяснять ход своих рассуждений. Эти вопросы рассматриваются на примере продукционных ЭС. Описывается реализация ЭС средствами языков Лисп и Пролог на базе продукционной и фреймовой моделей представления знаний.
Экспертные системы |
373 |
|
|
-интерпретацию – извлечение информации из первичных данных;
-диагностику – обнаружение неисправностей и причин их появления в некоторой системе;
-мониторинг – непрерывная интерпретация данных в реальном времени с сигнализацией о выходе тех или иных параметров за допустимые пределы;
-прогноз – предсказание вероятных последствий на основе прошедших и настоящих событий;
-планирование – определение последовательности действий, направленных на достижение заранее поставленных целей;
-проектирование – определение конфигурации системы при заданных ограничениях;
-отладку и ремонт – выполнение последовательности действий по приведению той или иной системы к требуемым режимам функционирования;
-обучение – интерпретация, диагностика и коррекция знаний и умений обучаемого;
-управление – формирование управляющих воздействий, определяющих поведение сложных систем.
Типовая архитектура ЭС изображена на рисунке 7.1. Взаимодействие с ЭС осуществляется с помощью интерфейса. В качестве пользователя ЭС выступает либо конечный пользователь (лицо, принимающее решение), либо эксперт, либо инженер по знаниям. Этим категориям пользователей предоставляются разные возможности взаимодействия с системой. В ЭС применяются различные варианты реализации интерфейса: менюориентированный, графический, командный, естественно-языковый, речевой. Кроме обеспечения взаимодействия с различными категориями пользователей, интерфейс выполняет необходимые функции сопряжения с внешними объектами: базами данных, различными датчиками, коммуникационным оборудованием и т.п.
Ядро ЭС образует база данных, база знаний и машина вывода. База данных представляет собой рабочую память, в которой хранятся текущие данные, заключения и другая информация, имеющая отношение к анализируемой системой ситуации. База знаний обеспечивает хранение знаний, представленных с помощью одной из моделей: логической, продукционной, фреймовой, сетевой (см. главу 2).
Машина вывода (подсистема поиска решений), используя данные и знания, организует управление выводом в соответствии с используемой моделью представления знаний. Например, при использовании продукционной модели представления знаний выполняется цикл “распознаваниедействие”. Процедуры, реализующие цикл управления, отделены от про-
Экспертные системы |
375 |
|
|
-вопросы типа “почему” (почему требуются значения тех или иных фактов?).
Подсистема приобретения знаний используется как с целью автома-
тизации процесса наполнения ЭС знаниями, так и при корректировке базы знаний, при ее обновлении, пополнении или исключении элементов знаний. Данные процессы реализуются либо при непосредственном участии инженера по знаниям (эксперта), либо в автоматическом режиме в ходе обучения системы.
7.2. Разработка экспертных систем
Создание ЭС сопряжено с большими финансовыми и трудовыми затратами. Поэтому попытка применить ЭС для решения некоторой проблемы, которая не отвечает ряду требований, может обернуться существенными потерями. Укажем критерии, на основе которых должны отбираться задачи для решения с помощью экспертных систем.
Использовать ЭС для решения задачи следует тогда, когда разработка ЭС возможна, оправдана и уместна [20]. Чтобы разработка ЭС была возможна, необходимо выполнение следующих требований:
-должны быть эксперты, которые эффективно решают проблемы в заданной области;
-оценки правильности решений, сделанные различными экспертами, должны в основном совпадать, иначе нельзя будет определить качество разработанной ЭС;
-эксперты должны уметь объяснять методы, которые они используют в ходе решения задачи, в противном случае знания экспертов не могут быть перенесены в память ЭС;
-задача должна решаться на основе рассуждений, а не физических действий (если требуется совмещение интеллектуальных навыков и физических действий, то интеллектуальная часть реализуется средствами искусственного интеллекта, а физические действия – различными механическими системами, что характерно для робототехники);
-задача, возлагаемая на ЭС, не должна быть слишком трудной, ее решение должно осуществляться экспертом за несколько часов, а не дней или недель;
-задача должна относиться к “проработанной” области, иначе потребуются основательные исследования;
-задача не должна в значительной степени опираться на соображения “здравого смысла”, так как подобные знания плохо переносятся в ЭС.
Экспертные системы |
377 |
|
|
-упрощает ли система решение задач пользователем и др.
Аналогично большинству программных систем искусственного интел-
лекта при разработке ЭС используется концепция “быстрого прототипа”. Согласно этой концепции за короткий промежуток времени создается упрощенная версия ЭС – прототип, который последовательно эволюционирует в законченную систему. Такая опытная технология разработки характеризуется постоянным взаимодействием инженера по знаниям с экспертом. Работа над проектом начинается с “погружения” инженера по знаниям в предметную область с помощью учебных пособий. Предварительное знакомство инженера по знаниям с основными понятиями предметной области помогает его общению с экспертом. Затем инженер по знаниям начинает процесс извлечения экспертных знаний. Обычно это выполняется фиксацией объяснений эксперта при решении простых задач. Полезно, чтобы инженер по знаниям был новичком в предметной области. Эксперты обычно не объясняют достаточно детально последовательность действий при решении сложных задач. Часто они опускают шаги решения задачи, которые являются тривиальными или кажутся им очевидными за многие годы работы в заданной области. Инженер по знаниям, благодаря его наивным представлениям о предметной области, должен быть способен обнаружить “белые пятна” в объяснениях эксперта.
После получения инженером по знаниям общего представления о предметной области и решения с помощью эксперта нескольких задач, он готов приступить к действительному проектированию системы. Инженер по знаниям выбирает подходящую модель представления знаний, определяет поисковую стратегию (прямую, обратную и пр.) и проектирует пользовательский интерфейс. Данный этап работы завершается созданием прототипа ЭС. Прототип ЭС должен решать задачи из ограниченной предметной области и обеспечивать возможность тестирования принятых проектных допущений.
Используя прототип ЭС для решения новых задач, инженер по знаниям и эксперт проверяют и устраняют недостатки знаний, заложенных в ЭС. Если выясняется, что допущения, сделанные при создании прототипа, корректные, то можно перейти к проектированию действующего варианта ЭС. Преобразование прототипа в действующую ЭС может включать перепрограммирование ее составных частей на языках более низкого уровня, позволяющих учесть особенности конкретной вычислительной системы и повысить эффективность реализации ЭС.
Построение ЭС выполняется последовательной корректировкой решений, принимаемых на различных этапах проектирования. Это позволяет говорить, что ЭС скорее “выращивается”, чем конструируется. На рисунке 7.2 изображена структурная схема проектирования ЭС, в основе которой лежит цикл “испытание-корректировка”.
Экспертные системы |
379 |
|
|
На этапе реализации формализованные знания закладываются в базу знаний и разрабатываются необходимые программы. Этап первоначальной реализации должен осуществляться быстро, с использованием языков высокого уровня абстракции данных, в частности, с помощью оболочек ЭС. С весьма большой вероятностью, полученная первоначальная реализация (прототип) будет в дальнейшем пересмотрена.
Испытания позволяют выяснить правильность работы системы при решении требуемых задач. В ходе испытаний могут быть обнаружены ошибки, допущенные на разных этапах проектирования, что потребует пересмотра соответствующих решений.
На этапе испытаний промежуточных версий ЭС с системой взаимодействует и конечный пользователь, который определяет, отвечает ли система его требованиям.
В ходе разработки ЭС приходится неоднократно возвращаться на более ранние этапы, пока не будут удовлетворены все требования. Создание прототипа ЭС с применением наиболее распространенных продукционных моделей занимает от нескольких месяцев до 1-2 лет. Доводка прототипа до промышленной ЭС с возможным перепрограммированием на алгоритмических языках, например С++, требует от 2 до 4 лет. Ускорения процесса разработки можно добиться при использовании средств автоматизации проектирования ЭС [12].
7.3. Приобретение знаний
Приобретение знаний состоит в передаче и преобразовании опыта решения проблем от источника знаний к системе. Термин приобретение знаний не фиксирует способ передачи знаний. Например, передача может осуществляться с помощью специальных программ, выявляющих необходимые элементы знаний в больших массивах данных. Функции, которые должна выполнять подсистема приобретения знаний (рисунок 7.1), в значительной степени зависят от того, какие возможности имеются в системе по формализации поступающей информации до уровня знаний. Если в системе не предусмотрено никаких средств автоматизации процесса приобретения знаний, то все необходимые операции по приобретению знаний выполняет инженер по знаниям. В случае если передача знаний выполняется путем опроса эксперта, то говорят не о приобретении знаний, а об из-
влечении знаний.
Извлечение знаний осуществляется в процессе систематического диалога инженера по знаниям и эксперта. При этом инженер по знаниям должен учитывать следующие обстоятельства: