<< Пред. стр.

стр. 16
(общее количество: 18)

ОГЛАВЛЕНИЕ

След. стр. >>

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

137
случаях лучше использовать базы данных с интерфейсом на есте­
ственном языке или системы поддержки принятия решений.
Однако системы, основанные на знаниях, имеют определен­
ные преимущества перед человеком-экспертом:
• У них нет предубеждений.
• Они не делают поспешных выводов.
• Эти системы работают систематизировано, рассматривая все
детали, часто выбирая наилучшую альтернативу из всех возможных.
• База знаний может быть большой и достаточно стабильной.
Будучи введены в машину один раз, знания сохраняются навсегда.
• Системы, основанные на знаниях, устойчивы к «помехам».
Эксперт пользуется побочными знаниями и легко поддается вли­
янию внешних факторов, которые непосредственно не связаны с
решаемой задачей.
Технологию построения экспертных систем называют инже­
нерией знаний. Этот процесс требует специфической формы вза­
имодействия создателя экспертной системы, которого называют
инженером знаний, и одного или нескольких экспертов в неко­
торой предметной области. Инженер знаний «извлекает» из экс­
пертов процедуры, стратегии, эмпирические правила, которые
они используют при решении задач, и встраивает эти знания в
экспертную систему.
В результате появляется система, решающая задачи во многом
так же, как человек-эксперт.

9.2. Каковы структура и основные
характеристики экспертной системы?
Ядро экспертной системы составляет база знаний, которая со­
здается и накапливается в процессе ее построения. Знания выра­
жены в явном виде и организованы так, чтобы упростить приня­
тие решений. Важность этой особенности экспертной системы не­
возможно переоценить.
Накопление и организация знаний — одна из самых важных
характеристик экспертной системы.
Последствия этого факта выходят за пределы построения про­
граммы, предназначенной для решения некоторого класса задач.
Причина в том, что знания — основа экспертных систем — явля­
ются явными и доступными, что и отличает эти системы от боль­
шинства традиционных программ. Они обладают такой же ценно­
стью, как и любой большой объем знаний, и эти знания могут
широко распространяться посредством специальных и общих ли­
тературных источников.
Наиболее полезной характеристикой экспертной системы яв­
ляется то, что она применяет для решения проблем высококаче­
ственный опыт. Этот опыт может представлять уровень мышления
наиболее квалифицированных экспертов в данной области, что
138
ведет к решениям творческим, точным и эффективным. Именно
высококачественный опыт в сочетании с умением его применять
делает систему рентабельной, способной заслужить признание на
рынке. Этому способствует также гибкость системы. Система мо­
жет наращиваться постепенно в соответствии с нуждами бизнеса
или заказчика. Это означает, что можно вначале вложить сравни­
тельно скромные средства, а потом наращивать возможности сис­
темы по мере необходимости.
Другой полезной чертой экспертных систем является наличие
у них прогностических возможностей. Экспертная система может
функционировать в качестве модели .решения задачи в заданной
области, давая ожидаемые ответы в конкретной ситуации и пока­
зывая, как изменятся эти ответы в новых ситуациях. Экспертная
система может объяснить подробно, каким образом новая ситуа­
ция привела к изменениям. Это позволяет пользователю оценить
возможное влияние новых фактов или информации и понять,
как они связаны с решением. Аналогично, пользователь может
оценить влияние новых стратегий или процедур на решение, до­
бавляя новые правила или изменяя уже существующие.
База знаний, определяющая компетентность экспертной сис­
темы, может также обеспечить новое качество — институцио­
нальную память. Если база знаний разработана в ходе взаимодей­
ствия с ведущими специалистами в данной предметной области,
то она представляет некоторую политику или способы действия
этой группы людей. Этот набор знаний становится сводом очень
квалифицированных мнений и постоянно обновляющимся спра­
вочником оптимальных стратегий и методов, используемых пер­
соналом. Ведущие специалисты уходят, но их опыт остается, что
весьма важно для деловой сферы.
Важным свойством экспертных систем является возможность
их применения для обучения и тренировки персонала. Экспертные
системы могут быть разработаны с расчетом на подобный процесс
обучения, так как они уже содержат необходимые знания и спо­
собны объяснить процесс своего рассуждения. Остается только до­
бавить программное обеспечение, поддерживающее соответствую­
щий требованиям эргономики интерфейс между обучаемым и экс­
пертной системой. Кроме того, должны быть включены знания о
методах обучения и возможном поведении пользователя.

