Ultralytics YOLO27: Вступи в список ожидания.
Лицензия YOLO
Назад к глоссарию Ultralytics

Semantic Search

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

Семантический поиск ранжирует документы, изображения и другие объекты по смысловому сходству с запросом, а не по общим с ним словам. По запросу «мой кот голоден» может найтись страница с названием «График кормления нового котёнка», хотя в запросе и названии нет общих слов. Современные системы используют для этого эмбеддинги: нейронный кодировщик преобразует запросы и объекты в векторы, которые оказываются рядом, если их смысл похож, а векторный поиск находит ближайшие объекты. Веб-поиск начал двигаться в этом направлении в 2019 году, когда Google начала применять BERT для понимания поисковых запросов. По словам компании, это изменение затронуло каждый десятый поиск на английском языке в США.

Принцип работы семантического поиска#

Большинство систем семантического поиска находят результаты с помощью двухкодировочной модели, а затем уточняют их с помощью переранжировщика. Двухкодировочная модель заранее преобразует каждый документ в эмбеддинг, а векторы сохраняются в векторной базе данных. Во время запроса в эмбеддинг преобразуется только запрос, а индекс приближённого поиска ближайших соседей возвращает лучшие кандидаты по косинусному сходству. Sentence-BERT (2019) сделал такой подход практичным для предложений: поиск наиболее похожей пары среди 10 000 предложений занимал около 65 часов с перекрёстным кодировщиком BERT и около 5 секунд с эмбеддингами предложений. Затем Dense Passage Retrieval (2020) показала, что обученные эмбеддинги превосходят ранжирование ключевых слов BM25 на 9–19 процентных пунктов по точности поиска фрагментов в топ-20 для задач ответов на вопросы открытого домена. Наконец, перекрёстный кодировщик переранжировщика совместно обрабатывает запрос и каждого кандидата, чтобы точнее упорядочить короткий список.

Этот пример с помощью библиотеки Sentence Transformers сравнивает совпадение слов и сходство эмбеддингов:

from sentence_transformers import SentenceTransformer

model = SentenceTransformer("sentence-transformers/all-MiniLM-L6-v2")

documents = [
    "How to reset a forgotten account password",
    "Feeding schedule for a new kitten",
    "Quarterly sales report for the retail division",
    "Best hiking trails near Denver",
]
query = "my cat is hungry"

# Keyword search: documents sharing at least one word with the query
query_words = set(query.lower().split())
print("Keyword matches:", [d for d in documents if query_words & set(d.lower().split())])

# Semantic search: rank documents by cosine similarity of their embeddings
doc_embeddings = model.encode(documents)
query_embedding = model.encode(query)
scores = model.similarity(query_embedding, doc_embeddings)[0]
best = int(scores.argmax())
print(f"Semantic match: {documents[best]!r} (cosine {scores[best]:.2f})")

Поиск по ключевым словам возвращает пустой список, потому что ни один документ не содержит слов «мой», «кот», «голоден». Семантический поиск находит график кормления котёнка с косинусным сходством 0,56 — это документ, наиболее близкий по смыслу.

  • Поиск по ключевым словам: ранжирует документы по точным совпадениям терминов с помощью таких формул, как BM25. Он хорошо работает с именами, номерами деталей и редкими словами, которые эмбеддинги могут размывать, но пропускает синонимы и перефразировки.
  • Гибридный поиск: выполняет поиск по ключевым словам и семантический поиск вместе, а затем объединяет результаты. Это распространённый подход в производственных системах поиска и RAG.
  • Семантическая сегментация: не связанная с семантическим поиском задача компьютерного зрения, в которой каждому пикселю изображения присваивается класс; эти термины объединяет только слово «семантический».
  • Семантическое кэширование: применяет то же сопоставление по смыслу к запросам LLM и повторно использует сохранённый ответ, если новый запрос означает то же, что и предыдущий.

Примеры применения в реальных условиях#

  • Генерация с дополнением за счёт поиска (RAG): находит фрагменты, необходимые языковой модели, даже если пользователь формулирует запрос не так, как документация.
  • Поиск патентов: находит предшествующий уровень техники, описывающий то же изобретение другими терминами.
  • Поиск товаров в розничной торговле: находит водонепроницаемые кроссовки по запросу вроде «обувь для поездок на работу в дождь», хотя в описаниях товаров таких слов нет.
  • Рекомендательные системы: предлагают статьи или товары, эмбеддинги которых близки к эмбеддингам объектов, уже выбранных пользователем.

