Введение
Семантический поиск – подход к информационному поиску, при котором система понимает смысл запроса, а не ищет точные вхождения слов. Запрос «автомобиль без водителя» и «беспилотный транспорт» семантически близки и должны возвращать совпадающие результаты – классический полнотекстовый поиск (BM25, TF-IDF) с этим не справится.
Технологической основой служат эмбеддинги: текст кодируется в многомерный вектор (обычно 384–4096 измерений), и поиск сводится к задаче нахождения ближайших соседей (ANN – Approximate Nearest Neighbor) в векторном пространстве.
История и контекст
Ранние шаги к семантическому поиску: LSA (Latent Semantic Analysis, 1988) и pLSA – статистические методы нахождения скрытых тем в документах. Word2Vec (Google, 2013) дал качественные векторы слов, но не учитывал контекст.
Революцию произвели модели на архитектуре трансформера: BERT (Google, 2018) впервые кодировал предложения с учётом контекста. Семейство Sentence-BERT (2019) адаптировало BERT для семантического сравнения текстов. Сегодня используются E5, BGE, GigaChat Embeddings и другие модели, оптимизированные для конкретных задач и языков.
Как это работает
- Индексирование: документы кодируются embedding-моделью в векторы и сохраняются в векторном хранилище (pgvector, Qdrant, Milvus, Weaviate, FAISS).
- Кодирование запроса: пользовательский запрос кодируется той же моделью в вектор запроса.
- ANN-поиск: алгоритмы HNSW или IVF находят документы с максимальным косинусным сходством или минимальным L2-расстоянием.
- Ранжирование (опционально): cross-encoder модель переранжирует топ-k результатов для повышения точности.
- Гибридный поиск: комбинация BM25 и векторного поиска через RRF (Reciprocal Rank Fusion) – на практике даёт лучшие результаты, чем каждый метод по отдельности.
Где применяется
- RAG (Retrieval-Augmented Generation): извлечение релевантных фрагментов из корпоративной базы знаний для подачи LLM как контекста при генерации ответа.
- Корпоративный поиск: поиск по внутренним документам, регламентам, базам знаний по смыслу вопроса.
- E-commerce: поиск товаров по описанию («красное платье для вечеринки»), а не только по артикулу.
- Рекомендательные системы: поиск похожих статей, продуктов, вакансий по векторной близости.
- Юридические и медицинские системы: поиск прецедентов и клинических протоколов по смыслу запроса.
Преимущества и ограничения
Преимущества: работает с синонимами, перефразировками и опечатками; понимает контекст; поддерживает многоязычные запросы; находит документы на смежные темы.
Ограничения: требует качественной embedding-модели, обученной на нужном домене; векторная база требует памяти (RAM для индекса HNSW); для уникальных идентификаторов (артикулы, коды) keyword-поиск точнее; сложнее интерпретировать результаты.
Связь с другими понятиями
Семантический поиск – фундамент архитектуры RAG, используемой в диалоговом ИИ и корпоративных ассистентах. Качество поиска напрямую зависит от embedding-моделей. В российском стеке применяются GigaChat Embeddings и YandexGPT Embeddings. Векторные базы данных (pgvector для PostgreSQL, Qdrant) служат инфраструктурой хранения индексов.