9.3. Какими инструментальными средствами
осуществляется разработка
экспертных систем?
Процесс создания экспертных систем претерпел значительные
изменения за последние несколько лет. Благодаря появлению специ­
альных инструментальных средств (ИС) построения ЭС сократи­
лись сроки разработки, значительно снизилась трудоемкость. Суще-
139
ствует достаточно много схожих классификаций инструментальных
средств. В частности, их можно разбить на три основных типа:
• языки программирования;
• среды программирования;
• пустые ЭС (оболочки).
С точки зрения разработчика экспертных систем наибольший
интерес представляет использование сред программирования и пу­
стых экспертных систем (оболочек), хотя не всегда можно заметить
разницу между этими понятиями.
Создание экспертных систем с широким спектром возможнос­
тей, являющихся не механическими исполнителями воли человека,
а его равноправными партнерами при поиске решений в сложных
ситуациях, требует привлечения эффективных инструментальных
средств программирования. К числу таких средств относятся языки
обработки символьной информации, наиболее известными из кото­
рых являются Пролог и Лисп. Пролог — язык высокого уровня,
имеющий строгое теоретическое обоснование и ориентированный на
использование концепций и методов математической логики. Как
следует из его названия, Пролог предназначен для программирова­
ния в терминах логики. Основной особенностью Пролога, отличаю­
щей его от всех других языков, является декларативный характер
написанных на нем программ. Язык Лисп изобретен в Массачусетс-
ком технологическом институте и обладает способностью обрабаты­
вать списковые структуры. Языки программирования Лисп и Про­
лог имеют встроенные механизмы для манипулирования знаниями.
Помимо Лиспа и Пролога создано множество других языков,
ориентированных на обработку символьной информации и разра­
ботку ЭС: Smalltalk, FRL, Interlisp. Кроме этих специализированных
языков для разработки экспертных систем используются и обычные
языки программирования общего назначения: Си, Ассемблер, Пас­
каль, Фортран, Бейсик и др.
Общим недостатком языков программирования для создания
экспертных систем являются: большое время разработки готовой
системы, необходимость привлечения высококвалифицированных
программистов, трудности с модификацией готовой системы. Все
это делает применение языков программирования для реализации
ЭС весьма дорогостоящим и трудоемким.
Инструментальные средства второго типа — среды програм­
мирования — позволяют разработчику не программировать неко­
торые или все компоненты ЭС, а выбирать их из заранее состав­
ленного набора.
При применении последнего типа инструментария — пустых
ЭС, или «оболочек» — разработчик ЭС полностью освобождается
от работ по созданию программ и занимается лишь наполнением
базы знаний. Однако при использовании этого способа могут воз­
никнуть следующие проблемы: управляющие стратегии, вложен­
ные в процедуры вывода базовой системы, а также принятый
140
язык представления знаний могут не подходить для данного при­
ложения. Все это затрудняет выбор подходящей пустой ЭС и их
применение. Кроме того, уже в процессе создания прикладной
системы может выясниться, что возможности, заложенные в ис­
пользуемом инструментальном средстве, не позволяют реализо­
вать необходимые процедуры вывода и представление предмет­
ных знаний, требующиеся для успешной работы системы. В то же
время в ряде случаев применение пустых ЭС оказывалось вполне
оправданным и удобным: за короткие сроки разработчик имел
возможность производить вполне добротные системы.
Типичным представителем второй и третьей групп инструмен­
тальных средств является пакет EXSYS Professional 5.0 for Windows
(оболочка — по определению разработчика — компании MultiLogic
Inc., США) и его последующая модификация Exsys Developer
8.0, предназначенный для создания прикладных экспертных сис­
тем в различных предметных областях. Система построена на ис­
пользовании сложных правил вида ЕСЛИ-ТО-ИНАЧЕ. Для вы­
бора стратегии получения заключения в системе по умолчанию
используется обратная цепочка вывода. Прямая цепочка может
быть задана при настройке системы. Система обладает развитым
графическим интерфейсом, способна обращаться к внешним ба­
зам данных, проверять правила на непротиворечивость. При опре­
деленной настройке может работать с русскоязычными текстами.

