Архитектура экспертной системы (рисунок 5) включает в себя следующие основные компоненты:
компонент приобретения знаний;
базу знаний;
объяснительный компонент;
диалоговый компонент;
Для ввода знаний в базу и их последующего обновления экспертная система должна обладать компонентом приобретения знаний. Компонент приобретения знаний представляет собой процедуру накопления знаний в базе знаний, включающую ввод, контроль полноты и непротиворечивости единиц знаний и, возможно, автоматический вывод новых единиц знаний из вводимой информации. В простейшем случае, это интеллектуальный редактор, который позволяет вводить единицы знаний в базу и проводить их синтаксический и семантический контроль, например, на непротиворечивость. В более сложных случаях извлекать знания путем специальных сценариев интервьюирования экспертов, или из вводимых примеров реальных ситуаций, как в случае индуктивного вывода, или из текстов, или из опыта работы самой интеллектуальной системы.
База знаний – это центральный компонент ЭС, который определяет ценность ЭС и с которым связаны основные затраты на разработку. База знаний – это совокупность единиц знаний, которые представляют собой формализованное с помощью некоторого метода представления знаний отражение объектов проблемной области и их взаимосвязей, действий над объектами и, возможно, неопределенностей, с которыми эти действия осуществляются.
В базе знаний содержатся факты, на основе которых производится выработка решения. Решатель – алгоритм, программа, набор правил, по которым осуществляется решение задачи. Процесс рассуждений реализуется на основе базы знаний и рабочей памяти. Решатель выполняет две функции: во-первых, просмотр существующих фактов из рабочей памяти и правил из базы знаний и добавление (по мере возможности) в рабочую память новых фактов и, во-вторых, определение порядка просмотра и применения правил.
В процессе или по результатам решения задачи пользователь может запросить объяснение или обоснование хода решения. С этой целью ЭС должна предоставить соответствующий механизм объяснения. Объяснительный компонент – это процедура, выполняющая обоснование полученного механизмом вывода результата. Объяснительные способности ЭС определяются возможностью механизма вывода запоминать путь решения задачи. Если пользователя не интересует полный вывод решения, то экспертная система должна уметь выбирать из цепочки только ключевые моменты с учетом их важности и уровня знаний пользователя.
На диалоговый компонент возложена задача ведения диалога о решаемой задаче на языке пользователя (эксперта). Диалоговый компонент состоит из механизма вывода и интеллектуального интерфейса.
Механизм вывода – это обобщенная процедура поиска решения задачи, которая на основе базы знаний и в соответствии с информационной потребностью пользователя строит цепочку рассуждений (логически связанных единиц знаний), приводящую к конкретному результату. Этот программный инструмент получает от интеллектуального интерфейса преобразованный во внутреннее представление запрос, формирует из базы знаний конкретный алгоритм решения задачи, выполняет алгоритм, а полученный результат предоставляется интеллектуальному интерфейсу для выдачи ответа на запрос пользователя.
Интеллектуальный интерфейс – это процедура, выполняющая интерпретацию запроса пользователя к базе знаний и формирующая ответ в удобной для него форме.
Экспертная система функционирует в следующем циклическом режиме:
1. Диалоговый компонент запрашивает данные или результатов анализов, наблюдений (этот этап может быть реализован в виде системы вопросов к пользователю) и помещает их в рабочую память.
2. Решатель интерпретирует результаты с помощью правил, извлеченных из базы знаний.
3. В случае нехватки информации для окончательного решения процесс продолжается до тех пор, пока не поступит достаточное количество информации.