Экспертные системы
Экспертные системы представляют собой класс компьютерных программ, которые выдают советы, проводят анализ, выполняют классификацию, дают консультации и ставят диагноз. Назначение экспертных систем (ЭС) заключается в решении трудно описываемых на математическом уровне задач на основе накопленной базы знаний, отражающей опыт работы экспертов в рассматриваемой проблемной области. Экспертные системы предоставляют возможность принятия решений в уникальных ситуациях, для которых алгоритм заранее не известен и формируется по исходным данным в виде цепочки рассуждений (правил принятия решений) из базы знаний. Причем решать задачу приходиться в условиях неполноты, недостоверности, многозначности исходной информации и качественных оценок процессов. Экспертная система является инструментом, усиливающим интеллектуальные способности специалиста, и может выполнять следующие функции: · консультанта для неопытных или непрофессиональных пользователей; · ассистента менеджера при анализе различных вариантов решений; · помощника при рассмотрении вопросов, относящихся к источникам знаний из смежных областей деятельности. Экспертные системы используются во многих областях, среди которых лидирует сегмент приложений в бизнесе, производстве и медицине (рис. 1.2). Менее всего ЭС используются в науке, так как почти каждый автор считает себя уникальным экспертом [21]. . Рис. 1.2. Области применения экспертных систем Архитектура экспертной системы (рис. 1.3) включает в себя два основных компонента: базу знаний (хранилище единиц знаний) и программный инструмент доступа и обработки знаний, состоящий из механизмов вывода заключений (решения), приобретения знаний, объяснения получаемых результатов и интеллектуального интерфейса. Причем главным компонентом экспертной системы является база знаний, которая по отношению к другим компонентам выступает как содержательная подсистема, составляющая основную ценность. Содержимое базы знаний хорошей экспертной системы оценивается в сотни тысяч долларов, в то время как программный инструментарий – в тысячи или десятки тысяч долларов. База знаний – это совокупность единиц знаний, которые представляют собой формализованное с помощью некоторого метода представления знаний отражение объектов проблемной области, их взаимосвязей, а также действий над объектами.
Рис. 1.3 Архитектура экспертной системы В качестве методов представления знаний чаще всего используются либо правила, либо фреймы (объекты), либо их комбинация. Так, правила могут быть представлены следующим образом: Если < условие >, То <заключение> CF (Фактор уверенности) <значение> В качестве факторов уверенности (CF), как правило, выступают либо условные вероятности байесовского подхода (от 0 до 1), либо фактор уверенности CF (от 0 до 100). Примеры правил имеют вид: Правило 1: Если Коэффициент рентабельности > 0.1, То Рентабельность = "удовл." CF 100. Правило 2: Если Задолженность = "нет" и Рентабельность = "удовл.", То Финансовое_сост. = "удовл." CF 80. Правило 3: Если Финансовое_сост. = "удовл." и Репутация="удовл.", То Надежность предприятия = "удовл." CF 90. Фреймы(объекты) представляют собой совокупность атрибутов, описывающих свойства и отношения с другими объектами. В отличие от записей баз данных каждый объект имеет уникальное имя. Часть атрибутов отражают типизированные отношения, такие как "род – вид" (super-class – sub-class), "целое – часть" и др. Вместо конкретных значений атрибутов объектов могут быть заданы значения по умолчанию, присущие целым классам объектов, или присоединенные процедуры (process). Пример описания фреймов представлен на рис. 1.4.
ПРЕПРИЯТИЕ#1
Рис. 1.4. Описание фреймов (объектов) Интеллектуальный интерфейс. Обмен данными между конечным пользователем и ЭС выполняет программа интеллектуального интерфейса, которая воспринимает сообщения пользователя и переводит внутреннее представление результата обработки в формат пользователя. Важнейшим требованием к организации диалога пользователя с ЭС является простота и естественность, которая в ряде случаев предполагает использование предложений естественного языка. Важно, чтобы последовательность решения задачи была гибкой, соответствовала представлениям пользователя и велась в профессиональных терминах. Механизм вывода. Этот программный инструмент получает от интеллектуального интерфейса преобразованный во внутреннее представление запрос, формирует из базы знаний конкретный алгоритм решения задачи, выполняет его и полученный результат предоставляется интеллектуальному интерфейсу для выдачи ответа на запрос пользователя. В основе использования любого механизма вывода лежит процесс нахождения в соответствии с поставленной целью и описанием конкретной ситуации (исходных данных) относящихся к решению единиц знаний (правил, объектов, прецедентов и т. д.) и связыванию их при необходимости в цепочку рассуждений, приводящую к определенному результату. Для представления знаний в форме правил это может быть прямая (рис. 1.5) или обратная (рис. 1.6) цепочка рассуждений. Рис. 1.5. Прямая цепочка рассуждений Рис. 1.6. Обратная цепочка рассуждений Для объектно-ориентированного представления знаний характерно применение механизма наследования атрибутов, когда значения атрибутов передаются от вышестоящих классов к нижестоящим (например, на рис. 1.4 код отрасли, отраслевой коэффициент рентабельности). Также при заполнении атрибутов фрейма необходимыми данными запускаются на выполнение присоединенные процедуры. Механизм объяснения. В процессе решения задачи или по результатам ее решения пользователь может запросить объяснение или обоснование хода решения. С этой целью ЭС должна представить соответствующий механизм объяснения. Объяснительные способности ЭС определяются возможностью механизма вывода запоминать путь решения задачи. Тогда на вопросы пользователя "Как?" и "Почему?" получено решение система всегда может выдать цепочку рассуждений до требуемой контрольной точки, сопровождая объяснения заранее подготовленными комментариями. Если решение задачи отсутствует, объяснение выдается пользователю автоматически. Полезно иметь и гипотетическое объяснение решения задачи, когда система отвечает на вопрос, что, возможно, произойдет в том или другом случае. Однако пользователя не всегда может интересовать полный вывод решения, содержащий множество ненужных деталей. В этом случае система должна уметь выбирать из цепочки только ключевые моменты с учетом их важности и уровня знаний пользователя. Для этого в базе знаний необходимо поддерживать модель знаний и намерений пользователя. Если же пользователь не понимает полученный ответ, то система должна быть способна в диалоге (на основе поддерживаемой модели проблемных знаний) обучать пользователя тем или иным фрагментам знаний, т. е. раскрывать более подробно отдельные понятия и зависимости, если даже эти детали непосредственно в выводе не используются. Механизм приобретения знаний. База знаний содержит знания экспертов (специалистов) о действиях в различных ситуациях или в процессе решения характерных задач. Выявлением подобных знаний и последующим их представлением в базе знаний занимаются специалисты, называемые инженерами знаний. Для ввода знаний в базу и их последующего обновления ЭС должна обладать механизмом приобретения знаний. В простейшем случае это - интеллектуальный редактор, который позволяет вводить единицы знаний в базу и проводить их синтаксический и семантический контроль, например, на непротиворечивость. В более сложных случаях извлекать знания следует с помощью специальных сценариев интервьюирования экспертов, которые приводятся ниже в гл.3, или из опыта работы самой интеллектуальной системы.
|