Семантический поиск отвечает на главный недостаток классического поиска. Строковый поиск ищет совпадение символов: запрос «вернуть деньги за лицензию» не найдёт документ «порядок возврата средств за программные продукты», потому что слова разные. Человек мыслит смыслом, а не подстроками — семантический поиск переносит это свойство в машину: он находит документы по близости значения, перефразировки и синонимы перестают быть преградой.
Механика построена на эмбеддингах: специальная модель превращает любой текст в вектор — длинный набор чисел, где близкие по смыслу тексты дают близкие векторы. Запрос пользователя превращается в такой же вектор, и система ищет в векторной базе данных документы, чьи векторы оказались рядом. Слово «вернуть» и «возврат», «лицензия» и «программный продукт» оказываются в соседних областях этого числового пространства — и документ находится.
Как это работает: шаг за шагом
- 1. Индексация. Документы компании разбиваются на фрагменты, каждый превращается в эмбеддинг и складывается в векторный индекс вместе с метаданными.
- 2. Векторизация запроса. Вопрос пользователя прогоняется через ту же модель эмбеддингов — в общее пространство с документами.
- 3. Поиск ближайших. Система находит фрагменты с максимальной близостью векторов — по косинусной близости или аналогичной мере.
- 4. Переупорядочивание. Найденное уточняется: реранкер сравнивает пары «запрос-документ» глубже и поднимает наверх действительно релевантное.
- 5. Ответ. Фрагменты попадают в контекст модели — так семантический поиск становится поисковой ступенью RAG, или отдаётся пользователю списком результатов.
Чем отличается от классического поиска
Классический (лексический) поиск сопоставляет слова: точен на терминах, артикулах, номерах договоров — и слеп на перефразировки. Семантический понимает перефразировки и вопросы своими словами — но может промахиваться на редких терминах и кодах, которые эмбеддинги размывают. Сильные стороны противоположны, поэтому в зрелых системах они работают вместе — это называется гибридный поиск. Отдельный слой отличий — вывод: семантический поиск умеет не только выдать список ссылок, но и через RAG дать готовый ответ с цитатой.
Где нужен бизнесу
- Внутренняя база знаний. Сотрудники спрашивают своими словами; поиск находит регламент, который иначе не нашёлся бы по формулировке.
- Клиентская поддержка. Типовые вопросы закрываются ассистентом со ссылкой на статью — доля тикетов на людей снижается.
- Работа с документами. Поиск по договорам, ТЗ и переписке по смыслу запроса: «условия расторжения» находит пункты без слова «расторжение».
- Подбор и сопоставление. Похожие кейсы, тендеры, заявки — везде, где нужно «найди похожее», а не «найди точно такое же».
У НЬЮ-ССТ семантический поиск строится как ступень RAG-пайплайна в ИИ-ассистентах и корпоративных базах знаний: подбор модели эмбеддингов под язык документов, индексация, реранкинг и метрики полноты. Разработка решения — от 0,9–1,2 млн ₽; аудит и настройка поиска в существующей системе — от 90 000 ₽.
Риски и ограничения
Первое ограничение — модель эмбеддингов: она фиксирует понимание языка на момент обучения; специфическая терминология отрасли может искажаться. Для русского языка выбирают модели, обученные с учётом кириллицы — этот выбор разобран в обзоре эмбеддинг-моделей для русского. Второе — «похоже» не значит «правильно»: векторная близость может поднять документ, где тема обсуждается вскользь, а не основной регламент — лечится реранкингом и метаданными. Третье — свежесть: индекс не обновился — поиск честно находит устаревшее. Четвёртое — права доступа: семантический поиск обязан наследовать ограничения видимости документов, иначе «найди похожее» станет каналом утечки.
Типовые ошибки
Ошибка первая — мерить поиск по себе: разработчик формулирует запросы словами из документов и получает отличные метрики; пользователи спрашивают иначе — и метрики падают. Контрольные запросы собирают с живых людей. Ошибка вторая — фрагментация без смысла: документы режутся механически, фрагменты теряют контекст раздела. Ошибка третья — один поиск на все задачи: для точных кодов и артикулов нужен лексический слой. Ошибка четвёртая — отсутствие метрик полноты: никто не знает долю вопросов, на которые поиск не нашёл правильного документа.
Метрики качества поиска
Семантический поиск оценивают двумя семьями метрик. Первая — полнота: какую долю релевантных документов система вообще нашла; хроническая низкая полнота означает, что пользователи не видят существующих материалов. Вторая — точность: какая доля найденного действительно релевантна; низкая точность — поиск шумит, и пользователи перестают ему доверять. Балансируют их на контрольном наборе: сто-двести реальных вопросов с списком релевантных документов, собранных экспертом.
Третья, практическая метрика — позиция первого релевантного результата: если правильный документ нашёлся, но девятнадцатым, пользователь его не увидит. И четвёртая — поведение в эксплуатации: доля запросов без клика, доля переформулировок, доля уходов к человеку. Эти цифры честнее стендовых: они показывают, как поиск живёт с реальными формулировками, а не с запросами составителя теста.
Язык и домен: откуда берутся промахи
Качество семантического поиска напрямую зависит от того, на чём обучалась модель эмбеддингов. Модели, не видевшие русского корпуса в достаточном объёме, путают падежи, склонения и составные термины; модели общего назначения плохо чувствуют профессиональную лексику — «СМЭВ», «КС-2», «нетто-ставка» для них просто редкие слова. Решения известны: выбирать эмбеддинги с поддержкой русского, дообучать на корпусе компании, добавлять синонимические словари и список терминов в индекс. Проверка простая: возьмите двадцать самых частых терминов вашей предметной области и убедитесь, что поиск находит документы по каждому — теми формулировками, которыми спрашивают живые пользователи.
Права доступа в семантическом поиске
Семантика создаёт специфическую проблему прав: вектор не знает границ отделов. Фрагмент, закрытый для пользователя, может оказаться семантически ближайшим к его вопросу — и без фильтрации утечка происходит невидимо, одной строкой в выдаче. Решения строятся фильтрацией по метаданным на этапе поиска: векторная база отдаёт кандидатов только из документов, доступных спрашивающему. Права синхронизируются с источником: изменился доступ в СЭД — изменился фильтр в индексе; рассинхрон — прямая дорога к инциденту, поэтому синхронизацию проверяют так же регулярно, как качество поиска.
Вторая грань — анонимизация на входе: если в индекс попадают документы с персональными данными, поиск по ним должен уважать режим этих данных. Практика — индексировать обезличенные версии, а полные выдавать только через исходную систему с её контролем доступа.
Честные ожидания
Семантический поиск — не чтение мыслей. Он не найдёт то, чего нет в индексе; не отличит тонкие профессиональные оттенки без дообучения на домене; не ответит на вопрос, сформулированный противоречиво, лучше, чем человек-эксперт. Он делает одну вещь — снимает барьер формулировок между вопросом человека и языком документов, — и делает её измеримо хорошо. Обещать больше — значит закладываться на разочарование; обещать ровно это — получать благодарность за экономленные часы поиска.
От поиска к ответу: связка с ассистентом
Семантический поиск редко живёт сам по себе — чаще он питает ассистента, и качество этой связки решает больше, чем каждая часть отдельно. Практика рабочей связки: поиск возвращает фрагменты с источниками, модель формулирует ответ только по ним и цитирует документы, а реранкинг гарантирует, что в короткое контекстное окно попали лучшие кандидаты. Пользователь получает не десять ссылок для ручного просмотра, а готовый ответ с пруфом — разница в минутах на каждый вопрос, помноженная на сотни вопросов в месяц.
В связке появляются и новые требования: поиск обязан уметь отвечать «ничего релевантного нет» — ассистент, которому всегда что-то подсунули, начинает галлюцинировать на слабых фрагментах. Поэтому порог релевантности настраивается сознательно: лучше честное «не нашёл, уточните вопрос», чем уверенный ответ по случайному абзацу.
С чего начать
Возьмите сотню реальных вопросов пользователей и соответствующие им документы. Прогоните через текущий поиск, посчитайте долю найденного. Постройте семантический индекс по тому же набору и сравните. Разница в цифрах — ваш бизнес-кейс. Замер и пилот на ваших документах — в бесплатном разборе ИИ-ландшафта.
- сто живых формулировок — не выдуманных составителем;
- экспертный список релевантных документов к каждому вопросу;
- замер текущего поиска как базовая линия;
- пилот семантического индекса на одном разделе;
- сравнение полноты и позиции первого релевантного результата.
Пилот живёт две-три недели: за это время накапливаются живые формулировки, команда привыкает к метрикам, а решение о развитии принимается по цифрам, а не по впечатлениям от демонстрации. Дальше — либо расширение на смежные разделы, либо осознанный отказ с пониманием, почему.