Формализация
Строится формализованное представление концепций предметной области на основе выбранного языка представления знаний (ЯПЗ). Традиционно на этом этапе используются:
· логические методы (исчисления предикатов порядка и другие); продукционные модели (с прямым и обратным выводом); семантические сети;
· фреймы;
· объектно-ориентированные языки, основанные на иерархии классов, объектов и другие.
Формализация знания - разработка базы знаний на языке, который, с одной стороны, соответствует структуре поля знаний, а с другой - позволяет реализовать прототип системы на следующей стадии программной реализации.
Всё чаще на этой стадии используется симбиоз языков представления знаний, например, в системе ОМЕГА фреймы + семантические сети + полный набор возможностей языка исчисления предикатов.
Средняя продолжительность 1 - 2 месяца.
Реализация
Создаётся прототип экспертной системы, включающий базу знаний и остальные блоки, при помощи одного из следующих способов:
· программирование на традиционных языках типа Паскаль, Си и других; программирование на специализированных языках, применяемых в задачах искусственного интеллекта: LISP, FRL, SmallTalkи другие;
· использование инструментальных средств разработки экспертных систем типа СПЭИС, ПИЭС;
· использование «пустых» экспертных систем или «оболочек» типа ЭКСПЕРТ, ФИАКР и др.
Реализация - разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. Чаще всего первый прототип отбрасывается на этапе реализации действующей экспертной системы.
Средняя продолжительность 1- 2 месяца.
Тестирование
Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на:
· удобство и адекватность интерфейсов ввода-вывода (характер вопросов в диалоге, связность выводимого текста результата и другое);
· эффективность стратегии управления (порядок перебора, использование нечёткого вывода и другое);
· качество проверочных примеров;
· корректность базы знаний (полнота и непротиворечивость правил).
Тестирование - выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до промышленного варианта.
Средняя продолжительность 1 - 2 недели.
Этап 3: развитие прототипа до промышленной экспертной системы
При неудовлетворительном функционировании прототипа эксперт и инженер по знаниям имеют возможность оценить, что именно будет включено в разработку окончательного варианта системы.
Если первоначально выбранные объекты или свойства оказываются неподходящими, их необходимо изменить. Можно сделать оценку общего числа эвристических правил, необходимых для создания окончательного варианта экспертной системы. Иногда при разработке промышленной системы выделяют дополнительные этапы для перехода: демонстрационный прототип - исследовательский прототип - действующий прототип - промышленная система.
Однако чаще реализуется плавный переход от демонстрационного прототипа к промышленной системе, при этом, если программный инструментарий выбран удачно, необязательна перепись другими программными средствами.
Понятие же коммерческой системы в нашей стране входит в понятие промышленный программный продукт, или промышленной экспертной системы в этой работе (табл. 1).
Таблица. 1. Переход от прототипа к промышленной экспертной системе
Демонстрационный прототип ЭС | Система решает часть задач, демонстрируя жизнеспособность подхода (несколько десятков правил или понятий). |
Исследовательский прототип ЭС | Система решает большинство задач, но не устойчива в работе и не полностью проверена (несколько сотен правил или понятий). |
Действующий прототип ЭС | Система надёжно решает все задачи на реальных примерах, но для сложной задачи требует много времени и памяти. |
Промышленная система | Система обеспечивает высокое качество решений при минимизации требуемого времени и памяти; переписывается с использованием более эффективных средств представления знаний. |
Коммерческая система | Промышленная система, пригодная к продаже, то есть хорошо документирована и снабжена сервисом. |
Основное на третьем этапе заключается в добавлении большого числа дополнительных эвристик. Эти эвристики обычно увеличивают глубинусистемы, обеспечивая большее число правил для трудноуловимых аспектов отдельных случаев. В то же время эксперт и инженер по знаниям могут расширить охват системы, включая правила, управляющие дополнительными подзадачами или дополнительными аспектами экспертной задачи (метазнания).
После установления основной структуры экспертной системы инженер по знаниям приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться с пользователем и экспертом. Необходимо обратить особое внимание на языковые возможности интерфейсов, их простоту и удобство для управления работой экспертной системой. Система должна обеспечивать пользователю возможность лёгким и естественным образом спрашивать непонятное, приостанавливать работу и т.д. В частности, могут оказаться полезными графические представления.
На этом этапе разработки большинство экспертов узнают достаточно о вводе правил и могут сами вводить в систему новые правила. Таким образом начинается процесс, во время которого инженер по знаниям передаёт право собственности и контроля за системой эксперту для уточнения, детальной разработки и обслуживания.
Этап 4: оценка системы
· После завершения этапа разработки промышленной экспертной системы необходимо провести её тестирование в отношении критериев эффективности. К тестированию широко привлекаются другие эксперты с целью апробирования работоспособности системы на различных примерах. Экспертные системы оцениваются главным образом для того, чтобы проверить точность работы программы и её полезность. Оценку можно проводить, исходяиз различных критериев: критерии пользователей (понятность и «прозрачность» работы системы, удобство интерфейсов и другие.);
· критерии приглашённых экспертов (оценка советов-решений, предлагаемых системой, сравнение её с собственными решениями, оценка подсистемы объяснений и другие.);
· критерии коллектива разработчиков (эффективность реализации, производительность, время отклика, дизайн, широта охвата предметной области, непротиворечивость БЗ, количество тупиковых ситуаций, когда система не может принять решение, анализ чувствительности программы к незначительным изменениям в представлении знаний, весовых коэффициентах, применяемых в механизмах логического вывода, данных и так далее).
Этап 5: стыковка системы
На этом этапе осуществляется стыковка экспертной системы с другими программными средствами в среде, в которой она будет работать, и обучение людей, которых она будет обслуживать. Иногда это означает внесение существенных изменений. Такое изменение требует непременного вмешательства инженера по знаниям или какого-либо другого специалиста, который сможет модифицировать систему. Под стыковкой подразумевается также разработка связей между экспертной системой и средой, в которой она действует.
Когда экспертная система уже готова, инженер по знаниям должен убедиться в том, что эксперты, пользователи и персонал знают, как эксплуатировать и обслуживать её. После передачи им своего опыта в области информационной технологии инженер по знаниям может полностью предоставить её в распоряжение пользователей.
Для подтверждения полезности системы важно предоставить каждому из пользователей возможность поставить перед экспертной системой реальные задачи, а затем проследить, как она выполняет эти задачи. Чтобы система была одобрена, необходимо представить её как помощника, освобождающего пользователей от обременительных задач, а не как средство их замещения.
Стыковка включает обеспечение связи экспертной системы с существующими базами данных и другими системами на предприятии, а также улучшение системных факторов, зависящих от времени, чтобы можно было обеспечить её более эффективную работу и улучшить характеристики её технических средств, если система работает в необычной среде (например, связь с измерительными устройствами).
Пример. Успешно состыкована со своим окружением система PUFF - экспертная система для диагностики заболеваний лёгких. После того, как PUFFбыла закончена и все были удовлетворены её работой, систему перекодировали с LISP на Бейсик. Затем систему перенесли на ПК, которая уже работала в больнице. В свою очередь, эта ПК была связана с измерительными приборами. Данные с измерительных приборов сразу поступают в ПК. РUFF обрабатывает эти данные и печатает рекомендации для врача. Врач в принципе не взаимодействует с РUFF. Система полностью интегрирована со своим окружением - она представляет собой интеллектуальное расширение аппарата исследования лёгких, который врачи давно используют.
Этап 6: поддержка системы
При перекодировании системы на язык, подобный Си, повышается её быстродействие и увеличивается переносимость, однако гибкость при этом уменьшается. Это приемлемо лишь в том случае, если система сохраняет все знания проблемной области и это знание не будет изменяться в ближайшем будущем. Однако если экспертная система создана именно из-за того, что проблемная область изменяется, то необходимо поддерживать систему в инструментальной среде разработки.
Пример. Примером экспертной системы, внедрённой таким образом, является ХСON (R1) – экспертная система, которую фирма DЕС использует для комплектации ЭВМ семейства VАХ. Одна из ключевых проблем, с которой столкнулась фирма DЕС, - необходимость постоянного внесения изменений для новых версий оборудования, новых спецификаций и так далее. Для этой цели ХСON поддерживается в программной среде ОРS5.