Тема 4.4 Экспертные системы
В повседневной жизни мы постоянно сталкиваемся с экспертами в самых различных областях человеческой деятельности — это врачи, преподаватели, адвокаты, переводчики, секретари, программисты и т.д. Имея огромный багаж знаний, касающихся конкретной предметной области, а также довольно большой опыт в этой области, они умеют точно сформулировать и правильно решить задачу.
В течение последних десятилетий многочисленные попытки исследователей были направлены на создание систем, способных заменить специалиста в конкретной предметной области, т. е. решать задачи в отсутствие экспертов. Эти системы получили название экспертных систем (ЭС).
В ходе исследований выяснилось, что среди задач, решаемых экспертами, формализованные задачи составляют лишь малую часть, в то время как основная их масса относится к числу неформализованных. Поэтому процедурный подход к созданию экспертных систем нашел ограниченное
применение, уступив место методам инженерии знаний.
Вообще надо сказать, что на сегодняшний день термины «инженерия» знаний и «экспертные системы» используются как синонимы, так же как стали фактическими синонимами термины «экспертная система» и «система, основанная на знаниях».
Одним из наиболее популярных определений ЭС является следующее: «Под ЭС понимается система, объединяющая возможности компьютера со знаниями и опытом эксперта в такой форме, что система может предложить разумный совет или осуществить разумное решение поставленной задачи. Дополнительно желаемой характеристикой такой системы, которая многими рассматривается как основная, является способность системы пояснять по требованию ход своих рассуждений в понятной для спрашивающего форме».
Приведенное определение, а также сформулированные выше общие принципы построения систем, основанные на знаниях, позволяют выделить ряд базовых структурных элементов ЭС. Как и любая система, основанная на знаниях, ЭС обязательно содержит в своем составе базу знаний и механизм логических выводов — «мозг» ЭС. В ЭС, построенных на базе продукционной модели, зачастую для представления фактических знаний используется отдельный механизм — база данных, а в базе знаний остаются лишь правила. Кроме того, для ведения базы знаний и дополнения ее при необходимости знаниями, полученными от эксперта, требуется отдельный модуль редактирования базы знаний.
Другим важным компонентом ЭС является пользовательский интерфейс, необходимый для правильной передачи ответов пользователю в удобной для него форме. Кроме того, пользовательский интерфейс необходим и эксперту для осуществления манипуляций со знаниями.
И, наконец, в ЭС должен присутствовать модуль, который способен при помощи механизма логического вывода предложить разумный совет или осуществить разумное решение поставленной задачи, сопровождая его по требованию пользователя различными комментариями, поясняющими ход проведенных рассуждений. Модуль, реализующий эти функции, называется модулем советов и объяснений. Следует отметить, что механизм объяснений играет весьма важную роль, позволяя повысить степень доверия пользователя к полученному результату. Кроме того, он важен не только для пользователя системы, но и для эксперта, который с его помощью определяет, как работает система и как используются предоставленные им знания.
Базовая структура ЭС показана на рис.1. Перечисленные структурные элементы являются наиболее характерными для большинства ЭС, хотя в реальных условиях некоторые из них могут отсутствовать.
Так как терминология в области разработки ЭС постоянно модифицируется, определим основные термины, которые использованы здесь.
Пользователь — специалист предметной области, для которого предназначена система. Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.
Инженер по знаниям — специалист в области интеллектуальных систем, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы: когнитолог, инженер-интерпретатор, аналитик.
Интерфейс пользователя — комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и при получении результатов.
Рисунок 1 Структура экспертной системы
Модуль логического вывода — программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ. Синонимы: дедуктивная машина, машина вывода, решатель.
Модуль объяснения выводов — программа, позволяющая пользователю получить ответы на вопросы: «Как была получена та или иная рекомендация?» и «Почему система приняла такое решение?» Ответ на вопрос «как» — это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, то есть всех шагов цепи умозаключений. Ответ на вопрос «почему» — ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т.е. отход на один шаг назад. Развитые подсистемы объяснений поддерживают и другие типы вопросов.
Редактор базы знаний — программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок («Help» — режим) и других сервисных средств, облегчающих работу, с базой.