Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Этапы разработки экспертных систем



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

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

В целом за разработку экспертных систем целесообразно браться организации, где накоплен опыт по автоматизации рутинных процедур обработки информации, например:

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

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

Рис. 2.1. Этапы разработки ЭС

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

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

Приведем некоторые факты, свидетельствующие о необходимости разработки и внедрения экспертных систем:

Подходящие задачи имеют следующие характеристики:

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

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

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

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

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

- данная задача может быть решена с помощью экспертной системы;

- экспертную систему можно создать предлагаемыми на рынке средствами;

- имеется подходящий эксперт;

- предложенные критерии производительности являются разумными;

- затраты и срок их возвращаемости приемлемы для заказчика.

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

Этап 2. Разработка прототипной системы

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

Таблица 2.1

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

20. Этапы разработки экспертных систем
В коллектив разработчиков ЭС входят как минимум четыре человека:

· эксперт;

· инженер по знаниям;

· программист;

· пользователь.

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

Процесс разработки ЭС можно разделить на следующие этапы:
1. Выбор проблемы.
2. Разработка прототипа ЭС.
3. Доработка до промышленной ЭС.
4. Оценка ЭС.
5. Стыковка ЭС.
6. Поддержка ЭС.

1. Выбор подходящей проблемы. На этом этапе:
·определяется проблемная область;
·подбираются специалисты-эксперты;
·подбирается коллектив разработчиков;
·определяется предварительный подход к решению проблемы;
·готовится подробный план разработки.
2. Разработка прототипа ЭС. Прототипная система является сокращенной версией ЭС, спроектированной для проверки правильности представления фактов, связей и стратегий рассуждения эксперта. Объем прототипа – несколько десятков правил, фреймов или примеров. Разработка прототипа ЭС делится на шесть стадий: идентификация проблемы, извлечение знаний, концептуализация (структурирование) знаний, формализация, реализация прототипа, тестирование.
2.1. Идентификация проблемы – знакомство и обучение членов коллектива разработчиков, а также создание неформальной формулировки проблемы. На этом этапе уточняется задача, планируется ход разработки прототипа ЭС, определяются:
·ресурсы (время, люди и т.д.);
·источники знаний (книги, дополнительные эксперты);
·имеющиеся аналогичные ЭС;
·классы решаемых задач и т.д.
2.2. Извлечение знаний – получение инженером по знаниям наиболее полного из возможных представлений о предметной области и способах принятия решения в ней. Для извлечения знаний инженер использует различные методы: анализ текстов, диалоги, лекции, дискуссии, интервью, наблюдение и др.
2.3. Концептуализация (или структурирование) знаний – разработка неформального описания знаний о предметной области в виде графа, таблицы, диаграммы или текста, которое отражает основные концепции и взаимосвязи между понятиями предметной области. На этом этапе определяются: терминология, список основных понятий и их атрибутов, отношения между понятиями, структура входной и выходной информации, стратегия принятия решений и т.д.
2.4. Формализация знаний – это разработка базы знаний на языке представления знаний. На этом этапе используются: логические методы, продукционные модели, семантические модели, фреймы, объектно-ориентированные языки.
2.5. Реализация прототипа – разработка программного комплекса, демонстрирующего жизнеспособность подхода в целом. На этом этапе создается прототип ЭС (включающий базу знаний, остальные программные модули) при помощи: языков программирования (традиционных, специализированных), инструментальных средств разработки ЭС, «пустых» оболочек ЭС.
2.6. Тестирование – процесс выявления ошибок в подходе и реализации прототипа. Прототип проверяется на: удобство и адекватность интерфейса ввода/вывода, качество проверочных примеров, полнота и непротиворечивость правил в базе знаний.
3. Развитие прототипа до промышленной ЭС. Основная работа на этом этапе заключается в расширении базы знаний (добавление правил, фреймов, узлов семантической сети или других элементов знаний). После установления основной структуры знаний ЭС инженер по знаниям приступает к разработке и адаптации интерфейсов, с помощью которых система будет общаться с пользователем и экспертом. Система должна предоставлять пользователю возможность уточнять непонятные моменты, приостанавливать работу и т.д.
4. Оценка системы необходима для того, чтобы проверить точность работы программы и ее полезность. Оценка проводится по следующим критериям:

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

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

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

5. На этапе стыковки системы осуществляется соединение ЭС с другими программными средствами в среде, в которой она будет работать, и обучение людей, которых она будет обслуживать. Для подтверждения полезности системы важно предоставить каждому из пользователей возможность поставить перед ЭС реальные задачи и проследить, как она их выполняет. Стыковка включает обеспечение связи ЭС с существующими базами данных и другими системами на предприятии.
6. Поддержка системы. Готовые системы для повышения ее быстродействия и увеличения переносимости можно перекодировать на другой язык (например, С), но при этом уменьшится ее гибкость. Это можно производить с системами, которые разработаны для проблемных областей, где знания не изменяются. Если же проблемная область, для которой создана система, изменяется, то ее необходимо поддерживать в той инструментальной среде, где она создавалась.

21. Состав участников процесса создания ЭС

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

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

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

Программист разрабатывает ИС, содержащее все основные компоненты ЭС, осуществляет сопряжение ИС с той средой, в которой оно будет использовано.

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

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

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

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

21. Состав участников процесса создания экспертной системы

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

Приемы Описание
1. Наблюдение Инженер наблюдает, не вмешиваясь, за тем, как эксперт решает реальную задачу
2. Обсуждение задачи Инженер на представительном множестве задач неформально обсуждает с экспертом данные, знания и процедуры решения
3. Описание задачи Эксперт описывает решение задач для типичных запросов
4. Анализ решения Эксперт комментирует получаемые результаты решения задачи, детализируя ход рассуждений
5. Проверка системы Эксперт предлагает инженеру перечень задач для решения (от простых до сложных),которые решаются разработанной системой
6. Исследование системы Эксперт исследует и критикует структуру базы знаний и работу механизма вывода
7. Оценка системы Инженер предлагает новым экспертам оценить решения разработанной системы





Дата публикования: 2015-01-24; Прочитано: 3368 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.01 с)...