ГлоссарийСемантика и векторы
Семантика и векторы
Семантический и векторный поиск, эмбеддинги, гибридное ранжирование и реранкинг.
Семантика и векторы
Ключевой поиск находит документы с общими словами. Но «сколько стоит 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 семантический поиск включается на уровне индекса: достаточно указать, какие поля эмбеддировать, и один и тот же запрос может смешивать ключевое и смысловое совпадение.