9.4. Что такое «инжинерия знаний»
и какова ее роль в интеллектуальной
поддержке управленческих решений?
Как уже отмечалось, технологию построения экспертных сис­
тем часто называют инженерией знаний. Как правило, этот про­
цесс требует специфической формы взаимодействия создателя эк­
спертной системы, которого называют инженером знаний, и одно­
го или нескольких экспертов в некоторой предметной области.
Инженер знаний «извлекает» из экспертов процедуры, стратегии,
эмпирические правила, которые они используют при решении за­
дач, и встраивает эти знания в экспертную систему. Одной из
наиболее сложных проблем, возникающих при создании эксперт­
ных систем, является преобразование знаний эксперта и описание
применяемых им способов поиска решений в форму, позволяю­
щую представить их в базе знаний системы, а затем эффективно
использовать для решения задач в данной предметной области.
Обычно эксперт не прибегает к процедурным или количе­
ственным методам; его основные средства — аналогия, интуиция
и абстрагирование. Часто эксперт даже не может объяснить, как
именно им было найдено решение. В лучшем случае вы получите
от него лишь описание основных приемов, или эвристик, кото-
141
рые помогли ему успешно справиться с задачей. На инженера
знаний возлагается очень сложная работа по преобразованию этих
описаний в строгую, полную и непротиворечивую систему, ко­
торая позволяла бы решать прикладные задачи не хуже, чем это
сделал бы сам эксперт, поскольку процесс построения базы зна­
ний плохо структурирован и по своей природе является скорее
циклическим, чем линейным.
Построение базы знаний включает три этапа:
• описание предметной области;
• выбор модели представления знаний (в случае использова­
ния оболочки этот этап исключается);
• приобретение знаний.
Первый шаг при построении базы знаний заключается в вы­
делении предметной области, на решение задач которой ориенти­
рована экспертная система. По сути эта работа сводится к очерчи­
ванию инженером знаний границ области применения системы и
класса решаемых ею задач. При этом необходимо:
• определить характер решаемых задач;
• выделить объекты предметной области;
• установить связи между объектами;
• выбрать модель представления знаний;
• выявить специфические особенности предметной области.
Инженер знаний должен корректно сформулировать задачу. В то же
время он должен уметь распознать, что задача не структурирована,
и в этом случае воздержаться от попыток ее формализовать или
применить систематические методы решения. Главная цель началь­
ного этапа построения базы знаний — определить, как будет выг­
лядеть описание предметной области на различных уровнях абст­
ракции. Экспертная система включает базу знаний, которая созда­
ется путем формализации некоторой предметной области, а та, в
свою очередь, является результатом абстрагирования определен­
ных сущностей реального мира.
Выделение предметной области представляет собой первый шаг
абстрагирования реального мира.
После того как предметная область выделена, инженер знаний
должен ее формально описать. Для этого ему необходимо выбрать
какой-либо способ представления знаний о ней (модель представ­
ления знаний). Если в качестве инструментального средства опре­
делена оболочка (пустая ЭС), то модель представления знаний
определяется выбранным средством. Формально инженер знаний
должен воспользоваться той моделью, с помощью которой мож­
но лучше всего отобразить специфику предметной области.
Полученная после формализации предметной области база зна­
ний представляет собой результат ее абстрагирования, а предмет­
ная область, в свою очередь, была выделена в результате абстра­
гирования реального мира. Человек обладает способностью рабо­
тать с предметными областями различных типов, использовать
142
различные модели представления знаний, рассматривать понятия
реального мира с различных точек зрения, выполнять абстраги­
рования различных видов, проводить сопоставление знаний раз­
личной природы и прибегать к самым разнообразным методам
решения задач. Имеются отдельные примеры совместного исполь­
зования баз знаний, ориентированных на различные предметные
области, но большинство современных систем может решать зада­
чи только из одной предметной области.
Инженер знаний прежде всего обязан провести опрос экспер­
та и только потом приступать к построению системы. Эксперт,
безусловно, должен быть специалистом в той области, в которой
будет работать система. Первым делом необходимо определить це­
левое назначение системы. Какие, собственно, задачи предстоит
решать системе, основанной на знаниях? Цели разработки систе­
мы следует сформулировать точно, полно и непротиворечиво.
После того как цель разработки системы определена, инженер
знаний приступает к формулированию подцелей; это поможет ему
установить иерархическую структуру системы и разбить ее на моду­
ли. Введение тех или иных подцелей обусловливается наличием свя­
зей между отдельными фрагментами знаний. Проблема сводится к
разбиению задачи на две или несколько подзадач меньшей сложно­
сти и последующему поиску их решений. При необходимости полу­
ченные в результате разбиения подзадачи могут дробиться и дальше.
Следующий шаг построения базы знаний — выделение объектов
предметной области или, в терминах теории систем, установление
границ системы. Как и формальная система, совокупность выделен­
ных понятий должна быть точной, полной и непротиворечивой.
Ответы на все перечисленные вопросы позволяют очертить
границы исходных данных. Для построения пространства поиска
решения необходимо определить подцели на каждом уровне иерар­
хии целей общей задачи. В вершине иерархии следует поместить
задачу, которая по своей" общности отражает принципиальные
возможности и назначение системы.
После выявления объектов предметной области необходимо ус­
тановить, какие между ними имеются связи. Следует стремиться к
выявлению как можно большего количества связей, в идеале —
всех, которые существуют в предметной области.
Полученное качественное описание предметной области, если это
необходимо, должно быть представлено средствами какого-либо фор­
мального языка, чтобы привести это описание к виду, позволяюще­
му поместить его в базу знаний системы. Для решения этой задачи
выбирается подходящая модель представления знаний, с помощью
которой сведения о предметной области можно выразить формально.
И, наконец, в предметной области должны быть выявлены
специфические особенности, затрудняющие решение прикладных
задач. Вид этих особенностей зависит от назначения системы.

