- •1.1. Данные и знания
- •Классификация по глубине
- •1.3. Этапы разработки экспертных систем
- •Выбор подходящей проблемы
- •Разработка прототипной системы
- •Доработка прототипа до промышленной экспертной системы
- •Поддержка системы
- •1.4. Коллектив разработчиков
- •Программист
- •Эксперт
- •Глава 2. Теоретические аспекты извлечения знании
- •Процедурный слои
- •Когнитивный слой
- •Понятийная структура
- •Словарь пользователя
- •Внутренняя согласованность
- •Системность
- •Объективность
- •Историзм
- •Описание и обобщение фактов
- •Установление связей и закономерностей
- •Глава 3. Когнитивная психология в инженерии знании
- •3.2. Семантическая репрезентация знании
- •О множественной репрезентации понятий
- •3.4. Восприятие информации
- •Перцептивные процессы
- •Семантическое кодирование
- •3.5. Организация памяти
- •Глава 4. Методы извлечения знаний Кто скажет, тот не знает,
- •4.2. Пассивные методы
- •Наблюдения
- •Анализ протоколов “мыслей вслух”
- •6. Расшифруйте записи лекции в тот же день.
- •8. Рационально используйте перерывы в лекции для 'подытоживания про-длущанного.
- •12. Считаете ли Вы, что для лечения ангины эффективен эритромицин?
- •13. Какие дозы эритромицина Вы обычно рекомендуете? При отрицательном ответе на 12-й вопрос 13-й является лишним. Его можно избежать, усложнив вопрос.
- •12. Применяете ли Вы эритромицин для лечения ангины и если да, то в
- •4.5. Экспертные игры
Классификация по глубине
К глубинным знаниям относят абстракции, образы, аналогии, в которых отражается понимание структуры предметной области, & также назначение ч взаимосвязь отдельных понятий (в фундаментальных науках к глубинным знаниям относят законы и теоретические основания). Поверхностные знания обычно касаются .лишь совокупности эмпирических ассоциаций и причинно-следственных отношений между понятиями предметной области.
Например, мы пользуемся телефоном, используя поверхностные знания о том, что, сняв трубку и правильно набрав номер, мы можем соединиться с нужным абонентом. Подавляющее большинство владельцев телефонов не имеет и не нуждается в глубинных представлениях о структуре телефонной связи, схеме телефонного аппарата, которыми, безусловно, пользуются специалисты телефонной станции.
В большинстве ЭС сейчас используются поверхностные знания, которые часто позволяют получать вполне качественные результаты. Однако .введение глубинных представлений позволит создать базы знаний 'большей мощности, так как глубинные зна-я'ия более гибки 'и адаптивны, чем достаточно жесткие поверхностные. Классическим примером может служить медицина, где глубинные знания опытных 'врачей позволяют им порождать разнообразные способы лечения одной ,и той же бйлезни в зависимости от состояния больного, его возраста или от наличия лекарств в аптечной 'сети. Молодой или неквалифицированный врач часто действует но поверхностной модели: “Если кашель — то пить таблетки от кашля, если ангина — то эритром.ицин” и т. п.
Глубинные знания образуются как результат обобщения первичных понятий предметной области в некоторые более абстрактные структуры. Часто эти структуры не имеют вербального описания. Так, в медицине введено понятие синдрома (от греч. syndrome—скопление)—сочетания симптомов, которым пользуются для обобщенного и углубленного описания болезни.
Отметим, что степень глубины и уровень обобщенности знаний прямо связаны с опытом экспертов и могут служить показателем профессионального мастерства последних.
Кроме того, глубина знания связана с типом мышления. Часто в психологии выделяют два типа 'мышления i[38, 44]: эмпирическое, теоретическое (со склонностью к анализу, рефлексии и внутреннему планированию действий). При эмпирическом мышлении поиск решения задачи ведется только на основе учета имеющихся связей в ситуации задачи, при теоретическом мышлении поиск осуществляется путем конструирования новых связей между элементами задачи. Таким образом, эмпирическое мышление отражает объект со 'стороны его внешних проявлений и связей (т. е. на уровне ятоверхностных знаний), а теоретическое включает способность к обобщению и отражает внутренние связи объектов и законы их развития .(т. 'е. глубинное знание).
-- 11 --
Рис. 1.2. Тенденция развитая баз знаний
Классификация по жесткости
Жесткие знания позволяют получать однозначные четкие рекомендации при заданных начальных условиях, в то время как мягкие знания допускают множественные, расплывчатые решения и различные варианты .рекомендации. Согласно этой классификации можно и сами предметные области относить к жестким или мягким.
Интересная графическая интерпретация этих классификаций предложена в [68] для знаний в области САПР. Если развить данный подход для других предметных областей, то
можно предложить схему, отражающую тенденцию в инженерии знаний — от жестких и поверхностных знаний к мягким и более глубоким (рис. 1.2).
Осознание важности и значимости выделения пласта эмпирических знаний в предметной области является пробным камнем готовности специалистов к разработке ЭС. Можно сформулировать ряд контрольных вопросов для коллектива разработчиков. ЭС, которые могут помочь это сделать.
Отделили ли Вы данные от знаний в Вашей предметной области (ПО)?
Глубинные или поверхностные знания Вы собираетесь моделировать?
Жесткой ли мягкой Вы считаете свою ПО?
В заключение несколько слов об особом пласте опыта эксперта — об умении. Часть знаний хранится в этой практически не вербализуемой форме. Эксперт умеет что-то делать, он знает, как это делается, но вряд ли сможет объяснить, почему он делает именно так. Экспертные системы пока не затрагивают этих “полуавтоматических” умений.
-- 12 --
1.2. Структура и классификация экспертных систем
Экспертные системы — это сложные программные комплексы, аккумулирующие знания специалистов в конкретных предметных областях. Рис. 1.3 отражает обобщенную структуру ЭС. Подробное описание каждого из блоков приводится в [112, 115, 141, 163].
Так как терминология в области разработки ЭС находится на стадии формирования, определим основные термины в рамках данной книги.
Пользователь — работник, для которого предназначена система. Обычно его квалификация недостаточно высока и поэтому он нуждается в помощи и поддержке своей деятельности со стороны ЭС .
Инженер по знаниям — специалист по искусственному интеллекту, выступающий в роли промежуточного буфера между экспертом и базой знаний. Синонимы — когнитолог, инженер-интерпретатор, аналитик.
Эксперт — высококвалифицированный специалист предметной области, согласившийся поделиться своим опытом.
Рис. 1.3. Структура ЭС
Несколько “вольных” определений экспертов, предложенных другими авторами.
“Эксперт” — это человек, переставший мыслить на том основании, что он знает” (Ф. Л. Райт).
“Эксперт” — это такой же специалист, но из другого города” (И. Эссар).
“Эксперт — это человек, который сегодня предсказывает то, что будет завтра, а завтра квалифицированно объясняет, почему это не произошло” (Дж. Томас).
“Эксперт — это человек, знающий о предмете больше, чем нужно” (А. Ле-винсон).
Интерфейс пользователя — комплекс программ, реализующих диалог пользователя с ЭС как на стадии ввода информации, так и при получении результатов.
База знаний — ядро ЭС, совокупность знаний предметной области, .записанная на машинный носитель на языке представления знаний (обычно приближенном к естественному). Параллель.
-- 13 --
Рис, 1.4. Классификация ЭС
но такому “человеческому” представлению существует БЗ во внутреннем “машинном” представлении.
Решатель — программа, моделирующая ход рассуждений эксперта 'на основании знаний, .имеющихся в БЗ. Синонимы — дедуктивная •маш'ина, блок логического вывода.
Подсистема объяснений — программа, позволяющая 'пользователю получать ответы на вопросы: как была получена та или иная рекомендация? .и почему система приняла такое решение?
Интеллектуальный редактор БЗ — 'программа, представляющая инженеру по знаниям возможность создавать БЗ в диалоговом режиме. Включает 'в себя систему вложенных 'меню, шаблонов языка представления знаний, 'подсказок (h'elp-режим) и других сервисных средств, облегчающих работу с базой. В некотором смысле это частный вид систем приобретения знаний (см. § 7.3).
Класс “экспертные системы” сегодня объединяет несколько тысяч различных программных комплексов, которые можно классифицировать по различным критериям (рис. 1.4).
Классификация (по решаемой задаче) [115]
ЭС интерпретации данных определяют смысл данных. Результаты должны быть 'согласованными и корректными. Обычно предусматривается многовариантный анализ данных.
ЭС диагностики выполняют процессы отнесения объекта к некоторому классу и обнаружения неисправностей в некоторой системе. Неисправность — это отклонение от нормы. Такая трактовка позволяет 'с единых теоретических позиций рассматривать и неисправность оборудования в технических системах, и заболевания живых организмов, и всевозможные природные аномалии.
-- 14 --
ЭС мониторинга ориентированы на непрерывную интерпретацию данных в реальном масштабе времени и сигнализацию о выходе тех или иных параметров задопустимые пределы.
ЭС проектирования готовят спецификации на создание “объектов” с заранее определенными свойствами. Под спецификацией 'понимается весь набор 'необходимых документов — чертеж, пояснительная записка и т. д.
ЭС прогнозирования логически выводят вероятные следствия из заданных ситуаций. В прогнозирующей системе обычно используется параметрическая динамическая модель, в которой значения параметров “подгоняются” под данную ситуацию.
ЭС планирования находят !планы действий, относящихся к объектам, способным выполнять некоторые функции. В таких ЭС используются модели поведения реальных объектов с тем, чтобы логически вывести .последствия планируемой деятельности.
ЭС обучения диагностируют ошибки при изучении какой-либо дисциплины с помощью ЭВМ и подсказывают правильные решения. 0.ни аккумулируют 'знания о гипотетическом “ученике” и его характерных ошибках, затем в работе они способны диагностировать слабости в познаниях обучаемых и находить соответствующие средства для их ликвидации.
В общем случае все системы, основанные на знаниях, можно подразделить на системы, решающие задачи анализа, и на системы, решающие задачи синтеза. Основное отличие задач анализа от задач синтеза заключается в том, что если в задачах анализа множество 'решений может быть перечислено и включено в систему, то в 'задачах синтеза множество решений потенциально и строится из решений компоиент или подпроблем.
Задачами анализа являются: интерпретация данных, диагностика; синтеза: проектирование, планирование. Комбинированные:
обучение, мониторинг, прогнозирование.
Классификация по связи с реальным временем
Статические ЭС разрабатываются в предметных областях, в которых база знаний и интерпретируемые данные не меняются за время решения .задачи. Они стабильны. Например, диагностика неисправностей в автомобиле.
Квазидиналшческие ЭС интерпретируют ситуацию, которая меняется с некоторым фиксированным интервалом времени. Например, микробиологические ЭС, в которых снимаются лабораторные измерения с технологического процесса один раз в 4—5 'часов (производство лизина, например) и анализируется динамика полученных 'показателей по отношению к предыдущему измерению.
Динамические ЭС работают с изменяющимися во время решения задачи данными, часто в сопряжении с датчиками объектов, иногда в режиме реального 'времени с непрерывной интерпретацией поступающих данных. Пример — управление ГПС, мониторинг в реанимационных палатах.
-- 15 --
Классификация по типу ЭВМ
ЭС на суперЭВМ для уникальных стратегически важных задач (Эльбрус, CRAY и др.).
ЭС да ЭВМ средней производительности (типа ЕС ЭВМ). ЭС на символьных ЭВМ и рабочих станциях (SYMBOLICSSUN, APOLLO и др.).
ЭС на мини- и супер-м.ини-ЭВМ (СМ-1700, VAX, micro-VA.?и др.).
ЭС на ПЭВМ (IBM PC, PS/2 и подобные). Эта классификация, видимо, не требует пояснений.
Классификация по степени интеграции с другими программами
Автономные ЭС работают непосредственно в режиме консультаций с пользователем только для “экспертных” задач, дри решении которых не требуется привлекать традиционные методы обработки данных (расчеты, моделирование и т. д.).
Гибридные ЭС представляют программный комплекс, агрегирующий стандартные пакеты 'прикладных программ (например, математическую статистику, линейное программирование 'или системы управления базами данных) и средства .манипулирования знаниями. Это может быть интеллектуальная надстройка над пакетом прикладных программ или ннтегр.иро.ваяная среда для решения сложной задачи с элементами экспертных знаний.
Несмотря на внешнюю привлекательность гибридного подхода, следует отметить, что разработка таких систем являет собой задачу на порядок бо'лее сложную, чем разработка автономной ЭС. Стыковка не 'просто разных пакетов, а разных методологий (что происходит в гибридных системах) порождает комплекс теоретических •и практических трудностей.
Если говорить о современном состоянии разработок ЭС, то тенденции за рубежом (левый полюс — наиболее распространенные коммерческие системы, правый полюс — направление .исследований ведущих специалистов) таковы:
задачи диагностики, интерпретации, проектиро.вание-”-монито-р.инг, обучение;
статические-”-ди'на;мические;
автономные-^-гибридные.
