Слабая формализуемость процесса принятия решений, его альтернативность и нечеткость, качественная и символьная природа используемых знаний, динамичность изменения проблемной области - все эти характерные особенности применения экспертных систем обусловливают сложность и большую трудоемкость их разработки по сравнению с другими подклассами ИИС. Поэтому в дальнейшем вопросы проектирования и реализации интеллектуальных информационных систем будут рассматриваться для класса экспертных систем.
Извлечение знаний при создании экспертной системы предполагает изучение множества источников знаний, к которым относятся специальная литература, базы фактуальных знаний, отчеты о решении аналогичных проблем, а самое главное, опыт работы специалистов в исследуемой проблемной области - экспертов. Успех проектирования экспертной системы во многом определяется тем, насколько компетентны привлекаемые к разработке эксперты и насколько они способны передать свой опыт инженерам по знаниям. Вместе с тем, эксперты не имеют представления о возможностях и ограничениях ЭС. Следовательно процесс разработки ЭС должен быть организован инженерами по знаниям таким образом, чтобы в процессе их итеративного взаимодействия с экспертами они получили весь необходимый объем знаний для решения четко очерченных проблем. Этапы проектирования экспертной системы представлены на рисунке.
На начальных этапах идентификации и концептуализации, связанных с определением контуров будущей системы, инженер по знаниям выступает в роли ученика, а эксперт - в роли учителя, мастера. На заключительных этапах реализации и тестирования инженер по знаниям демонстрирует результаты разработки, адекватность которых проблемной области оценивает эксперт. На этапе тестирования это могут быть совершенно другие эксперты.
На этапе тестирования созданные экспертные системы оцениваются с позиции двух основных групп критериев: точности и полезности.
С точностью работы связаны такие характеристики, как правильность делаемых заключений, адекватность базы знаний проблемной области, соответствие применяемых методов решения проблемы экспертным. Поэтому конечные оценки системе ставят специалисты в проблемной области - эксперты. Полезность же экспертной системы характеризуется степенью удовлетворения требований пользователя в части получения необходимых рекомендаций, легкости и естественности взаимодействия с системой, надежности, производительности и стоимости эксплуатации, способности обоснования решений и обучения, настройки на изменение потребностей. Оценивание экспертной системы осуществляется по набору тестовых примеров как из предшествующей практики экспертов, так и специально подобранных ситуаций. Результаты тестирования подлежат статистической обработке, после чего делаются выводы о степени точности работы экспертной системы.
Следующий этап жизненного цикла экспертной системы - внедрение и опытная эксплуатация в массовом порядке без непосредственного контроля со стороны разработчиков и переход от тестовых примеров к решению реальных задач. Важнейшим критерием оценки становятся соотношение стоимости системы и ее эффективности. На этом этапе осуществляется сбор критических замечаний и внесение необходимых изменений. В результате опытной эксплуатации может потребоваться разработка новых специализированных версий, учитывающих особенности проблемных областей.
На всех этапах разработки инженер по знаниям играет активную роль, а эксперт - пассивную. По мере развития самообучающихся свойств экспертных систем роль инженера по знаниям уменьшается, а активное поведение заинтересованного в эффективной работе экспертной системы пользователя-эксперта возрастает. Описание приемов извлечения знаний инженерами знаний представлено в таблице.
Приемы | Описание |
1. Наблюдение | Инженер наблюдает, не вмешиваясь, за тем, как эксперт решает реальную задачу |
2. Обсуждение задачи | Инженер на представительном множестве задач неформально обсуждает с экспертом данные, знания и процедуры решения |
3. Описание задачи | Эксперт описывает решение задач для типичных запросов |
4. Анализ решения | Эксперт комментирует получаемые результаты решения задачи, детализируя ход рассуждений |
5. Проверка системы | Эксперт предлагает инженеру перечень задач для решения (от простых до сложных), которые решаются разработанной системой |
6. Исследование системы | Эксперт исследует и критикует структуру базы знаний и работу механизма вывода |
7. Оценка системы | Инженер предлагает новым экспертам оценить решения разработанной системы |
Первые два этапа разработки экспертной системы составляют логическую стадию, не связанную с применением четко определенного инструментального средства. Последующие этапы реализуются в рамках физического создания проекта на базе выбранного инструментального средства. Вместе с тем, процесс создания экспертной системы, как сложного программного продукта, имеет смысл выполнять методом прототипного проектирования, сущность которого сводится к постоянному наращиванию базы знаний, начиная с логической стадии. Технология разработки прототипов представлена в таблице.
Этап разработки | Характер прототипа | Количество правил | Срок разработки | Стоимость |
Идентификация | Демонстрационный | 50 - 100 | 1 - 2 мес. | |
Концептуализация | Исследовательский | |||
Формализация | Исследовательский | 200 - 500 3 - 6 мес. | 25 - 50т.$ | |
Реализация | Действующий | 500 - 1000 | 6 - 12 мес. | |
Тестирование | Промышленный | 1000 - 1500 | 1 - 1,5 года | 300тыс.$ |
Опытная эксплуатация | Коммерческий | 1500 - 3000 | 1,5 - 3 года | 2 - 5 млн.$ |
Прототипная технология создания экспертной системы означает, что простейший прототип будущей системы реализуется с помощью любого подручного инструментального средства еще на этапах идентификации и концептуализации, в дальнейшем этот прототип детализируется, концептуальная модель уточняется, реализация выполняется в среде окончательно выбранного инструментального средства. После каждого этапа возможны итеративные возвраты на уже выполненные этапы проектирования, что способствует постепенному проникновению инженера по знаниям в глубину решаемых проблем, эффективности использования выделенных ресурсов, сокращению времени разработки, постоянному улучшению компетентности и производительности системы.
Пример разработки экспертной системы гарантирования (страхования) коммерческих займов CLUES (loan-uderwriting expert systems) представлен в таблице. Эта система создавалась в интегрированной среде ART группой разработчиков в составе одного менеджера проекта, двух инженеров по знаниям, двух программистов, ответственных за сопряжение ЭС с существующей информационной системой и аналитическим инструментом, одного контролера качества. Сложность созданной системы: 1000 правил, 180 функций, 120 объектов. Эффективность: при оценке 8500 кредитов в месяц годовая экономия на обработке информации составляет 0,91 млн. долл., при 30000 кредитов - 2,7 млн. долл. При этом в 50% случаев система принимает самостоятельные решения, в остальных случаях дает экспертам диагностику возникающих проблем. Время оценки кредита сократилось с 50 минут до 10-15 минут. Перечисленные показатели эффективности позволили компании Contrywide расширить сферу своей деятельности во всех штатах США и увеличить оборот с 1 млрд. долл. в месяц в 1991 году до 5 млрд. долл. в 1993 году.