КАТЕГОРИИ:
АстрономияБиологияГеографияДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРиторикаСоциологияСпортСтроительствоТехнологияФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника
|
Инженерия знаний
Как уже отмечалось, технологию построения экспертных систем часто называют инженерией знаний. Как правило, этот процесс требует специфической формы взаимодействия создателя экспертной системы, которого называют инженером знаний, и одного или нескольких экспертов в некоторой предметной области. Инженер знаний ^извлекает» из экспертов процедуры, стратегии, эмпирические правила, которые они используют при решении задач, и встраивает эти знания в экспертную систему. Одной из наиболее сложных проблем, (возникающих при создании экспертных систем, является пре-образ<|вание знаний эксперта и описания применяемых им способов поиски решений в форму, позволяющую представить их в базе знаний системы, а затем эффективно использовать для решения задач в данной предметной области. Обычно эксперт не прибегает к процедурным или количественным методам; его основные средства - аналогия, интуиция и абстрагирование. Часто эксперт даже не может объяснить, как именно им было найдено решение. В лучшем случае вы получите от него лишь описание основных приемов или эвристик, которые помогли ему успешно справиться с задачей. На инженера знаний возлагается очень сложная работа по преобразованию этих описаний в строгую, полную и непротиворечивую систему, которая позволяла бы решать прикладные задачи не хуже, чем это сделал бы сам эксперт, поскольку процесс построения базы знаний плохо структурирован и по своей природе является скорее циклическим, чем линейным. Построение базы знаний включает три этапа: описание предметной области; выбор модели представления знаний (в случае использования оболочки этот этап исключается); приобретение знаний. Первый шаг при построении базы знаний заключается в выделении предметной области, на решение задач из которой ориентирована экспертная система. По сути эта работа сводится к очерчиванию инженером знаний границ области применения системы и класса решаемых ею задач. При этом необходимо: определить характер решаемых задач; выделить объекты предметной области; установить связи между объектами; выбрать модель представления знаний; выявить специфические особенности предметной области. Инженер знаний должен корректно сформулировать задачу. В то же время он должен уметь распознать, что задача не структурирована, и в этом случае воздержаться от попыток ее формализовать или применить систематические методы решения. Главная цель начального этапа построения базы знаний — определить, как будет выглядеть описание предметной области на различных уровнях абстракА ции. Экспертная система включает базу знаний, которая создается путем формализации некоторой предметной области, а та, ц свою очередь, является результатом абстрагирования определенный сущностей реального мира. I Выделение предметной области представляет собой первый шаг абстрагирования реального мира. После того как предметная область выделена, инженер/знаний должен ее формально описать. Для этого ему необходимо выбрать какой-либо способ представления знаний о ней (модель представления знаний). Если в качестве инструментального средства определена оболочка (пустая ЭС), то модель представления знаний определяется выбранным средством. Формально инженер знаний должен воспользоваться той моделью, с помощью которой можно лучше всего отобразить специфику предметной области. Полученная после формализации предметной области база знаний представляет собой результат ее абстрагирования, а предметная область, в свою очередь, была выделена в результате абстрагирования реального мира. Человек обладает способностью работать с предметными областями различных типов, использовать различные модели представления знаний, рассматривать понятия реального мира с различных точек зрения, выполнять абстрагирования различных видов, проводить сопоставление знаний различной природы и прибегать к самым разнообразным методам решения задач. Имеются отдельные примеры совместного использования баз знаний, ориентированных на различные предметные области, но большинство современных систем может решать задачи только из,одной предметной области. Инженер знаний прежде всего обязан провести опрос эксперта и только потом приступать к построению системы. Эксперт, безусловно, должен быть специалистом.в той области, в которой будет работать система. Первым делом необходимо определить целевое назначение системы. Какие, собственно, задачи предстоит решать системе, основанной на знаниях? Цели разработки системы следует сформулировать точно, полно и непротиворечиво. После того как цель разработки системы определена, инженер знаний приступает к формулированию подцелей; это поможет ему установить иерархическую структуру системы и разбить ее на модули. Введение тех или иных подцелей обусловливается наличием связей между отдельными фрагментами знаний. Проблема сводится к разбиению задачи на две или несколько подзадач меньшей сложности и последующему поиску их решений. При необходимости полученные в результате разбиения подзадачи могут дробиться и дальше. Следующий шаг построения базы знаний — выделение объектов предметной области или, в терминах теории систем, установление границ системы. Как и формальная система, совокупность выделенных п нятий должна быть точной, полной и непротиворечивой. Ответы на все перечисленные вопросы позволяют очертить границы сходных данных. Для построения пространства поиска решения необходимо определить подцели на каждом уровне иерархии целей общей задачи. В вершине иерархии следует поместить задачу, которая)по своей общности отражает принципиальные возможности и назначение системы. После выявления объектов предметной области необходимо установить, какие между ними имеются связи. Следует стремиться к выявлению как можно большего количества связей, в идеале — всех, которые существуют в предметной области. Полученное качественное описание предметной области, если это необходимо, должно быть представлено средствами какого-либо формального языка, чтобы привести это описание к виду, позволяющему поместить его в базу знаний системы. Для решения этой задачи выбирается подходящая модель представления знаний, с помощью которой сведения о предметной области можно выразить формально. И, наконец, в предметной области должны быть выявлены специфические особенности, затрудняющие решение прикладных задач. Вид этих особенностей зависит от назначения системы. Разработку системы, основанной на знаниях, рекомендуется проводить в следующей последовательности: 1. Выберите задачу, характер которой позволяет применить для ее решения технологию экспертных систем. 2. Определите точно цель решения задачи. 3. Вникните как можно глубже в существо задачи. 4. Установите подцели, разбив задачу на подзадачи. 5. Выявите специфические особенности предметной области. 6. Найдите эксперта, специализирующегося в выбранной предметной области, и заручитесь его согласием оказать вам помощь в разработке системы, основанной на знаниях. 7. Участвуя вместе с экспертом в решении нескольких прикладных задач, выявите приемы, которые он применяет. Подробно их опишите. 8. Выберите инструментальные средства, необходимые вам для создания системы. Этот выбор будет зависеть от типа решаемой задачи, ваших финансовых возможностей и сложности предметной области. 9. Постройте лабораторный прототип экспертной системы, позволяющий успешно справиться с примерами тех задач, которые вы решили совместно с экспертом. 10. Приступите к созданию базы знаний. Выявите объекты предметной области, взаимосвязи между ними, виды иерархий, разбейте объекты на классы. Структурируйте базу знаний в соответствии с представлением эксперта о строении предметной области. 11. Выполните необходимое число циклов по наращиванию базы знаний, каждый из которых включает добавление знаний, проверку их непротиворечивости и модификацию с целью устранения обнаруженных несогласованностей. 12. Разработайте документацию на систему. 13. С первых шагов реализации проекта стремитесь построить, хотя и ограниченную по своим возможностям, но правильно работающую модель, что позволит вам завоевать доверие эксперта, а для этого используйте при разработке модульный подход.
|