AACSearch
ГлоссарийСемантика и векторы

Семантика и векторы

Семантический и векторный поиск, эмбеддинги, гибридное ранжирование и реранкинг.

Семантика и векторы

Ключевой поиск находит документы с общими словами. Но «сколько стоит pro» и страница «Цены» — это про одно и то же, хотя общих слов у них нет. Семантический и векторный поиск решают эту задачу: они ищут по смыслу. Этот раздел объясняет, как это работает.

Поиск по смыслу

  • Семантический поиск (semantic search) — совпадение по смыслу, а не только по токенам.
  • Эмбеддинг (embedding) — вектор фиксированной длины, представляющий смысл текста. Похожие по смыслу тексты получают близкие векторы.
  • Вектор (vector) — упорядоченный список чисел (здесь — представление смысла).
  • Векторный поиск (vector search) — поиск ближайших соседей по эмбеддингам.
  • Гибридный поиск (hybrid search) — объединение ключевого и векторного сигналов в одном ранжировании. Сильнее, чем каждый по отдельности.
  • Alpha — вес смешивания ключевого и векторного в гибридном ранжировании.
  • Плотный вектор (dense vector) — вектор, где большинство значений ненулевые (типичные эмбеддинги).
  • Разреженный вектор (sparse vector) — вектор в основном из нулей (например, лексические веса BM25).
  • Реранкинг (reranking) — второй проход, переупорядочивающий верхних кандидатов более сильной моделью для лучшей точности.
  • Семантический реранкинг (semantic reranking) — реранкинг семантической моделью.

Как измеряется близость

  • Метрика расстояния (distance metric) — как измеряется близость векторов.
  • Косинусное сходство (cosine similarity) — метрика по углу между векторами. Часто используется для текстов.
  • Евклидово расстояние (euclidean distance) — расстояние по прямой между векторами.
  • Скалярное произведение (dot product) — метрика как сумма поэлементных произведений.

Как это устроено технически

  • ANN (approximate nearest neighbour) — быстрый приближённый векторный поиск: немного точности в обмен на большую скорость.
  • HNSW — распространённая графовая структура ANN-индекса.
  • IVF — структура ANN, разбивающая векторы на кластеры для быстрого поиска.
  • kNN — k ближайших соседей; точный, но медленный способ.
  • Векторное поле (vector field) — поле float[], хранящее эмбеддинг.
  • Модель (model) — нейросетевая модель, производящая эмбеддинги.
  • Дообучение (fine-tuning) — дальнейшее обучение модели на специфичных данных для лучших эмбеддингов.

Два способа получить векторы

  • Авто-эмбеддинг (auto-embedding)* — движок сам считает векторы по указанным полям. Удобно, когда нет своего пайплайна эмбеддингов.
  • Явные векторы (explicit vectors) — векторы, которые вы считаете и присылаете сами, когда у вас уже есть эмбеддинги или своя модель.

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

On this page