Semantic Search
Изучи, как семантический поиск использует ИИ и эмбеддинги для понимания намерений пользователя. Узнай, как создавать системы визуального поиска с помощью Ultralytics YOLO26 и нашей платформы.
Семантический поиск — это сложный метод извлечения информации, целью которого является понимание намерения и контекстуального смысла запроса пользователя, а не просто поиск совпадений по конкретным словам. Благодаря достижениям в области Natural Language Processing (NLP) и Machine Learning (ML) эта технология позволяет системам интерпретировать человеческий язык с гораздо большей точностью. Это краеугольный камень современных приложений Artificial Intelligence (AI), который делает взаимодействие человека с машиной более интуитивным, устраняя разрыв между неоднозначными запросами пользователей и релевантными данными.
Link to this sectionКак работает семантический поиск#
По своей сути семантический поиск выходит за рамки буквального сопоставления символов и анализирует взаимосвязи между понятиями. Традиционные поисковые системы могут не справиться, если пользователь ищет «кошачьи», а в документах встречается только слово «кошка». Семантический поиск решает эту задачу путем преобразования неструктурированных данных — например, текста, изображений или аудио — в математические представления, называемые эмбеддингами.
Эти эмбеддинги представляют собой многомерные векторы, расположенные в «семантическом пространстве». В этом пространстве объекты с похожими значениями находятся близко друг к другу. Например, вектор для «авто» будет математически ближе к «автомобилю» и «дороге», чем к «банану». Когда пользователь отправляет запрос, система преобразует его в вектор и находит ближайшие точки данных в векторной базе данных. Этот процесс опирается на модели глубокого обучения для выполнения извлечения признаков, позволяя определить ключевые характеристики данных.
Следующий код на 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}")Link to this sectionРеальные приложения#
Семантический поиск произвел революцию в том, как пользователи находят информацию в различных отраслях, делая системы более умными и эффективными.
- Электронная коммерция и визуальный поиск: В мире AI в ритейле семантический поиск обеспечивает работу функций «покупки по образу». Покупатель может загрузить фотографию кроссовок или найти «винтажный летний стиль». Система использует computer vision для понимания визуального стиля и находит товары, соответствующие этой эстетике, даже если в их описании нет таких ключевых слов. Это часто включает использование мультимодальных моделей, способных понимать как текстовые, так и визуальные входные данные.
- Управление знаниями и RAG: Крупные организации используют семантический поиск, чтобы помочь сотрудникам находить внутренние документы. Вместо того чтобы запоминать точные имена файлов, сотрудник может задать вопрос, например: «Как мне сбросить настройки сервера?». Система использует Retrieval-Augmented Generation (RAG) для поиска наиболее релевантных документов по смыслу и передает их в Large Language Model (LLM) для генерации точного ответа.
- Рекомендация контента: Стриминговые платформы используют семантическое понимание для улучшения своих систем рекомендаций. Анализируя краткое содержание и визуальные карты признаков фильмов, которые нравятся пользователю, платформа может предлагать другие названия с похожими темами или настроением, дольше удерживая внимание пользователя.
Link to this sectionСемантический поиск в сравнении со схожими концепциями#
Чтобы полностью понять пользу семантического поиска, полезно отличить его от смежных терминов в сфере data science.
- Векторный поиск: Несмотря на то что эти понятия часто используют как синонимы, между ними есть техническое различие. Векторный поиск — это математический метод вычисления расстояния между векторами (часто с использованием косинусного сходства). Семантический поиск — это более широкое приложение, которое использует векторный поиск для достижения цели понимания намерений пользователя.
- Поиск по ключевым словам: Это традиционный метод, основанный на точном совпадении строк. Он вычислительно менее затратный, но негибкий; он плохо работает с синонимами и многозначными словами. Семантический поиск требует больших вычислительных мощностей, но обеспечивает значительно более высокую релевантность результатов.
- Zero-Shot Learning: Это способность модели классифицировать данные, которые она никогда не видела во время обучения. Поисковые системы на базе семантического поиска часто демонстрируют возможности zero-shot, поскольку они могут сопоставлять новый, ранее не виденный запрос с существующими кластерами известных концепций внутри векторного пространства без необходимости переобучения.
Внедрение семантического поиска обычно требует надежного конвейера для управления наборами данных и обучения моделей. Ultralytics Platform упрощает этот процесс, предоставляя инструменты для разметки данных, обучения моделей и их эффективного развертывания. Для разработчиков, которые планируют создавать подобные системы, изучение руководства Ultralytics по поиску сходства предоставит практические шаги по интеграции этих мощных возможностей в свои приложения.






