Skip to content

Присвоение типа

Итак, мы узнали, что важнейшими приёмами организации мышления (моделирования мира, онтологической работы) являются:

  • Организация имеющихся знаний в виде больших иерархических классификаторов
  • Использование для организации самих классификаторов механизмов классов классов.
  • Определение классов для классификации интересующих нас индивидуальных физических объектов.
  • Пополнение деревьев классов для включения туда новых классов, оказавшихся необходимыми.
  • Запись знаний о физических объектах в виде деревьев разбиений (breakdown**structures).
  • Построение вспомогательных деревьев по иным необходимым отношениям.

Перечисленные приёмы, как составная часть, применяются в разных методах работы с данными, при этом в их названиях может не быть ни слова «моделирование», ни слова «онтологии». Но именно они применяются в таких областях, как «управление знаниями», или «управление справочными данными», или «управление мастер-данными».

Чтобы не запутаться в результатах онтологической работы, полезно бывает договориться – какие классы есть у вас в самом верху создаваемых иерархий, даже, желательно, на нескольких верхних уровнях. Эти классы называются верхнеуровневой онтологи**ей, онтологией высшего уровняhttps://ru.wikipedia.org/wiki/Онтология_высшего_уровня (foundationalontologyилиupper**ontologyили top-levelontology*),* они обычно отражают определенный “философский” взгляд на мир.

Иногда полезно для стандартного употребления зафиксировать какое-то количество классов и еще ниже – в онтологии предметной области.

Мы договоримся называть зафиксированные в онтологии верхнего уровня классы типами. В этом же смысле используют термин «тип» во многих стандартных онтологиях, например, в BORO или в ISO 15926. Типы – это в принципе те же классы, только расположенные на верхнем уровне онтологии и стандартизированные решением сообщества, её поддерживающего и развивающего.

Часто типы определяются именно как классы классов, то есть развиваемая под ними онтология связана с ними отношением членства, классификации (а не специализации).

Обычно в верхнеуровневой онтологии задается небольшое количество базовых типов (хотя бывают и очень подробные системы типов). В число типов включаются самые основные категории, такие как как «класс», «физический объект», «отношение», и некоторые категории уровнем ниже, из предметных областей, в зависимости от того, что нужно моделировать разработчикам – «описание», «процесс» и «роль», например. Типы верхнеуровневой онтологии для использования в нашем руководстве будут приведены далее и в этом разделе, и в других разделах руководства.

Вообще говоря, основная цель любого руководства – это познакомить пользователя с основными типами, используемыми в какой-то предметной области. Наше руководство – не исключение.

Определение набора верхнеуровневых типов в стандартной онтологии и требование их придерживаться – работают как методические инструкции: вы создаете свою специальную онтологию для более узкой предметной области, находясь в рамках ограничений, заданных системой типов. Каждый выделенный вниманием объект неизбежно имеет какой-то тип в foundational ontology – например, является либо объектом, либо отношением.

Если вы знаете, что у вас в онтологии могут быть только физические индивиды и классы – вы не сможете пополнять онтологию «духовными сущностями» - вам придётся определить, что такое ваши «духовные сущности» - физические объекты или классы.

Если вы знаете, что у вас в онтологии могут быть только триплеты – бинарные отношения между двумя объектами – вы не будете определять необходимые вам отношения между тремя и более объектами иначе, чем через триплеты.

Соответствие системе типов обеспечивает минимальную совместимость разных предметных онтологий, разрабатываемых под одним зонтиком foundational ontology для разных ролей разными онтологами. Для оценки нейтральности онтологии и её пригодности к совместному использованию важно понимать для каждого объекта внимания, какой тип он имеет в модели верхнего уровня. Если вы присваиваете объектам типы, когда выделяете их в мире, и понимаете, какие типы и почему присвоены объектам, которые выделил кто-то другой (иногда это просто, иногда — не очень) – шансы на совместное использование онтологии растут. Если типы явно не указаны, и не получается однозначно определить их из контекста – шансы падают.

