интересно
Предыдущая | Содержание | Следующая

Что такое инжинерия знаний

и какова ее роль в интеллектуальной поддержке управленческих решений?

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

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

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

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

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

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

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

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

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

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

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

• выявить специфические особенности предметной области. Инженер знаний должен корректно сформулировать задачу. В то же

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

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

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

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

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

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

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

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

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

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

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

В чем состоят основные

положения методологии построения экспертных систем?

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

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

Чтобы разработка ЭС была возможной (для данного приложения), необходимо одновременное выполнение по крайней мере следующих требований:

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

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

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

задача, возложенная на ЭС, требует только рассуждений, а не действий;

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

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

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

Использование ЭС в данном приложении может быть возможно, но не оправдано. Применение ЭС может быть оправдано одним из следующих факторов:

решение задачи принесет определенный эффект;

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

при передаче информации к эксперту происходит недопустимая потеря времени или информации;

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

Приложение соответствует методам ЭС, если решаемая задача обладает совокупностью следующих характеристик:

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

должна иметь эвристическую природу, т. е. ее решение должно сводиться к применению эвристических правил;

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

должна быть достаточно узкой, чтобы решаться методами инженерии знаний, и практически значимой.

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

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

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

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

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

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

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

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

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

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

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

В ходе создания ЭС почти постоянно осуществляется ее модификация. Можно выделить следующие виды модификации системы:

переформулирование понятий и требований;

переконструирование представления;

усовершенствование прототипа.

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

Возврат от этапа тестирования на этап формализации приводит к пересмотру выбранного ранее способа представления знаний. Данный цикл называют переконструированием.

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

Мощность ЭС как систем, основанных на знании, зависит в первую очередь от качества и количества знаний, хранимых в них. Поэтому ясно, что процесс приобретения знаний для ЭС наиболее важный. Так как в настоящее время не существует методов автоматического приобретения знаний, процесс наполнения ЭС знаниями является весьма трудоемким. Знания для ЭС могут быть получены из различных источников (книг, отчетов, баз данных, эмпирических данных, персонального опыта менеджера, эксперта, инженера и т. п.). Однако наиболее значимые знания в настоящее время приобретаются от пользователей-экспертов.

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

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

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

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

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

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

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