143
9.5. В чем состоят основные
положения методологии построения
экспертных систем?
Разработка (проектирование) ЭС существенно отличается от
разработки обычного программного продукта. Предшествующий
опыт разработки ЭС показал, что использование методологии,
принятой в традиционном программировании, либо чрезмерно
затягивает процесс создания ЭС, либо вообще приводит к отри­
цательному результату. Дело в том, что неформализованность за­
дач, решаемых ЭС, отсутствие завершенной теории ЭС и методо­
логии их разработки приводят к необходимости модифицировать
принципы и способы построения ЭС в ходе процесса разработки
по мере того, как увеличивается знание разработчиков о про­
блемной области.
Перед тем как приступить к разработке ЭС, инженер по зна­
ниям должен рассмотреть вопрос, следует ли разрабатывать ЭС
для данного приложения. В обобщенном виде ответ может быть
таким: использовать ЭС следует в том случае, когда разработка
ЭС возможна, оправдана и методы инженерии знаний соответ­
ствуют решаемой задаче.
Чтобы разработка ЭС была возможной (для данного приложе­
ния), необходимо одновременное выполнение по крайней мере
следующих требований:
• наличие экспертов в данной области, которые решают зада­
чу значительно лучше, чем начинающие специалисты;
• эксперты должны сходиться в оценке предлагаемого реше­
ния, иначе нельзя будет оценить качество разработанной ЭС;
• эксперты должны уметь выразить на естественном языке
и объяснить используемые ими методы;
• задача, возложенная на ЭС, требует только рассуждений,
а не действий;
• задача не должна быть слишком трудной, ее решение должно
занимать у эксперта несколько часов, а не дней или недель;
• задача, хотя и не должна быть выражена в формальном виде,
но все же должна относиться к достаточно «понятной» и структу­
рированной области, т. е. должны быть выделены основные поня­
тия, отношения и известные (хотя бы эксперту) способы получе­
ния решения задачи;
• решение задачи не должно в значительной степени базиро­
ваться на «здравом смысле».
Использование ЭС в данном приложении может быть возмож­
но, но не оправдано. Применение ЭС может быть оправдано одним
из следующих факторов:
• решение задачи принесет определенный эффект;
• использование человека-эксперта невозможно либо из-за не-