Типизация объектов облегчает однозначную референцию и дальнейшее понимание: какие операции разрешены с объектом, а какие нет, в какие отношения он может вступать, а в какие нет. Мы обсуждали, что, если имя объекта «живет» само по себе, без употребления во фразе, его референцию определить трудно, знак перестает быть понятен. Указание типа – это минимальная осмысленная фраза (фраза «А это Б»), с неё начинается понимание объекта – для чего он выделен, как используется.

Мы говорили о разных теориях (теории прототипов и теории образцов) – попытках объяснить, как вообще выделяются категории, как мышление создаёт высокоуровневые абстрактные концепции. Дисциплинированное мышление онтолога, умеющего создавать хорошие формализованные модели, более соответствует другой теории, так называемой теоретической теории понятий ('theorytheory****').

Эта теория постулирует, что человек никогда не мыслит (не моделирует) просто путём наблюдения за окружающим миром (фоном). Любое выделение объектов из фона, выделение отношений, осмысление их – всегда основано на какой-то предварительно сложившейся у него теории относительно мира, объектов в нём, других людей, их взаимодействий, причин и следствий и т.п. Такие теории начинают формироваться в младенчестве, они уточняются, расширяются, улучшаются (или деградируют, увы). Но без какой-то теории человек просто не может смотреть на мир и моделировать его.

Можно считать, что теории - это уже сформировавшиеся на данный момент модели, поэтому мышление как моделирование всегда происходит на основе каких-то существующих моделей, проверяя их, модернизируя, развивая, отвергая старые модели в пользу новых. Модели-теории непрерывно эволюционируют, развиваются. Хорошее моделирование обеспечивает соответствие моделей-теорий реальному миру и даёт базу для их дальнейшего изменения.

Теперь понятно, почему отнесение к типу из онтологии верхнего уровня, строгая типизация объектов и отношений – это хорошая практика моделирования, объясняемая именно в рамках теоретической теории. Система зафиксированных верхнеуровневых типов и есть та самая верхнеуровневая теория устройства мира, на которую опирается мышление онтолога при создании моделей прикладного уровня.

Когда мы моделируем на естественном языке, пишем тексты – нам часто не хватает слов (и иных языковых конструкций) для точного различения объектов, как только мы начинаем разбираться с ними хоть немного формализованно. Мы уже обсуждали связанные с этим проблемы референции и плотности концептуального пространства. Поэтому мы иногда будем описывать наши модели уже не совсем чистым русским языком, а с использованием формализованных конструкций прямо в тексте: после использованного слова указывать класс или тип подразумеваемого объекта, отделённый значками :: (два двоеточия).

*Строительство:😗предметная_область и *строительство:😗практика - это два разных объекта.

В *строительство:😗предметная_область входит огромное количество понятий (концептов).

*Строительство:😗практика описывается с помощью этих понятий (а также с помощью понятий из других предметных областей).

Можно сказать, что *строительство:😗практика - это один из элементов *строительство:😗предметная_область . Однако *кладовщик:😗роль на складе гипермаркета стройматериалов использует множество концептов из *строительство:😗предметная_область, но его работа *кладовщика:😗метод не является частью *строительство:😗практика.

Обсуждавшееся нами ранее многозначное слово «проект» может уточняться точно так же: *проект:😗описание – это из работы инженеров, *проект:😗деятельность – это про проектное управление.

Наконец, если говорить о совсем высокоуровневых типах, то с помощью явного указания типа мы можем избавиться от постоянного использования местоимения «мой»! Мы можем писать, что кухонный *стол:😗индивид входит в *стол:😗класс, и мысль будет вполне понятна, мы имеем в виду конкретный физический стол на кухне. У него нет инвентарного номера, поэтому придумать ему собственное наименование было бы трудно, а так – фраза становится строго типизированной.