Присвоение типа
Итак, мы узнали, что важнейшими приёмами организации мышления (моделирования мира, онтологической работы) являются:
- Организация имеющихся знаний в виде больших иерархических классификаторов
- Использование для организации самих классификаторов механизмов классов классов.
- Определение классов для классификации интересующих нас индивидуальных физических объектов.
- Пополнение деревьев классов для включения туда новых классов, оказавшихся необходимыми.
- Запись знаний о физических объектах в виде деревьев разбиений (breakdown structures).
- Построение вспомогательных деревьев по иным необходимым отношениям.
Перечисленные приёмы, как составная часть, применяются в разных методах работы с данными, при этом в их названиях может не быть ни слова «моделирование», ни слова «онтологии». Но именно они применяются в таких областях, как «управление знаниями», или «управление справочными данными», или «управление мастер-данными».
Чтобы не запутаться в результатах онтологической работы, полезно бывает договориться – какие классы есть у вас в самом верху создаваемых иерархий, даже, желательно, на нескольких верхних уровнях. Эти классы называются верхнеуровневой онтологией, онтологией высшего уровня https://ru.wikipedia.org/wiki/Онтология\_высшего\_уровня (foundational ontology или upper ontology или top-level ontology), они обычно отражают определенный “философский” взгляд на мир.
Иногда полезно для стандартного употребления зафиксировать какое-то количество классов и еще ниже – в онтологии предметной области.
Мы договоримся называть зафиксированные в онтологии верхнего уровня классы типами. В этом же смысле используют термин «тип» во многих стандартных онтологиях, например, в BORO или в ISO 15926. Типы – это в принципе те же классы, только расположенные на верхнем уровне онтологии и стандартизированные решением сообщества, её поддерживающего и развивающего.
Часто типы определяются именно как классы классов, то есть развиваемая под ними онтология связана с ними отношением членства, классификации (а не специализации).
Обычно в верхнеуровневой онтологии задается небольшое количество базовых типов (хотя бывают и очень подробные системы типов). В число типов включаются самые основные категории, такие как как «класс», «физический объект», «отношение», и некоторые категории уровнем ниже, из предметных областей, в зависимости от того, что нужно моделировать разработчикам – «описание», «процесс» и «роль», например. Типы верхнеуровневой онтологии для использования в нашем руководстве будут приведены далее и в этом разделе, и в других разделах руководства.
Вообще говоря, основная цель любого руководства – это познакомить пользователя с основными типами, используемыми в какой-то предметной области. Наше руководство – не исключение.
Определение набора верхнеуровневых типов в стандартной онтологии и требование их придерживаться – работают как методические инструкции: вы создаете свою специальную онтологию для более узкой предметной области, находясь в рамках ограничений, заданных системой типов. Каждый выделенный вниманием объект неизбежно имеет какой-то тип в foundational ontology – например, является либо объектом, либо отношением.
Если вы знаете, что у вас в онтологии могут быть только физические индивиды и классы – вы не сможете пополнять онтологию «духовными сущностями» - вам придётся определить, что такое ваши «духовные сущности» - физические объекты или классы.
Если вы знаете, что у вас в онтологии могут быть только триплеты – бинарные отношения между двумя объектами – вы не будете определять необходимые вам отношения между тремя и более объектами иначе, чем через триплеты.
Соответствие системе типов обеспечивает минимальную совместимость разных предметных онтологий, разрабатываемых под одним зонтиком foundational ontology для разных ролей разными онтологами. Для оценки нейтральности онтологии и её пригодности к совместному использованию важно понимать для каждого объекта внимания, какой тип он имеет в модели верхнего уровня. Если вы присваиваете объектам типы, когда выделяете их в мире, и понимаете, какие типы и почему присвоены объектам, которые выделил кто-то другой (иногда это просто, иногда — не очень) – шансы на совместное использование онтологии растут. Если типы явно не указаны, и не получается однозначно определить их из контекста – шансы падают.
Типизация объектов облегчает однозначную референцию и дальнейшее понимание: какие операции разрешены с объектом, а какие нет, в какие отношения он может вступать, а в какие нет. Мы обсуждали, что, если имя объекта «живет» само по себе, без употребления во фразе, его референцию определить трудно, знак перестает быть понятен. Указание типа – это минимальная осмысленная фраза (фраза «А это Б»), с неё начинается понимание объекта – для чего он выделен, как используется.
Мы говорили о разных теориях (теории прототипов и теории образцов) – попытках объяснить, как вообще выделяются категории, как мышление создаёт высокоуровневые абстрактные концепции. Дисциплинированное мышление онтолога, умеющего создавать хорошие формализованные модели, более соответствует другой теории, так называемой теоретической теории понятий ('theory theory').
Эта теория постулирует, что человек никогда не мыслит (не моделирует) просто путём наблюдения за окружающим миром (фоном). Любое выделение объектов из фона, выделение отношений, осмысление их – всегда основано на какой-то предварительно сложившейся у него теории относительно мира, объектов в нём, других людей, их взаимодействий, причин и следствий и т.п. Такие теории начинают формироваться в младенчестве, они уточняются, расширяются, улучшаются (или деградируют, увы). Но без какой-то теории человек просто не может смотреть на мир и моделировать его.
Можно считать, что теории - это уже сформировавшиеся на данный момент модели, поэтому мышление как моделирование всегда происходит на основе каких-то существующих моделей, проверяя их, модернизируя, развивая, отвергая старые модели в пользу новых. Модели-теории непрерывно эволюционируют, развиваются. Хорошее моделирование обеспечивает соответствие моделей-теорий реальному миру и даёт базу для их дальнейшего изменения.
Теперь понятно, почему отнесение к типу из онтологии верхнего уровня, строгая типизация объектов и отношений – это хорошая практика моделирования, объясняемая именно в рамках теоретической теории. Система зафиксированных верхнеуровневых типов и есть та самая верхнеуровневая теория устройства мира, на которую опирается мышление онтолога при создании моделей прикладного уровня.
Когда мы моделируем на естественном языке, пишем тексты – нам часто не хватает слов (и иных языковых конструкций) для точного различения объектов, как только мы начинаем разбираться с ними хоть немного формализованно. Мы уже обсуждали связанные с этим проблемы референции и плотности концептуального пространства. Поэтому мы иногда будем описывать наши модели уже не совсем чистым русским языком, а с использованием формализованных конструкций прямо в тексте: после использованного слова указывать класс или тип подразумеваемого объекта, отделённый значками :: (два двоеточия).
Строительство::предметная\_область и строительство::практика - это два разных объекта.
В строительство::предметная\_область входит огромное количество понятий (концептов).
Строительство::практика описывается с помощью этих понятий (а также с помощью понятий из других предметных областей).
Можно сказать, что строительство::практика - это один из элементов строительство::предметная\_область . Однако кладовщик::роль на складе гипермаркета стройматериалов использует множество концептов из строительство::предметная\_область, но его работа кладовщика::метод не является частью строительство::практика.
Обсуждавшееся нами ранее многозначное слово «проект» может уточняться точно так же: проект::описание – это из работы инженеров, проект::деятельность – это про проектное управление.
Наконец, если говорить о совсем высокоуровневых типах, то с помощью явного указания типа мы можем избавиться от постоянного использования местоимения «мой»! Мы можем писать, что кухонный стол::индивид входит в стол::класс, и мысль будет вполне понятна, мы имеем в виду конкретный физический стол на кухне. У него нет инвентарного номера, поэтому придумать ему собственное наименование было бы трудно, а так – фраза становится строго типизированной.