8. Онтология

Анатолий Левенчук · Поиск в руководстве · MCP

Открыть это место в полном тексте руководства →

8. Онтология

Абстрактность мышления

Абстрактность — это важнейшая характеристика сильного мышления (остальные — адекватность, осознанность, рациональность). В мышлении нужно абстрагироваться от неважного в пёстрости его деталей и сосредоточиться на важном. Мышление моделирует мир, а моделирование — это как раз оставить важное описание (описать фигуру) и проигнорировать описание многочисленных объектов фона (желательно даже не тратить ресурсы на то, чтобы сначала описывать неважное, а потом выкидывать. Просто не моделировать вообще, моделировать только то, что надо — заранее знать, что надо!). Это сжатие информации. Вы смотрите в окно, игнорируете огромное число конкретных деталей в увиденном и говорите два слова «идёт дождь» и/или «уже стемнело», в зависимости от того, что вам важно для того, что собираетесь сделать. Мышление должно отделять зёрна от плевел и оперировать зёрнами. Мышление должно уметь отвязываться от уникальных физических объектов (индивидов) и мыслить типами, прототипами, абстрактными понятиями: мы не знаем, что у мышления внутри его вычислений в нейросети, но понимаем, что для вычислений с ненужными деталями не хватит никаких вычислительных мощностей никакого мозга. Сильное мышление — это всегда обобщения с опусканием ненужных для предмета мышления деталей. Нам нужна для эффективности мышления абстрактность в сложных ситуациях, мы хотим уметь планировать и проектировать впрок, мы хотим работать с целыми классами и типами ситуаций, причём привычным образом, «выучил/познал один случай — применил во всех остальных случаях». Без абстрагирования мы не сможем переносить опыт одних ситуаций на другие, мы не сможем эффективно учиться, мы не сможем создавать языки, обслуживающие коллективное мышление — языки позволяют обмениваться самым важным по поводу обдумываемых ситуаций, они очищают общение от неважных подробностей.

Реализацией абстрактности мышления в трансдисциплинах интеллект-стека занимается онтология.

Онтология — это учение, которое занимается ответом на вопрос «Что есть в мире?» (роль практикующего онтологическое вопрошание — онтолог), но хитрость в том, что ответ на этот вопрос даётся:

  • многими способами (множественность отношений какого-то предмета с другими предметами как раз и определяет этот предмет — мы знаем дом через его отношения с кирпичами, городским кварталом, жильцами и т.д., но без этих отношений с другими предметами про сам дом мы не можем ничего сказать)

  • с использованием многих уровней абстракции, понимаемых главным образом как уровни иерархий объектов по отношению классификации (объект X принадлежит к классу/множеству Y) и репрезентации, когда речь идёт о переходе от физического мира к миру понятий/концептов, то есть ментальных/идеальных/абстрактных/математических объектов.

В мире объектов, конечно, есть и абсолютно конкретные реальные 4D физические объекты, занимающие какое-то место/протяжённые в пространстве-времени (по этому месту мы их и отличаем, что они физичны). В мире объектов есть и их идеальные представления/representations в мире математических объектов, как-то выраженные/presented на носителе информации, это разбирается в семантике. Но в мире есть и предельно абстрактные/математические объекты, такие как само понятие «объекта», само понятие «отношения» и другие понятия из теории понятий.

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

Как в теории понятий оказывается важным движение в рамках мышления по всему спектру формальности мышления, а не максимальная строгость или максимальная неформальность, так и для онтологии оказывается важным движение по уровням абстрактности мышления, а не максимальная абстрактность или максимальная конкретность.

Мы уже познакомились почти со всем содержанием онтологии, когда рассказывали о трансдисциплинах предыдущих уровней интеллект-стека:

  • понятизации (там вводится сама идея понятия как ментального отражения физического мира, работа с понятиями с использованием распределённых/нейросетевых представлений),

  • собранности (где внимание наводится многоуровнево, и это уровни абстракции, а ещё абстрактное мышление должно быть осознанным, оно противопоставляется натуральному мышлению «в экземплярах», где знание принципов не используется и поэтому требуется запоминать множество фактов),

  • в семантике мы вплотную подошли к тому, что нужна работа и со строго определёнными понятиями,

  • математика дала нам объекты, которые могут служить онтологическими описаниями объектов физического мира, а также способы мышления об онтологии как наборе ментальных и физических объектов предметной области (помним про то, что онтология — это и практика, и результат работы по этой практике, как и в случае логики и геометрии, а также помним про отождествление Утренней звезды и Вечерней звезды через некоторое доказательство),

  • физика говорит о единообразном мышлении о мире и вносит понятие системы и окружения, теория понятий говорит, что самое продвинутое сегодня — это мыслить о мире, то есть представлять онтологическое описание в терминах теоретической теории (объекты и отношения, а запись их в явном виде даёт knowledge graph, который раньше называли semantic network).

Стали уже в 21 веке понятней ходы на конструктивную математику, то есть ходы на алгоритмы-доказательства и физичность вычислителей, которые делают операции с описаниями (математик и онтолог — формально такие же вычислители, как и обычный или квантовый компьютер, они эквивалентны в этом плане машине Тьюринга, просто скорости выполнения тех или иных алгоритмов у них разные). Про описания стало можно говорить, опираясь на физику. Это позволило решать какие-то старые проблемы, например, как-то обсуждать части-целые ментальных объектов, если считать, что речь идёт не об отношениях, а об операциях построения целого из частей.

Достижения математики в 21 веке заставляют опору на разговор о мире в терминах объектов и отношений (теории множеств) пересмотреть в части максимизации его формальности: аксиома унивалентности даёт унивалентные основания математики более формальные, чем теория множеств, которая лежит в основе современных онтологических представлений как foundation ontology. В какой-то мере, как любят говорить математики, «здание современной онтологии стоит на песке». Но повышать степень формальности онтологических описаний переходом к более формальным описаниям в терминах гомотопической теории типов и теории категорий оказалось пока малопродуктивно. Уже при текущей степени формальности описаний онтологий в терминах логики первого порядка возникает огромное число проблем как раз из-за высокой степени формальности. Онтологические описания при росте степени формальности быстро становятся противоречивыми (проблема объединения онтологий: если у вас в проекте есть две онтологии, которые описывают две разных предметных области, то у вас будут огромные трудности в их объединении). Ход на формализацию оказался тупиком. Помним, что нужно иметь не максимальную формализацию, а уметь двигаться по спектру формальности.

Но и этот разговор оказался в 21 веке не самым главным, ибо на первый план вышли нейросетевые разработки: знаний о мире даже не как объектов и отношений или объектов и операций их создания, а как объектов в многомерном пространстве. Речь идёт об обучении представлениям (representations learning)2, глубоких нейросетях, а в конечном итоге о появлении онтологических описаний в виде больших языковых моделей/LLM типа GPT-4 и Bard, или обобщая их на множество модальностей восприятия и тем самым модальностей описания, в виде foundation models, более общее имя для мультимодальных LLM. Иногда такие мультимодальные нейросетевые онтологии называют MLLM — multimodal large language models. Вот эти представления и дали онтологическим описаниям недостающую часть спектра формальности, то есть не очень формальные онтологические представления — они оказались крайне удобными для мышления.

Объекты служат для того, чтобы привлечь внимание в рассуждениях/inference::вычисления к каким-то сущностям/entities, а сами эти рассуждения проводятся на каком-то уровне общности/абстракции. Если вы знаете, что объекты, репрезентируемые классом «звери» содержат позвоночник, и обычно у них два глаза, и обычно у них дети питаются материнским молоком, и у них самки живородят, а не откладывают яйца, то это вам достаточно рассказать один раз, имея в виду всех зверей. Если у тигров полоски, то конкретный тигр Амур обязательно будет иметь полоски, а ещё он зверь, и поэтому у него будет позвоночник, два глаза, питаться он в детстве будет молоком матери, и родится не из отложенного тигрицей яйца, а вполне уже сформировавшимся тигрёнком.

