Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Сидиряков. Курс лекций по ИТ.doc
Скачиваний:
76
Добавлен:
07.02.2015
Размер:
350.21 Кб
Скачать

8.5.2. Технология разработки экспертных систем

Процесс разработки промышленной экспертной системы, опираясь на традиционные технологии, можно разделить на шесть более или менее независимых этапов, практически не зависимых от предметной области.

ЭТАП 1: Выбор подходящей проблемы

Этот этап включает деятельность, предшествующую решению начать разрабатывать конкретную ЭС. Он включает:

· определение проблемной области и задачи;

· нахождение эксперта, желающего сотрудничать при решении проблемы, и назначение коллектива разработчиков;

· определение предварительного подхода к решению проблемы;

· анализ расходов и прибыли от разработки;

· подготовку подробного плана разработки.

ЭТАП 2: Разработка прототипной системы

Прототипная система является усечённой версией экспертной системы, спроектированной для проверки правильности кодирования фактов, связей и стратегий рассуждения эксперта. Она также даёт возможность инженеру по знаниям привлечь эксперта к активному участию в разработке экспертной системы и, следовательно, к принятию им обязательства приложить все усилия для создания системы в полном объёме.

Объём прототипа – несколько десятков правил, фреймов или примеров. Выделяют шесть стадий разработки прототипа. Приведём краткую характеристику каждой из стадий, хотя эта схема представляет грубое приближение к сложному итеративному процессу.

1. Идентификация проблемы – знакомство и обучение коллектива разработчиков, а также создание неформальной формулировки проблемы, при этом уточняется задача, планируется ход разработки прототипа экспертной системы, определяются:

· необходимые ресурсы (время, люди, ЭВМ и т.д.);

· источники знаний (книги, дополнительные эксперты, методики);

· имеющиеся аналогичные экспертные системы;

· цели (распространение опыта, автоматизация рутинных действий и др.);

· классы решаемых задач и т.д.

  1. Извлечение знаний – получение инженером по знаниям наиболее полного представления о предметной области и способах принятия решения в ней. При этом происходит перенос компетентности экспертов на инженеров по знаниям с использованием различных методов.

  2. Структурирование или концептуализация знаний – разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области (такое описание называется полем знаний). Выявляется структура полученных знаний о предметной области, т.е. определяются:

· терминология;

· список основных понятий и их атрибутов;

· отношения между понятиями;

· структура входной и выходной информаций;

· стратегия принятия решений;

· ограничения стратегий и т.д. Множество отношений представляет собой связи между объектами. При помощи этих отношений

инженер по знаниям фиксирует концептуальное устройство предметной области, иерархию понятий, свойства и структуру объектов. Разработка концептуальной структуры имеет самостоятельное значение, не зависимое от конечной цели – разработки экспертных систем. Эта структура может служить для целей обучения, повышения квалификации, для прогнозирования, объяснения, реструктурирования и т.п.

Функциональная структура отражает модель рассуждений и принятия решений, которой пользуется эксперт при решении задачи. Обычно функциональная структура представляется в виде каузальных

отношений (cause) и может быть позднее формализована в виде коротких правил «если – то», или в виде семантических сетей.

Сформировав поле знаний в виде концептуальной и функциональной структур, инженер по знаниям вместе с программистом подыскивают подходящий язык представления знаний, который, с одной стороны, позволит выразить все особенности знаний предметной области без искажения структуры поля знаний, а с другой, – будет иметь эффективную программную реализацию в виде транслятора или «оболочки».

  1. Формализация знаний – разработка базы знаний на языке, который, с одной стороны, соответствует структуре поля знаний, а с другой – позволяет реализовать прототип системы на следующей стадии программной реализации. Строится формализованное представление концепций предметной области на основе выбранного языка представления знаний (ЯПЗ).

  2. Реализация – разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. Чаще всего первый прототип отбрасывается на этапе реализации действующей ЭС. Создаётся прототип экспертной системы, включающий базу знаний и остальные блоки.

  3. Тестирование – выявление ошибок в подходе и реализации прототипа и выработка рекомендаций по доводке системы до промышленного варианта. Оценивается и проверяется работа программ прототипа с целью приведения в соответствие с реальными запросами пользователей. Прототип проверяется на:

· удобство и адекватность интерфейсов ввода-вывода (характер вопросов в диалоге, связность выводимого текста результата и др.);

· эффективность стратегии управления (порядок перебора, использование нечёткого вывода и др.);

· качество проверочных примеров;

· корректность базы знаний (полнота и непротиворечивость правил).

ЭТАП 3: Развитие прототипа до промышленной ЭС

При неудовлетворительном функционировании прототипа эксперт и инженер по знаниям имеют возможность оценить, что именно будет включено в разработку окончательного варианта системы.