144
достаточного количества экспертов, либо из-за необходимости
выполнять экспертизу одновременно в различных местах;
• при передаче информации к эксперту происходит недопус­
тимая потеря времени или информации;
• при необходимости решать задачу в окружении, враждеб­
ном для человека.
Приложение соответствует методам ЭС, если решаемая за­
дача обладает совокупностью следующих характеристик:
• может быть естественным образом решена посредством сим­
вольных рассуждений, а не числовой обработки;
• должна иметь эвристическую природу, т. е. ее решение дол­
жно сводиться к применению эвристических правил;
• должна быть достаточно сложной, чтобы оправдать затраты
на разработку ЭС, однако не должна быть чрезмерно сложной
(решение занимает у эксперта часы, а не недели), чтобы ЭС могла
ее решить;
• должна быть достаточно узкой, чтобы решаться методами
инженерии знаний, и практически значимой.
При разработке ЭС используется концепция «быстрого про­
тотипа». Суть ее состоит в том, что разработчики не пытаются
сразу создать конечный продукт. На начальном этапе они созда­
ют прототип (прототипы) ЭС, который должен удовлетворять
двум противоречивым требованиям: с одной стороны, решать
типичные задачи конкретного приложения, а с другой — время
и трудоемкость его разработки должны быть весьма незначи­
тельны, чтобы можно было максимально совместить процесс
накопления и отладки знаний (осуществляемый экспертом) с
процессом выбора (разработки) программных средств (осуще­
ствляемым инженером по знаниям и программистом). Для удов­
летворения указанных требований при создании прототипа, как
правило, используются разнообразные средства, ускоряющие
процесс проектирования.
Прототип должен продемонстрировать пригодность методов ин­
женерии знаний для данного приложения. В случае успеха эксперт
с помощью инженера по знаниям расширяет знания прототипа о
проблемной области. При неудаче может потребоваться разработка
нового прототипа или разработчики могут прийти к выводу о не­
пригодности методов инженерии знаний для данного приложения.
По мере увеличения знаний прототип может достичь такого состо­
яния, когда он успешно решает все задачи данного приложения.
Преобразование прототипа ЭС в конечный продукт обычно приво­
дит к перепрограммированию ЭС на языках низкого уровня, обес­
печивающих как повышение быстродействия ЭС, так и уменьше­
ние требуемой памяти. Трудоемкость и время создания ЭС в значи­
тельной степени зависят от типа используемых ИС.
В ходе работ по созданию ЭС сложилась определенная техноло­
гия их разработки, включающая шесть этапов: идентификация,
145
концептуализация, формализация, выполнение, тестирование,
опытная эксплуатация.
На этапе идентификации определяются задачи, подлежащие
решению, выявляются цели разработки, ресурсы, эксперты и ка­
тегории пользователей.
На этапе концептуализации проводится содержательный анализ
проблемной области, выявляются используемые понятия и их взаи­
мосвязи, определяются методы решения задач.
На этапе формализации определяются способы представления
всех видов знаний, формализуются основные понятия, определя­
ются способы интерпретации знаний, моделируется работа систе­
мы, оценивается адекватность целям системы зафиксированных
понятий, методов решения, средств представления и манипули­
рования знаниями.
На этапе выполнения осуществляется наполнение экспер­
том базы знаний системы. Процесс приобретения знаний разде­
ляют на получение знаний от эксперта, организацию знаний,
обеспечивающую эффективную работу системы, и представле­
ние знаний в виде, понятном ЭС. Эвристический характер зна­
ний приводит к тому, что процесс их приобретения является

<< Пред. стр.

стр. 16
(общее количество: 18)

ОГЛАВЛЕНИЕ

След. стр. >>