Вот эта общность по линии отношений специализации (с учётом последующей классификации/репрезентации/заземления) называется наследованием свойств: все объекты подкласса наследуют свойства класса, на много уровней. Это активно используется в программировании баз данных информационных систем. Но это ведёт и ко множеству ошибок. Например, вы заносите в базу данных «мотор», говорите, что это класс «оборудование», у мотора есть характеристика — скорость вращения. Вы поступаете с мотором как прототипом и говорите, что всё оборудование на него похоже, делаете описание класса «по образу и подобию». Потом выясняется, что когда вы заносите в эту базу «люк» как «оборудование», то у него вдруг тоже появляется скорость вращения (пример из реальной жизни!). То есть такое представление мира «с наследованием» удобно, но требует тщательного проектирования и может приводить к неожиданным проблемам, особенно когда путаются разные теории понятий.

Конечно, между объектами на каждом уровне абстрактности есть какие-то отношения с другими объектами, это и есть важная черта теоретической теории понятий, она работает не с «похожестями», а с отношениями объектов. Мы выделяем в мире важные объекты, но они разные на каждом уровне абстракции. Набор понятий, выделенный на каждом уровне абстракции, описывает мир, выделяя из фона самые разные объекты. И на каждом уровне эти модели мира относятся к разному числу ситуаций. Ответ на вопрос «что есть в мире?» отличается в зависимости от того, насколько много ситуаций должно быть описано этим ответом. Это даёт нам множество разных ответов, и получающиеся модели разных уровней тоже называются онтологиями. Так что «онтологией» называется и трансдисциплина, и весь набор объектов и отношений физического мира, отвечающих на вопрос «что важного есть в мире?», и набор объектов и отношений физического мира, отвечающих на вопрос «что важного есть в мире?» для какого-то класса ситуаций (то есть конкретизированная часть предыдущего набора объектов), а ещё этим словом называют описания этих объектов и отношений, то есть математические объекты и отношения, репрезентирующие физические объекты и отношения.

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

В мета-моделировании принято различать физический объект, его модель, модель модели (мета-модель). Если говорят об онтологии, то всё это — просто части онтологии, разве что эти части выделяются как отдельные онтологические уровни, а иногда и реальности/миры/realms (мир физических объектов, мир математических объектов).

Стек уровней абстрактности мышления/онтологических уровней/мета-моделирования — это условная нарезка объектов предметной области по уровням иерархии отношений классификации и специализации. Вся иерархия при этом называется онтологией (и разные варианты этой иерархии имеют свои отдельные имена, часто это имена стандартов интеграции данных, где декларируются верхние уровни абстракции для объектов и отношений в онтологических иерархиях), а если это небольшой кусочек без согласования с какой-то полной иерархией, то такое называют онтикой или какой-то моделью или мета-моделью. При этом слово «иерархия» (граф-дерево) нужно воспринимать с большой натяжкой, так как в онтологиях чаще встречаются решётки/lattices из теории теорий.

Онтология/модель данных как структура пространства смыслов

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

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

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

Хитрость нарезки на онтологические уровни/уровни абстракции/уровни мета-моделирования в том, что внимание блуждает после этого не по бесчисленному множеству непосредственно воспринимаемых предметов физического мира, а по концептам этой предметной области — и этих концептов немного, они хорошо связаны друг с другом (и эти связи продуманы и непротиворечивы, а не придуманы вот только что по ходу проекта и поэтому не слишком продуманы!), занимают компактную область в пространстве смыслов. Если ваше внимание вдруг сосредоточилось на валентности, химической связи, pH, радикале — то вы уже понимаете просто из предъявляемых вниманию объектов и отношений, что в этом ряду «радикал» это не «бескомпромиссный выразитель каких-либо взглядов на общественное устройство», а «атом или молекула, имеющая один или несколько неспаренных электронов», вы находитесь в какой-то определённой области пространства смыслов, а не в произвольном его месте. Дисциплины состоят из абстрактных концептов/понятий, к которым привязано внимание в данной предметной области. Если вы вдруг зацепились за какое-то понятие/концепт дисциплины, то внимание начинает блуждать по другим связанным отношениями понятиям из этой же области пространства смыслов, в каком-то смысле понятия одной дисциплины близки в пространстве смыслов, а понятия разных дисциплин далеки. Это активно используется сегодня в prompt engineering для нейросетей: если вы скажете «расскажи о Форде», то непонятно, о Форде-автомобиле, Форде-предпринимателе или Форде-президенте вам расскажут. Надо вместе с запросом дать контекст, иначе вопрос будет непонятен. И вы добавляете к запросу какие-то дополнительные детали, наиболее вероятно просто добавляя тип, то есть указание объекта более высокого уровня абстракции: «расскажи об автомобиле Форд», «расскажи о президенте Форде», и чем больше таких уточнений, тем точнее будет ответ: «расскажи об объёме выпуска автомобиля Форд», «расскажи о потреблении топлива автомобилем Форд», «расскажи о политических пристрастиях предпринимателя Форда», «расскажи о доходах президента Форда», и т.д.

Собранность даёт устойчивое внимание на каких-то объектах, но не говорит, на каких именно объектах. Онтология говорит, какие именно объекты должны быть во внимании: лес, дерево, элементарная частица, благорасположение, энтропия, социология, понятие, абстракция (сама «абстракция» — это тоже объект мира абстракций, она может быть предметом внимания!). Дисциплина же для внимания берётся не случайная, а помогающая рассуждениям.

Формальность в мышлении обычно означает чёткость и узость границ какого-то концепта в пространстве смыслов, неформальность — размытость и широту границ этого концепта, поэтому онтологии задаются на разном уровне формальности. Если формальность какой-то онтологии/модели данных достаточна, чтобы проводить строго логические рассуждения, то иногда про такое говорят, что это предмет дисциплины вычислительная онтология/computational ontology (ибо такие строго логические рассуждения/вычисления часто поручают компьютеру с программами «доказательства правильности» на базе математической логики, люди так мыслят только в порядке исключения, и это будет обсуждаться в трансдисциплине рациональности). Gruber, Borst и Studer определили онтологию как явную спецификацию разделяемой концептуализации, An ontology is a formal, explicit specification of a shared conceptualization4. Определим концептуализацию как задание важных для надёжного active/embodied inference5 объектов восприятия в мире. Это позволяет сформулировать задачу создания онтологии в терминах управления вниманием, а «явная формальная спецификация» тут говорит о том, что эти объекты внимания выделяются не спонтанно, а по какой-то явной модели этих объектов (онтологии), заданной при помощи другой модели для этой модели, а именно модели формализма (foundational ontology). В конечном итоге для модели формализма используют математику, и это нами уже подробно обсуждалось. Другое дело, что от формализма математической логики перейти в онтологии как трансдисциплине к более фундаментальным формализмам самой математики (унивалентные основания математики, гомотопическая теория типов, неформальная теория типов, теория категорий) пока не удаётся, слишком недавно по историческим меркам были предложены эти изменения:

  • Сами изменения в математике стартовали где-то с 2006-2007 годов (предложение аксиомы унивалентности)

  • В 2012 году нейронная сеть ImageNet выиграла соревнования по распознаванию изображений.

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

  • Пик развития computational ontology в связи с предложениями так называемого «семантического веба» (semantic web, Web 3.0) прошёл где-то в 2013 году, после чего интерес к semantic network пропал настолько, что это для этого представления был ребрендинг в knowledge graph

  • Вопрос о более формальных математических представлениях онтологии тем самым где-то с 2013 года был снят ввиду угасания самого интереса к графам знаний. Программы искусственного интеллекта всё более склонялись сначала к модели «мы приделаем к огромному графу знаний нейронную сетку», затем «мы приделаем к огромной нейронной сетке граф знаний», а теперь «внутри нейронной сетки все эти графы знаний сами отличненько получаются, и не надо никаких специальных математических представлений». Поэтому вопрос об этой «новой математике» просто отпал, все разговоры про «давайте выражать онтологии на языке теории категорий» закончились где-то в начале десятых годов 21 века, а разговоры «давайте говорить об онтологиях на языке гомотопической теории типов» оказались вообще маргинальны.

