Обобщенная структура экспертной системы:
Современные экспертные системы широко используются для тиражирования опыта и знаний ведущих специалистов практически во всех сферах экономики.
Экспертные системы (ЭС) - это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях и тиражирующие этот эмгахрический опыт для консультаций менее квалифицированных пользователей.
Эксперт |
Пользователь |
Инженер по знаниям |
Обобщенная структура экспертной системы представлена на рис. Следует учесть, что реальные экспертные системы могут иметь более сложную структуру.
Рис. Структура экспертной системы специалист предметной области
Пользователь – специалист предметной области, для которого предназначена система.Обычно его квалификация недостаточно высока, и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС.
Инженер по знаниям - специалист по искусственному интеллекту, выступающий в роли промежуточного буфера между экспертом и базой знаний.
|
|
Интерфейс пользователя - комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и получения результатов.
База знаний (БЗ) - ядро ЭС, совокупность знаний предметной области, записанная на машинный носитель в форме, понятной эксперту и пользователю (обычно на некотором языке, приближенном к естественному). Параллельно такому «человеческому» представлению существует БЗ во внутреннем «машинном» представлении.
Решатель - программа, моделирующая ход рассуждений эксперта на основании знаний, имеющихся в БЗ.
Подсистема объяснений - программа, позволяющая пользователю получить ответы на вопросы: «Как была получена та или иная рекомендация0» и «Почему система приняла такое решение?» Ответ на вопрос «как» - это трассировка всего процесса получения решения с указанием использованных фрагментов БЗ, т.е. всех шагов цепи умозаключений. Ответ на вопрос «почему» - ссылка на умозаключение, непосредственно предшествовавшее полученному решению, т.е. отход на один шаг назад.
Интеллектуальный редактор БЗ - программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает в себя систему вложенных меню, шаблонов языка представления знаний, подсказок («help» - режим) и других сервисных средств, облегчающих работу с базой.
В коллектив разработчиков ЭС входят как минимум четыре человека:
- эксперт;
- инженер по знашгям;
- программист;
- пользователь.
Возглавляет коллектив инженер по знашгям, это ключевая фигура при разработке систем, основанных на знаниях.
|
|
Инструментальные средства построения экспертных систем:
1. Традиционные языки программирования.
В эту группу инструментальных средств входят традиционные языки программирования (С, С++, Basic, SmallTalk, Fortran и т.д.), ориентированные в основном на численные алгоритмы и слабо подходящие для работы с символьными и логическими данными.
2. Языки искусственного интеллекта.
Это прежде всего Лисп (LISP) и Пролог (Prolog) - наиболее распространенные языки, предназначенные для решения задач искусственного интеллекта. Есть и менее распространенные языки искусственного интеллекта, например РЕФАЛ, разработанный в России.
3. Специальный программный инструментарий.
В эту группу программных средств искусственного интеллекта входят специальные инструментарии общего назначения. Как правило, это библиотеки и надстройки над языком искусственного интеллекта Лисп: KEE (Knowledge Engineering Environment), FRL (Frame Representation Language), KRL (Knowledge Representation Language), ARTS и др., позволяющие пользователям работать с заготовками экспертных систем на более высоком уровне, нежели это возможно в обычных языках искусственного интеллекта.
4. «Оболочки».
Под «оболочками» (shells) понимают «пустые» версии существующих экспертных систем, т.е. готовые экспертные системы без базы знаний. Примером такой оболочки может служить EMYCIN (Empty MYCIN - пустой MYCIN), которая представляет собой незаполненную экспертную систему MYCIN. Достоинство оболочек в том, что они вообще не требуют работы программистов для создания готовой экспертной системы. Требуется только специалист(ы) в предметной области для заполнения базы знаний. Однако если некоторая предметная область ппохо укладывается в модель, используемую в некоторой оболочке, заполнить базу знаний в этом случае весьма не просто.