Если первоначально выбранные объекты или свойства оказываются неподходящими, их необходимо изменить. Можно сделать оценку общего числа эвристических правил, необходимых для создания окончательного варианта экспертной системы. Иногда при разработке промышленной системы выделяют дополнительные этапы для перехода: демонстрационный прототип исследовательский прототип действующий прототип промышленная система.

Однако чаще реализуется плавный переход от демонстрационного прототипа к промышленной системе, при этом, если программный инструментарий выбран удачно, необязательна перепись другими программными средствами (табл. 7.1). Основное на третьем этапе заключается в добавлении большого числа дополнительных эвристик. Эти эвристики обычно увеличивают глубину системы, обеспечивая большее число правил для трудноуловимых аспектов отдельных случаев. В то же время эксперт и инженер по знаниям могут расширить охват системы, включая правила, управляющие дополнительными подзадачами или дополнительными аспектами экспертной задачи (метазнания).

Таблица 7.1. Переход от прототипа к промышленной экспертной системе

Демонстрационный прототип ЭС

Система решает часть задач, демонстрируя жизнеспособность подхода (несколько десятков правил или понятий)

Исследовательский прототип ЭС

Система решает большинство задач, но не устойчива в работе и не полностью проверена (несколько сотен правил или понятий)

Действующий прототип ЭС

Система надёжно решает все задачи на реальных примерах, но для сложной задачи требует много времени и памяти

Промышленная система

Система обеспечивает высокое качество решений при минимизации требуемого времени и памяти; переписывается с использованием более эффективных средств представления знаний

Коммерческая система

Промышленная система, пригодная к продаже, т.е. хорошо документирована и снабжена сервисом

После установления основной структуры ЭС инженер по знаниям приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться с пользователем и экспертом. Необходимо обратить особое внимание на языковые возможности интерфейсов, их простоту и удобство для управления работой ЭС. Система должна обеспечивать пользователю возможность лёгким и естественным образом спрашивать непонятное, приостанавливать работу и т.д. В частности, могут оказаться полезными графические представления.

На этом этапе разработки большинство экспертов узнают достаточно о вводе правил и могут сами вводить в систему новые правила. Таким образом начинается процесс, во время которого инженер по знаниям передаёт право собственности и контроля за системой эксперту для уточнения, детальной разработки и обслуживания.

ЭТАП 4: Оценка системы

После завершения этапа разработки промышленной экспертной системы необходимо провести её тестирование в отношении критериев эффективности. К тестированию широко привлекаются другие эксперты с целью апробирования работоспособности системы на различных примерах. Экспертные системы оцениваются главным образом для того, чтобы проверить точность работы программы и её полезность. Оценку можно проводить, исходя из различных критериев, которые сгруппируем следующим образом:

· критерии пользователей (понятность и «прозрачность» работы системы, удобство интерфейсов и др.);

· критерии приглашённых экспертов (оценка советов-решений, предлагаемых системой, сравнение её с собственными решениями, оценка подсистемы объяснений и др.);

· критерии коллектива разработчиков (эффективность реализации, производительность, время отклика, дизайн, широта охвата предметной области, непротиворечивость БЗ, количество тупиковых ситуаций, когда система не может принять решение, анализ чувствительности программы к незначительным изменениям в представлении знаний, весовых коэффициентах, применяемых в механизмах логического вывода, данных и т.п.).

ЭТАП 5: Стыковка системы

На этом этапе осуществляется стыковка экспертной системы с другими программными средствами в среде, в которой она будет работать, и обучение людей, которых она будет обслуживать. Иногда это означает внесение существенных изменений. Такое изменение требует непременного вмешательства инженера по знаниям или какого-либо другого специалиста, который сможет модифицировать систему. Под стыковкой подразумевается также разработка связей между экспертной системой и средой, в которой она действует.

Когда экспертная система уже готова, инженер по знаниям должен убедиться в том, что эксперты, пользователи и персонал знают, как эксплуатировать и обслуживать её. После передачи им своего опыта в области информационной технологии инженер по знаниям может полностью предоставить её в распоряжение пользователей.

Для подтверждения полезности системы важно предоставить каждому из пользователей возможность поставить перед ЭС реальные задачи, а затем проследить, как она выполняет эти задачи. Чтобы система была одобрена, необходимо представить её как помощника, освобождающего пользователей от обременительных задач, а не как средство их замещения.

Стыковка включает обеспечение связи ЭС с существующими базами данных и другими системами на предприятии, а также улучшение системных факторов, зависящих от времени, чтобы можно было обеспечить её более эффективную работу и улучшить характеристики её технических средств, если система работает в необычной среде (например, связь с измерительными устройствами).

ЭТАП 6: Поддержка системы

При перекодировании системы на язык, подобный Си, повышается её быстродействие и увеличивается переносимость, однако гибкость при этом уменьшается. Это приемлемо лишь в том случае, если система сохраняет все знания проблемной области, и это знание не будет изменяться в ближайшем будущем. Однако, если экспертная система создана именно из-за того, что проблемная область изменяется, то необходимо поддерживать систему в инструментальной среде разработки.