Область использования классических онтологий тем самым оказалась довольно узкой, ибо для задач искусственного интеллекта (что считалось всегда главным приложением для онтологической инженерии) они сейчас по факту не рассматриваются, но всё-таки классический подход к онтологическим описаниям мира остаётся важным в интеллект-стеке:

  • Мета-моделирование оказывается важным навыком при разбирательстве с объектами внимания, задействующими экзокортекс. Мета-моделирование позволяет более-менее надёжно находить важные объекты внимания, задавая их не «исподволь» (обучая нейронную сеть в мозге на тысячах и тысячах «жизненных ситуаций»), но непосредственной передачей в текстах. В частности, в учебных курсах для людей используется именно этот ход. Главное тут — это нахождение тех объектов внимания, типы которых явно задаются онтологией, использованной в каких-то теориях/объяснениях/дисциплинах, но которые пока не найдены. Скажем, вы услышали, что кто-то активно использует слова «учёт», «дебит», «кредит», «баланс» — это отсылает к практике финансового учёта, роли бухгалтера. Дальше можно задавать предписанные практикой вопросы (например, это учёт РСБУ или МСФО? Какая квалификация у присвоившего себе роль по практике бухучёта? Какие полномочия по принятию решений в области учёта у этого агента?).

  • онтологическая инженерия оказывается крайне полезной для организации экзокортекса как личного, так и корпоративного. В классическом корпоративном программировании («кровавый энтерпрайз») онтологическая инженерия известна под именем Domain-Driven Design (DDD)6 с основным посылом «для каждого обнаруженного в жизни объекта должен существовать программный объект с похожим поведением». Онтология тем самым представляется как модель данных для базы данных программного приложения.

  • В промышленных системах поддержки проектирования и производства ошибки и неустойчивости в работе нейронных сетей неприемлемы: если 2*2 «примерно равно» 5, хотя никак не 10 и не 48, то ракета не полетит. Поэтому используются формальные методы, разговор стараются держать максимально точным, хотя «математической точности» часто и не требуется (затраты на лишнюю формализацию мышления часто не окупаются, нужно следить за удержанием оптимального, а не максимального уровня формализации). Чаще всего онтологии используются для моделирования данных при интеграции данных самого разного инженерного и менеджерского софта, но они называются «моделями данных», их в этой предметной области не называют онтологиями. Редко в научных работах услышишь «онтологическое моделирование данных», если вспоминают о высоких уровнях абстракции (foundational и upper ontology) в моделировании данных. Основные приложения онтологической работы для этого нужно искать сегодня в тематике цифровых двойников, при их создании (и создании сетей этих двойников) как раз и используются онтологии7.

Абстракции, упорядочиванием которых занимается онтологическая инженерия, дают сознанию карту быстрых проходов в мышлении, это «порталы» (wormholes, хотя это не так аппетитно переводится), которые позволяют вниманию не только осмысленно (то есть с максимальной вероятностью пользы для текущей ситуации) перескакивать с одного понятия/концепта на другой в дисциплинах как компактных областях пространства смыслов какой-то предметной области/domain в рамках всего этого пространства, но главное — с мышления в рамках одной дисциплины на мышление в рамках другой дисциплины, попадать из одной области пространства смыслов в другую.

Тут есть некоторые проблемы с математикой «строгости» рассуждений. По большому счёту, несколько онтологий-микротеорий, хорошо выражающие без противоречий рассуждения для объектов и отношений в их предметных областях, совместно противоречивы — и формально рассуждения по ним невозможны, онтологии в принципе несовместимы. Тем не менее, организовываются разные способы работы с этими микротеориями, позволяющие рассуждать как-то более-менее точно/строго/формально в ситуациях принципиальной невозможности такого рассуждения. Наиболее продвинутыми в этом плане оказываются исследования CYC Corp., которая продолжает свою работу по онтологической инженерии даже в ситуации, когда главенствуют методы представления знаний в форме языковых моделей8.

Если перейти к географическим аналогиям, то в мышлении можно отслеживать перемещения между понятиями одного уровня абстракции, как в жизни перемещения между областями одного уровня крупности: внутри улицы между домами, внутри города между улицами, внутри области между городами, внутри страны между областями, внутри планеты между странами. И если нам нужно с улицы в городе какой-то области какой-то страны попасть на другую улицу в городе другой области другой страны, то в мышлении это сделать легко примерно по тому же принципу, как мы рассуждали сейчас о перемещениях в пространстве. Это абстрактные объекты, переместиться вниманием из Колумбии в Чехию занимает примерно столько же времени мышления, сколько переместиться (мышлением! Переключить внимание!) из дома 11 по улице Краснозелёных в Анапе Краснодарского края в дом номер 18 на этой же улице. Вот и в онтологиях переместиться вниманием из физики в математику или из онтологии в теорию понятий (это разные дисциплины!) займёт примерно столько же времени, сколько между моментом и силой в ньютоновской механике физики или объектом и отношением как понятиями из теоретической теории понятий/theory theory.

И постоянно помним про «заземление»/grounding в его современном понимании: все эти абстракции в конечном итоге согласованы с физическим миром. В любой момент мы можем ответить на вопрос, не утеряли ли мы связь с реальностью в наших рассуждениях с огромным пространством смыслов — ровно потому, что все эти цепочки отношений в рамках онтологии обязательно должны базироваться в конечном итоге на отношении репрезентации/воплощения между понятием и 4D/четырёхмерным физическим объектом, занимающим место/протяжённом в пространстве-времени (онтологический принцип 4D экстенсионализма). Онтологическое мышление в варианте 4D экстенсионализма тем самым удовлетворяет критерию адекватности, поэтому все эти перемещения в рассуждениях между онтологическими уровнями/уровнями мета-моделирования и внутри каждого уровня можно проверять на адекватность, «неотрыв от реальности».

Уровни мета-моделирования/онтологические уровни

Для того, чтобы управлять коллективным вниманием на предприятии, надо сделать его описание в виде какой-то компьютерной модели. Подобное описание разных важных принятых при организации предприятия решений (например, какие оргзвенья выполняют какие практики) называют концепцией предприятия. Покажем на этом примере описания предприятия, как работает многоуровневое моделирование.

Для каждого онтологического уровня/уровня моделирования в соседние уровни ведут две операции —моделирования/абстрагирования от модели в её метамодель и демоделирования/конкретизации/рендеринга от модели в моделируемую сущность. Мышление (а моделирование/демоделирование это познание/мышление) тут идёт всегда в двух направлениях, а не в одном: моделирования в одну сторону и демоделирования в другую. Важно не только уметь абстрагировать, не менее важно уметь конкретизировать (говорить «например», и далее приводить пример конкретизации!).

Иногда о метамоделях по отношению к моделям говорят как о языке, на котором ведётся моделирование. Если ваши объекты моделирования — это слоны, носороги, мыши и бобры, то вы делаете это в языке зверей (у вас мета-модель зверей, онтология зверей), если ваши объекты — насосы, задвижки, манометры, то вы моделируете их в языке промышленного оборудования (мета-модели промышленного оборудования, онтологии промышленного оборудования). Обратите внимание на тонкость сленга: когда говорят об использовании мета-модели, то вы моделируете «в языке», а не «на языке». «Язык» в смысле понятийная область для какой-то предметной области/domain тут — это буквально область пространства смыслов, и дальше вы «в языке» и далее «в предмете» после заземления понятий на те объекты, которым соответствуют эти понятия. А собственно «язык» как набор знаков для понятий, и поэтому выражение «на языке», тут не так важны. Так что иногда об онтологии говорят и «язык», «расскажи мне всё то же самое в языке теории категорий», то есть «в понятиях, которые присутствуют в онтологии теории категорий как предметной области». Конечно, в бытовой речи будут путаться «на языке» и «в языке», но очень часто это указание не на язык в смысле «английский или Python», а язык в смысле онтологии, набора предметов и отношений, из которых состоит мир какой-то предметной области.

