Хайп? Философия? Повседневность? Будущее?
Давайте разбираться.
TL;DR:
Онтология в IT - это способ структурировать знания о мире в виде связанных категорий и их свойств.
Например, в онтологии "Игры престолов" есть категории "дома", "персонажи" и связи между ними. Когда мы наполняем онтологию реальными данными, получается граф знаний.
Семантический слой - это более абстрактное понятие, включающее все способы придания смысла данным.
Вместе они помогают ИИ-системам лучше понимать контекст и давать более точные ответы.
Динамические онтологии используются для выявления скрытых связей в больших объемах данных, что помогает принимать более обоснованные бизнес-решения.
Онтология
Онтология - это формальное представление категорий объектов, их свойств и взаимодействий.
Если для примера взять Игру Престолов, то онтология будет включать такие категории как "великие дома", "замки", "персонажи", и т.д.
В этой же онтологии связи между категориями могут быть следующими:
a → союзничает с → b
x → правит → y
z → принял присягу → w
В применении к LLM, онтология - это описание информации в структурированном виде. А если мы к этой структуре добавим саму информацию (например, Баратеоны, Старки, Винтерфелл, и т.д.), то получим граф.
То есть если онтология - это модель данных, то граф - это реализация этой модели.
Задача онтологии - создать мост между сырыми данными и их смысловыми концепциями, и тем самым предоставить удобный формат, который и понятен человеку, и может быть обработан алгоритмически.
Многие современные системы, использующие большие языковые модели, применяют RAG-подходы - то есть сначала из структурированного хранилища данных выбирается информация, релевантная пользовательскому запросу, а потом эта выборка скармливается LLM для формирования осмысленного ответа. Так вот часть таких RAG-систем строятся на графовых базах данных, например Neo4j.
Используя схему графа, включающую сущности и их отношения, LLM-системы могут лучше понимать контекст, более точно выбирать релевантную информацию и минимизировать галлюцинации при формировании ответа.
В простом случае, создание схемы графа, или онтологии, предполагает определения концепций предметной области и их взаимосвязей, и выполняется, как правило, экспертно.
Однако если работать с большим объёмом данных, то рано или поздно начинают проявляться скрытые взаимосвязи, например, зависимость продаж от прогноза погоды, или связь качества доставки заказов с футбольными матчами чемпионата мира. И такие зависимости, как правило, очень сложны в понимании и предсказании. Экспертно выделить такие связи практически невозможно.
Динамическая онтология
На помощь приходит динамическая онтология. Существуют системы, позволяющие на основании сырых данных строить онтологии автоматически. То есть система сама выделяет значимые сущности и их взаимосвязи.
Платформы подобные Palantir позволяют аккумулировать сырые данные из различных источников (например, ERP, CRM, IoT датчики, кликстрим, видеопоток, и т.д.), выявлять в них паттерны, прогнозировать ход бизнес-процессов, и формировать логические и аргументированные решения.
Интегрируя и обрабатывая данные, прогнозируя события и действия, в подобных платформах выстраивается цифровая модель нашего мира, с которой можно взаимодействовать как пользователям, так и ИИ-агентам.
Супермозг
Можно пойти ещё дальше. Если у нас есть система, к которой подключены все наши бизнес-приложения и хранилища данных (скажем, SAP, Salesforce, Jira, Ms Office и пр.), и эта система умеет формировать бизнес-решения (например, нужно ли заказать техобслуживание автомобиля, или отправить напоминалку клиенту), то эта же система сможет не только подсказать, что нужно сделать, чтобы увеличить бизнес-метрики, но и сделать это самостоятельно.
Всё бы хорошо, но ....
Но как бы ни были привлекательны перспективы создать сверхразум для бизнеса, подобные технологические платформы несут за собой ряд новых задач. Динамически создаваемая онтология всё равно нуждается в человеческой валидации. Отсюда вырастают процессы управления, контроля, версионирования, тестирования и мониторинга онтологий. Уже представили себе департамент, который будет заниматься Ontology Governance? Про техническую сложность я вообще молчу.
В повседневной жизни
Неужели онтология - это настолько сложно?
На самом деле, онтологии в графовых структурах достаточно распространены. Существуют даже стандарты для описания онтологий. Самые известные - это RDF и OWL.
Resource Description Framework (RDF) - это фреймворк для моделирования и обмена данными в сети интернет. Он включает набор спецификаций для представления данных в виде триплетов: субъект-предикат-объект.
Например: Sansa Stark → Ruler of → Winterfell
Web Ontology Language (OWL) - это язык для создания онтологий в интернете. Он основывается на RDF и предоставляет способ описания концептуальных сущностей (классов) и их взаимосвязей.
Семантический слой
В заключении несколько слов про семантику.
В отличие от онтологии, которая выражается в структурированном виде (в виде кода или графа), имеет стандарты, фреймворки и свой язык, семантика (или семантический слой) - это обобщённое понятие, суть которого - придание смысла данным.
Семантический слой - это зонтичный термин, который может представлять собой описание модели данных, метаданных, правил взаимодействия, политики, спецификации API, механизмы кеширования и преобразования данных и любую другую информацию, которая позволит нашим данным иметь какой-то смысл.
Задача семантического слоя - обеспечить согласованность и прозрачность данных.
Представьте, что у нас есть данные о продажах из CRM и данные о доставках из логистической системы. Семантический слой может включать определение «проблемного заказа», описание меппинга заказов между системами, формулы расчета времени доставки и пр.
В отличие от строгой структуры онтологии, семантический слой может быть представлен в текстовом формате, конфигурационных файлах, коде, схемах и т.д.