
- •1. Введение в интеллектуальные системы.................................................................7
- •2. Разработка систем, основанных на знаниях ........................................................36
- •3. Теоретические аспекты инженерии знаний..........................................................55
- •4. Технологии инженерии знаний.............................................................................. 95
- •5. Новые тенденции и прикладные аспекты
- •6. Программный инструментарий разработки систем, основанных на знаниях............................................................................................................................194
- •7. Пример разработки системы, основанной на знаниях ................................….226
- •8. Представление данных и знаний в Интернете...................................................257
- •9. Интеллектуальные Интернет-технологии..........................................................300
- •1. Введение в интеллектуальные системы
- •1.1. Краткая история искусственного интеллекта
- •1.1.1. Предыстория
- •1.1.2. Зарождение нейрокибернетики
- •1.1.3. От кибернетики «черного ящика» к ии
- •1.1.4. История искусственного интеллекта в России
- •1.2. Основные направления исследований в области искусственного интеллекта
- •1.2.1. Представление знаний и разработка систем, основанных на знаниях (knowledge-based systems)
- •1.2.2. Программное обеспечение систем ии (software engineering for Al)
- •1.2.3. Разработка естественно-языковых интерфейсов и машинный перевод (natural language processing)
- •1.2.4. Интеллектуальные роботы (robotics)
- •1.2.5. Обучение и самообучение (machine learning)
- •1.2.6. Распознавание образов (pattern recognition)
- •1.2.7. Новые архитектуры компьютеров (new hardware platforms and architectures)
- •1.2.8. Игры и машинное творчество
- •1.2.9. Другие направления
- •1.3. Представление знаний и вывод на знаниях
- •1.3.1. Данные и знания
- •1.3.2. Модели представления знаний
- •1.3.3. Вывод на знаниях
- •1.4. Нечеткие знания
- •1.4.1. Основы теории нечетких множеств
- •123456789 10 Рис. 1.7. Формирование нечетких множеств
- •1.4.2. Операции с нечеткими знаниями
- •1.5. Прикладные интеллектуальные системы
- •2. Разработка систем, основанных на знаниях
- •2.1. Введение в экспертные системы. Определение и структура
- •2.2. Классификация систем, основанных на знаниях
- •2.2.1. Классификация по решаемой задаче
- •2.2.2. Классификация по связи с реальным временем
- •2.2.3. Классификация по типу эвм
- •2.2.4. Классификация по степени интеграции с другими программами
- •2.3. Коллектив разработчиков
- •2.4. Технология проектирования и разработки
- •2.4.1. Проблемы разработки промышленных эс
- •2.4.2. Выбор подходящей проблемы
- •2.4.3. Технология быстрого прототипирования
- •2.4.4. Развитие прототипа до промышленной эс
- •2.4.5. Оценка системы
- •2.4.6. Стыковка системы
- •2.4.7. Поддержка системы
- •3. Теоретические аспекты инженерии знаний
- •3.1. Поле знаний
- •3.1.1. О языке описания поля знаний
- •3.1.2. Семиотическая модель поля знаний
- •3.1.3. «Пирамида» знаний
- •3.2. Стратегии получения знаний
- •3.3. Теоретические аспекты извлечения знаний
- •3.3.1. Психологический аспект
- •3.3.2. Лингвистический аспект
- •3.3.3. Гносеологический аспект извлечения знаний
- •3.4. Теоретические аспекты структурирования знаний
- •3.4.1. Историческая справка
- •3.4.2. Иерархический подход
- •3.4.3. Традиционные методологии структурирования
- •3.4.4. Объектно-структурный подход (осп)
- •4. Технологии инженерии знаний
- •4.1. Классификация методов практического извлечения знаний
- •4.2. Коммуникативные методы
- •4.2.1. Пассивные методы
- •4.2.2. Активные индивидуальные методы
- •4.2.3. Активные групповые методы
- •4.3. Текстологические методы
- •4.4. Простейшие методы структурирования
- •4.4.1. Алгоритм для «чайников»
- •4.4.2. Специальные методы структурирования
- •4.5. Состояние и перспективы автоматизированного приобретения знаний
- •4.5.1. Эволюция систем приобретения знаний
- •4.5.2. Современное состояние
- •4.6. Примеры методов и систем приобретения знаний
- •4.6.1. Автоматизированное структурированное интервью
- •4.6.2. Имитация консультаций
- •4.6.3. Интегрированные среды приобретения знаний
- •4.6.4. Приобретение знаний из текстов
- •5. Новые тенденции и прикладные аспекты инженерии знаний
- •5.1. Латентные структуры знаний и психосемантика
- •5.1.1. Семантические пространства
- •5.1.2. Методы многомерного шкалирования
- •5.1.3. Использование метафор для выявления «скрытых» структур знаний
- •5.2. Метод репертуарных решеток
- •5.2.1. Основные понятия
- •5.2.2. Методы выявления конструктов Метод минимального контекста
- •5.2.3. Анализ репертуарных решеток
- •5.2.4. Автоматизированные методы
- •5.3. Управление знаниями
- •5.3.1. Что такое «управление знаниями»
- •5.3.2. Управление знаниям и корпоративная память
- •5.3.3. Системы omis
- •5.3.4. Особенности разработки omis
- •5.4. Визуальное проектирование баз знаний как инструмент познания
- •5.4.1. От понятийных карт к семантическим сетям
- •5.4.2. База знаний как познавательный инструмент
- •5.5. Проектирование гипермедиа бд и адаптивных обучающих систем
- •5.5.1. Гипертекстовые системы
- •5.5.2. От мультимедиа к гипермедиа
- •5.5.3. На пути к адаптивным обучающим системам
- •6. Программный инструментарий разработки систем, основанных на знаниях
- •6.1. Технологии разработки программного обеспечения - цели, принципы, парадигмы
- •6.1.1. Основные понятия процесса разработки программного обеспечения (по)
- •6.1.2. Модели процесса разработки по
- •6.1.3. Инструментальные средства поддержки разработки систем по
- •6.2. Методологии создания и модели
- •6.3. Языки программирования для ии и языки представления знаний
- •6.4. Инструментальные пакеты для ии
- •6.5. WorkBench-системы
- •7. Пример разработки системы, основанной на знаниях
- •7.1. Продукционно-фреймовый япз pilot/2
- •7.1.1. Структура пилот-программ и управление выводом
- •7.1.2. Декларативное представление данных и знаний
- •7.1.3. Процедурные средства языка
- •7.2. Психодиагностика – пример предметной области для построения экспертных систем
- •7.2.1. Особенности предметной области
- •7.2.2. Батарея психодиагностических эс «Ориентир»
- •7.3. Разработка и реализация
- •7.3.1. Архитектура системы и ее база знаний
- •7.3.2. Общение с пользователем и опрос испытуемых
- •7.3.3. Вывод портретов и генерация их текстовых представлений
- •7.3.4. Помощь и объяснения в эс «Cattell»
- •8. Представление данных и знаний в Интернете
- •8.1. Язык html и представление знаний 8.1.1. Историческая справка
- •8.1.2. Html - язык гипертекстовой разметки Интернет-документов
- •8.1.3. Возможности представления знаний на базе языка html
- •8.2. Онтологии и онтологические системы
- •8.2.1. Основные определения
- •8.2.2. Модели онтологии и онтологической системы
- •8.2.3. Методологии создания и «жизненный цикл» онтологий
- •8.2.4. Примеры онтологий
- •8.3. Системы и средства представления онтологических знаний
- •8.3.1. Основные подходы
- •8.3.2. Инициатива (ка)2 и инструментарий Ontobroker
- •Средства спецификации онтологий в проекте Ontobroker
- •Формализм запросов
- •Формализм представления и машина вывода
- •Аннотация Web-страниц онтологической информацией
- •8.3.3. Проект shoe - спецификация онтологий и инструментарий Общая характеристика проекта
- •Спецификации онтологий и инструментарий shoe
- •Формализм представления и машина вывода
- •Аннотация Web-документов на базе онтологии
- •Формализм запросов
- •8.3.4. Другие подходы и тенденции
- •9. Интеллектуальные Интернет-технологии
- •9.1. Программные агенты и мультиагентные системы
- •9.1.1. Историческая справка
- •9.1.2. Основные понятия
- •9.2. Проектирование и реализация агентов и мультиагентных систем
- •9.2.1. Общие вопросы проектирования агентов и mac
- •9.2.2. Инструментарий AgentBuilder
- •9.2.3. Система Bee-gent
- •9.3. Информационный поиск в среде Интернет
- •9.3.1. Машины поиска
- •9.3.2. Неспециализированные и специализированные поисковые агенты
- •9.3.3. Системы интеллектуальных поисковых агентов
- •Autonomy и Web compass - системы интеллектуального поиска и обработки информации
- •Проект системы marri
- •Прототип системы OntoSeek
- •(Onto)2 - агент поиска и выбора онтологий
4.6. Примеры методов и систем приобретения знаний
Данный параграф посвящен обзору некоторых наиболее известных методов и систем приобретения знаний, на основе переработки материалов из работ [Осипов, 1990; Молокова, 1992; Осипов, 1997].
4.6.1. Автоматизированное структурированное интервью
Впервые структурированное интервью применено при создании системы TEI-RESIAS [Davis, 1982] для формирования новых правил и новых понятий. Для этих целей в системе использованы следующие соображения: в случае неудачи в режиме консультации (или тестирования), система предлагает эксперту выделить причины неудачи. Контекст, полученный в результате этого, позволяет системе сформировать некоторые «ожидания», характеризующие содержание нового правила, которое будет вводиться экспертом для устранения неудачи.
Система ROGET [Bennet, 1985] - это первая попытка заменить инженера знаний программной системой на начальном этапе приобретения знаний. Эта система беседует с экспертом как инженер по знаниям, стремящийся понять, как концептуально могут быть организованы экспертные знания, необходимые для создания диагностической ЭС.
В системе MOLE [Eshelman, 1987] приобретение знаний осуществляется в два этапа: на первом этапе используется структурированное интервью и эксперту (или инженеру по знаниям) предлагается ввести список событий предметной области и определить связи между ними; на втором этапе выполняется контекстное приобретение знаний, как это сделано в системе TEIRESIAS. Система состоит из двух частей: интерпретатора базы предметных знаний и подсистемы приобретения знаний. Последняя поддерживает как процесс первоначального заполнения БЗ, так и процесс отладки и уточнения БЗ.
Интерпретатор БЗ ориентирован на класс диагностических задач и осуществляет вывод решения путем сопоставления заранее определенного множества гипотез (о причине неисправности, о заболевании и т. д.) с совокупностью наблюдений (симптомов, показаний приборов и т. д.). Иными словами, интерпретатор системы MOLE реализует некоторый вариант метода эвристической классификации.
В базе знаний MOLE первоначально существуют знания о том, какие типы когнитивных структур необходимы для осуществления вывода и как распознать знания того или иного типа в информации, сообщаемой экспертом. MOLE запрашивает у эксперта список объектов, играющих роли гипотез и наблюдений. Эксперт, кроме того, должен указать, какие пары «наблюдение - гипотеза» и «гипотеза - гипотеза» ассоциативно связаны.
Результатом этого этапа извлечения знаний является сеть объектов. Затем MOLE пытается получить дополнительную информацию: о типе объекта (является объект наблюдаемым или выводимым); о природе ассоциативной связи (какой тип знаний лежит в основе ассоциации - объясняющие, предсказывающие или иные); о направлении ассоциативной связи, о численной оценке «силы» ассоциативной связи. Однако MOLE понимает, что эксперт не всегда может предоставить такую информацию. Поэтому на этом этапе MOLE использует стратегию ожиданий: она пытается вывести необходимую информацию из сообщений эксперта на основе своих ожиданий.
На этапе начального формирования базы знаний MOLE назначает численные веса ассоциативных связей по умолчанию на основе следующих посылок:
• каждое наблюдение должно быть объяснено некоторой гипотезой;
• только одна из гипотез, объясняющих данное наблюдение, является в каждом конкретном случае наиболее вероятной;
• сумма оценок для связей данного наблюдения с объясняющими его гипотезами равна единице.
Тогда по умолчанию MOLE назначает для каждой связи данного наблюдения оценку, полученную как частное от деления единицы на число гипотез, объясняющих данное наблюдение. MOLE предполагает, что если эксперт сообщил несколько объяснений для одного и того же объекта, то, вероятно, он может сообщить и знания, позволяющие различать эти объяснения.
Система приобретения знаний SALT [Markus, 1987] создана в университете Carnegie Mellon. Система SALT - система приобретения знаний для задач конструирования. Система SALT разрабатывалась в предположении, что решение этой задачи осуществляется методом пошагового распространения ограничений.
Для решения задач конструирования методом пошагового распространения ограничений необходимы знания следующих типов:
• процедуры установления значений параметров;
• процедуры проверки ограничений;
• процедуры коррекции значений параметров с указанием «цены» каждого корректирующего действия.
Важно, чтобы все эти знания составляли целостную и непротиворечивую БЗ.
Наибольшую трудность для эксперта представляет необходимость последовательно, шаг за шагом описать все свои действия при разработке проекта. Работая с системой SALT, эксперт избавлен от этой необходимости.
Исходя из того, как именно экспертные знания будут использоваться в ЭС при составлении конкретных проектов, SALT анализирует текущее состояние БЗ и предлагает эксперту-пользователю ввести или пересмотреть тот или иной фрагмент знаний. Диалог с пользователем в SALT ведется либо посредством вопросов-подсказок, либо посредством меню. Инициатива в диалоге принадлежит системе.
Система приобретения знаний OPAL [Musen, Fagan, et al., 1987] была создана в начале 80-х годов в Стэнфордском университете. Эта система обеспечивает формирование и наращивание базы знаний для ЭС ONCOCIN, дающей советы по лечению онкологических больных. Система приобретения знаний OPAL основана на детально проработанной модели медицинских знаний, используемых врачами-онкологами для рекомендации лечения.
Системой используется девять типов знаний:
• схема лечения (порядок и длительность режимов лечения);
• критерий выбора протокола;
• химиотерапия (описание комбинаций лекарств, назначаемых в том или ином режиме, их дозировка);
• радиотерапия (локализация и дозировка радиотерапии);
• изменения в составе крови, требующие модификации дозировки;
• негативные реакции на лечение, выявленные путем лабораторных исследований;
• другие отрицательные последствия проводимого лечения, требующие модификации дозировки лекарств;
• перерыв или прекращение лечения;
• лабораторные исследования, необходимые для обнаружения токсичности лечения и для сохранения истории течения болезни.
Эти типы медицинских знаний связаны в иерархическую структуру.
Для ввода каждого типа знаний разработан специальный графический интерфейс, учитывающий то, как принято фиксировать соответствующие знания. Так, например, для записи схемы лечения онкологи используют диаграммы переходов с условиями на дугах. В системе OPAL ввод таких знаний осуществляется с помощью графического языка программирования. Схема лечения создается как программа на этом языке.
Схемы протоколов и заполненные формы транслируются системой OPAL во внутреннее представление БЗ ЭС ONCOCIN. Этот процесс осуществляется без участия пользователя. По схемам протоколов порождаются диаграммы переходов, называемые генераторами; по формам-бланкам порождаются правила продукций, присоединяемые к соответствующим состояниям в диаграмме.
Система KNACK создана в 1989 г. в университете Carnegie Mellon. Она представляет собой ориентированный на экспертов предметной области инструмент для создания ЭС, помогающих оценивать и улучшать различные виды проектов.
Единственными знаниями, изначально встроенными в систему KNACK, являются знания о процессе оценки проектов вообще, то есть независимо от конкретного содержания проектов. Все остальные знания приобретаются системой KNACK на основе диалога и анализа документов, называемых отчетами. Отчет описывает процесс оценки какого-либо конкретного проекта.
Приобретение знаний, необходимых для оценки проектов определенного класса, система KNACK осуществляет в два этапа. Первый этап - это настройка на класс проектов. На этом этапе система KNACK с помощью эксперта создает предварительную модель. Расширенная с помощью специальных процедур модель предметной области автоматически транслируется в программу на языке OPS-5.
К методам структурированного интервью примыкают и использованные при построении системы МЕДИКС [Ларичев, Мечитов и др., 1989] процедуры экспертной классификации. Задача экспертной классификации формулируется в работе [Ларичев, Мечитов и др., 1989] для:
• множества независимых свойств Р;
• множества признаков Q;
• множества Qm возможных значений m-го признака;
• множества А всех возможных состояний.
Эксперту (или группе экспертов) предлагается идентифицировать наличие свойств из множества Р и тем самым построить классификацию множества А = UKi, такую, что состояние а О А относится к некоторому классу Кj если, по мнению эксперта, это состояние обладает свойством P O P. Повысить эффективность экспертной классификации в этом случае удается благодаря использованию априорно заданного отношения линейного порядка на множестве состояний.