Вот эти уровни мета-модели/абстракции/онтологии/типизации (и помним, что в жизни легко можно встретить и расщепление одного уровня на несколько, и объединение уровней — все границы тут условны):

  • Разговор об объектах, отношениях, атрибутах, типах — это foundational ontology/теоретическая теория понятий/мета-мета-мета-модель/M4. Этот уровень редко обсуждается, это «холст, на котором рисуются онтологии», язык, в котором онтологии выражаются. M4 — это тоже более-менее традиционное обозначение для уровней мета-модели. Скажем, в стандарте MOF (meta object facility9) определяется возможность до десятка уровней мета-моделирования (M0-M9), хотя говорится, что на практике хватает трёх-четырёх. Об этом уровне абстракции мало кто говорит, он кажется «самим собой разумеющимся», но это совсем не так. Теорий понятий множество, их представлений в математике тоже множество, уровней формальности тут так же хватает, и в их выборе для последующего онтологического моделирования нужно как-то определиться.

  • разговор о системах, практиках, агентах, представлениях пространства и времени, формах и ролях — это upper ontology/мета-мета-модель или M3. Это основной уровень, на котором формулируется знание интеллект-стека, он внепредметен/трансдисциплинарен (относится ко всем предметам/дисциплинам сразу). Системно-мыследеятельностные методологи называют upper ontology «предельной онтологией», ибо на этом языке обсуждается отношение понятий и физического мира, тут же «космология», онтология человеческого существования и человеческой деятельности, научного и системного мышления (хотя СМД-методологи отдельно не обсуждают, в каком языке мы говорим о предельной онтологии, а мы явно выделяем ещё foundational ontology). Эта онтология позволяет нам как-то по-максимуму единообразно мыслить о выраженных в языке теоретической теории понятий/foundation ontology/M4 предметных дисциплинах, чтобы собрать в мышлении результаты рассуждений по отдельным дисциплинам. Upper ontology обычно тщательно продумывается, ибо связный и непротиворечивый при рассуждениях для нескольких дисциплин набор связанных понятий даёт восхитительную скорость, мощность и безошибочность рассуждений в рамках этих дисциплин. И хотя не все дисциплины участвуют в этих рассуждениях, ибо не все дисциплины пользуются абстракциями upper ontology, в рамках дисциплин, пользующихся для своего выражения абстракциями upper ontology, мышление становится весьма и весьма мощным и реже приводит к каким-то коллизиям. Обычно курсы по трансдисциплинам для объектов upper ontology называют «фундаментальными». По большому счёту, содержание нашего курса «Интеллект-стек», который вы сейчас изучаете, тоже можно назвать «фундаментальным», поскольку тут даётся характеристика трансдисциплин, занимающихся объектами upper ontology. На этом уровне ставится множество вопросов о том, одна или несколько upper ontology достаточны, нужно ли вообще заботиться об upper ontology, а также какие там принципы моделирования мира (например, 4D экстенсионализм, или нет, могут ли быть отношения часть-целое между ментальными объектами и конструктивизм в их представлении, и т.д. — иногда это сдвигают на уровень foundational ontology, но чаще всё именно на уровне upper ontology). Когда пишем об онтологии системного подхода, она вся определяется практически на этом уровне (этой онтологии посвящен отдельный раздел курса «Практическое системное мышление»).

  • разговор об объектах труда/деятельности/практик/методов работы — middle ontology/метаУ-модель/M2. Это подуровень мета-модели: метаУ-модель (как задано в учебниках практик каких-то предметных областей, намеренно обобщённо). Вот эта middle ontology «из учебника», или метаУ-модель — набор типов::понятия, которые уже не касаются общей картины мира без разделения на трудовые дисциплины/практики/методы работы, но ещё и не глубоко индивидуальны для каждой конкретной практики, учитывающей её особенности. В СМД-методологии этот «уровень абстракции»/«онтологический уровень»/«уровень метаУ-модели» называют «объемлющей онтологией» (обратите внимание, что «онтологией» тут называют один из уровней «общей онтологии всего»! Каждый уровень абстракции сам по себе вполне себе «онтология», то есть формальная спецификация концептуализации) — именно он используется для того, чтобы как-то объединять рассуждения самых разных дисциплин друг с другом. Понятия операционного менеджмента тут будут представлены (работы, длительность работ) в метаУ-модели, но вот понятия конкретной школы операционного менеджмента (теория ограничений Голдратта с методами типа «барабан-буфер-верёвка» или «канбан для разработки») там вполне могут отсутствовать, это будет уже следующий онтологический уровень, менее абстрактный. Если вы встречаете какой-то учебник дисциплины/практики (например, курс «Менеджмент»), то там вам дадут именно метаУ-модель предметной области, middle ontology. Если понятия менеджмента (middle ontology) даются в языке системного мышления (upper ontology), то есть классифицируются типами upper ontology, включающей и системное мышление, то мы говорим о такой «хорошо типизированной понятиями системной онтологии дисциплине» как о «системном менеджменте» (так же можно определить системную инженерию, системный фитнес и т.д.). Ничего из M4, M3, M2 сотрудникам предприятия, для которых вы готовите концепцию предприятия, знать не нужно, на этом «птичьем языке» им не нужно разговаривать, и это «недопущение употребления в речи слишком абстрактных понятий» — предмет отдельной заботы менеджмента. От топ-менеджмента и топ-инженеров ожидается, что они как-то владеют метаУ-моделями/M2/middle ontology. Они же обязаны как-то организовать труд людей на предприятии, поэтому должны знать примерное устройство труда в целом, должны иметь кругозор. Если вы хотите удержать в голове «труд людей» как нечто связное, вам как раз нужна middle ontology: чем больше вы знаете из неё понятий и связей из разных предметных областей, тем больше ваш кругозор. Получить его можно медленно через «насмотренность/наработанность» (неявное обучение, нейросеть как-то запоминает и применяет паттерны в жизненных ситуациях), или прохождением курсов, быстро. Наш подход: учить middle ontology явно, а не ждать много лет «естественного опыта жизни/насмотренности»!

  • набор типов объектов отдельных прикладных дисциплин (domain/предметная область — это область объектов одного предмета/дисциплины) — это domain ontology/метаС-модель/M1/модель данных в базе данных. В СМД-методологии это «рабочая онтология». Моделирование онтики этого уровня может выполняться и сотрудниками предприятия, интеллект которых весьма ограничен — которые не могут определять эти понятия с типизацией в языке middle ontology, у которых недостаточное фундаментальное образование и не хватает кругозора. Онтика — это онтологическое описание предметной области, когда вы задаёте понятие для domain ontology, не присваивая тип более абстрактного уровня. Плохая практика DDD как раз работает на этом уровне мета-моделирования, не обращаясь к предыдущему: выявляет объекты предметной области, но не типизирует их типами из middle ontology. Но если вы прошли курсы по дисциплинам интеллект-стека («познали/выучили мета-мета-модель»), то вы сможете резко улучшить качество метаС-моделирования, задействуя не только метаУ-модели (то есть обращаясь к специальной литературе по предметной области), но и мета-мета-модель, то есть находя пропущенные объекты на стыках предметных областей, а то и просто пропущенные предметные области. Ключевой момент тут в том, что предполагается табличное, текстовое, графовое (аутлайны) моделирование, где типы объектов предприятия (метаС-модель) — это заголовки табличек, упоминания объектов в тексте (например, заголовки), какие-то наименования нелистовых узлов аутлайна. Это абсолютно понятно работникам. МетаУ-модель/middle ontology/M2, а то и непосредственно мета-мета-модель/upper ontology/M3 будут типами для этих заголовков, гарантирующими связность и полноту моделирования в масштабе всех табличек/текстов/аутлайнов (включая то, какие таблички/тексты/аутлайны необходимы: это подробно рассказывается в курсе «Методология» и дополняется в курсе «Системный менеджмент»). Для программистов метаС-модель — модель данных для базы данных (а сами данные — это просто «модель» объекта моделирования, без мета).

  • Модель экземпляров объектов предприятия — операционная модель/модель/онтология экземпляров/M0/данные в базе данных. Выполняется обычно рядовыми сотрудниками предприятия путём заполнения придуманных в ходе мета-моделирования табличек данными, заполнения пропущенных мест в абзацах текста, указанием листовых объектов в аутлайнах. Если вы моделируете зоопарк, то в этой модели в колонке «тигры» (в языке рабочей онтологии «звери») будет стоять «Амур» — имеется в виду конкретный тигр, который вы учитываете в зоопарке. А вот «тигр» будет отмоделирован как «зверь» из кругозорной/middle онтологии биологии, а в upper ontology, вы вряд ли найдёте подробности больше, чем «живой объект/сущность», а в foundational ontology будет «объект/сущность» (сущность/entity — «то, что существует»). Так что полная цепочка будет «сущность — живое существо — зверь — тигр — Амур» и не забываем, что в физическом мире ещё для референса/ссылки «Амур» из таблички тигров будет референт: некий протяжённый в пространстве-времени объект Амур в реальном мире.

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

