Вполне вероятно, что вам приходилось сталкиваться с темой векторных баз данных (vector databases, VDB), отчасти благодаря бурному развитию больших языковых моделей (LLM). Растущая шумиха вокруг этой технологии в последние месяцы привела к возникновению множества вопросов. Что это такое? Как VDB соотносятся с базами данных графов знаний (knowledge graph databases, KGDB)? Почему и когда следует использовать одну из них, а не другую? Эту тему на портале Datanami обсуждает Даг Кимбалл, генеральный директор компании Ontotext, поставщика технологий корпоративных графов знаний и движков семантических баз данных.

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

VDB vs. KGDB: сходства и различия

Чтобы понять эти технологии и их влияние на бизнес, важно понять, что делает каждая из них.

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

Однако все эти инициативы требуют значительного объема данных, а также умения соединять эти системы для обеспечения совместной работы. В недавнем отчете говорится, что 86% компаний имеют дело с изолированными данными, поэтому растет важность объединения всех этих данных для достижения бизнес-целей.

Векторные вложения — это числовые представления объектов (источник: Pinecone)

Отличия этих технологий друг от друга заключается как в функциональности и возможностях, так и в том, что нужно бизнесу от данных. VDB хорошо оптимизированы для таких приложений, как поиск изображений, обработка естественного языка, рекомендательные системы и генерация с расширенным извлечением/поиском (Retrieval Augmented Generation, RAG). Например, они могут хранить и искать вложения изображений и слов (известные как высокоразмерные векторы), которые представляют визуальные особенности изображения и семантику слова соответственно. Первый вариант позволяет быстро и эффективно искать похожие изображения в большом наборе данных, а такие действия по обработке естественного языка, как анализ настроения и обобщение текста, осуществляются на основе вложений слов.

Чтобы представить это концептуально, представьте себе компанию с большим ассортиментом товаров, которая должна обеспечить возможность быстро и легко найти любой товар, независимо от того, что ищет покупатель. VDB, действующая как гигантская поисковая система, может помочь найти похожие товары, даже если они не классифицированы одинаковым образом. Например, если вы ищете алюминиевую лестницу, векторная база данных поможет найти все предлагаемые алюминиевые лестницы, даже если они разных марок, размеров или стилей. И помочь запросить все изображения алюминиевых лестниц и получить сводки сопутствующего текста или описания для каждой из них. VDB также находят широкое применение в тех случаях, когда LLM необходимо использовать для работы с частными данными и/или для уменьшения галлюцинаций. Такое использование VDB известно как RAG.

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

Графы знаний позволяют пользователям запрашивать сложные отношения между частями данных (источник: Ontotext)

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

Благодаря возможностям рассуждений в KGDB, использующих формат описания ресурсов (Resource Description Format, RDF), выводы могут быть получены с помощью ИИ. Потом эти возникшие знания могут быть использованы для обнаружения новых идей и закономерностей, иногда называемых «неизвестными неизвестными», которые было бы трудно или невозможно найти с помощью традиционных методов. Это делает KGDB хорошо подходящими для таких решений, как организация и обнаружение знаний, семантический поиск, расширенные многоуровневые запросы и ответы на вопросы. Если цель состоит в том, чтобы понять, как различные части информации связаны друг с другом, например, при построении сложных рекомендательных систем, где важны взаимосвязи, анализе сетей или организации структурированных знаний, то RDF — отличный выбор. Это связано с тем, что здесь особое внимание уделяется моделированию отношений, сущностей и их атрибутов в графовой структуре, что обеспечивает богатое семантическое представление.

Итак, что же выбрать?

Когда вы решаете, какой тип базы данных лучше для вашего бизнеса, все сводится к вопросу о том, что нужно делать с данными. Если необходимо быстро и легко находить похожие товары, то лучшим выбором может стать VDB. Если же требуется дополнительная аналитическая мощность для таких задач, как выявление и понимание взаимосвязей между различными продуктами, то KGDB создаст правильную основу для стратегии в области данных и бизнес-стратегии организации.

VDB больше подходят для задач, связанных со сходством и машинным обучением, в то время как KGDB отлично подходят для моделирования и запроса взаимосвязанных, сложных, семантически насыщенных данных. Они оптимальны для приложений, которым необходимо представлять знания и рассуждать о них в контексте конкретной области, такой как здравоохранение, финансы или приложения для управления взаимоотношениями с клиентами (CRM).

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