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