ИНФОРМАЦИОННОЕ ОБЩЕСТВО И КУЛЬТУРА (электронный дайджест) |
||
9.1. В чем состоит назначение экспертных систем?
Разработка систем интеллектуальной поддержки (основанных на знаниях) является составной частью исследований по искусственному интеллекту и имеет целью создание компьютерных методов решения проблем, обычно требующих привлечения специалистов. В конце 70-х гг. специалисты, работающие в области искусственного интеллекта, начали понимать нечто весьма важное: эффективность программы при решении задач зависит от знаний, которыми она обладает, а не только от формализмов и схем вывода, которые она использует. Была принята принципиально новая концепция, которую чрезвычайно просто сформулировать: чтобы сделать программу интеллектуальной, ее нужно снабдить множеством высококачественных специальных знаний о некоторой предметной области.
Существует много определений понятия “системы, основанные на знаниях”, в частности они определяются как “интеллектуальные компьютерные программы, использующие знания и процедуры вывода для решения проблем, которые настолько сложны, что для их решения необходимо привлечение эксперта”. Терминология по искусственному интеллекту пока еще окончательно не установилась, поэтому словосочетания “экспертные системы” (ЭС) и “системы, основанные на знаниях” будем употреблять как синонимы, хотя считается, что любая ЭС есть система, основанная на знаниях, но последняя не всегда является экспертной системой. В системах, основанных на знаниях, правила (или эвристики), по которым решаются проблемы в конкретной предметной области, хранятся в базе знаний. Проблемы ставятся перед системой в виде совокупности фактов, описывающих некоторую ситуацию, и система с помощью базы знаний пытается вывести заключение из этих фактов. Можно сказать, что качество экспертной системы определяется размером и качеством базы знаний (правил, или эвристик). Система функционирует в следующем циклическом режиме: выбор (запрос) данных или результатов анализов, наблюдение, интерпретация результатов, усвоение новой информации, выдвижение с помощью правил временных гипотез и затем выбор следующей порции данных или результатов анализов. Такой процесс продолжается до тех пор, пока не поступит информация, достаточная для окончательного заключения.
Более простые системы, основанные на знаниях, функционируют в режиме диалога, называемом режимом консультации. После запуска система задает пользователю ряд вопросов о решаемой задаче, требующих ответа: “да” или “нет”. Ответы служат для установления фактов, по которым может быть выведено окончательное заключение.
В любой момент времени в системе содержатся три типа знаний:
• структурированные статические знания о предметной области, после того как эти знания выявлены, они уже не изменяются;
• структурированные динамические знания — изменяемые знания о предметной области; они обновляются по мере выявления новой информации;
• рабочие знания, применяемые для решения конкретной задачи или проведения консультации.
Все перечисленные выше знания хранятся в базе знаний. Для ее построения требуется провести опрос специалистов, являющихся экспертами в конкретной предметной области, а затем систематизировать, организовать и снабдить эти знания указателями, чтобы впоследствии их можно было легко извлечь из базы знаний.
Системы, основанные на знаниях, обладают рядом специфических свойств:
• Экспертиза может проводиться только в одной конкретной области.
• База знаний и механизм вывода являются различными компонентами (оказывается возможным сочетать механизм вывода с другими базами знаний для создания новых экспертных систем).
• Наиболее подходящая область применения — решение задач дедуктивным методом, т. е. правила, или эвристики выражаются в виде пар посылок и заключений типа “если — то”.
• Эти системы могут объяснять ход решения задачи понятным пользователю способом. Обычно мы не принимаем ответ эксперта, если на вопрос “Почему?” не можем получить логичный ответ. Точно так же мы должны иметь возможность спросить систему, основанную на знаниях, как-было получено конкретное заключение.
• Выходные результаты являются качественными (а не количественными).
• Системы, основанные на знаниях, строятся по модульному принципу, что позволяет постепенно наращивать их базы знаний.
Области применения систем, основанных на знаниях, могут быть сгруппированы в несколько основных классов, в том числе прогнозирование, планирование, контроль и управление, обучение.
Существует ряд прикладных задач, которые решаются с помощью систем, основанных на знаниях, более успешно, чем любыми другими средствами. При определении целесообразности применения таких систем нужно руководствоваться следующими критериями:
• Данные и знания надежны и не меняются со временем.
• Пространство (или область) возможных решений относительно невелико.
• В процессе решения задачи должны использоваться формальные рассуждения.
• Должен быть, по крайней мере, один эксперт, способный явно сформулировать свои знания и объяснить методы применения этих знаний для решения задач.
Но даже лучшие из существующих экспертных систем имеют определенные ограничения по сравнению с человеком-экспертом, которые сводятся к следующему:
• Большинство экспертных систем не всегда бывают пригодны для применения конечным пользователем. Если пользователь не имеет некоторого опыта работы с такими системами, у него могут возникнуть серьезные трудности Многие системы оказываются доступными только тем экспертам, которые создавали их базы знаний. Поэтому необходима разработка соответствующего пользовательского интерфейса, обеспечивающего конечному пользователю свойственный ему режим работы.
• Навыки системы не всегда возрастают после сеанса экспертизы.
• Все еще остается проблемой приведение знаний, полученных от эксперта, к виду, обеспечивающему их эффективную машинную реализацию.
• Экспертные системы 1-го поколения не способны обучаться. Человек-эксперт при решении задач обычно обращается к своей интуиции, здравому смыслу, опыту, аналогии, если отсутствуют формальные методы решения или аналоги таких задач.
• Экспертные системы редко применяются в больших предметных областях.
• Считается, что в тех предметных областях, где отсутствуют эксперты, применение экспертных систем оказывается невозможным.
• Имеет смысл привлекать экспертные системы только для решения когнитивных задач.
• Системы, основанные на знаниях, оказываются неэффективными при необходимости проведения скрупулезного анализа, когда число “решений” зависит от тысяч различных возможностей и многих переменных, которые изменяются во времени. В таких случаях лучше использовать базы данных с интерфейсом на естественном языке или системы поддержки принятия решений.
Однако системы, основанные на знаниях, имеют определенные преимущества перед человеком-экспертом:
• У них нет предубеждений.
• Они не делают поспешных выводов.
• Эти системы работают систематизировано, рассматривая все детали, часто выбирая наилучшую альтернативу из всех возможных.
• База знаний может быть большой и достаточно стабильной. Будучи введены в машину один раз, знания сохраняются навсегда.
• Системы, основанные на знаниях, устойчивы к “помехам”. Эксперт пользуется побочными знаниями и легко поддается влиянию внешних факторов, которые непосредственно не связаны с решаемой задачей.
Технологию построения экспертных систем называют инженерией знаний. Этот процесс требует специфической формы взаимодействия создателя экспертной системы, которого называют инженером знаний, и одного или нескольких экспертов в некоторой предметной области. Инженер знаний “извлекает” из экспертов процедуры, стратегии, эмпирические правила, которые они используют при решении задач, и встраивает эти знания в экспертную систему.
В результате появляется система, решающая задачи во многом так же, как человек-эксперт.
9.2. Каковы структура и основные характеристики экспертной системы?
Ядро экспертной системы составляет база знаний, которая создается и накапливается в процессе ее построения. Знания выражены в явном виде и организованы так, чтобы упростить принятие решений.
<…> Знания — основа экспертных систем — являются явными и доступными, что и отличает эти системы от большинства традиционных программ. Они обладают такой же ценностью, как и любой большой объем знаний, и эти знания могут широко распространяться посредством специальных и общих литературных источников.
Наиболее полезной характеристикой экспертной системы является то, что она применяет для решения проблем высококачественный опыт. Этот опыт может представлять уровень мышления наиболее квалифицированных экспертов в данной области, что ведет к решениям творческим, точным и эффективным. Именно высококачественный опыт в сочетании с умением его применять делает систему рентабельной, способной заслужить признание на рынке. Этому способствует также гибкость системы. Система может наращиваться постепенно в соответствии с нуждами бизнеса или заказчика. Это означает, что можно вначале вложить сравнительно скромные средства, а потом наращивать возможности системы по мере необходимости.
Другой полезной чертой экспертных систем является наличие у них прогностических возможностей. Экспертная система может функционировать в качестве модели решения задачи в заданной области, давая ожидаемые ответы в конкретной ситуации и показывая, как изменятся эти ответы в новых ситуациях. Экспертная система может объяснить подробно, каким образом новая ситуация привела к изменениям. Это позволяет пользователю оценить возможное влияние новых фактов или информации и понять, как они связаны с решением. Аналогично, пользователь может оценить влияние новых стратегий или процедур на решение, добавляя новые правила или изменяя уже существующие. <…>
Важным свойством экспертных систем является возможность их применения для обучения и тренировки персонала. Экспертные системы могут быть разработаны с расчетом на подобный процесс обучения, так как они уже содержат необходимые знания и способны объяснить процесс своего рассуждения. Остается только добавить программное обеспечение, поддерживающее соответствующий требованиям эргономики интерфейс между обучаемым и экспертной системой. Кроме того, должны быть включены знания о методах обучения и возможном поведении пользователя.
9.3. Какими инструментальными средствами осуществляется разработка экспертных систем?
Процесс создания экспертных систем претерпел значительные изменения за последние несколько лет. Благодаря появлению специальных инструментальных средств (ИС) построения ЭС сократились сроки разработки, значительно снизилась трудоемкость. Существует достаточно много схожих классификаций инструментальных средств. В частности, их можно разбить на три основных типа:
• языки программирования;
• среды программирования;
• пустые ЭС (оболочки).
С точки зрения разработчика экспертных систем наибольший интерес представляет использование сред программирования и пустых экспертных систем (оболочек), хотя не всегда можно заметить разницу между этими понятиями.
Создание экспертных систем с широким спектром возможностей, являющихся не механическими исполнителями воли человека, а его равноправными партнерами при поиске решений в сложных ситуациях, требует привлечения эффективных инструментальных средств программирования. К числу таких средств относятся языки обработки символьной информации, наиболее известными из которых являются Пролог и Лисп. Пролог — язык высокого уровня, имеющий строгое теоретическое обоснование и ориентированный на использование концепций и методов математической логики. Как следует из его названия, Пролог предназначен для программирования в терминах логики. Основной особенностью Пролога, отличающей его от всех других языков, является декларативный характер написанных на нем программ. Язык Лисп изобретен в Массачусетском технологическом институте и обладает способностью обрабатывать списковые структуры. Языки программирования Лисп и Пролог имеют встроенные механизмы для манипулирования знаниями.
Помимо Лиспа и Пролога создано множество других языков, ориентированных на обработку символьной информации и разработку ЭС:
Smalltalk, FRL, Interlisp.
Кроме этих специализированных языков для разработки экспертных систем используются и обычные языки программирования общего назначения:
Си, Ассемблер, Паскаль, Фортран, Бейсик и др.<…>
9.4. Что такое “инженерия знаний” и какова ее роль в интеллектуальной поддержке управленческих решений?
Как уже отмечалось, технологию построения экспертных систем часто называют инженерией знаний. Как правило, этот процесс требует специфической формы взаимодействия создателя экспертной системы, которого называют инженером знаний, и одного или нескольких экспертов в некоторой предметной области. Инженер знаний “извлекает” из экспертов процедуры, стратегии, эмпирические правила, которые они используют при решении задач, и встраивает эти знания в экспертную систему. Одной из наиболее сложных проблем, возникающих при создании экспертных систем, является преобразование знаний эксперта и описание применяемых им способов поиска решений в форму, позволяющую представить их в базе знаний системы, а затем эффективно использовать для решения задач в данной предметной области.<…>
Построение базы знаний включает три этапа:
• описание предметной области;
• выбор модели представления знаний (в случае использования оболочки этот этап исключается);
• приобретение знаний.
Первый шаг при построении базы знаний заключается в выделении предметной области, на решение задач которой ориентирована экспертная система. По сути эта работа сводится к очерчиванию инженером знаний границ области применения системы и класса решаемых ею задач. При этом необходимо:
• определить характер решаемых задач;
• выделить объекты предметной области;
• установить связи между объектами;
• выбрать модель представления знаний;
• выявить специфические особенности предметной области.
Инженер знаний должен корректно сформулировать задачу. В то же время он должен уметь распознать, что задача не структурирована, и в этом случае воздержаться от попыток ее формализовать или применить систематические методы решения. Главная цель начального этапа построения базы знаний — определить, как будет выглядеть описание предметной области на различных уровнях абстракции. Экспертная система включает базу знаний, которая создается путем формализации некоторой предметной области, а та, в свою очередь, является результатом абстрагирования определенных сущностей реального мира.
Выделение предметной области представляет собой первый шаг абстрагирования реального мира.
После того как предметная область выделена, инженер знаний должен ее формально описать. Для этого ему необходимо выбрать какой-либо способ представления знаний о ней (модель представления знаний). Если в качестве инструментального средства определена оболочка (пустая ЭС), то модель представления знаний определяется выбранным средством. Формально инженер знаний должен воспользоваться той моделью, с помощью которой можно лучше всего отобразить специфику предметной области.
Полученная после формализации предметной области база знаний представляет собой результат ее абстрагирования, а предметная область, в свою очередь, была выделена в результате абстрагирования реального мира. Человек обладает способностью работать с предметными областями различных типов, использовать различные модели представления знаний, рассматривать понятия реального мира с различных точек зрения, выполнять абстрагирования различных видов, проводить сопоставление знаний различной природы и прибегать к самым разнообразным методам решения задач. Имеются отдельные примеры совместного использования баз знаний, ориентированных на различные предметные области, но большинство современных систем может решать задачи только из одной предметной области.
Инженер знаний прежде всего обязан провести опрос эксперта и только потом приступать к построению системы. Эксперт, безусловно, должен быть специалистом в той области, в которой будет работать система. Первым делом необходимо определить целевое назначение системы. Какие, собственно, задачи предстоит решать системе, основанной на знаниях? Цели разработки системы следует сформулировать точно, полно и непротиворечиво.
После того как цель разработки системы определена, инженер знаний приступает к формулированию подцелей; это поможет ему .установить иерархическую структуру системы и разбить ее на модули. Введение тех или иных подцелей обусловливается наличием связей между отдельными фрагментами знаний. Проблема сводится к разбиению задачи на две или несколько подзадач меньшей сложности и последующему поиску их решений. При необходимости полученные в результате разбиения подзадачи могут дробиться и дальше.
Следующий шаг построения базы знаний — выделение объектов предметной области или, в терминах теории систем, установление границ системы. Как и формальная система, совокупность выделенных понятий должна быть точной, полной и непротиворечивой.
Ответы на все перечисленные вопросы позволяют очертить границы исходных данных. Для построения пространства поиска решения необходимо определить подцели на каждом уровне иерархии целей общей задачи. В вершине иерархии следует поместить задачу, которая по своей общности отражает принципиальные возможности и назначение системы.
После выявления объектов предметной области необходимо установить, какие между ними имеются связи. Следует стремиться к выявлению как можно большего количества связей, в идеале — всех, которые существуют в предметной области.
Полученное качественное описание предметной области, если это необходимо, должно быть представлено средствами какого-либо формального языка, чтобы привести это описание к виду, позволяющему поместить его в базу знаний системы. Для решения этой задачи выбирается подходящая модель представления знаний, с помощью которой сведения о предметной области можно выразить формально.
И, наконец, в предметной области должны быть выявлены специфические особенности, затрудняющие решение прикладных задач. Вид этих особенностей зависит от назначения системы.<…>