6.4. Экспертные системы
Однозначного определения понятие экспертной системы не имеет.
Экспертная система (ЭС, Expert system) — система искусственного интеллекта, включающая знания об определенной слабо структурированной и трудно формализуемой узкой предметной области и способная предлагать и объяснять пользователю разумные решения.
В толковом словаре по информатике под экспертной системой понимается система искусственного интеллекта, которая включает в себя базу знаний с набором правил и механизмом вывода, позволяющую на основании этих правил и предоставляемых пользователем фактов распознавать ситуацию, ставить диагноз, формулировать решение или давать рекомендации для выбора действия.
Иногда вместо определения дают перечень свойств ЭС: ограничена определенной сферой экспертизы; способна рассуждать при сомнительных данных; способна объяснять цепочку рассуждений; факты и механизм вывода четко отделены друг от друга; строится с возможностью постепенного развития и наращивания; чаще всего основана на использовании правил; на выходе выдает четкий совет; экономически выгодна. ЭС предназначена для решения неформализованных задач, к которым относят задачи, обладающие одной или несколькими из следующих характеристик:
• исходные данные не могут быть заданы в числовой форме;
• цели не могут быть выражены в терминах точно определенной целевой функции;
• не существует алгоритмического решения задач;
• алгоритмическое решение существует, но его нельзя использовать из-за ограниченности ресурсов (время, память).
Неформализованные задачи характеризуются: ошибочностью, неоднозначностью, неполнотой и противоречивостью исходных данных, знаний о проблемной области и решаемой задаче; большой размерностью пространства решения; динамически изменяющимися данными и знаниями.
Классификация ЭС приведена ниже.
Классификация экспертных систем
Признак классификация
Назначение
Степень зависимости от внешней среды
Тин использования
Стадии создания
Виды ЭС
Общего назначения
Специализированные (проблемно-ориентированные для задач диагностики, проектирования, прогнозирования, предметно-ориентированные для специфических задач, например, контроля ситуаций на атомных электростанциях)
Статические (независящие от внешней среды) Динамические (учитывающие динамику внешней среды и предназначенные для решения задач в реальном времени)
Изолированные
ЭС на входе/выходе других систем Гибридные (интегрированные с базами данных и другими программными продуктами) Исследовательские образцы (разработанные за 1—2 месяца с минимальной БЗ) Демонстрационные (разработанные за 2—4 месяца на языке типа LISP, PROLOG, CLIPS и др.) Промышленные (разработанные за 4—8 месяцев на языке типа CLIPS с полной БЗ) Коммерческие (разработанные за 1,5—2 года на языке тина C++, Java с полной БЗ)
Полностью оформленная статическая экспертная система имеет шесть существенных компонентов: база знаний; машина логического вывода; компонент приобретения знаний; объяснительный и диалоговый компоненты; база данных (рабочая память). В общем ЭС может быть представлена в следующем виде (рис. 6.12).
База знаний — содержит факты и правила. Факты представляют собой краткосрочную информацию (они могут изменяться, например, в ходе консультации). Правила представляют более долговременную информацию о том, как порождать новые факты или гипотезы из того, что сейчас известно. База знаний активно пополняется новой и недостающей информацией.
Подсистема логического вывода (машина логического вывода), используя исходные данные из рабочей памяти (БД) и базы знаний (БЗ), формирует последовательность правил, которая приводит к решению задачи. Различают прямую и обратную цепочки рассуждений. Прямая цепочка — это цепочка, которая ведет от данных к гипотезам, при этом в процессе диалога до получения ответа может быть задано неограниченное количество вопросов. Обратная цепочка рассуждений является попыткой найти данные для доказательства или опровержения некоторой гипотезы. На практике в чистом виде не встречается ни одна из рассмотренных цепочек рассуждений. Объясняется это неоднозначностью данных, используемых при рассуждениях.
Компонент приобретения знаний (редактор знаний) автоматизирует процесс наполнения ЭС знаниями, источником которых является эксперт (группа экспертов).
Объяснительный компонент разъясняет пользователю, как система получила решение задачи (или почему она не получила решение) и какие знания при этом использовала, что повышает доверие пользователя к полученному результату.
Диалоговый компонент (интерфейс пользователя) ориентирован на организацию дружественного общения с пользователем в ходе решения задач, в процессе приобретения знаний и объяснения результатов работы.
База данных (БД) предназначена для хранения исходных и промежуточных данных решаемой в текущий момент задачи.
Статические ЭС используются в приложениях, где можно не учитывать изменения, происходящие за время решения задачи. Для учета изменений, происходящих в окружающем мире, в архитектуру ЭС вводятся два компонента: подсистема моделирования внешнего мира и подсистема связи с внешним окружением, которая осуществляет связи с внешней средой через систему датчиков и контроллеров, либо используя СУБД. Существенным изменениям подвергаются и остальные подсистемы. Архитектура динамической ЭС приведена на рис. 6.13.
Экспертная система может работать в двух режимах: приобретения знаний и решения задачи (режим консультации или режим использования). В режиме приобретения знаний общение с ЭС осуществляет эксперт, который, используя компонент приобретения знаний, наполняет систему информацией, позволяющей ЭС в режиме консультации самостоятельно (без эксперта) решать задачи из проблемной области. Эксперт описывает проблемную область в виде совокупности правил и данных. Данные определяют объекты, их характеристики и значения, существующие в области экспертизы, правила — способы манипулирования данными, характерные для рассматриваемой области. В режиме консультации общение с ЭС осуществляет конечный пользователь, которого интересует результат и (или) способ его получения. В качестве конечного пользователя может выступать эксперт, программист, лицо, принимающее решение, — ЛИР. В режиме консультации данные о задаче пользователя после обработки их диалоговым компонентом поступают в рабочую память. Машина логического вывода на основе входных данных, общих данных о проблемной области и правил из БЗ формирует решение задачи.
Экспертная система отличается от прочих прикладных программ наличием следующих признаков:
• моделирует не столько физическую (или иную) природу определенной проблемной области, сколько механизм мышления человека применительно к решению задач в этой проблемной области, реализуя компьютерными средствами методики решения проблем, которые применяются экспертом;
• помимо выполнения вычислительных операций, формирует определенные соображения и выводы, основываясь на тех знаниях, которыми она располагает;
• при решении задач основными являются эвристические и приближенные методы, которые в отличие от алгоритмических не всегда гарантируют успех, так как не требуют исчерпывающей исходной информации, но обеспечивают определенную степень уверенности (неуверенности), что предлагаемое решение является верным.
Экспертные системы отличаются от других видов программ из области искусственного интеллекта:
• имеют дело с предметами реального мира, операции с которыми обычно требуют наличия значительного опыта, накопленного человеком;
• имеют ярко выраженную практическую направленность в научной или коммерческой области;
• должны за приемлемое время найти решение, которое не хуже, чем то, которое может предложить специалист в этой предметной области;
• должны обладать способностью объяснить, почему предложено именно такое решение, и доказать его обоснованность.
В разработке ЭС принимают участие:
• эксперт в проблемной области, задачи которой будет решать ЭС;
• инженер по знаниям — специалист по разработке ЭС (используемые им технологии, методы называют технологией (методами) инженерии знаний);
• программист по разработке инструментальных средств, предназначенных для ускорения разработки ЭС.
В основе разработки ЭС лежит процесс передачи потенциального опыта решения проблемы от некоторого источника знаний и преобразование его в вид, который позволяет использовать эти знания в программе. Передача знаний выполняется в процессе собеседований между специалистом по проектированию экспертной системы (инженером по знаниям) и экспертом в определенной предметной области, способным достаточно четко сформулировать имеющийся у него опыт.
Исследователи рассматривают функцию приобретения знаний в качестве одного из наиболее «узких мест» технологии ЭС. Это объясняется следующими причинами:
• во многих проблемных областях специалисты пользуются собственным жаргоном, потому требуется много дополнительных вопросов для уточнения его логического или математического значения;
• факты и принципы, лежащие в основе многих специфических областей знания эксперта, не могут быть четко сформулированы в терминах математической теории или детерминированной модели;
• для решения проблемы в определенной области эксперту недостаточно обладать знаниями о фактах и принципах в этой области, также необходимо знать насколько надежны различные источники информации, как расчленить сложную проблему на более простые, которые можно решать более или менее независимо и т.д.;
• экспертный анализ включает многие вещи, кажущиеся эксперту само собой разумеющимися, но для постороннего отнюдь таковыми не являющиеся.
Основные методологические принципы построения ЭС (как любых СОЗ):
• объектом является все то, что является источником информации;
• объект, представляющий собой совокупность взаимосвязанных объектов, называется системой. Всякий объект может являться элементом одновременно многих систем;
• любой объект обладает различными свойствами, проявляющимися в рамках соответствующих систем, элементом которых он является;
• структура системы отражает структуру предметной области;
• знания организуются в БЗ, имеющую определенную структуру, механизм доступа и алгоритмы использования.
В настоящее время сложилась определенная технология разработки ЭС, которая включает следующие этапы: идентификация, концептуализация, формализация, выполнение, тестирование и опытная эксплуатация (рис. 6.14).
На этапе идентификации осмысливаются задачи, которые предстоит решать ЭС, и формируются требования к ней, определяется, что надо сделать и какие ресурсы необходимо задействовать. Идентификация задачи включает неформальное описание общих характеристик задачи; подзадач, выделяемых внутри задачи; ключевых объектов, их входных (выходных) данных; предположительный вид решения, знания, относящиеся к решаемой задаче. Начальное неформальное описание задачи экспертом используется инженером по знаниям для уточнения терминов и ключевых понятий. Эксперт корректирует описание задачи, объясняет, как решать ее и какие рассуждения лежат в основе того или иного решения.
Для эксперта источниками знаний служат его предшествующий опыт по решению задачи, книги, известные примеры решения задач, для инженера по знаниям — опыт в решении аналогичных задач, методы представления знаний и манипулирования ими, программные инструментальные средства.
На этапе концептуализации проводится содержательный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач, определяются особенности задачи: типы доступных данных; исходные и результирующие данные; подзадачи общей задачи; применяемые стратегии и гипотезы; виды взаимосвязей объектов предметной области, типы используемых отношений (иерархия, причина—следствие, часть—целое и т.п.); процессы, применяемые в ходе решения; состав знаний, используемых при решении задачи; типы ограничений, накладываемых на процессы, которые применены в ходе решения; состав знаний, используемых для обоснования решений. На этом этапе строится концептуальная модель предметной области. Для ее построения можно использовать подходы:
• признаковый (атрибутивный), который предполагает наличие полученной от экспертов информации в виде троек объект—атрибут—значение атрибута и наличие обучающей информации. Этот подход развивается в рамках направления, получившего название «машинное обучение»;
• структурный (когнитивный), реализуемый путем выделения элементов предметной области, их взаимосвязей и семантических отношений.
На этапе формализации все ключевые понятия и отношения выражаются на некотором формальном языке, который либо выбирается из числа уже существующих, либо создается заново; определяются состав средств и способы представления декларативных и процедурных знаний; формируется описание решения задачи ЭС на предложенном инженером по знаниям формальном языке. Результатом этапа формализации являются указание способов представления знаний (фреймы, сценарии, семантические сети и т.д.), определение способов манипулирования этими знаниями (логический вывод, аналитическая модель, статистическая модель и др.) и интерпретации знаний.
На этапе выполнения создаются один или несколько прототипов ЭС, решающих требуемые задачи, по результатам тестирования и опытной эксплуатации создается конечный продукт, пригодный для промышленного использования.
В ходе этапа тестирования производится оценка выбранного способа представления знаний в ЭС в целом.
На этапе опытной эксплуатации проверяется пригодность ЭС для конечного пользователя.
- 6. Системы искусственного интеллекта
- 6.1. Основные понятия искусственного интеллекта
- 6.3. Интеллектуальный анализ данных. Управление знаниями
- 6.4. Экспертные системы
- 6.5. Системы поддержки принятия решений
- 7. Обеспечение безопасности информационных систем
- 7.1. Основы информационной безопасности
- 7.2. Критерии оценки информационной безопасности
- 7.3. Классы безопасности информационных систем
- 7.4. Угрозы информационной безопасности
- 7.6. Правовые аспекты информационной безопасности
- 7.7. Обеспечение безопасности в компьютерных сетях
- 8. Проектирование корпоративной информационной системы
- 8.1. Жизненный цикл корпоративной информационной системы
- 8.2. Основы проектирования ис
- 8.3. Реинжиниринг бизнес-процессов
- 8.4. Стандартизация и сертификация информационных технологий
- 9. Решения в области информационных систем
- 9.1. Комплексные решения кис
- 9.2. Критерии выбора кис