УДК 618.3:50
ПРАГМАТИКА ОНТОЛОГИЙ:
ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ МОДЕЛЬ ЗНАНИЙ
О ПРЕДМЕТНОЙ ОБЛАСТИ
[1]
Излагается опыт разработки онтологий как объектно-ориентированных моделей знаний о предметной области. Анализируемое решение ориентировано на построение минимальной семантически замкнутой модели представления знаний, включающей метаонтологию, онтологии предметных областей и денотативные объектные модели. Обсуждаются проблемы моделирования отношений, локализации в моделях набора средств разработки приложений и другие актуальные вопросы обработки сложных объектных моделей.
Введение
С самого начала «большой» отечественной дискуссии об онтологиях (круглый стол КИИ-2000), когда «западные» варианты толкования этого понятия уже были кратко представлены в учебнике [Гаврилова и др., 2000] и онтологии отводилось место посредника между тезаурусом и моделью предметной области (ПрО), отмечалось, что на практике часто онтология и есть модель ПрО [Нариньяни, 2001]. При уточнении, что речь идет о концептуальных моделях, фиксирующих понятийную структуру ПрО, вырисовывается прагматическое понимание роли онтологий в прикладных интеллектуальных системах, которое хорошо согласовывалось с ранее опубликованными точками зрения о концептуальной составляющей моделей ПрО (например, [Тамм и др., 1987], [Христьяновский и др., 1992]). В целом формирование представлений об онтологиях следовало руслу эпистемической логики и способствовало выявлению разновидностей знаний: объективных, т. е. «знаний о действительности», и субъективных, характеризующих представления конкретного человека или конкретной группы «договаривающихся людей» в виде организованной системы терминов и спецификации их допустимых значений, т. е. онтологических знаний. Однако развитие этой темы приводит к проблеме отражения в описании знаний о ПрО философского тезиса об онтологической относительности [Куайн, 1996], строгое решение которой, по-видимому, возможно лишь в случае прагматической интерпретации онтологии как объектно-ориентированной (ОО) модели данных компьютерных приложений, отражающих ПрО и манипулирующих этим отражением [Смирнов, 2000], [Смирнов, 2004].
В предлагаемом материале анализ понятия и роли онтологии целиком переведен в плоскость прагматики, т. е. обсуждения актуальных вопросов моделирования данных для объектно-ориентированных приложений. Это может оказаться полезным исследователям философии и практики информационно-логического моделирования и анализа ПрО на основе ОО-представления знаний, а также разработчикам SDK и CASE-инструментариев для разработки ОО-приложений, рассматриваемых как приложения баз данных и как системы, основанные на знаниях.
1. Опыт разработки модели данных для приложений
1.1. Объектная модель предметной области приложения
Обоснование ОО-подхода состоит в том, что при формулировке знаний, составляющих содержание научных теорий и инженерных дисциплин, фундаментальную роль играют суждения о наличии дискретных объектов и существовании отношений между ними. Множество объектов, рассматриваемых в контексте всякой задачи как приложения некоторой теории, образует ПрО задачи. На этом множестве задаются отношения: унарные, которые интерпретируются как имманентные агрегируемые свойства (или атрибуты) объектов, и произвольной арности, или собственно отношения, которые описывают различные ассоциации объектов. Мощность моделирования, присущая бинарным отношениям, позволяет ограничиться ими при описании ПрО, т. е. рассматривать связи между отдельными парами объектов. Картина ПрО в виде сети связанных объектов в теории представления знаний известна как семантическая сеть, наглядным изображением которой служит раскрашенный орграф.
Вершины сети, представляющие объекты ПрО, распадаются на две категории: экземпляры и классы. Подсеть, состоящая из вершин-классов и соединяющих эти вершины дуг, описывает понятийную структуру ПрО, т. е. задает онтологию ПрО. Подсеть вершин-экземпляров является денотативной объектной моделью ПрО, в которой типы вершин и дуг определяются онтологией ПрО.
При решении задач онтология представляет теорию, а денотативная модель конкретизирует эту теорию применительно к актуальной ситуации в моделируемой ПрО. Множественность таких ситуаций делает выгодным иметь раздельные спецификации для онтологической и денотативной компонент объектной модели ПрО, а при решении задач использовать понятие контекста моделирования как актуальной пары (онтология ПрО, денотативная модель ПрО) [Смирнов, 2004].
1.2. Моделирование связей между объектами
В рафинированной ОО-модели данных, включающей лишь объекты, классы и атрибуты, отсутствует механизм для описания общего вида связей между объектами, необходимый для моделирования ПрО. Потенциал ссылочных атрибутов в этом смысле ограничен конструированием сложных объектов из простых, т. е. построением иерархий агрегаций, либо требует описания отношений как объектов ПрО, что делает понятие отношения излишним, и, следовательно, противоречит базовому пониманию ПрО.
Для манипулирования сложно связанными данными ОО-системы оснащаются специальными классами. И поскольку практически значимые приложения предполагают сохранение объектов в некоторой ОО базе данных, то преимуществом обладают открытые реализации механизмов связывания, например, такие как класс SIMSET для имитации множеств в СИМУЛА [Дал и др., 1969].
На рис. 1 приведен апробированный вариант устройства онтологии как ОО модели данных. Эта модель включена в последовательность {Наборы (аналог SIMSET), Модель данных системы разработки приложений (МДСРП), Онтологии ПрО приложений}, каждое звено которой образует семантически замкнутую и законченную абстракцию. В некотором смысле «за» последним вариабельным звеном этой цепи - онтологией ПрО, может следовать лишь «веер» семантически эквивалентных денотативных моделей этой ПрО, число которых, вообще говоря, не ограничено.
Для описания связей между объектами предлагается внутренний для МДСРП данных класс Valence, тип которого совпадает с типом класса НАБОР. Объект, агрегирующий объект класса Valence (т. е. обладающий атрибутом-валентностью), располагает динамической структурой данных - набором объектов класса ССЫЛКА. Каждой прямой валентности соответствует одноименная инвертированная валентность, имя которой помечается специальным тегом (на рис. 1 символ «#»). Связь между объектами может быть установлена лишь при наличии у одного из них прямой, а у другого одноименной инвертированной валентности и фиксируется встречными ссылками на связываемые объекты. Такой механизм вполне соответствует ОО-парадигме, обеспечивая гибкость представления и манипулирования связями в объектных моделях.
1.3. Организация динамической памяти объектов
Стандартное для ОО-подхода понимание и конструирование объекта как идентифицированного агрегата атрибутов или как иерархии таких агрегаций может оказаться стесняющим обстоятельством при описании сложных ПрО и работе со сложными моделями. Например, в инженерии знаний чрезвычайно важную роль играет соответствие между именами и обозначаемыми ими объектами ПрО: в ходе вывода, вычислений и т. п. могут выясняться новые имена объекта и денонсироваться ранее известные, что интерпретируется как получение новых знаний. Другой важный пример – соотнесение с объектом траектории его состояний во времени. Поэтому желательно снабдить объекты динамической памятью.


Рис.1. Объектно-ориентированная модель данных для конструирования онтологий: объекты-классы указаны прописными буквами, объекты-атрибуты – курсивом; жирные стрелки реализуют отношения «является_видом», тонкие - «является_частью»; подчеркнуты терминальные классы (типы)
С этой целью всякий объект может агрегировать объекты внутреннего для МДСРП класса Book, тип которого совпадает с типом внутреннего класса НАБОР. Членами таких наборов – книг динамической памяти - являются объекты класса СТРАНИЦА, атрибут Текст которых играет роль многоцелевой ячейки памяти. Согласно рис. 1 каждый объект априори снабжается тремя книгами динамической памяти: Обозначения предлагается использовать для хранения кореферентных имен; в книгу Ограничения помещаются выражения, интерпретация которых позволяет контролировать корректность моделей в рамках некоторой системы взглядов, теории; книга Отображения введена для хранения данных, используемых для отображения объекта системами визуализации моделей.
1.4. Обязательные классы прикладных онтологий
1.4.1. Представление и хранение запросов к объектной модели. Как уже отмечалось, для хранения объектных моделей естественно создавать ОО БД. Развитие систем управления такими хранилищами связывают с концепцией дедуктивных баз данных [Чери и др., 1992]. Запрос к хранимой объектной модели представляет в этом случае логическое выражение, в котором связаны и частично конкретизированы литералы, представляющие объекты, классы и атрибуты описываемой ПрО. Ответом служит фрагмент объектной модели - коллекция в общем случае связанных между собой объектов, для которых логическое выражение истинно. Фактически запрос вызывает фильтрацию модели – операцию, весьма востребованную на практике в системах, основанных на знаниях.
Обсуждение реализации ОО СУБД выходит за рамки избранной темы, однако ясно, что в объектной модели целесообразно конструировать и хранить запросы в декларативной форме как дескрипторы актуальных коллекций объектов. Поэтому в МДСРП (рис. 1) введен класс КОЛЛЕКЦИЯ, который помещается в каждую прикладную онтологию ПрО с запретом изменений и конкретизации (добавления потомков).
1.4.2. Структуризация объектной модели. Аналогично во всякую онтологию помещается класс БЛОК (рис. 1). При этом с помощью валентности размещается_в_блоке поддерживается блочная организация объектной модели – простейшего и эффективного метода ее иерархической структуризации, важной, в частности, в задачах визуализации моделей.
2. Содержание онтологических спецификаций
Далее рассматриваются лишь два из множества различных аспектов конструирования онтологий на основе МДСРП, однако затрагиваемые вопросы имеют принципиальный характер.
2.1. Замыкание системы объектных моделей: метаонтология
К проблематике конструирования онтологий в полной мере относится упомянутый тезис об онтологической относительности, когда наше знание об объектах, описываемых на языке одной теории, можно разбирать лишь на языке другой теории, который в свою очередь, должен рассматриваться в отношении к языку следующей теории, и т. д. до бесконечности. Например, в этом смысле МДСРП нуждается во внешнем определении ряда слагающих ее элементов: понятий «класс», «атрибут» и др. (рис. 1).
«Технологической реакцией» на онтологическую относительность является создание такого языка концептуальной спецификации ПрО, который обеспечил бы обрыв бесконечной онтологической цепочки, т. е. обеспечил бы и самоописание, и спецификацию любой другой модели. Иными словами, для разработки приложений необходимо построить семантически замкнутую систему объектных моделей, которая включила бы в себя и МДСРП, и прикладные онтологии, и любые денотативные объектные модели. Такая задача решается путем построения «онтологии онтологий», или метаонтологии [Смирнов, 2000].
На рис. 2 представлен вариант такой метаонтологии, где включаемый в каждую онтологию фрагмент МДСРП дополнен двумя разновидностями объектов: АТРИБУТ и КЛАСС. Поскольку КЛАСС имеет тот же тип, что и ОБЪЕКТ, то ОБЪЕКТ, и все его подвиды семантически суть классы[2].

Рис.2. Метаотнология
2.2. Описание отношений между понятиями
Суждение, что в семантической сети, представляющей онтологию ПрО, вершины есть понятия (классы), а соединяющие их дуги – бинарные отношения (между объектами классов), нуждается в серьезном уточнении.
В онтологии, как и во всякой объектной модели, возникновение связи между объектами (в онтологии это классы) есть проявление имманентных свойств данных объектов. В общем случае множества свойств класса и свойств объектов этого класса не пересекаются. Следовательно, между классами не может возникнуть связь, которую можно было бы каким-либо образом соотнести со связями между объектами в денотативной модели (точнее с одной из тех совокупностей таких связей, что определяют разновидности отношений между объектами ПрО), и интерпретировать как упомянутое связывающее классы «бинарное отношение». Поэтому связи-отношения между понятиями, появление которых в онтологической спецификации интуитивно вполне оправданно, фактически лежат за пределами собственно объектной модели онтологии.
Связи, понимаемые как «бинарные отношения» между классами онтологии, носят виртуальный характер, т. е. их следует понимать лишь как наглядное свидетельство наличия у рассматриваемых классов определенных спецификаций, устанавливающих способность к связыванию для объектов этих классов (в предложенной МДСРП таким описанием класса служит агрегация валентности).
На рис. 2 факт агрегации классами ОБЪЕКТ и БЛОК определенных валентностей позволяет построить образы бинарных отношений «является_частью», «является_видом» и «размещается_в_блоке», которые позволяют лишь нагляднее представить содержание и смысл данной объектной модели, т. е. являются элементами визуализации онтологии, выступая в роли специальных составных представлений реальных частей объектной модели. Действительные же связи объектов в онтологиях реализуют только два отношения: «является_частью» и «является_видом».
3. Процедурные составляющие модели данных
ОО модель представления знаний и данных допускает использование двух основных процедурных типов атрибутов: демонов и методов.
Классические демоны - конструкторы и деструкторы объектов. В МДСРП это соответственно атрибуты if_added и if_removed (рис. 1). Потребность в подобных интеррогативно управляемых процедурах фактически исчерпывается введением еще всего лишь одного демона – «активного значения» if_updated для атрибутов (рис. 2).
Анализ МДСРП (рис. 1) и метаонтологии (рис. 2) закономерно приводит к вопросу о локализации описаний методов, реализующих такие базовые ОО-операции как порождение объектов, связывание их между собой и т. п., не говоря уже о стандартных макрооперациях с объектными моделями (открытие, сохранение и т. п.).
На первый взгляд такими ОО-методами должен быть атрибутирован класс ОБЪЕКТ МДСРП, что гарантирует доступ к соответствующим операциям во всех объектных моделях. Однако можно показать, что этот подход небезупречен теоретически и нерационален технологически. Действительное решение опирается на то, что базовые методы (как и иные процедурные составляющие объектных моделей) используются приложениями, т. е. их привязка будет естественной к некоторым понятиям ПрО приложений. Другими словами, все базовые методы системы разработки приложений целесообразно специфицировать в онтологии приложений.
Онтология приложений была предложена и получила развитие в [Смирнов, 2001], [Смирнов и др., 2006]. Она реализует наиболее общие представления о решении задач как о целенаправленной трансформации объектных моделей. «Пространство действий» при решении всякой задачи задает совокупность пар (онтология ПрО, денотативная модель ПрО), или контекстами моделирования, и всякое ОО-приложение является денотативной объектной моделью ПрО приложений.
Фрагмент онтологии приложений приведен на рис. 3:
· класс ПРЕДМЕТНАЯ_ОБЛАСТЬ описывает объекты, которые в конкретном приложении указывают совокупность ПрО, вовлекаемых в процесс решении задачи. Эти объекты имеют имена онтологий этих ПрО, фиксируя тем самым компетентность приложения;
· ДЕНОТАТИВНАЯ_МОДЕЛЬ - класс объектов, указывающих в конкретном приложении обрабатываемые объектные модели;
· отношение «представляет», т. е. совокупность пар (объект класса ПРЕДМЕТНАЯ_ОБЛАСТЬ, объект класса ДЕНОТАТИВНАЯ_МОДЕЛЬ), имеет характер «один ко многим» и в каждой объектной модели приложения содержит все его контексты моделирования.

Рис.3. Фрагмент онтологии приложений
На рис. 3 выделено, что все базовые методы работы и с объектами, и с объектными моделями в целом предлагается рассматривать как атрибуты денотативных объектных моделей. Это решение и корректно логически, и вполне соответствует интуитивному представлению о «пространстве действий» приложения - это, прежде всего, объектная модель ПрО. Например, изменение значения атрибута-свойства конкретного объекта надлежит понимать как акт воздействия на объектную модель, а указание на некоторый ее конкретный объект и его атрибут следует рассматривать как уточняющие параметры такого воздействия. Такое решение эффективно и с позиции сбережения вычислительных ресурсов, т. к. практически не увеличивая временные затраты на осуществлении операций с элементами объектных моделей, существенно сберегает память: базовые методы работы с объектами и моделями хранятся в онтологии приложений и не дублируются ни в какой другой модели.
Список литературы
[Гаврилова и др., 2000] Гаврилова Т. А., Хорошевский знаний интеллектуальных систем. – СПб.: Питер, 2000.
[Дал и др., 1969] Дал О. И., Мюрхауг Б., Ньюгорд К. СИМУЛА-67, универсальный язык программирования. – М.: Мир, 1969.
[Куайн, 1996] Куайн В. Онтологическая относительность // В кн.: Современная философия науки: знание, рациональность, ценности в трудах мыслителей Запада. 2-е изд., перераб. и доп. – М.: Логос, 1996.
[Нариньяни, 2001] Нариньяни по имени ТЕОН: Тезаурус + Онтология // Труды международного семинара Диалог’2001 по компьютерной лингвистике и ее приложениям. Т. 1– Аксаково, 2001.
[Смирнов, 2000] Смирнов относительность и технология компьютерного моделирования сложных систем // Известия Самарского научного центра РАН. 2000. Т. 2. № 1.
[Смирнов, 2001] Смирнов анализ предметных областей моделирования // Известия Самарского научного центра РАН. 2001. Т. 3. № 1.
[Смирнов, 2004] Смирнов в прикладных интеллектуальных системах: прагматический подход // Девятая Национальная конф. по искусственному интеллекту с международным участием КИИ-2004: Труды конф., Т. 3. – М.: ФИЗМАТЛИТ, 2004.
[Смирнов и др., 2006] Смирнов С. В., Гинзбург и использование сосуществующих контекстов моделирования сложной системы // Проблемы управления и моделирования в сложных системах: Труды VIII международной конф. – Самара: СамНЦ РАН, 2006.
[Тамм и др., 1987] Тамм Б. Г., Пуусепп М. Э., Таваст и моделирование производственных систем. – М.: Финансы и статистика, 1987.
[Христьяновский и др., 1992] Христьяновский Д. Г., Эрлих моделирования в прикладных интеллектуальных исследованиях // Труды III конф. по искусственному интеллекту. Т. 2. – Тверь: РАИИ, 1992.
[Чери и др., 1992] Чери С., Готлоб Г., Танка Л. Логическое программирование и базы данных. – М.: Мир, 1992.
[1] Самара, , ИПУСС РАН, *****@***ru
[2] Внутренние классы МДСРП теоретически также есть подвиды ОБЪЕКТ. Однако благодаря тому, что они скрыты от пользователя, а их применение зафиксировано, можно ради экономии вычислительных ресурсов отсечь у них все наследуемые от ОБЪЕКТ атрибуты, которые не используются при работе с объектами этих классов. Формально это изменит тип внутренних классов, что отражено на рис. 1.


