У створенні ЭС беруть участь інженер по знаннях, експерт, програміст і користувач. Процес розробки ЭС можна розділити на чотири етапи:
1. Розробка прототипу ЭС.
2. Розвиток прототипу до промислової ЭС.
3. Оцінка ЭС.
4. Стикування ЭС.
Прототипная система. Це усічена версія ЭС, спроектована для перевірки правильності кодування фактів, зв'язків і стратегій міркування експерта. Вона також дає можливість інженерові по знаннях залучити експерта до активної участі в процесі розробки ЭС. Обсяг прототипу - кілька десятків правил, прикладів.
У розробці прототипу виділяються шість розділів:
– ідентифікація проблеми;
– добування знань;
– структурування знань;
– формалізація знань;
– реалізація;
– тестування.
Ідентифікація проблеми–створення неформального формулювання проблеми, а також знайомство й навчання членів колективу розроблювачів. Уточнюється завдання, планується хід розробки прототипу ЭС, визначаються необхідні ресурси (час, люди, ЕОМ і т. Д.), наявні аналогічні ЭС, мети (поширення досвіду, автоматизація рутинних дій, нагромадження знань і ін.), класи розв'язуваних завдань.
Добування знань – одержання інженером по знаннях найбільш повного подання про предметну область і способи ухвалення рішення в ній. На цій стадії відбувається перенос компетентності від експерта до інженера по знаннях з використанням методів: аналізу літератури, діалогів, експертних ігор, лекцій, інтерв'ю, спостереження.
Структурування, або концептуалізація знань,–розробка неформального опису знань у вигляді графа, таблиці, діаграми або тексту, що відбиває основні концепції й взаємозв'язки між поняттями. Виявляється структура отриманих знань, тобто визначаються: термінологія, список основних понять, відносини між поняттями, структура вхідної й вихідної інформації, стратегія прийняття рішень.
Формалізація знань – розробка бази знань мовою подання знань, що, з одного боку, відповідає створеній структурі знань, а з іншого боку - дозволяє реалізувати прототип на наступній стадії програмної реалізації. При формалізації будується подання концепцій предметної області на основі обраної мови. Традиційно використовуються: логічні методи (вирахування предикатів 1-го порядку й ін.); продукційні моделі (із прямим і зворотним виводом); семантичні мережі; фрейми; об’єктно-орієнтовані мови, засновані на ієрархії класів, об'єктів. Всі частіше на цій стадії використовується комбінація цих методів. Раніше ми розглянули продукційні моделі й фрейми.
Реалізація – розробка програмного комплексу, що демонструє життєздатність підходу в цілому. Створюється прототип, що включає в себе базу знань і інші блоки, за допомогою одного з наступних способів: програмування на традиційних мовах типу Packal, C++ і ін.; програмування на спеціалізованих мовах, застосовуваних у завданнях штучного інтелекту; використання інструментальних засобів розробки ЭС і «порожніх» ЭС або «оболонок» типу ЕКСПЕРТ.
Тестування – виявлення помилок у підході й реалізації прототипу й виробіток рекомендацій з доведення системи до промислового варіанта. Прототип перевіряється на: зручність і адекватність інтерфейсів уведення/виводу; ефективність стратегії керування (порядок перебору, використання нечіткого виводу); якість перевірочних прикладів; коректність бази знань (повнота й несуперечність правил).
Розвиток прототипу до промислової ЭС. Основна робота на даному етапі полягає в розширенні бази знань, тобто в додаванні великої кількості додаткових правил, фреймів або інших елементів знань. У той же час можна включити правила додаткових подзадач.
Оцінка системи.Для такої оцінки використовуються наступні групи критеріїв:
– критерії користувачів (зрозумілість і «прозорість» роботи системи, зручність інтерфейсів і ін.);
– критерії запрошених експертів (оцінка рад-рішень, порівняння рішень із власними, оцінка підсистеми пояснень);
– критерії колективу розроблювачів (ефективність реалізації, продуктивність, час відгуку, дизайн, широта охвату предметної області, кількість тупикових ситуацій і т.п.).
Стикування системи.На цьому етапі здійснюється стикування ЭС із іншими програмними засобами в середовищі, у якій вона буде працювати. Іноді це означає внесення істотних змін. Стикування включає забезпечення зв'язку ЭС із існуючими базами даних і інших систем на підприємстві.