
- •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 - агент поиска и выбора онтологий
3.4.4. Объектно-структурный подход (осп)
Можно предложить в качестве базисной парадигмы методологии структурного анализа знаний и формирования поля знаний Pz обобщенный объектно-структурный подход (ОСП), последовательно разработанный от математического обоснования до технологии и программной реализации [Гаврилова, 1995].
Основные постулаты этой парадигмы заимствованы из ООП и расширены.
1. Системность (взаимосвязь между понятиями).
2. Абстрагирование (выявление существенных характеристик понятия, которые отличают его от других).
3. Иерархия (ранжирование на упорядоченные системы абстракций).
4. Типизация (выделение классов понятий с частичным наследованием свойств в подклассах).
5. Модульность (разбиение задачи на подзадачи или «возможные миры»).
6. Наглядность и простота нотации.
Использование пятого постулата ОСП в инженерии знаний позволяет строить глобальные БЗ с возможностью выделить локальные задачи с помощью горизонтальных и вертикальных сечений на отдельные модули пространства-описания предметной области.
Шестой постулат внесен в список последним, но не по значимости. В инженерии знаний формирование Pz традиционно является критической точкой [Гаврилова, Червинская, Яшин, 1988; Гаврилова, Червинская, 1992], так как создаваемая неформальная модель предметной области должна быть предельно ясной и лаконичной. Традиционно языком инженерии знаний были диаграммы, таблицы и другие графические элементы, способствующие наглядности представлений. Именно поэтому предлагаемый в данной работе подход к языку связан с возможной визуализацией процесса проектирования.
ОСП позволяет наглядно и компактно отобразить объекты и отношения предметной области на основе использования шести постулатов.
Объектно-структурный подход подразумевает интегрированное использование сформулированных выше постулатов от первой до последней стадий разработки БЗ интеллектуальных и обучающих систем. На основе ОСП предлагается алгоритм объектно-структурного анализа (ОСА) предметной области, позволяющего оптимизировать и упорядочить достаточно размытые процедуры структурирования знаний.
Стратификация знаний
Основы ОСА были предложены автором еще в работах [Гаврилова, 1989; Гаврилова, Красовская, 1990] и успешно применялись при разработке ЭС МИКРО-ЛЮШЕР [Гаврилова, Тишкин, Золотарев, 1989] и АВЭКС [Гаврилова, Минкова, Карапетян,1992].
ОСА подразумевает дезагрегацию ПО, как правило, на восемь страт или слоев (табл. 3.1 и 3.2).
Таблица 3.1. Стратификация знаний предметной области
s_1 |
ЗАЧЕМ-знания |
Стратегический анализ: назначение и функции системы |
s_2 |
КТО-знания |
Организационный анализ: коллектив разработчиков системы |
s_3 |
ЧТО-знания |
Концептуальный анализ: основные концепты, понятийная структура |
s_4 |
КАК-знания |
Функциональный анализ: гипотезы и модели принятия решения |
s_5 |
ГДЕ-знания |
Пространственный анализ: окружение, оборудование, коммуникации |
s_6 |
КОГДА-знания |
Временной анализ, временные параметры и ограничения |
s_7 |
ПОЧЕМУ-знания |
Каузальный или причинно-следственный анализ: формирование подсистемы объяснений |
s_8 |
СКОЛЬКО-знания |
Экономический анализ: ресурсы, затраты, прибыль, окупаемость |
Объектно-структурный анализ подразумевает разработку и использование матрицы ОСА (см. табл. 3.2), которая позволяет всю собранную информацию дезагрегировать последовательно по слоям-стратам (вертикальный анализ), а затем по уровням - от уровня проблемы до уровня подзадачи (горизонтальный анализ). Или наоборот - сначала по уровням, а потом по стратам.
Таблица 3.2. Матрица объектно-структурного анализа
Уровни Страты |
Уровень области u1 |
Уровень проблемы u2 |
Уровень задачи u3 |
Уровень подзадачи u4 |
... |
Un |
Стратегический анализ s1 |
Е11 |
Е12 |
Е13 |
Е14 |
|
Е1n |
Организационный анализ s2 |
Е21 |
|
|
|
|
|
Концептуальный анализ s3 |
Е31 |
|
|
|
|
|
Функциональный анализ s4 |
E41 |
|
|
|
|
|
Пространственный анализ s5 |
Е51 |
|
|
|
|
|
Временной анализ s6 |
Е61 |
|
|
|
|
|
Каузальный анализ s7 |
Е71 |
|
|
|
|
|
Экономический анализ s8 |
E81 |
|
|
|
|
|
.... |
|
|
|
|
Еij |
|
Sm |
Еm1 |
|
|
|
|
Emn |
При необходимости число страт может быть увеличено. В свою очередь знания каждой страты подвергаются дальнейшему ОСА и декомпозируются на составляющие
где m — номер уровня, n — номер страты, а етп принадлежит множеству К всех концептов (понятий) предметной области.
Матрица
(1) является матрицей над К.
Пусть М (К) — совокупность всех m
n
матриц над К.
Тогда можно определить клеточную матрицу
Е, в которой m
= ml
+ ... + mk,
n = n1 + ... + n1,
где m и n — целые положительные числа. Е Mm,n(К), и ее можно представить в виде:
(2)
Где
Матрица
Е является несимметричной, так как часть
клеточных элементов
могут подвергаться декомпозиции, а
часть представляет некоторые базисные
атомарные концепты из К, не подлежащие
детализации.
Предлагаемый подход предполагает реализацию концепции последовательного генезиса ОСП через ОСА к объектно-структурной разработке (ОСР).
Алгоритм ОСА
Алгоритм ОСА (объектно-структурного анализа) предназначен для детального практического структурирования знаний ПО. В основе ОСА заложен алгоритм заполнения ОСА-матрицы Еmn. Алгоритм содержит последовательность аналитических процедур, позволяющих упростить и оптимизировать процесс структурирования. Алгоритм разделяется на две составляющие:
• А_I. Глобальный (вертикальный) анализ, включающий разбиение ПО на методологические страты (что-знания, как-знания и т. д.) на уровне всей ПО. В результате заполняется первый столбец матрицы (2).
• А_II. Анализ страт (горизонтальный), включающий построение многоуровневых структур по отдельным стратам. Число уровней п определяется особенностями стратифицированных знаний ПО и может существенно отличаться для разных страт. С точки зрения методологии n<3 свидетельствует о слабой проработке ПО.
Первый уровень соответствует уровню всей ПО (уровень области). Второй -уровню проблемы, выделенной для решения. Третий - уровню конкретной решаемой задачи. Дальнейшие уровни соответствуют подзадачам, если имеет смысл их выделять.
При этом возможно как последовательное применение восходящей (bottom-up) и нисходящей концепций (top-down), так и их одновременное применение.
Глобальный анализ
Технология глобального анализа сводится к разбиению пространства основной задачи структурирования ПО на подзадачи, соответствующие особенностям ПО. Для разработки интеллектуальных систем существует минимальный набор s-страт, обеспечивающий формирование БЗ. Минимальный набор включает три страты:
• s3 — формирование концептуальной структуры Sk;
• s4 — формирование функциональной структуры Sf;
• s7 — формирование подсистемы объяснений So.
Формирование остальных страт позволяет существенно оптимизировать процесс разработки и избежать многих традиционных ошибок проектирования. Страты s4 и s5 являются дополнительными и формируются в случаях, когда знания предметной области существенно зависят от временных и пространственных параметров (системы реального времени, планирование действий роботов и т. п.).
Алгоритм А_1 глобального анализа может быть кратко сформулирован следующим образом:
• А_1_1. Собрать все материалы по идентификации задачи и по результатам извлечения знаний.
• А_1_2. Выбрать набор страт N, подлежащих формированию (Nmin=3).
• А_1_3. Отобрать всю информацию по первой выбранной страте (i-1, где i -номер из выбранного набора страт N).
• А_1_4.
Повторить шаг А_1_3 для i+1
для всех выбранных страт до i
N.
• А_1_5. Если часть информации останется неиспользованной, увеличить число страт и повторить для новых страт шаг А_1_3; иначе перейти к последовательной реализации алгоритмов горизонтального анализа страт А_2.
Анализ страт
Последовательность шагов горизонтального анализа зависит от номера страты, но фактически сводится к реализации дуальной концепции структурирования для решения конкретной подзадачи.
Ниже предлагается алгоритм ОСА для одной из обязательных страт s3 (ЧТО-анализ), результатом, которого является формирование концептуальной структуры предметной области Sk.
• А_2_3_1. Из группы информации, соответствующей ЧТО-страте, выбрать все значимые понятия и сформулировать соответствующие концепты.
• А_2_3_2. Выявить имеющиеся иерархии и зафиксировать их графически в виде структуры.
• А_2_3_3. Детализировать концепты, пользуясь нисходящей концепцией (top-down).
• А_2_3_4. Образовать метапонятия по концепции (bottom-up).
• А_2_3_5. Исключить повторы, избыточность и синонимию.
• А_2_3_6. Обсудить понятия, не вошедшие в структуру Sf, с экспертом и перенести их в другие страты или исключить.
• А_2_3_7. Полученный граф или набор графов разделить на уровни и обозначить - согласно матрице ОСА (1).
Аналогичные алгоритмы разработаны для всех страт и апробированы при разработке экспертных систем ПРОГОР и АВЭКС.