Если вы пришли на незнакомое вам предприятие, и знакомы с мета-мета-моделью, то вы уже многое знаете про это предприятие! Вы уже знаете, что там есть агенты, которые играют некоторые роли, выполняя работы по каким-то методам/практикам! А если знакомы с каким-то кругозором метаУ-модели (например, какие роли бывают в инженерии и менеджменте), то и вообще ваших знания о незнакомом вам предприятии могут оказаться больше, чем знания давно работающих на нём людей! Разбираться с ситуациями, в которые попадаете впервые, становится проще.

Онтология нужна для разделения труда в мышлении

Онтологическая работа важна, если вам когда-либо приходилось составлять какие-то формы или таблички для заполнения их какими-то людьми, то вы занимались онтологической работой, сами того не зная. Помним, что в колонке таблички вы пишете какой-то тип, а в строках таблички какие-то люди прописывают значения этого типа. И качественная или некачественная работа отличается тем, что вы или задумываетесь над тем, какого типа типы в заголовках ваших колонок (онтология) и что там ещё рядом пропущено из типов, на важность которых указывает более высокий уровень абстракции, чем тип колонки, или просто пишете какой-то тип, не задаваясь вопросом его типизации (работаете с онтикой, то есть нетипизированным «огрызком» какой-то более полной многоуровневой онтологии). Онтологическая работа (онтологическая инженерия/ontology engineering, можно спорить о том, говорить ли об этой работе как об инженерии, ибо она вроде не меняет непосредственно физический мир к лучшему, но аналогии с программной инженерией тут более чем прозрачные) даёт более точные описания ситуаций (объекты и отношения в этих ситуациях), в них упоминается больше важных объектов внимания и меньше упоминается отвлекающих это внимание неважных объектов.

Как и любую другую работу, онтологическую инженерию можно делать хорошо, если владеть мастерством онтологических рассуждений по трансдисциплине онтологии, но можно делать «интуитивно», то есть плохо — ибо в рассуждениях тогда нельзя будет заметить даже «новичковые» ошибки. Просто не будешь знать, что ты работаешь с какими-то типизированными объектами, просто ты «работаешь», и наверняка делаешь ошибки: просто потому, что не знаешь, «как надо», то есть не знаешь, что это ошибки. Эти ошибки незаметны, они оказываются вне сферы твоего внимания, «нет объектов, на которые надо поглядеть, чтобы обнаружить ошибку». Помним, что трансдисциплины, в том числе и трансдисциплина «онтология» — это прежде всего про собранность, про привлечение внимания к важному и возможность игнорирования всего остального неважного, которого в мире неизмеримо больше, чем важного!

Именно об этом подробно говорится при рассмотрении моделирования предприятия в курсе системного менеджмента, даются примеры моделирования. Для понимания всех нужных для моделирования типов нужно, конечно, закончить курс онтологики и собранности (про дисциплину онтологии рассказывается там, равно как там же рассказывается о том, как стать собранным не только лично, но и сделать собранным коллектив предприятия), затем как-то освоить системное мышление, методологию, системную инженерию и системный менеджмент (middle ontology нужно знать, чтобы успешно моделировать domain ontology, люди на предприятии рассуждают на уровне «рабочей онтологии» и ниже). Есть видео10 наших выпускников, которые после знакомства со всеми этими курсами становятся понятными и воспринимаются как «руководство к действию». Впрочем, в современной версии курсов ШСМ всё это моделирование предприятия становится понятным и без таких видео, при этом особый упор делается на использование не специализированных, а универсальных моделеров. Грубо говоря, для моделирования в качестве экзокортекса используется любая внешняя память — более или менее приспособленная для целей моделирования, или даже не совсем приспособленная. Моделером лист бумаги и ручку делает тот, кто моделирует! То же относится к универсальным системам коллективного ведения компьютерных заметок, особенно к тем, в которых хорошо представлена табличная форма моделирования: notion.so, code.io и прочие productivity tools.

В «бытовой» жизни нельзя встретить полную, стройную и согласованную многоуровневую онтологию. В жизни вы обычно встречаете много плохо согласованных (то есть никак не согласованных!) онтик, как обрывков каких-то онтологий — это результаты самых разных и несогласованных между собой попыток моделирования мира. Попытка вписать значение температуры в градусах Цельсия в табличку, где температура понималась как физическая величина в градусах Кельвина — это ещё самая невинная онтологическая ошибка (объект, определённый в языке одной онтологии/мета-модели кажется объектом, определённым в похожем, но не совпадающем полностью языке другой онтологии/мета-модели). Высота над полом — это «высота над уровнем перекрытия» или «высота над фальшполом машзала» (реальная ошибка из опыта проектирования атомных станций), и она даётся в миллиметрах, сантиметрах, или метрах (или вообще в футах)?

Чтобы согласовывать онтики между собой, нужно вести довольно искусную онтологическую работу. Никакой объект физического мира не становится таковым сам по себе (атомы не существуют сами по себе: это люди придумали концепцию «атом» как «что-то такое устойчивое на микромасштабах с примерно таким поведением», и это понимание довольно сильно менялось по мере развития науки. Никакой физический разговор про «аттракторы в пространстве состояний» и self-evidence термодинамически устойчивых объектов не отменяет этих онтологических рассуждений), он становится таким в силу существования многочисленных уровней абстракции, интегрирующих знание об этом объекте в общие знания цивилизации — и существование предмета/сущности/объекта тем самым обеспечивается не только тем человеком, который обнаружил такой объект и определил его отношения с другими объектами впервые, но и теми (часто давно умершими) людьми (или в последнее время даже компьютерами или коллективными агентами), которые описали классы таких объектов, или классы классов, которые описывают описания классов, которые описывают эти объекты, и так на некоторую глубину уровней абстракции. Если этого не понимать, то не получится «нарезать» мир на такие объекты, с которыми потом можно будет выполнять длинные цепочки рассуждения по правилам (объекты, с которыми будет работать логика), трудно будет достигать надёжных результатов рассуждений. Рассуждения, в результате которых вы не уверены, обычно такие и есть: они содержат в себе ошибки, неразрешимые без специальных усилий противоречия.

