Граф знаний
Узнайте, как графы знаний (knowledge graphs) революционизируют ИИ, моделируя сложные взаимосвязи, обеспечивая семантический поиск, персонализированные рекомендации и многое другое.
Граф знаний - это комплексная модель данных, которая организует и объединяет информацию в сеть реальных
объектов, событий, ситуаций или абстрактных понятий, а также явные отношения между ними. В отличие от
стандартной реляционной базы данных, в которой данные хранятся в виде строк и столбцов, граф знаний структурирует данные в виде
гибкую сеть взаимосвязанных узлов и ребер. Эта архитектура отражает то, как человек когнитивно связывает факты,
что позволяет
системам искусственного интеллекта (ИИ)
рассуждать, делать выводы о контексте и выявлять скрытые закономерности в огромных массивах данных. Эта семантическая структура является основополагающим
элементом Семантической паутины, создающей структуру, в которой данные
машиночитаемые и внутренне связанные.
Анатомия графа знаний состоит из двух основных компонентов: узлов, которые представляют собой
сущности (например, "Альберт Эйнштейн" или "Теория относительности"), и ребра, которые
определяют отношения между ними (например, "предложено"). Придерживаясь таких стандартов, как
Resource Description Framework (RDF), эти графы позволяют объединить разрозненные источники данных
объединить разрозненные источники данных. Известные реализации включают
Граф знанийGoogle,
который улучшает результаты поисковых систем, и проекты, основанные на сообществе, такие как
Викиданные.
Применение в AI и машинном обучении
Графы знаний играют ключевую роль в развитии различных
Возможности машинного обучения (ML) за счет предоставления
структурированного контекста, который статистические модели в противном случае могут упустить.
-
Семантический поиск: Традиционные
Поисковые системы часто полагаются на подбор ключевых слов. Графы знаний позволяют системам понять "намерение"
стоящее за запросом. Например, при поиске "Jaguar" может подразумеваться животное или марка автомобиля.
Граф знаний использует контекст для определения термина и выдает более точные результаты.
-
Рекомендательные системы: В
ИИ в розничной торговле, эти графы отображают сложные
взаимосвязи между пользователями, товарами и покупательским поведением. Если пользователь покупает фотоаппарат, граф понимает
связь с "SD-картами" или "штативами" не только потому, что другие покупали их, но и потому, что они являются
функционально связанные аксессуары.
-
Поколение с улучшенным извлечением (RAG):
Большие языковые модели (БЯМ) могут
иногда генерируют правдоподобную, но неверную информацию. Интегрируя граф знаний с помощью
Retrieval-Augmented Generation (RAG), агенты ИИ могут запрашивать проверенный источник истины, прежде чем генерировать ответ, что значительно уменьшает количество галлюцинаций у ЛЛМ и улучшает
галлюцинаций в LLM и повышая
точность фактов.
-
Компьютерное зрение (КВ) Контекст:
Модели зрения detect объекты, но графы знаний позволяют понять сцену. Граф может связать обнаруженные
"каска" и "жилет" с понятием "соблюдение техники безопасности", что позволяет на высоком уровне
рассуждения высокого уровня для промышленного мониторинга.
Пример кода: Извлечение сущностей из графика
Следующий фрагмент Python демонстрирует, как использовать
Ultralytics YOLO11 для detect объектов на изображении.
Эти обнаруженные объекты могут служить узлами сущностей для заполнения графа знаний, связывая изображение с содержащимися в нем объектами
содержащимися в нем.
from ultralytics import YOLO
# Load the official YOLO11 model
model = YOLO("yolo11n.pt")
# Run inference on an image
results = model("https://ultralytics.com/images/bus.jpg")
# Extract entities to populate a knowledge graph node
graph_entities = []
for box in results[0].boxes:
class_id = int(box.cls)
entity_label = results[0].names[class_id]
confidence = float(box.conf)
# Create a simplified node representation
graph_entities.append({"entity": entity_label, "type": "Object", "confidence": confidence})
print(graph_entities)
Реальные примеры
-
Открытие лекарств в здравоохранении: В области
ИИ в здравоохранении исследователи используют графы знаний
графы знаний для моделирования сложных биологических взаимодействий. Связывая такие сущности, как гены, белки, болезни и лекарства
из таких баз данных, как PubMed и
UniProt, алгоритмы могут предсказывать потенциальные мишени для лекарств и побочные эффекты. Этот
Ускоряет процесс открытия лекарств за счет выявления неочевидных связей, которые могут быть упущены при ручном
анализе медицинских изображений или обзоре литературы
обзорах.
-
Оптимизация цепей поставок: Логистические компании используют графы знаний для создания цифрового двойника
своей цепи поставок. Узлы представляют поставщиков, склады, детали и продукты, а ребра - маршруты доставки или зависимости от сборки.
маршруты доставки или зависимости от сборки. Такая структура облегчает
аналитику Больших Данных, позволяя компаниям запрашивать
граф для прогнозирования задержек, оптимизации маршрутов и управления рисками, связанными с запасами, более эффективно, чем при использовании традиционных электронных таблиц.
электронных таблиц.
Граф знаний в сравнении со смежными концепциями
Чтобы понять уникальную ценность графа знаний, необходимо отличать его от смежных технологий управления данными и поиска.
поисковых технологий.
-
Векторная база данных: Векторная
Векторная база данных хранит данные в виде высокоразмерных вкраплений, чтобы
чтобы обеспечить поиск по сходству (например, поиск похожих изображений). Несмотря на то, что она является мощным инструментом для
Векторный поиск, он опирается на неявную математическую
близости. В отличие от этого, граф знаний опирается на явные семантические связи (например, "из A следует B").
-
Реляционная база данных (РСУБД): традиционные базы данных (например, SQL) хранят данные в таблицах с фиксированными
схемами. Они отлично справляются со структурированными транзакциями, но испытывают трудности при работе с сильно взаимосвязанными данными. Запрос сложных
сложных отношений (например, друзья друзей друзей друзей) вычислительно дорого в SQL, но тривиально в графе с использованием
языков запросов, таких как SPARQL или Cypher в
Графовые базы данных, такие как Neo4j.
-
Обработка естественного языка (НЛП):
НЛП направлено на понимание и генерирование человеческого языка. Граф знаний часто служит структурированной
"памятью" для систем НЛП, позволяя им основывать свои лингвистические возможности на фактических данных, полученных
в результате работы по добыче данных.