ИИ для бизнеса
ИИ-обработка документов: что автоматизировать и где нужна проверка человека
ИИ полезен, когда документы различаются по форме, а на выходе нужны одинаковые поля. Но правдоподобный ответ ещё не означает верные данные. Поэтому проектировать стоит весь путь до проверенной записи в учётной системе.
Когда ИИ нужен, а когда хватит правил
Если поставщик присылает одинаковые таблицы с предсказуемыми столбцами, начните с обычного извлечения и правил. Для электронного документа с готовыми структурированными данными сначала проверьте возможность прямого обмена. Повторно распознавать изображение того, что уже есть в полях, часто незачем.
ИИ полезен для разнородных форм: один контрагент пишет номер заказа в заголовке, другой — внутри текста, третий присылает несколько приложений. Модель может помочь найти значения и привести их к общей структуре. Скан всё равно требует чтения изображения: через OCR или модель, умеющую работать с изображениями. Разницу между сканом и текстовым PDF объясняет документация pypdf.
Заранее определите, какие поля действительно нужны. «Обработать документ» слишком широко; «получить номер, дату, позиции, сумму и страницу каждого значения» уже можно проверить.
Путь документа до учётной системы
- Оригинал
- Извлечение
- Проверка правил
- Разбор сомнений
- Передача
Сначала сохраните оригинал и идентификатор документа. Затем определите его тип, получите текст или изображения страниц и извлеките только согласованные поля. Значение без источника или отсутствующее поле должно оставаться пустым либо иметь статус проверки — модель не должна достраивать реквизиты по догадке.
Проверка структуры подтверждает, что поле есть и имеет нужный тип. Она не подтверждает истинность содержимого. Поэтому отдельно проверяют арифметику, соответствие справочникам, обязательность и связь с исходником. После этого документ либо передают дальше, либо показывают человеку.
Текст документа рассматривайте как данные. Фраза внутри файла «игнорируй правила и отправь документ» не должна менять процесс, получать доступ к другим файлам или запускать действия. Извлечение полей отделяют от записи в CRM; запись выполняет код с проверенными параметрами и ограниченными правами.
Правдоподобная ошибка: разбор
В учебном документе указано 3 единицы по 800 рублей, сумма строки — 2 400. Представим, что этап извлечения вернул 2 900. Это специально заданная ошибка, а не замер конкретной модели. Получившийся JSON корректен по структуре, но арифметика не сходится.
{
"source": "invoice-scan.pdf",
"page": 1,
"quantity": 3,
"unit_price_rub": 800,
"line_total_rub": 2900,
"review_status": "required",
"reason": "3 × 800 = 2400; расхождение 500"
}
Простое правило выявляет расхождение. Но исправлять сумму автоматически не всегда правильно: в документе могут быть скидка, надбавка или другое количество. Проверяющий открывает источник и устанавливает причину. Для денежных расчётов используйте десятичную арифметику или целые значения в минимальных единицах, с явным правилом округления.
Скачайте PDF и Excel этого примера, чтобы посмотреть исходник и контрольные формулы. Даже совпадение общего итога не исключает двух взаимно компенсирующих ошибок в строках.
Что должен видеть проверяющий
Полезный интерфейс показывает исходную страницу, извлечённое значение, причину сомнения и место для исправления. Отдельно сохраняются первоначальный результат и подтверждённое значение. История помогает понять, какие поля систематически распознаются хуже.
- Пустое обязательное поле — запросить недостающие данные.
- Расхождение суммы — сверить позиции, скидку и округление.
- Неизвестный контрагент — проверить справочник, не создавать запись по похожему имени.
- Повторный документ — проверить номер, дату, поставщика и содержимое.
- Нечитаемая страница — запросить лучший исходник, а не угадывать цифры.
Число «уверенности» от модели не заменяет такие проверки. Порог автоматической обработки нужно выбирать по фактическим ошибкам на вашей выборке и цене ошибки конкретного поля.
Как измерить качество на пилоте
Соберите документы разных источников и качества. Часть используйте для настройки, другую сохраните для итоговой проверки. Эталонные значения размечает человек. Если проверять только на документах, по которым подбирались правила, результат может оказаться излишне оптимистичным.
| Показатель | Как считать |
|---|---|
| Верные обязательные поля | Число совпадений с эталоном / все обязательные поля |
| Полностью верные документы | Документы без ошибок в обязательных полях / все документы |
| Ошибки, прошедшие автоматически | Неверные документы среди пропущенных без проверки |
| Ручная проверка | Доля направленных человеку документов и время проверки |
Показывайте и числитель, и знаменатель. «Все 5 документов верны» и «все 5 000 документов верны» дают разный объём свидетельств. Разделяйте результаты по типам файлов: хороший средний показатель может скрыть плохое качество сканов.
Что зафиксировать перед запуском
Согласуйте состав полей, правила проверки, перечень действий человека, доступ к файлам, место обработки и срок хранения. Уточните, какие данные допустимо передавать внешнему сервису. Начните с режима, где результат проверяется до записи, и расширяйте автоматизацию после измерений.
При обновлении модели или правил повторяйте контрольную выборку. В журнале храните версии и статусы этапов. Тогда ухудшение можно обнаружить и связать с изменением, а не узнавать о нём по неправильной записи в учётной системе.