Онтология за счёт формализации описаний (подбор математических объектов, поведение которых хорошо известно, и которые заменяют физические объекты в мышлении) и многоуровневого наведения внимания на важные объекты за счёт многоуровневой классификации/присвоения типа, помогает избавиться от ошибок в мышлении. Ещё онтология помогает разделению труда в мышлении: можно выделить разные объекты, которые подробно продумываются разными людьми, а в общении потом эти люди обмениваются результатами своих размышлений — и эти результаты можно потом собрать в одно целое, ибо про каждый результат будет понятно, в каком языке этот результат выражен, и так на несколько уровней абстракции вверх и вниз. Так, в инженерном проекте кто-то может продумывать нужность системы в надсистеме (визионер), кто-то продумывать функциональные части системы (разработчик), а кто-то может продумывать способ объединения конструктивных частей (архитектор), потом они должны как-то договориться по итогам своих размышлений.

В СМД-методологии это постепенное формулирование объекта рассмотрения (как именно выделять предмет в физическом мире — откуда мы вообще знаем понятие «предмета»? Какое отношение этот предмет-объект имеет к субъекту? и прочие эпистемологические вопросы для онтологического рассмотрения) называют «проблемой объективации»: все «одноуровневые указания объекта» упираются в «проблему» зависимости выделения объекта от выделяющего объект субъекта (разные субъекты выделяют разные объекты, нельзя что-то «объективировать», выделить объект «объективно»). Решение этой проблемы в том, что отношение субъект-объект формируется многоступенчато, на многих уровнях абстракции. В программировании, когда обсуждают уровни метамоделирования — все эти M0-M9 из Meta Object Facility11, имеют в виду именно эти уровни абстракции в моделировании мира, но верхние уровни абстракции мало кого волнуют, если ты не занят действительно большими и сложными проектами, где мультидисциплинарность начинает доставлять мыслительные сложности и требуется сделать какие-то онтологические выборы (ontological commitments, онтологические посылки) для более-менее беспроблемного выражения знаний о самых разных предметных областях. Например, вы занимаетесь капитальным строительством сложных инженерных объектов: атомных электростанций, морских нефтяных платформ и сталкиваетесь с необходимостью как-то собрать воедино знания о комплектующих, которых в таких проектах набирается несколько миллионов. Если вы выберете 4D онтологию, то огромное количество отношений превращаются в отношения «часть-целое» и задача описания сложнейшего проекта упрощается. Если выберете 3D онтологию, то мир будет описывать более сложно, в более объёмном и разнообразном описании у вас вероятность ошибок будет больше. На проекте с десятком миллионов индивидуальных деталей эта разница в сложности будет очень существенной, хотя если у вас пара тысяч деталей в вашем проекте, то вы не будете замечать эту разницу в сложности описаний. Или вы медик, и нужно собрать воедино знания об огромном количестве болезней/патологий, или генов, или организмов, или химических веществ как потенциальных лекарств. Профессиональные онтологи работают именно в таких проектах, где очень много всего разного. Наша идея в том, чтобы использовать элегантное/lean онтологизирование: иметь самый низкий уровень формальности для верхних уровней абстракции в описаниях, но саму эту технику упрощения описания «пестрого мира» в проектах за счёт удачно выбранных онтологических посылок, «где очень много всего разного» перетаскивать в менеджерские и инженерные проекты, где всего не так много, но тоже хорошо бы поднять качество описания.

Если у вас проекты относительно простые, то профессиональные онтологи будут для вас слишком дороги, и вам придётся быть онтологом самостоятельно. Плохое понимание онтологии в интеллект-стеке ведёт к плохому пониманию системного мышления, далее к плохому пониманию сути методологии, трудовой кругозор становится несвязным, далее будет невозможность осмыслить связность между собой разных прикладных трудовых практик в рамках одного проекта, ибо будет непонятна их «одинаковость», «сравнимость». Разорванная на лоскуты отдельных практик картина мира — это беда, будут огромные трудности с тем, чтобы договориться о сотрудничестве в проекте! Будет огромное количество «споров о терминах», абсолютно бесполезных и бесперспективных. Взять хотя бы слово «сервис»: это поведение, или та штука, которая как-то себя ведёт? Если «сервис» это «та штука, которая себя как-то ведёт», то что такое сервис-провайдер — то же самое, что сервис? А сервис — это услуга или служба, это ж просто перевод английского service? Функциональный объект и функция — это одно и то же? И чем они отличаются от рабочих продуктов и работ? Без разбирательства с этими вопросами (это типичные вопросы для онтологии) в инженерных и менеджерских проектах вы не разберётесь. И обратите внимание, что для разговора об онтологии вам требуется и знание понятизации (работаем с понятиями), и собранности (описания документируем!), и семантики, и разбирательство с ментальным миром (математика) и физическим миром (физика), и работа в рамках какой-то теории понятий (опять же, работаем с понятиями!).

Увы, совсем уж согласованных между собой онтологий не бывает в природе, поэтому чаще всего люди довольствуются просто собирательством самых разных онтик (полезно уже хотя бы сделать их явными!) и их более-менее неформальным объединением. Итоговая клочковатая структура знаний не даёт надёжности для длинных цепочек рассуждений, но уровень точности рассуждений для понятий, типы которых проговорены явно, даёт достаточную степень правдоподобности. Если нужно увеличить вероятность правильности рассуждений, то можно всегда предпринять дополнительные усилия по доформализации получившегося общего знания: вам нужно будет создать на предприятии службу качества данных (и инженерных, и менеджерских), где собрать каких-то разбирающихся в онтологии людей.

Примеры управления вниманием с явным использованием онтологий

