query_builder Пн-пт, 09:00-18:00 Мск
phone_in_talk Заказать звонок

Заявка успешно создана

×

Поиск, который понимает русский язык

05.11.2026

Мы выпустили обновлённый модуль поиска по базам нормативов — теперь он работает не как формальный фильтр по словам, а как интеллектуальный помощник: разбирает запрос, понимает его смысл и возвращает нормы в порядке убывания релевантности. Под капотом — алгоритмы обработки естественного языка, которые исторически выросли из методов искусственного интеллекта: морфологический анализ, статистическое ранжирование и автоматическое исправление ошибок.

Что изменилось для пользователя

Забудьте о необходимости знать точный шифр расценки или её дословную формулировку. Напишите запрос так, как вы сформулировали бы задачу прорабу: «монтаж вентиляторов», «демонтаж кабеля», «покрытие полов площадью более 50 м²». Система сама поймёт, что искать, где искать и в каком порядке показать результаты.

Как устроен поиск

Понимает слова, а не их написание.
Каждый запрос проходит морфологический анализ: система приводит слова к начальным формам и сравнивает их с начальными формами в базе. «Монтажу вентиляторов», «вентилятор монтаж» и «монтаж вентилятор» — для поиска это один и тот же запрос. Склонения, спряжения и окончания больше не имеют значения.

Мягко исправляет опечатки.
Перед поиском запрос проверяется по словарю словоформ русского языка и по словарю самой базы. Опечатка — не приговор: система автоматически исправит её и найдёт нужные нормы. При этом корректные термины из базы трогать не будет — движок различает «неизвестное слово» и «слово из профессионального жаргона».

Учитывает, где именно вы ищете.
Запрос «сетка в ресурсах» или «арматура в составе работ» направляет поиск в конкретную часть нормы. Система различает наименование, состав работ и ресурсы — и взвешивает совпадения в них по-разному: совпадение в наименовании важнее, чем в перечне материалов.

Понимает числа и границы.
Запросы вида «более 3 м²», «до 100 мм», «диаметр 0.25 мм» распознаются как ограничения, а не как набор символов. Система отберёт нормы, чьи характеристики укладываются в заявленные рамки, и отсечёт те, что формально содержат нужные слова, но не подходят по параметрам.

Ищет и по коду.
Если в запросе есть числовой фрагмент кода (например, «01-133»), включается отдельный кодовый путь — поиск норм по шифру, независимо от текстового совпадения.

Как формируется выдача

Ранжирование построено на адаптации алгоритма BM25F — классической модели статистической оценки релевантности, применяемой в поисковых системах. Для каждой нормы вычисляется счёт: насколько часто слова запроса встречаются в её полях, с учётом веса поля и длины документа. Редкие термины ценятся выше частотных — совпадение по уточняющему слову весит больше, чем по общеупотребительному.

Поверх статистики работает «понимание» предметной области:

  • Маркерные слова. Слова-маркеры видов работ — монтаж, демонтаж, ремонт, пусконаладка — участвуют в ранжировании, но не обязательны для попадания в выдачу. Запрос «монтаж вентиляторов» найдёт и норму «Вентилятор», а нормы с маркерным словом в наименовании получат приоритет.

  • Табличный буст. Если наименование таблицы целиком покрывает смысл запроса, нормы из неё дополнительно повышаются — это признак тематического попадания, а не случайного пересечения слов.

Скорость без компромиссов

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