
- •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 - агент поиска и выбора онтологий
9.1.2. Основные понятия
Существует несколько подходов к определению понятий в данной предметной области. По-видимому, одним из наиболее последовательных в этом вопросе является международная ассоциация FIPA (Foundation for Intelligent Physical Agents), каждый документ которой содержит толковый словарь терминов, релевантных данному документу [FIPA, 1998]. И вместе с тем практически во всех работах, где даются, например, определения понятия агента и его базисных свойств, общим местом стало замечание об отсутствии единого мнения по этому поводу [Franklin et al., 1996; Belgrave, 1996; Nwana, 1996]. Фактически, используя понятие «агент», каждый автор или сообщество определяют своего агента с конкретным набором свойств в зависимости от целей разработки, решаемых задач, техники реализации и т. п. критериев. Как следствие, в рамках данного направления появилось множество типов агентов, например: автономные агенты, мобильные агенты, персональные ассистенты, интеллектуальные агенты, социальные агенты и т. д. [Nwana, 1996], а вместо единственного определения базового агента - множество определений производных типов.
Учитывая вышесказанное, понятие агента целесообразно трактовать как мета-имя или класс, который включает множество подклассов. Ряд определений агентов, данных разными исследователями, представлен в работе [Franklin et al., 1996]. В настоящем издании будем придерживаться следующей концепции по этому поводу.
Агент - это аппаратная или программная сущность, способная действовать в интересах достижения целей, поставленных перед ним владельцем и/или пользователем [Wool-dridgeetal., 1995].
Таким образом, в рамках МАС-парадигмы программные агенты рассматриваются как автономные компоненты, действующие от лица пользователя.
В настоящее время существует несколько классификаций агентов [Nwana, 1996], одна из которых представлена в табл. 9.1.
Таблица 9.1. Классификация агентов
Типы агентов
Характеристики |
Простые |
Смышленые (smart) |
Интел- лектуальные (intelligent) |
Действительно (truly) интел- лектуальные |
Автономное выполнение |
+ |
|
+ |
+ |
Взаимодействие с другими агентами и/или пользователями |
+ |
+ |
+ |
+ |
Слежение за окружением |
+ |
+ |
+ |
+ |
Способность использования абстракций |
|
+ |
+ |
+ |
Способность использования предметных знаний |
|
+ |
+ |
|
Возможность адаптивного поведения для достижения целей |
|
|
+ |
+ |
Обучение из окружения |
|
|
+ |
+ |
Толерантность к ошибкам и/или неверным входным сигналам |
|
|
+ |
|
Real-time исполнение |
|
|
+ |
|
ЕЯ-взаимодействие |
|
|
+ |
|
Как следует из приведенной таблицы, собственно целесообразное поведение появляется только на уровне интеллектуальных агентов [Пономарева и др., 1999; Хорошевский, 1999]. И это не случайно, так как для него необходимо не только наличие целей функционирования, но и возможность использования достаточно сложных знаний о среде, партнерах и о себе. С точки зрения целей настоящей книги, наибольший интерес представляют интеллектуальные и действительно интеллектуальные (см. табл. 9.1) агенты. Понятно, что все характеристики более «простых» типов агентов при этом наследуются.
Иногда агентов определяют через свойства, которыми они должны обладать. Учитывая то, что нас в данной книге, в первую очередь, интересуют интеллектуальные агенты, приведем типовой список свойств, которыми такие агенты должны обладать [Wooldridge et al, 1995; FIPA, 1998]:
• автономность (autonomy, autonomious functioning) - способность функционировать без вмешательства со стороны своего владельца и осуществлять контроль внутреннего состояния и своих действий;
• социальное поведение (social ability, social behaviour) - возможность взаимодействия и коммуникации с другими агентами;
• реактивность (reactivity) - адекватное восприятие среды и соответствующие реакции на ее изменения;
• активность (pro-activity) - способность генерировать цели и действовать рациональным образом для их достижения;
• базовые знания (basic knowledge) - знания агента о себе, окружающей среде, включая других агентов, которые не меняются в рамках жизненного цикла агента;
• убеждения (beliefs) - переменная часть базовых знаний, которые могут меняться во времени, хотя агент может об этом не знать и продолжать их использовать для своих целей;
• цели (goals) - совокупность состояний, на достижение которых направлено текущее поведение агента;
• желания (desires) - состояния и/или ситуации, достижение которых для агента важно;
• обязательства (commitments) - задачи, которые берет на себя агент по просьбе и/или поручению других агентов;
• намерения (intentions) - то, что агент должен делать в силу своих обязательств и/или желаний.
Иногда в этот же перечень добавляются и такие свойства, как рациональность (retionality), правдивость (veracity), благожелательность (benevolence), а также мобильность (mobility), хотя последнее характерно не только для интеллектуальных агентов.
В зависимости от концепции, выбранной для организации MAC, обычно выделяются три базовых класса архитектур [Wray et al., 1994; Wooldridge et. al., 1995; Nwana, 1996]:
• архитектуры, которые базируются на принципах и методах работы со знаниями (deliberative agent architectures);
• архитектуры, основанные на поведенческих моделях типа «стимул-реакция» (reactive agent architectures);
• гибридные архитектуры (hybrid architectures).
Наиболее «трудными» терминологически в этой триаде являются архитектуры первого типа. Прямая калька - делиберативные архитектуры - неудобна для русскоязычного произношения и не имеет нужной семантической окраски для русскоязычного читателя. Сам термин был введен в работе [Genesereth et al., 1987] при обсуждении архитектур агентов.
Архитектуру или агентов, которые используют только точное представление картины мира в символьной форме, а решения при этом (например, о действиях) принимаются на основе формальных рассуждений и использования методов сравнения по образцу, принято определять как делиберативные.
Таким образом, в данном случае мы имеем дело с «разумными» агентами и архитектурами, имеющими в качестве основы проектирования и реализации модели, методы и средства искусственного интеллекта. В работе [Тарасов, 1998] таких агентов предлагается называть когнитивными, что не вполне правильно, так как при этом неявно предполагается, что «рассуждающие» агенты познают мир, в котором они функционируют. Нам представляется, что для русского языка более удобным и адекватным были бы термины «агент, базирующийся на знаниях» или «интеллектуальный агент», а также «архитектура интеллектуальных агентов». Именно этих терминов мы и будем придерживаться в данном издании. Первоначально идея интеллектуальных агентов связывалась практически полностью с классической логической парадигмой ИИ. Однако по мере развития исследований в этой области стало ясно, что такие «ментальные» свойства агентов, как, например, убеждения, желания, намерения, обязательства по отношению к другим агентам и т. п., невыразимы в терминах исчисления предикатов первого порядка. Поэтому для представления знаний агентов в рамках данной архитектуры были использованы специальные расширения соответствующих логических исчислений [Поспелов, 1998], а также разработаны новые архитектуры, в частности архитектуры типа BDI (Belief-Desire-Intention). Один из конкретных примеров архитектуры этого класса обсуждается ниже.
Принципы реактивной архитектуры возникли как альтернативный подход к архитектуре интеллектуальных агентов. Идея реактивных агентов впервые возникла в работах Брукса, выдвинувшего тезис, что интеллектуальное поведение может быть реализовано без символьного представления знаний, принятого в классическом ИИ [Brooks, 1991]. Таким образом [Connah, 1994]:
Реактивными называются агенты и архитектуры, где нет эксплицитно представленной модели мира, а функционирование отдельных агентов и всей системы осуществляется по правилам типа ситуация-действие. При этом под ситуацией понимается потенциально сложная комбинация внутренних и внешних состояний.
Вообще говоря, данный подход ведет свое начало с работ по планированию поведения роботов, которые активно велись в ИИ в 70-х годах. Простым примером реализации реактивных архитектур в этом контексте можно считать системы, где реакции агентов на внешние события генерируются соответствующими конечными автоматами. Широко известным примером системы с реактивной архитектурой является планирующая система STRIPS [Fikes et al, 1971], где использовался логический подход, расширенный за счет ассоциированных с действиями предусловий и постусловий. Позже в рамках реактивных архитектур были разработаны и другие системы, но, как правило, они не могли справиться с задачами реального уровня сложности.
Учитывая вышесказанное, многие исследователи считают, что ни первый, ни второй подходы не дают оптимального результата при разработке агентов и MAC [Wray et al., 1994]. Поэтому попытки их объединения предпринимаются постоянно и уже привели к появлению разнообразных гибридных архитектур. По сути дела, именно гибридные архитектуры и используются в настоящее время во всех, сколько-нибудь значимых проектах и системах.
Мы рассмотрели основные подходы к разработке мультиагентных систем. Архитектуры MAC и их характеристики, широко используемые в настоящее время, представлены в табл. 9.2.
Таблица 9.2. Архитектуры MAC и их характеристики
-
Архитектура
Представление знаний
Модель мира
Решатель
Интеллектуальная
Реактивная
Гибридная
Символьное Автоматное Смешанное
Исчисление
Граф
Гибридная
Логический Автомат
Машина вывода
Организация MAC на принципах ИИ имеет преимущества с точки зрения удобства использования методов и средств символьного представления знаний, разработанных в рамках искусственного интеллекта. Но в то же время создание точной и полной модели представления мира, процессов и механизмов рассуждения в нем представляют здесь существенные трудности, уже неоднократно обсуждавшиеся в данной книге в связи с рассмотрением вопросов приобретения знаний.
Реактивный подход позволяет наилучшим образом использовать множество достаточно простых образцов поведения для реакции агента на определенные стимулы для конкретной предметной области. Однако применение этого подхода ограничивается необходимостью полного ситуативного анализа всех возможных активностей агентов.
Недостатки гибридных архитектур связаны с «непринципиальным» проектированием MAC со всеми вытекающими отсюда последствиями. Так, например, многие гибридные архитектуры слишком специфичны для приложений, под которые они разрабатываются. Но, несмотря на указанные недостатки, гибридные архитектуры позволяют гибко комбинировать возможности всех подходов. Вот почему в последнее время явно прослеживается тенденция разработки и использования именно гибридных МАС-архитектур и систем агентов [Sloman, 1996].