Чтобы стать более конкретными, приведём пример рассуждений с задействованием стека абстрактности12:

  1. Сначала сотрудника расспрашивают о его предметной области, чтобы он произвёл некоторое количество не слишком абстрактных текстов (он их может даже не писать, а проговаривать устно в виде ответов на вопросы). Скорее всего, он будет говорить на уровне M1, в терминах его прикладной дисциплины. В примере он, например, будет поминать capability.

  2. Далее по уровням абстракции нам нужно идти вниз (первый шаг обычно идёт «из середины вниз» — всегда попытка «заземления», grounding), чтобы поднять шансы на понимание: нужно просить дать его конкретные примеры, привести ситуации в физическом мире. Тут хорошо работает правило ТКП/трёх конкретных примеров: если трёх конкретных примеров для какого-то понятия не удаётся привести, то это явно не слишком важное понятие, можно и без него. Это понятие не достойно обозначать часто встречающиеся, вероятные ситуации, оно непрактично (но, например, могло быть выдумано автором какого-то учебника для дидактических целей или обозначать какой-то факт в одном проекте, а не быть понятием дисциплины, то есть не встречаться много раз в разных проектах). В любом случае, шаг на адекватность мышления, в сторону 4D физических объектов должен быть сделан, чтобы вы и ваш собеседник-сотрудник говорили об одном и том же. Сотрудник приводит примеры capability как выполнения каких-то действий.

  3. Далее вам нужно сделать два шага по уровням абстракции вверх: опираясь на данные сотрудником примеры и ваше понимание его рабочей онтологии/метаC-модели/M1, вам нужно отнести его концепты к уровню middle ontology, трудового кругозора, или даже сразу уровнем выше, upper ontology, где даётся весьма абстрактная картина мира (в upper ontology часто всего 200-300 понятий). На таком высоком уровне абстракции делаются рассуждения типа «их доллары — это наши баксы» (и доллары, и баксы как менее абстрактные понятия мы соотносим с деньгами как более абстрактным понятием), и относим более конкретное понятие оргвозможности/capability в системном менеджменте к более абстрактной «практике» в методологии, концепт из M3. «Их возможность выполнять какие-то работы заданным способом — это наша практика».

  4. На этом верхнем уровне мы делаем умозаключение: что представляется нашему собеседнику важным, чем он озабочен? Так, для практик обычно представляется важной её дисциплина (рассуждение на уровне абстракции upper ontology, понятие «дисциплина» оттуда) — и мы можем сотруднику задать вопрос о том, где он взял знания для выстраивания своей capability (вопрос на уровне абстракции, используемом сотрудником в разговоре). Практики обычно отличают от процессов/работ (рассуждение на уровне upper ontology, возможно детализированное рассуждениями на уровне middle ontology — по операционному менеджменту и управлению жизненным циклом), можно задать этот вопрос сотруднику на его уровне domain ontology. Вот это то самое место, когда высокоуровневая онтология используется как чеклист для мышления о ситуации/проекте: можно понять, что в ситуации продумано, а что ещё требует рассмотрения и может содержать потенциальные риски.

  5. После разбирательства с ситуацией, когда мы понимаем её на уровне бедной концептами и тщательно проработанной онтологически абстракции уровня выше, но сотрудник компании может использовать интуицию в богатой концептами менее абстрактной своей низкоуровневой онтике (необязательно даже соответствующей каким-то дисциплинам — он сам мог придумать все типы объектов, даже не знать о существовании дисциплины!). Мы могли бы привнести в ситуацию знания, полученные из других дисциплинарных обсуждений в других предметных областях с другими сотрудниками. Что будет вноситься? Это обычно понимается мышлением на уровне высокоуровневой/кругозорной middle ontology и уточняется при совмещении рабочих/domain онтологий отдельных дисциплин переходом к вообще низкоуровневым операционным фактам об экземплярах объектов предприятия. Например, в случае capability можно было бы привнести понимание со стороны инженерии предприятия — какие подразделения/оргмодули/оргзвенья будут реализовывать практику/capability? И тут оказыватся, что capability — это не любая практика, а только которая готова к её выполнению каким-то оргзвеном (то есть оргзвену разрешено её выполнять, а также у оргзвена есть все ресурсы на выполнение).

  6. Далее сотрудник может продолжать использовать свою рабочую/предметную онтику с понятием capability, чтобы не потерять свои предметные интуиции, возможно, уточнённые вами после учёта рассуждений на более высоком уровне абстракции, и обогащённые новыми понятиями (если в онтике, используемой сотрудником не было необходимых понятий). Например, он будет продолжать рассуждать о capability, но уже понимая, что речь идёт не о процессах/работах, а о практиках/деятельностях/видах труда, причём готовых к выполнению (и он научится в ходе бесед с вами их различать: заказывать выполнение работ, но изучать при этом практики и саму возможность их выполнения — смотреть на capability/оргвозможность).

Другим примером такого управления вниманием через «вертикальную» навигацию по уровням абстракции в пространстве смыслов служит практика progress report с использованием «альф» как специальных объектов внимания, предназначенных для отслеживания изменений в проекте. В этой практике рассказ о проекте или предприятии абстрагируют от ситуации конкретного проекта или предприятия путём отнесения разных сюжетов рассказа к альфам (подробнее об этом рассказывается в курсе методологии), а затем привлекают внимание к тем темам, которые относятся к пропущенной в ходе обсуждения альфе, конкретизируя обращением в том числе и к подальфам этих основных альф. Подальфы уже появляются в рамках middle ontology, а то и domain ontology. Трудно манипулировать в уме самими текстами рассказа progress report, определяя пропущенные вопросы, но вот несколькими высокоуровневыми/абстрактными концептами альф манипулировать легко (особенно, если они представлены чеклистами в компьютере): они и являются объектами, на которых нужно сознательно удерживать внимание, среди них и осуществляется навигация в пространстве смыслов. Относим производимые при progress report те или иные фрагменты текста к альфам (поднимаемся по уровню абстракции), затем на уровне альф определяем, про какие из них ещё не было сказано, а затем опускаемся по уровням абстракции вниз, задавая вопросы к подальфам этих пропущенных альф. При любых намёках на непонимание требуем опуститься ещё на уровень вниз и привести примеры из физического мира, обсуждаем конкретные рабочие продукты и тем самым всячески поднимаем адекватность наших описаний (подъём по уровням абстракции всегда содержит риск утери адекватности!).

Приведённые в нашей курсе/книге уровни абстрактности не догма, а онтология явно не представлена деревом (даже классический взгляд на онтологии — это «решётки»13) или классической структурой платформенного стека. У нас тут сознательно не слишком формальное рассуждение: когда нам нужно будет получать точные формальные результаты, тогда и займёмся классической computational ontology, а пока будем элегантны/lean, не будем излишне формализовать. Вряд ли эта дополнительная формализация потребуется: на классическом пути формализованных до предела онтологий полезных результатов получено немного, в онтологической работе лишняя формализация (выражение онтологии в максимально формальной логической форме) оказывается не менее вредна, чем недоформализация (то есть отсутствие онтологии).

Тут можно пообсуждать вопрос, что формализация сама по себе не означает абстрагирования, формализация-деформализация обычно происходит на одном и том же уровне абстракции. Но, конечно, формализация связана с абстрактностью описания: строгость в описании появляется тогда, когда явно присутствуют минимум два уровня абстрактности описаний, и один уровень описывает другой уровень (то есть кроме модели есть ещё и мета-модель, а иногда и мета-мета-модель). Рациональность (использование формализмов при принятии решений, а не только неформальных рассуждений «по подобию») тем самым заведомо требует абстракций — использования сразу нескольких уровней абстракции, эти критерии рациональности и абстрактности оказываются зависимыми друг от друга, они не ортогональны. Онтологи как раз и занимаются этими нюансами в определении правильного уровня формальности в описании мира.

Онтология и отношение композиции: системность

Важнейшие для онтологии отношения — это представления/representation, классификации (присвоения типа), специализации (подтипа), части-целого (композиция) и реализации (конструктивным объектом функционального объекта, подробно разбирается в курсе системного мышления). Конечно, отношений много больше. Например, в системном мышлении активно используется отношение создания, в котором создатель A создаёт какой-то объект Б. За отношением всегда скрывается какой-то глагол. Язык обычно устроен так, что глаголов (операторов) немного, а вот возможных операндов (объекты, которые участвуют в операциях) — огромное количество. Грубая оценка онтологического проекта Gellish14 — это примерно 300-500 наиболее часто использующихся в промышленных онтологиях, всего достаточными для большинства целей оказывается порядка 3000-5000 отношений.

Конечно, отношения могут быть не двухместными, а многоместными, например, отношение «дать» включает дающего, передаваемый предмет и берущего. При этом моделировать это двуместными отношениями оказывается плохо, ибо требуется дополнительная увязка того, что «дать» и «взять» оказываются одновременными, одним и тем же — и дальше начинаются споры об онтологическом понимании времени и связи событий.

Но это уже предмет специализированных курсов. Для наших целей онтологической поддержки системного мышления третьего поколения15 надо рассмотреть более подробно одно из них: отношение композиции, которое определяет связи между объектами разных системных уровней.

Отношение композиции/часть-целое/разбиение/is_part_of оказалось настолько важно, что в онтологии для него выделена отдельная поддисциплина — мереология16. Важность в том, что при переходе к 4D онтологии все рассуждения про время и изменения переходят к рассуждениям про состояния объекта как темпоральные/временны́е части целого объекта, и огромное количество самых разных других отношений становится вдруг выразимым через отношение композиции.

