
- •Т. А. Гаврилова в. Ф. Хорошевский
- •Санкт-Петербург
- •Предисловие
- •Об авторах
- •1.1.2. Зарождение нейрокибернетики
- •1.1.3. От кибернетики «черного ящика» к ии
- •1.1.4. История искусственного интеллекта в России
- •1.2. Основные направления исследований в области искусственного интеллекта
- •1.2.1. Представление знаний и разработка систем, основанных на знаниях (knowledge-based
- •1.2.2. Программное обеспечение систем
- •1.2.3. Разработка естественно-языковых интерфейсов и машинный перевод (natural
- •1.2.4. Интеллектуальные роботы (robotics)
- •1.2.5. Обучение и самообучение (machine
- •1.2.6. Распознавание образов (pattern
- •1.2.7. Новые архитектуры компьютеров (new
- •1.2.8. Игры и машинное творчество
- •1.2.9. Другие направления
- •1.3. Представление знаний и вывод на знаниях
- •1.3.1. Данные и знания
- •1.3.2. Модели представления знаний
- •Структура фрейма
- •1.3.3. Вывод на знаниях
- •1.4. Нечеткие знания
- •1.4.1. Основы теории нечетких множеств
- •1.4.2. Операции с нечеткими знаниями
- •1.5. Прикладные интеллектуальные системы
- •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.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.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.2. Имитация консультаций
- •4.6.3. Интегрированные среды приобретения знаний
- •4.6.4. Приобретение знаний из текстов
- •4.6.5. Инструментарий прямого приобретения
- •Формы сообщений
- •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.1.3. Инструментальные средства поддержки разработки систем по
- •6.2. Методологии создания и модели жизненного цикла интеллектуальных систем
- •6.3. Языки программирования для ии и языки представления знаний
- •6.4. Инструментальные пакеты для ии
- •6.5. WorkBench-системы
- •Пример разработки системы, основанной на знаниях
- •7.1. Продукционно-фреймовый япз pilot/2
- •7.1.1. Структура пилот-программ и управление выводом
- •7.1.2. Декларативное представление данных и знаний
- •7.1.3. Процедурные средства языка
- •7.2. Психодиагностика — пример предметной области для построения экспертных систем
- •7.2.1. Особенности предметной области
- •7.2.2. Батарея психодиагностических эс «Ориентир»
- •7.3. Разработка и реализация психодиагностической эс «Cattell»
- •7.3.1. Архитектура системы и ее база знаний
- •7.3.2. Общение с пользователем и опрос испытуемых
- •7.3.3. Вывод портретов и генерация их текстовых представлений
- •7.3.4. Помощь и объяснения в эс «Cattell»
- •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.8.1. Основные подходы
- •8.3.2. Инициатива (ка)2 и инструментарий Ontobroker
- •8.3.3. Проект shoe — спецификация онтологии и инструментарий
- •8.3.4. Другие подходы и тенденции
- •9.1.2. Основные понятия
- •9.2.2. Инструментарий AgentBuilder
- •9.2.3. Система Bee-gent
- •9.3. Информационный поиск в среде Интернет
- •9.3.1. Машины поиска
- •9.3.2. Неспециализированные и специализированные поисковые агенты
- •9.3.3. Системы интеллектуальных поисковых агентов
- •Заключение
- •Литература
- •Содержание
- •Базы знаний интеллектуальных систем
- •196105, Санкт-Петербург, ул. Благодатная, 67.
- •197110, Санкт-Петербург, Чкаловский пр., 15.
8.2.3. Методологии создания и «жизненный цикл» онтологии
Как уже отмечалось'выше, разработчики систем, основанных на знаниях, сталкиваются с проблемой «узкого горлышка» приобретения знаний. Аналогичная проблема существует и при создании онтологии. Но, в отличие от разработчиков интеллектуальных систем, создателей онтологии ждут и дополнительные проблемы, связанные с отсутствием сколько-нибудь общих и верифицированных методологий, определяющих, какие «процедуры» должны выполняться в процессе разработки и на каких стадиях разработки онтологии они должны выполняться. В настоящее время существует лишь несколько предметно-независимых методологий, ориентированных на построение онтологии [Gruninger et al., 1995; Ushoid, et al., 1996; Fernandez et al., 1997].
Следует сразу отметить, что эти подходы и методологии базируются на следующих принципах проектирования и реализации онтологии, предложенных. Грубером [Gmber, 1993]:
1. Ясность (Clarity) — онтология должна эффективно передавать смысл введенных терминов. Определения должны быть объективными, хотя мотивация введения терминов может определяться ситуацией или требованиями вычислительной эффективности. Для объективизации определений должен использоваться четко фиксированный формализм, при этом целесообразно задавать определения в виде логических аксиом.
2. Согласованность (Coherence) — означает, что по крайней мере все определения должны быть логически непротиворечивы, а все утверждения, выводимые в онтологии, не должны противоречить аксиомам.
3. Расширяемость (Extendibility) — онтология должна быть спроектирована так, чтобы обеспечивать использование разделяемых словарей терминов, допускающих возможность монотонного расширения и/или специализации без необходимости ревизии уже существующих понятий.
4. Минимум влияния кодирования (Minimal encoding bias) — концептуализация, лежащая в основе создаваемой онтологии, должна быть специфицирована на уровне представления, а не символьного кодирования. Этот принцип связан с тем, что агенты, разделяющие онтологию, могут быть реализованы в различных системах представления знаний.
5. Минимум онтологических обязательств (Minimal ontological commitment) — онтология должна содержать только наиболее существенные предположения о моделируемом мире, чтобы оставлять свободу расширения и специализации. Отсюда следует, что онтологии базируются на «слабых» теориях, так как цель их создания и использования состоит, прежде всего, в том, чтобы «говорить» о предметной области, в отличие от БЗ, которые могут содержать знания, необходимые для решения задач и/или ответов на вопросы.
Методологию и «жизненный цикл» создания онтологии обсудим на примере подхода METHONTOLOGY, разработанного Гомез-Перезом (Gomez-Perez) с коллегами, в рамках которого реализуются принципы Грубера, а также разработано программное окружение спецификации онтологии ODE (Ontology Design Environment) [Blazquez et al., 1998].
В рамках этого подхода выделяются следующие процедуры в «жизненном цикле» создания онтологии: управление проектом, собственно разработка и поддержка разработки.
Процедуры управления проектом включают планирование, контроль и гарантии качества. Планирование определяет, какие задачи должны быть выполнены, как они организуются, как много времени и какие ресурсы нужны для их выполнения. Контроль гарантирует, что запланированные задачи выполнены и именно так, как это предполагалось. Гарантии качества нужны для того, чтобы быть уверенным в том, что компоненты и продукт в целом находятся на заданном уровне.
Собственно разработка включает спецификацию, концептуализацию, формализацию и реализацию. Спецификация определяет цели создания онтологии, ее предполагаемое использование и потенциальных пользователей. Концептуализация обеспечивает структурирование предметных знаний в виде значимой эксплицитной модели. Формализация трансформирует концептуальную модель в формальную или «вычислительную». Наконец, в процессе реализации вычислительная модель программируется на соответствующем языке представления знаний.
Процедуры поддержки включают действия, выполняемые одновременно с разработкой, без которых онтология не может быть построена. Они представлены процедурами приобретения знаний, оценки, интеграции, документирования и управления конфигурациями. Приобретение знаний аккумулирует знания в заданной предметной области. Оценка дает технические решения по оценке онтологии, соответствующего программного обеспечения и документации как в процессе выполнения каждой фазы, так и между фазами. Интеграция требуется, когда строится новая онтология с использованием уже существующих. Документирование дает детальную, понятную и исчерпывающую Информацию о каждой фазе и продукте в целом. Управление конфигурациями необходимо для архивации всех версий документации, программного обеспечения и кода онтологии, а также для контроля за изменениями.
Общая схема «жизненного цикла» создания онтологии в рамках подхода МЕТHONTOLOGY представлена на рис. 8.7.
Заметим, что процесс построения онтологии здесь распадается на серию подпроцессов по созданию промежуточных представлений. При этом выполнение отдельных подпроцессов не последовательное (в смысле «водопадной» модели жизненного цикла, обсуждавшейся в предыдущей главе), а определяется полнотой и точностью уже накопленных знаний. Однако, как показывает опыт, сначала строится глоссарий терминов (Glossary of Terms), затем деревья классификации концептов (Concept Classification Trees) и диаграммы бинарных отношений (Binary Relations Diagrams). И только после этого — остальные промежуточные представления.
Для иллюстрации результатов, получаемых на разных этапах создания онтологии в рамках подхода METHONTOLOGY, будем предполагать, следуя работе [Blazquez et al., 1998], что предметной областью разработки является сообщество специалистов по приобретению знаний, работающих в контексте инициативы (КА)2 [Benjamins et al., 1998].
Рис. 8.7. «Жизненный цикл» создания онтологии
в рамках подхода METHONTOLOGY
Согласно обсуждаемой методологии сначала здесь строится глоссарий терминов, включающий все термины (концепты и их экземпляры, атрибуты, действия и т. п.), важные для предметной области, и их естественно-языковые описания. Фрагмент такого глоссария представлен в табл. 8.2.
Таблица 8.2.
Фрагмент глоссария
Термин |
Описание термина |
Academic Staff
Researcher |
«Он\она может быть лектором или исследователем. Одна из возможных обязанностей — руководство аспирантами» «Он\она является членом Academic Staff, может быть членом исследовательской группы и кооперироваться с другими исследователями» |
Nicola Guarino
Weight ……….. |
«Он является исследователем CNR National Research Council. Его исследования связаны с онтологиями. Он работает по проекту OntoSeek» «Вес человека. Измеряется в килограммах» «………………………………………………………» |
Когда глоссарий терминов достигает «существенного» объема, строятся деревья классификации концептов. Как правило, при этом используются отношения типа subclass-of и некоторые другие таксономические отношения. Таким образом, идентифицируются основные таксономии предметной области, а каждая таксономия, согласно рассматриваемой методологии, дает в конечном счете онтологию. В рамках инициативы (КА)2 идентифицировано несколько таксономии, основные из которых people, publications, events, organizations и research topics. Фрагменты некоторых из них представлены на рис. 8.8.
Рис. 8.8. Фрагменты таксономии, выделяемых в рамках
инициативы (КА)2
Следующим шагом является построение «Ad hoc» диаграмм бинарных отношений, целью создания которых является фиксация отношений между концептами одной или разных онтологии. Заметим, что в дальнейшем эти диаграммы могут послужить исходным материалом для интеграции разных онтологии. Пример одной из таких диаграмм приведен на рис. 8.9.
Рис. 8.9. Фрагмент диаграммы бинарных отношений,
выделяемых в рамках инициативы (КА)2
После построения представлений, фиксированных выше, для каждого дерева классификации концептов строятся:
1. Словарь концептов (Concept Dictionary), содержащий все концепты предметной области, экземпляры таких концептов, атрибуты экземпляров концептов, отношения, источником которых является концепт, а также (опционально) синонимы и акронимы концепта. Фрагмент такого словаря представлен в табл. 8.3.
2. Таблица бинарных отношений (Table of Binary Relations) для каждого «Ad hoc» отношения, исходный коннепт которого содержится в классификационном дереве. Для каждого отношения фиксируется его имя, имена концепта-источника и целевого концепта, инверсное отношение и т. п. характеристики. Пример двух таблиц этого тина представлен в табл. 8.4, 8.5.
3. Таблица атрибутов экземпляра (Instance Attribute Table) для каждого экземпляра из словаря концептов. Основные характеристики здесь следующие: имя атрибута, тип значения, единица измерения, точность, диапазон изменения, значение «по умолчанию», атрибуты, которые могут быть выведены с использованием данного, формула или правило для вывода атрибута и др. Пример описания атрибутов экземпляра Weight показан в табл. 8.6.
4. Таблица атрибутов класса (Class Attribute Table) для каждого класса из словаря концептов с аналогичными характеристиками.
5. Таблица логических аксиом (Logical Axioms Table), в которой даются определения концептов через всегда истинные логические выражения. Определение каждой аксиомы включает ее имя, естественно-языковое описание, концепт, к которому аксиома относится, атрибуты, используемые в аксиоме, логическое выражение, формально описывающее аксиому, и др. Пример описания аксиомы приведен в табл. 8.7.
6. Таблица констант (Constants Table), где для каждой константы указывается ее имя, естественно-языковое описание, тип значения, само значение, единица измерения, атрибуты, которые могут быть выведены с использованием данной константы, и т. п.
7. Таблица формулы (Formula Table) для каждой формулы, включенной в таблицу атрибутов экземпляра. Каждая таблица этого типа, помимо собственно формулы, должна специфицировать ее имя, атрибут, выводимый с помощью этой формулы, естественно-языковое описание, точность, ограничения, при которых возможно использовать формулу, и др.
8. Деревья классификации атрибутов (Attribute Classification Trees), которые графически показывают соответствующие атрибуты и константы, используемые для вывода значения корневого атрибута и формулы, применяемые для этого. По сути дела, эти деревья используются для проверки того, что все атрибуты, представленные в формуле, имеют описания и ни один из атрибутов не пропущен.
9. Таблица экземпляров (Instance Table) для каждого входа в словарь концептов. Здесь специфицируется имя экземпляра, его атрибуты и их значения. Пример фрагмента таблицы экземпляров представлен в табл. 8,8.
Таблица 8.3.
Фрагмент словаря концептов
Имя концепта .... Экземпляр |
Атрибуты экземпляра |
Отношение |
Academic-Staff — Person |
Age First-Name Last-Name Photo Weight …………………… |
Supervises Has-Publications Editor-of ………………… |
Researcher Gomez-Perez |
…………………….. |
Cooperates-with Research -Interest Member-of-Research-Group …………………… |
Таблица 8.4.
Фрагмент описания отношения Employs
Имя отношения |
Employs |
Исходный концепт |
Organization : |
Кардинальность |
(1,n) |
Целостный концепт |
Employee |
Математические свойства |
— |
Инверсные отношения |
Affiliation |
Ссылки > |
— |
Таблица 8.5.
Фрагмент описания отношения Affiliation
Имя отношения |
Affiliation |
Исходный концепт |
Employee |
Кардинальность |
(1,n) |
Целостный концепт |
Organization |
Математические свойства |
_ |
Инверсные отношения |
Employs |
Ссылки |
— |
Таблица 8.6.
Фрагмент описания атрибутов экземпляра Weight
Имя атрибута экземпляра |
Weight |
Тип значения |
Mass-Quantity |
Единица измерения |
Kilogram |
Точность |
0.001 |
Диапазон |
[0,200] |
Значение «по умолчанию» |
— |
Кардинальность |
(1,1) |
Выводится из атрибута экземпляра |
— |
Выводится из атрибута класса |
— |
Выводится из констант |
_ |
Формула |
— |
Таблица 8.7.