Поиск изображений по смыслу#

Модели, обученные с помощью контрастивного обучения на парах «изображение — подпись», например CLIP, преобразуют текст и изображения в общее пространство эмбеддингов, поэтому текстовый запрос может находить фотографии без тегов и подписей. Так устроено решение Ultralytics для семантического поиска изображений: его класс VisualAISearch один раз преобразует каждое изображение в папке в эмбеддинг с помощью CLIP, преобразует каждый текстовый запрос в то же пространство и возвращает до 30 изображений с косинусным сходством выше порогового значения, упорядоченных от наиболее до наименее похожих. Запрос вроде «собака сидит на скамейке» находит соответствующие фотографии в коллекции без меток.

Изучи решения

Компьютерное зрение в спорте

Компьютерное зрение в спорте

Узнай, как Ultralytics YOLO обеспечивает компьютерное зрение в спорте: отслеживание игроков и мяча, аналитика результатов, полезные выводы для тренеров и реабилитация спортсменов.
Подробнее
Компьютерное зрение для аэросъёмки

Компьютерное зрение для аэросъёмки

Превращай снимки с дронов и аэрофотоснимки в полезные данные в реальном времени для сельского хозяйства, аквакультуры, охраны природы и геопространственного анализа с Ultralytics YOLO.
Подробнее
Компьютерное зрение в аэрокосмической отрасли

Компьютерное зрение в аэрокосмической отрасли

Применяй компьютерное зрение в аэрокосмической отрасли с Ultralytics YOLO: для осмотра самолётов, обнаружения посторонних предметов на взлётно-посадочных полосах, наземного обслуживания аэропортов и выявления дефектов композитных материалов.
Подробнее
Компьютерное зрение в сфере безопасности

Компьютерное зрение в сфере безопасности

Защити любой объект с помощью моделей Ultralytics YOLO. ИИ на базе компьютерного зрения обеспечивает мониторинг периметра, обнаружение угроз, распознавание номерных знаков и безопасность на рабочем месте.
Подробнее
Компьютерное зрение в робототехнике

Компьютерное зрение в робототехнике

Создавай более интеллектуальные машины с моделями Ultralytics YOLO. ИИ на базе компьютерного зрения в робототехнике обеспечивает автономную навигацию, восприятие, отслеживание объектов и управление в реальном времени.
Подробнее
Компьютерное зрение в логистике

Компьютерное зрение в логистике

Оптимизируй логистику с моделями Ultralytics YOLO. Визуальный AI обеспечивает проверку посылок, сортировку, отслеживание транспорта и мониторинг безопасности на складе в реальном времени.
Подробнее
Компьютерное зрение в розничной торговле

Компьютерное зрение в розничной торговле

Переосмысли розничную торговлю с моделями Ultralytics YOLO. Визуальный AI обеспечивает отслеживание запасов, мониторинг полок, управление очередями и более глубокое понимание поведения покупателей.
Подробнее
Компьютерное зрение в здравоохранении

Компьютерное зрение в здравоохранении

Создавай решения для здравоохранения с моделями Ultralytics YOLO. Визуальный AI в здравоохранении ускоряет медицинскую визуализацию, улучшает диагностику и мониторинг пациентов.
Подробнее
Компьютерное зрение в производстве

Компьютерное зрение в производстве

Оптимизируй производство с моделями Ultralytics YOLO. Компьютерное зрение на базе ИИ обеспечивает контроль качества, обнаружение дефектов, контроль использования СИЗ и автоматизацию сборочных линий.
Подробнее
Компьютерное зрение в автомобильной отрасли

Компьютерное зрение в автомобильной отрасли

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

Компьютерное зрение в сельском хозяйстве

Внедряй ИИ для компьютерного зрения в умное сельское хозяйство с моделями Ultralytics YOLO. Используй их для мониторинга посевов, отслеживания скота и точного земледелия, чтобы повысить урожайность и эффективность.
Подробнее

Давай вместе строить будущее ИИ!

Начни свой путь в будущее машинного обучения