logo
голенда часть 3

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).

На этапе идентификации осмысливаются задачи, кото­рые предстоит решать ЭС, и формируются требования к ней, определяется, что надо сделать и какие ресурсы необходимо задействовать. Идентификация задачи включает неформаль­ное описание общих характеристик задачи; подзадач, выде­ляемых внутри задачи; ключевых объектов, их входных (выходных) данных; предположительный вид решения, знания, относящиеся к решаемой задаче. Начальное неформальное описание задачи экспертом используется инженером по зна­ниям для уточнения терминов и ключевых понятий. Эксперт корректирует описание задачи, объясняет, как решать ее и какие рассуждения лежат в основе того или иного решения.

Для эксперта источниками знаний служат его предшест­вующий опыт по решению задачи, книги, известные примеры решения задач, для инженера по знаниям — опыт в решении аналогичных задач, методы представления знаний и мани­пулирования ими, программные инструментальные средства.

На этапе концептуализации проводится содержатель­ный анализ проблемной области, выявляются используемые понятия и их взаимосвязи, определяются методы решения задач, определяются особенности задачи: типы доступных данных; исходные и результирующие данные; подзадачи общей задачи; применяемые стратегии и гипотезы; виды вза­имосвязей объектов предметной области, типы используе­мых отношений (иерархия, причина—следствие, часть—це­лое и т.п.); процессы, применяемые в ходе решения; состав знаний, используемых при решении задачи; типы ограничений, накладываемых на процессы, которые применены в хо­де решения; состав знаний, используемых для обоснования решений. На этом этапе строится концептуальная модель предметной области. Для ее построения можно использовать подходы:

• признаковый (атрибутивный), который предполагает наличие полученной от экспертов информации в виде троек объект—атрибут—значение атрибута и наличие обучающей информации. Этот подход развивается в рамках направле­ния, получившего название «машинное обучение»;

• структурный (когнитивный), реализуемый путем выде­ления элементов предметной области, их взаимосвязей и семантических отношений.

На этапе формализации все ключевые понятия и отноше­ния выражаются на некотором формальном языке, который либо выбирается из числа уже существующих, либо создает­ся заново; определяются состав средств и способы представ­ления декларативных и процедурных знаний; формируется описание решения задачи ЭС на предложенном инженером по знаниям формальном языке. Результатом этапа формали­зации являются указание способов представления знаний (фреймы, сценарии, семантические сети и т.д.), определение способов манипулирования этими знаниями (логический вывод, аналитическая модель, статистическая модель и др.) и интерпретации знаний.

На этапе выполнения создаются один или несколько про­тотипов ЭС, решающих требуемые задачи, по результатам тестирования и опытной эксплуатации создается конечный продукт, пригодный для промышленного использования.

В ходе этапа тестирования производится оценка выбранного способа представления знаний в ЭС в целом.

На этапе опытной эксплуатации проверяется пригодность ЭС для конечного пользователя.