Semantic Search
Узнай, как семантический поиск использует ИИ и эмбеддинги для понимания намерений пользователя. Научись создавать системы визуального поиска с помощью Ultralytics YOLO26 и нашей платформы.
Поиск по смыслу — это сложная технология информационного поиска, цель которой — понять намерение и контекстуальное значение запроса пользователя, а не просто сопоставить конкретные слова. Благодаря достижениям в области обработки естественного языка (NLP) и машинного обучения (ML) эта технология позволяет системам интерпретировать человеческую речь с большей точностью и учитывать больше нюансов. Это основа современных приложений искусственного интеллекта (AI), обеспечивающая более интуитивное взаимодействие людей и машин за счёт устранения разрыва между неоднозначными запросами пользователей и релевантными данными.
Как работает поиск по смыслу#
Поиск по смыслу выходит за рамки буквального сопоставления символов и анализирует взаимосвязи между понятиями. Традиционные поисковые системы могут не справиться, если пользователь ищет слово «feline», а в документах встречается только слово «cat». Поиск по смыслу решает эту проблему, преобразуя неструктурированные данные, такие как текст, изображения или аудио, в математические представления, называемые эмбеддингами.
Эти эмбеддинги представляют собой многомерные векторы, размещённые в «семантическом пространстве». В этом пространстве объекты с похожими значениями располагаются рядом друг с другом. Например, вектор для слова «car» математически будет ближе к векторам слов «automobile» и «road», чем к вектору слова «banana». Когда пользователь отправляет запрос, система преобразует его в вектор и находит ближайшие точки данных в векторной базе данных. Этот процесс опирается на модели глубокого обучения, которые выполняют извлечение признаков, выявляя ключевые характеристики данных.
Следующий код на Python показывает, как генерировать эти эмбеддинги с помощью модели Ultralytics YOLO26, что является фундаментальным шагом для реализации визуального поиска по смыслу.
from ultralytics import YOLO
# Load a pre-trained YOLO26 classification model
model = YOLO("yolo26n-cls.pt")
# Generate feature embeddings for an image
# This converts the visual content into a numerical vector
results = model.embed("https://ultralytics.com/images/bus.jpg")
# Output the shape of the embedding vector (e.g., length 1280)
print(f"Embedding vector shape: {results[0].shape}")Практические применения#
Поиск по смыслу преобразил способы поиска информации пользователями в различных отраслях, сделав системы более интеллектуальными и эффективными.
- Электронная коммерция и визуальный поиск: В мире ИИ в розничной торговле семантический поиск лежит в основе функций «купить образ». Покупатель может загрузить фотографию кроссовка или выполнить поиск по запросу «винтажное летнее настроение». Система использует компьютерное зрение, чтобы понять визуальный стиль, и находит товары, соответствующие эстетике, даже если в описаниях товаров нет этих точных ключевых слов. Для этого часто используются мультимодальные модели, способные понимать как текстовые, так и графические входные данные.
- Управление знаниями и RAG: Крупные организации используют семантический поиск, чтобы сотрудники могли находить внутренние документы. Вместо того чтобы помнить точные имена файлов, сотрудник может задать вопрос вроде «Как перезапустить сервер?». Система использует генерацию с дополнением извлечением (RAG), чтобы находить наиболее релевантные регламентирующие документы на основе их смысла, и передаёт их в большую языковую модель (LLM) для формирования точного ответа.
- Рекомендации контента: Стриминговые платформы используют семантическое понимание, чтобы улучшить свою систему рекомендаций. Анализируя краткие описания сюжетов и визуальные карты признаков фильмов, которые нравятся пользователю, платформа может рекомендовать другие произведения с похожими темами или настроением, дольше удерживая внимание пользователей.
Поиск по смыслу и связанные понятия#
Чтобы полностью понять пользу поиска по смыслу, стоит отличать его от связанных терминов в области анализа данных.
- Векторный поиск: Хотя эти термины часто используют как взаимозаменяемые, между ними есть техническое различие. Векторный поиск — это математический метод вычисления расстояния между векторами, часто с использованием косинусного сходства. Поиск по смыслу — это более широкое применение, использующее векторный поиск для понимания намерений пользователя.
- Поиск по ключевым словам: Это традиционный метод, основанный на точном сопоставлении строк. Он требует меньше вычислительных ресурсов, но при этом недостаточно гибок: ему сложно работать с синонимами и полисемией — словами с несколькими значениями. Поиск по смыслу требует большей вычислительной мощности, но обеспечивает значительно более высокую релевантность.
- Обучение без примеров: Этот термин обозначает способность модели классифицировать данные, которые она никогда не видела во время обучения. Поисковые системы на основе смысла часто демонстрируют возможности обучения без примеров, поскольку способны сопоставить новый, ранее не встречавшийся запрос с существующими кластерами известных понятий в пространстве эмбеддингов без повторного обучения.
Для реализации поиска по смыслу обычно требуется надёжный конвейер управления наборами данных и обучения моделей. Платформа Ultralytics упрощает этот процесс, предоставляя инструменты для разметки данных, обучения моделей и их эффективного развёртывания. Разработчикам, которые хотят создавать такие системы, полезно изучить руководство Ultralytics по поиску сходства: в нём описаны практические шаги по интеграции этих мощных возможностей в приложения.









