01 Простыми словами
Классический поиск по ключевым словам требует точного совпадения: запрос «отпуск за свой счёт» находит только документы с этими же словами. Семантический поиск смотрит на смысл запроса целиком и находит подходящий результат, даже если слова в нём другие — «неоплачиваемый отпуск», «отпуск без сохранения зарплаты».
02 Как это работает
Понятие «семантический поиск» описывает саму цель — находить по смыслу; технических путей к этой цели несколько.
- Самый частый путь сегодня — превратить текст в вектор через модель эмбеддингов и искать ближайшие по смыслу вектора, то есть тот же векторный поиск.
- Более старый путь — словари синонимов и связей между понятиями: запрос «отпуск» вручную связывают с «отгул», «неоплачиваемые дни» и другими близкими терминами без всякой модели.
- Третий путь — сочетание смыслового поиска с обычным поиском по ключевым словам в одной системе, который называют гибридным поиском и разбирают отдельным термином.
03 Где применяется
- HR. Поиск по регламентам находит нужный документ по описанию ситуации сотрудника, даже без точного названия документа в запросе.
- Поддержка клиентов. Похожие по смыслу обращения из истории тикетов находятся, даже если клиент описал проблему совсем другими словами.
- Юристы. Поиск по архиву прошлых заключений находит похожие формулировки условий вне зависимости от точной терминологии конкретного документа.
- Продажи. Менеджер находит нужный аргумент в базе кейсов по смыслу возражения клиента вместо точного названия раздела презентации.
- Маркетинг. Поиск по архиву прошлых кампаний находит похожие по смыслу идеи, даже если формулировки в брифах отличаются от текущего запроса.
- Логистика. Поиск по регламентам находит нужную инструкцию по описанию нештатной ситуации вместо точного кода происшествия.
04 Переписка сотрудника и поиска
Фрагмент переписки сотрудника с внутренним поиском по базе регламентов, с комментарием, что происходит на каждом шаге.
- Сотрудник: «можно ли взять отгул на один день без справки»
- Система: находит документ «Порядок предоставления дней отдыха без сохранения содержания» — ни слова «отгул», ни слова «справка» в названии нет, но смысл запроса и смысл документа совпадают достаточно близко.
- Сотрудник: «а если нужно только на полдня?»
- Система: поднимает выше соседний пункт того же документа про частичный день отдыха — формулировка запроса изменилась, а смысл остался близким к прежнему результату.
- Сотрудник: «а что с больничным, это тоже так оформляется?»
- Система: подтягивает уже другой документ про больничные и ранжирует его ниже основного результата — тема близкая, а смысл вопроса сотрудника сместился в сторону.
Раз в пару недель HR-специалист берёт три свежих обращения, сформулированных сотрудниками своими словами, и проверяет, нашёл ли поиск нужный документ с первой попытки, — так ловят формулировки, на которых система пока промахивается.
05 Ограничения и ошибки
- Смысловая близость документа к запросу описывает близость по теме — итоговый ответ на заданный вопрос стоит проверять отдельно, документ может оказаться лишь смежным по смыслу.
- Качество результата сильно зависит от выбранного технического пути — словарь синонимов требует ручного труда на пополнение, векторный поиск требует качественной модели эмбеддингов под конкретный язык и лексику.
- Редкая профессиональная терминология — узкие юридические или отраслевые термины — часто путает общие модели семантического поиска; для таких архивов стоит проверять качество отдельно.
- Права доступа стоит фильтровать на уровне самого поиска отдельным явным правилом, вместо надежды на то, что модель сама разберётся, кому какой документ показывать.
- Для небольшого архива в несколько десятков документов простой поиск по ключевым словам иногда справляется сопоставимо со смысловым и обходится без лишней инфраструктуры.
Как построить поиск по базе договоров под конкретную задачу — в статье про бота для поиска по базе договоров. Как оценить, какой поиск нужен именно вашей компании, — в разделе про нейросети для документов.