Процесс разработки программной ЭС можно разделить на 6-ть независимых этапов:
1 Этап: выбор подходящей проблемы. Он включает:
1. Определение предметной области и решаемых задач;
2. Нахождение экспертом желающего сотрудничать при решении проблемы;
3. Определение предварительного решения проблемы;
4. Анализ расходов и прибыли от разработки;
5. Подготовка подробного плана разработки;
При выборе области применения следует учитывать, что если знание необходимое для решения задач постоянное, четко сформулированная и связанная с вычислительной обработкой, то обычные алгоритмические программы будут самым целесообразным способом решения проблем в этой области. ЭС не устранит потребность в реляционных БД, статическом программном обеспечении и системах текстовой обработки. Если результат задачи зависит от знаний, которые являются изменяющимися, то область может обоснованно выступать претендентом на ЭС. Обычно ЭС разрабатываются путем получения специфических знаний от эксперта и ввода их в систему. Найти подходящего эксперта – это ключевой шаг в создании ЭС. Предварительный подход к программной реализации задачи определяется исходя из характеристик задачи и ресурсов, выделенных на ее решение.
Инженер по знаниям выдвигает обычно несколько вариантов, связанных с использованием, имеющихся на рынке программных средств. Окончательный выбор возможен лишь на этапе разработки прототипа. После того, как задача определена, необходимо подсчитать расходы и прибыль от разработки ЭС. В расходы включаются затраты на оплату труда количества разработчиков, дополнительные расходы, стоимость приобретаемого программного инструментария. Прибыль возможна за счет снижения цены продукции, повышения производительности труда, расширение услуг и новых видов продуктов. Расходы и прибыль от системы определяется относительно времени, в течение которого возвращаются средства, вложенные в разработку. После того как инженер по знаниям убедился, что все условия создания ЭС на лицо, он составляет план разработки, который определяет шаги процесса создания, необходимые затраты и ожидаемые результаты.
2 Этап. Разработка прототип ной системы.
Понятие прототип ной системы.
ПС является усечённой версией ЭС спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она дает возможность инженеру по знаниям привлечь экспертов к активному участию в разработки ЭС. Объем прототипа несколько десятков правил или примеров. Разработка прототипов проходит 6-ть стадий:
1. Идентификация проблемы, т.е. уточняется задача, планируется ход разработки прототипа и определяется:
a) Необходимые ресурсы (время, люди, ЭВМ);
b) Источники знаний (книги, методики, дополнительные эксперты);
c) Имеющиеся аналогичные ЭС;
d) Цели
e) Классы решаемой задачи;
Идентификация проблемы – это знакомство и обучение количества разработчика, а так же создания неформальных формулировки.
2. Получение знаний, т.е. происходит перенос компетентности экспертов на инженеров по знаниям с использованием различных методов, а именно :
a) Анализ текстов;
b) Диалоги;
c) Экспертные игры;
d) Лекции;
e) Дискуссии;
f) Интервью.
Извлечение знаний – это получение инженером по знаниям наиболее полным представления по предметной области и способов принятия решения в ней.
3. Структурирование или концептуализация знаний, т.е. выявляется структура полученных знаний предметной области и определяется:
a) Терминология;
b) Список основных понятий и их атрибутов;
c) Отношения между понятиями;
d) Структура входной и выходной информации;
e) Стратегия принятия решений;
f) Ограничение стратегии.
Концептуализация знаний – это разработка не формального описания знаний о предметной области в виде графов, таблицы, диаграммы или текста, которые отражают основные концепции и взаимосвязи между понятиями предметной области. Такое описание называется полем знаний.
4. Формализация, т.е. строится представление концепции предметной области на основе вырабатываемого языка представления знаний. На этом используется логические методы (исчисления предикатов 1-го порядка), продукционные модели, семантические сети, фреймы и объектно-ориентированные языки, основанные на иерархии классов, объектов и т.д..
Формализация знаний – это разработка базы знаний на языке, который с одной стороны соответствует структуре знаний, а с другой позволяет реализовать прототип системы на следующей стадии программной реализации.
5. Реализация, т.е. создаётся прототип ЭС, включающая базу знаний и остальные блоки, при помощи одного из следующих способов:
a) Программирование на традиционных языках типа Pascal, С
b) Программирование на специальных языках, применяемых в хадачах искусственного интеллекта (лисп, FRL и Smollctolg);
c) Использование инструментальных средств разработки ЭС типа (СПЭИС и ПИЭС)
d) Использование «пустых» ЭС или оболочек типа эксперт и фиакр;
Реализация – это разработка программного комплекса, декомпонирующего жизнеспособность подхода в целом. Чаще всего первый прототип отбрасывается на этапе реализации действующей ЭС.
6. Тестирование, т.е. оценивается и проверяется работа программ прототипа, с целью приведения в соответствии с реальными запросами пользователей. Прототип проверяется на удобство и адекватность интерфейса ввода вывода (связность выводимого текста и результата) эффективность стратегии управления (порядок перебора, использование нечёткого вывода). Качество проверочных примеров и корректность базы знаний (полнота и непротиворечивость знаний).
Тестирование – это выявление ошибок в подходе и реализации прототипа, выработка рекомендаций по доводке системы до промышленного варианта.