Умный поиск по тексту: как понять, что на самом деле хочет покупатель
Что можно вытащить из одной фразы покупателя: задачу, ограничения, срок, место и то, о чём он умолчал. Разбор на живых запросах с подводными камнями.
«Нужен кран на завтра в Казани, поднять поддоны кирпича на четвёртый этаж, там двор узкий».
В этой фразе двадцать слов и как минимум шесть разных сведений. Обычный поиск возьмёт из неё слово «кран» и слово «кирпич». Всё остальное — включая узкий двор, который здесь решает выбор техники, — пропадёт.
Разберём, что вообще можно достать из текста запроса и где на этом пути ловушки.
Что достаётся из фразы
Хороший разбор вытаскивает пять слоёв. Пройдём по ним на примере выше.
Задача. Не «кран», а «поднять груз на высоту». Это главный слой: именно по нему идёт отбор по каталогу, потому что карточки размечены задачами, которые решают.
Количественные параметры. Четвёртый этаж — это примерно 12 метров. Поддоны кирпича — это масса порядка тонны за подъём. Ни метров, ни тонн в запросе нет, они выведены из ситуации.
Срок. «На завтра» — это ограничение по доступности, а не новый поиск. Оно не меняет, что мы ищем, оно отсекает занятое.
Место. «В Казани» — то же самое: фильтр по доступности, а не часть задачи.
Условия работы. «Узкий двор» — самое ценное и самое легко теряемое. Это ограничение по габаритам и способу установки, и оно может перевернуть выбор: вместо автокрана понадобится манипулятор.
Слой шестой: чего не сказали
Отдельно стоит то, чего в запросе нет, но без чего не ответить. Здесь — сколько поддонов и как долго. От этого зависит, нужна техника на час или на смену.
Именно это и становится уточняющим вопросом.
Почему разбор по словам этого не делает
Поиск по совпадению слов принципиально плоский: для него «кран», «завтра» и «двор» — три равноправных слова, которые надо найти в карточках.
Он не различает, что первое — предмет поиска, второе — ограничение, а третье — условие, влияющее на выбор. И не умеет выводить «12 метров» из «четвёртого этажа».
Как устроен смысловой отбор, если нужен разбор технологии, — векторный поиск по тексту на живом примере.
Практический разбор: четыре запроса
«болит спина после тяжёлого» (каталог клиники)
Задача: приём специалиста. Симптом: боль в пояснице после нагрузки. Вывод: невролог или травматолог. Ловушка: слово «массаж» в запросе не звучит, но именно массаж совпал бы по смежным словам в карточках и увёл бы не туда.
Чего не сказали: как давно и отдаёт ли в ногу. Это меняет срочность.
«что-нибудь для дачи, недорого»
Задача не определена вообще. Ограничение по цене есть, контекст «дача» есть. Здесь единственно честный ход — не угадывать, а спросить: что делаете на даче? Попытка выдать «товары для дачи» списком из трёхсот позиций — это не ответ.
«нужна деталь для ремонта тормозов»
Задача: ремонт тормозной системы. Товарная группа не определена — колодки, диски, суппорт, шланги. Не сказано главное: марка машины и симптом. Без первого нельзя подобрать, без второго нельзя сузить.
«у меня Ceresit CN 175, что сверху класть»
Обратный случай: покупатель назвал точный артикул, но ищет не его. Задача — финишное покрытие поверх конкретного наливного пола. Плохой разбор найдёт сам Ceresit CN 175 и покажет то, что у человека уже есть.
Последний пример показывает важное: наличие товарного слова в запросе не означает, что ищут этот товар.
Где разбор ошибается
Стоит знать заранее, чтобы закладывать в план правки.
Отраслевой жаргон. «Копалка», «пятнашка», «полторашка» — в каждой нише свой словарь, и общая модель его не знает. Лечится примерами из ваших логов.
Омонимы в вашем каталоге. «Ключ» в магазине инструмента и в магазине замков — разные вещи. «Мышь» в зоомагазине и в компьютерном.
Отрицания. «Только не электрический» — частая формулировка, которую легко потерять и подобрать ровно то, от чего отказались.
Слишком длинные запросы. Когда человек пишет абзац, в нём несколько задач сразу. Правильное поведение — взять главную и уточнить, а не мешать всё.
Все четыре класса ошибок лечатся одинаково: раз в неделю смотреть логи и вносить поправки вида «на такой запрос надо было отвечать так». Как это устроено — обучение ИИ-консультанта поправками.
Что должно быть в каталоге, чтобы разбор сработал
Разбор запроса бессмыслен, если с другой стороны нечего сопоставлять.
Минимум: внятное описание, а не только модель; характеристики отдельными полями; категория. Дальше при загрузке каждая карточка получает разметку «какие задачи решаю» — и именно с ней сопоставляется разобранный запрос.
Если в каталоге только названия и цены, самый лучший разбор запроса упрётся в пустоту.
Итог
Из одной фразы покупателя достаётся пять слоёв: задача, количественные параметры, срок, место и условия работы. Плюс шестой — то, чего не сказали, и что становится уточняющим вопросом.
Поиск по словам берёт из этого только совпавшие слова и теряет главное — в том числе те детали, которые как раз и решают выбор.
Ошибки разбора неизбежны на старте и лечатся не переустановкой, а еженедельными поправками по логам.
Проверить разбор на своих формулировках
Возьмите три запроса из ваших логов — самые многословные и путаные. Соберите демо по адресу сайта и задайте их: сразу будет видно, что из фразы разобрано, а что потеряно.