Инструментальные средства построения 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Инструментальные средства построения



Экспертных систем

 

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

1) языки программирования;

2) среды программирования;

3) пустые ЭС (оболочки).

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

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

Помимо Лиспа и Пролога создано множество других языков, ориентированных на обработку символьной информации и разра­ботку ЭС: Smalltalk, FRL, Interlisp. Кроме этих специализированных языков для разработки экспертных систем используются и обычные языки программирования общего назначения: Си, Ассемблер, Пас­каль, Фортран, Бейсик и др.

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

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

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

Типичным представителем второй и третьей групп инструмен­тальных средств является пакет EXSYS Professional 5.0 for Windows (оболочка — по определению разработчика - компании Exsys Inc., США), предназначенный для создания прикладных экспертных си­стем в различных предметных областях. Система построена на ис­пользовании сложных правил вида ЕСЛИ-ТО-ИНАЧЕ. Для выбора стратегии получения заключения в системе по умолчании использу­ется обратная цепочка вывода. Прямая цепочка может быть задана при настройке системы. Система обладает развитым графическим интерфейсом, способна обращаться к внешним базам данных, про­верять правила на непротиворечивость. При определенной настрой­ке может работать с русскоязычными текстами.

 

Инженерия знаний

 

Как уже отмечалось, технологию построения экспертных систем часто называют инженерией знаний. Как правило, этот процесс требует специфической формы взаимодействия создателя экспертной системы, которого называют инженером знаний, и одного или не­скольких экспертов в некоторой предметной области. Инженер зна­ний ^извлекает» из экспертов процедуры, стратегии, эмпирические правила, которые они используют при решении задач, и встраивает эти знания в экспертную систему. Одной из наиболее сложных про­блем, (возникающих при создании экспертных систем, является пре-образ<|вание знаний эксперта и описания применяемых им способов поиски решений в форму, позволяющую представить их в базе зна­ний системы, а затем эффективно использовать для решения задач в данной предметной области.

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

Построение базы знаний включает три этапа:

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

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

приобретение знаний.

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

определить характер решаемых задач;

выделить объекты предметной области;

установить связи между объектами;

выбрать модель представления знаний;

выявить специфические особенности предметной области.

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

Выделение предметной области представляет собой первый шаг абстрагирования реального мира.

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

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

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

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

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

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

После выявления объектов предметной области необходимо ус­тановить, какие между ними имеются связи. Следует стремиться к выявлению как можно большего количества связей, в идеале — всех, которые существуют в предметной области.

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

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

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

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

2. Определите точно цель решения задачи.

3. Вникните как можно глубже в существо задачи.

4. Установите подцели, разбив задачу на подзадачи.

5. Выявите специфические особенности предметной области.

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

7. Участвуя вместе с экспертом в решении нескольких приклад­ных задач, выявите приемы, которые он применяет. Подробно их опишите.

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

9. Постройте лабораторный прототип экспертной системы, поз­воляющий успешно справиться с примерами тех задач, которые вы решили совместно с экспертом.

10. Приступите к созданию базы знаний. Выявите объекты пред­метной области, взаимосвязи между ними, виды иерархий, разбейте объекты на классы. Структурируйте базу знаний в соответствии с представлением эксперта о строении предметной области.

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

12. Разработайте документацию на систему.

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

 



Поделиться:


Последнее изменение этой страницы: 2016-09-13; просмотров: 297; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.14.1.136 (0.013 с.)