В мереологии в 21 веке произошло довольно много изменений по двум линиям:

  • Мы уже обсуждали прорыв в области стыка геометрического и алгебраического описаний мира по линии конструктивной математики. Отношения «часть-целое» интуитивно понимаются как отношения между пространственными формами, которые как раз и изучает геометрия. Поэтому по линии гомотопической теории типов и теории категорий на базе унивалентных оснований математики вполне можно вернуться к идее переопределения мереологии на более формальных математических основаниях. Это и делается, например, используя обобщение пространств категориями Чу (много литературы приводилось в подподразделе «Пример: физмат-моделирование сознания и эволюции» подраздела «Математика»). После этого мы уже не говорим о «частях-целых», но говорим об операциях конструирования объектов, которыми описываем части и целые.

  • Есть работы мереологов на базе идей Kit Fine, в которых предлагается примерно тот же самый ход: отношение «часть-целое» заменяется операцией конструирования части и целого17. И мы получаем возможность мереологии, которая включает не только физические, но и абстрактные/понятийные/математические объекты (то есть переход к операциям композиции позволяет говорить, что какой-то абстрактный объект является частью другого абстрактного объекта, если этот другой объект сконструирован с его помощью. Но это уже не «отношение», а «операция» композиции).

Обобщение мереологии на физические и абстрактные части позволяет единообразно/универсально говорить о самых разных феноменах, например, о конструировании стены из кирпичей и множества из его элементов. Хотя Kit Fine в явном виде этого не говорит, определяя операции конструирования (равно как и морфизмы теории категорий) выполняющимися как бы "никем", но за этими операциями легко увидеть физическое устройство-constructor из constructor theory, предложенной David Deutsch, в том числе для абстрактных частей — физическое устройство, воплощающее «универсальный вычислитель», в том числе и квантовый компьютер, и живой математик — вычислительно они эквивалентны и физичны, чтобы как-то получить информацию о входных и выходных данных вычисления. Подход Kit Fine позволяет ставить вопрос о понятии системы в системном подходе, простирающемся за пределы физически взаимодействующих частей, ибо взаимодействие физических частей, управляемое абстрактными объектами, может быть в вычислителе — определение системы как взаимодействующих частей с получением эмерджентности сохраняется, только взаимодействие идёт в системе-создателе, а не целевой системе. По этой линии можно обсуждать системность в сложных случаях сообществ, которые вроде как существуют, но которые трудно обсуждать на основе взаимодействия членов этих сообществ друг с другом: взаимодействие происходит путём проведения операций рассуждения об этих сообществах в вычислителе создателя18.

Эта линия работ на конструктивистское переописание системной онтологии второго поколения была продолжена при создании Core Constructional Ontology19, которая предлагает конструктивистский взгляд на теорию частей, множеств и отношений (то есть мереологию) и служит одним из уровней foundational ontology для инженерных описаний. Для неё более низким уровнем foundational ontology является математика, а выше неё — соображения по выражению 4D мереотопологии пространства-времени в 4-Dimensionalist Top Level Ontology20.

После того, как разобрались с мереологией, можно вернуться к собственно онтологическим рассмотрениям и подметить, что если части какого целого взаимодействуют, то у целого обычно появляются новые свойства, которых нет у частей. Это свойство называют эмерджентным, явление — эмерджентностью/emergence.

Теорий эмерджентности есть множество, но все они оказываются связанными с теориями информации: мы говорим о том, что невозможно описать свойство надсистемы, исходя только из свойств подсистемы — обзор можно найти в работе «Emergence as the conversion of information: A unifying theory"21. В этой работе говорится (кроме обширного литературного обзора по теориям эмерджентности), что не только не хватает вычислительных мощностей для вычисления причинности в макроповедении целых по микроповедению частей, но и меняется тип информации — и редукционизмом (попыткой объяснения поведения целых поведением частей, «редукция») не удаётся решить проблему описания поведения на более высоком системном уровне из поведения на более низком уровне не только из-за сжатия огромного объема информации о частях в небольшой объем информации о целых, но и из-за потери смены типа информации при переходе с уровня на уровень (проблема causal emergence, причинной эмерджентности).

Во всех этих теориях эмерджентности ни слова не говорится о собственно системном подходе в его нынешней не слишком формальной (по спектру формальности мышления) версии. Но выводы там делаются общие, применимые к каким угодно системам. В принципе, эмерджентность начали рассматривать и по отношению к абстрактным объектам, например, графам — они демонстрируют новые свойства по мере роста размера и числа связей в случайном графе22. Про появление эмерджентных свойств нейросетей по мере роста их размеров (то есть увеличении числа частей и появления новых связей между частями) сейчас выходят множество работ23. Интересный онтологический вопрос ставит группа Виталия Ванчурина: если предположить, что мельчайшей частью Вселенной является нейрон (уровень ниже квантовых частиц), и свойства системы «познаются/выучиваются» путём адаптации этих нейронов — то какие свойства являются выучиваемыми (эмерджентными), а какие постоянны (не выучиваемыми)? Этот вопрос задаётся в терминах физики, изменяемых и не изменяемых переменных — и это как раз вопрос «предельной онтологии», предельного вопроса о том, как же устроен наш мир, из каких мельчайших объектов-элементов, далее неделимых. А выше этого уровня огромное число системных уровней, на каждом из которых появляются новые объекты, собранные из более мелких, причём устойчивые конфигурации этих объектов дают свойства этих объектов (новые переменные), и нужно тем самым применять новые теории для предсказания свойств этих объектов.

Так что один из онтологических выводов по линии мереологии как науки о частях и целых (отношение ли между ними, или операция конструирования — это в данном случае неважно) — это обязательность смены domain ontology при переходе с одного системного уровня на другой. Если забыли поменять domain ontology при переходе на более высокий системный уровень (то есть уровень иерархии части-целых, не путать с уровнями абстракции!), это будет ошибка редукционизма, если забыли поменять при переходе на более низкий системный уровень, то это будет ошибка холизма. При переходе с рассмотрения атомов на рассмотрение молекул не забудьте поменять физику на химию, при переходе с рассмотрения молекул на рассмотрение живых клеток не забудьте поменять химию на биологию. Подробней об этом — в курсе практического системного мышления.

Это всё системный подход, подразумевающий многоуровневое описание мира как взаимодействующих между собой систем.

4

Nicola Guarino, Daniel Oberle, and Steffen Staab, What Is an Ontology?, in S. Staab and R. Studer (eds.), Handbook on Ontologies, Springer-Verlag, 2009

5

Karl Friston, Embodied inference: or "I think therefore I am, if I am what I think" In W. Tschacher, C. Bergomi (Eds.), The implications of embodiment: Cognition and communication (pp. 89–125). Imprint Academic., https://www.fil.ion.ucl.ac.uk/~karl/Embodied%20Inference.pdf

7

Онтологическая инженерия в 2022, https://ailev.livejournal.com/1653296.html

8

Раздел «CYC никуда не делся, продолжает делать и исправлять свои ошибки», https://ailev.livejournal.com/1610230.html (2022)

11

Эти разные, разные «меты», https://ailev.livejournal.com/1053878.html

12

Этот сценарий взят из «Слова-термины важны, и не важны» https://ailev.livejournal.com/1442764.html, этот материал в каком-то виде присутствует в курсах системного мышления и системного менеджмента.

18

Kit Fine, The Identity of Social Groups, 2020 https://metaphysicsjournal.com/articles/10.5334/met.45/

19

Salvatore Florio, Core Constructional Ontology (CCO): a Constructional Theory of Parts, Sets, and Relations, 2021, https://gateway.newton.ac.uk/presentation/2021-04-22/29947

20

Chris Partridge, 4-Dimensionalist Top Level Ontology, https://gateway.newton.ac.uk/presentation/2021-04-22/29946

23

https://ai.googleblog.com/2022/04/pathways-language-model-palm-scaling-to.html — там одна из самых популярных иллюстраций, мы уже приводили эту работу, когда обсуждали нейросемиотику в подразделе «Понятизация». Вот ещё одна работа на эту тему: https://arxiv.org/abs/2206.07682