- •Глава 1
- •Искусственный интеллект
- •Фактуальное и операционное знание
- •Признаки иис
- •Системы с интеллектуальным интерфейсом
- •Экспертные системы
- •Самообучающиеся системы
- •Адаптивные информационные системы
- •Языки программирования для ии и языки представления знаний
- •Глава 2
- •Данные и знания
- •Модели представления знаний
- •Глава 3
- •Системы продукций
- •Стратегии поиска в пространстве состояний
- •Рекурсивный поиск
- •Глава 4
- •Введение в экспертные системы. Определение и структура
- •Классификация экспертных систем
- •Коллектив разработчиков
- •Технология проектирования и разработки
- •Глава 5
- •Поле знаний
- •Стратегии получения знаний
- •Теоретические аспекты извлечения знаний
- •Теоретические аспекты структурирования знаний
- •Технологии инженерии знаний
- •Глава 6
- •Задача классификации
- •Деревья решений
- •Искусственные нейронные сети
- •Глава 7
- •Способы аналитической обработки данных
- •Некоторые бизнес-приложения Data Mining
- •Типы закономерностей
- •Процесс нахождения нового знания
- •Глава 1 2
- •Глава 2 15
- •Глава 3 23
- •Глава 4 45
- •Глава 5 54
- •Глава 6 62
- •Глава 7 88
Теоретические аспекты структурирования знаний
Разделение стадий извлечения и структурирования знаний является весьма условным, так как уже извлекая знания, необходимо начинать работу по структурированию и формированию поля знаний.
Иерархический подход
Проектирование сложных систем и методы структурирования информации традиционно использовали иерархический подход как методологический прием расчленения формально описанной системы на уровни (или блоки, или модули). На высших уровнях иерархии используются наименее детализованные представления, отражающие только самые общие черты и особенности проектируемой системы. На следующих уровнях степень подробности возрастает, при этом система рассматривается не в целом, а отдельными блоками.
В теории САПР такой подход называется блочно-иерархическим (БИП). Одно из преимуществ БИП состоит в том, что сложная задача большой размерности разбивается на последовательно решаемые группы задач малой размерности.
На каждом уровне вводятся свои представления о системе и элементах. Элемент k-го уровня является системой для уровня k — 1. Продвижение от уровня к уровню имеет строгую направленность, определяемую стратегией проектирования — сверху вниз или снизу вверх.
Предлагаемый ниже объектно-структурный подход позволяет объединить две, обычно противопоставляемые, стратегии проектирования — нисходящую или дедуктивную (top-down) с последовательной декомпозицией объектов и процессов сверху вниз и восходящую или индуктивную (bottom-up) с постепенным обобщением понятий и увеличением степени абстрактности описаний снизу вверх.
Синтез этих стратегий, а также включение возможности итеративных возвратов на предыдущие уровни обобщений позволили создать дуальную концепцию, предоставляющую аналитику широкую палитру возможностей на стадии структурирования знаний как для формирования концептуальной структуры предметной области, так и для функциональной структуры.
Нисходящая концепция (top-down) декларирует движение n ^ n + 1, где n — n-й уровень иерархии понятий ПО (предметной области) с последующей детализацией понятий, принадлежащих соответствующим уровням.
Восходящая концепция (bottom-up) предписывает движение n ^ n — 1 с последовательным обобщением понятий.
Основанием для прекращения агрегирования и дезагрегирования является полное использование словаря терминов, которым пользуется эксперт, при этом число уровней является значимым фактором успешности структурирования.
Традиционные методологии структурирования
Существующие подходы к проектированию сложных систем можно разделить на два больших класса.
Структурный (системный) подход или анализ, основанный на идее алгоритмической декомпозиции, где каждый модуль системы выполняет один из важнейших этапов общего процесса.
Объектный подход, связанный с декомпозицией и выделением не процессов, а объектов, при этом каждый объект рассматривается как экземпляр определенного класса.
В структурном анализе разработано большое число выразительных средств для проектирования, в том числе графических: диаграммы потоков данных (DFD — data-flow diagrams), структурированные словари (тезаурусы), языки спецификации систем, таблицы решений, стрелочные диаграммы «объект—связь» (ERD — entity-relationship diagrams), диаграммы переходов
(состояний), деревья целей, блок-схемы алгоритмов, средства управления проектом, модели окружения.
Множественность средств и их некоторая избыточность объясняются тем, что каждая предметная область, используя структурный подход как универсальное средство моделирования, вводила свою терминологию, наиболее подходящую для отражения специфики конкретной проблемы. Поскольку инженерия знаний имеет дело с широким классом ПО (это «мягкие» ПО), встает задача разработки достаточно универсального языка структурирования.
Объектный (объектно-ориентированный) подход, возникший как технология программирования больших программных продуктов, основан на следующих основных элементарных понятиях: объекты, классы как объекты, связанные общностью структуры и свойств, и классификации как средства упорядочения знаний; иерархии с наследованием свойств; инкапсуляции как средства ограничения доступа; методы и полиморфизм для определения функций и отношений.
Широкое распространение объектно-ориентированных языков программирования C++, CLOS, Smalltalk и др. успешно демонстрирует жизнеспособность и перспективность этого подхода.
Объектно-структурный подход
Можно предложить в качестве базисной парадигмы методологии структурного анализа знаний и формирования поля знаний обобщенный объектноструктурный подход, последовательно разработанный от математического обоснования до технологии и программной реализации.
Основные постулаты этой парадигмы заимствованы из объектно-ориентированного подхода и расширены:
системность (взаимосвязь между понятиями);
абстрагирование (выявление существенных характеристик понятия, которые отличают его от других);
иерархия (ранжирование на упорядоченные системы абстракций);
типизация (выделение классов понятий с частичным наследованием некоторых свойств в подклассах);
модульность (разбиение задачи на подзадачи или «возможные миры»);
наглядность и простота нотации.
На основе объектно-структурного подхода предлагается алгоритм объектно-структурного анализа предметной области, позволяющего оптимизировать и упорядочить достаточно размытые процедуры структурирования знаний.
