К содержимому
DS
DevelopStudio

ИИ для бизнеса

ИИ-обработка документов: что автоматизировать и где нужна проверка человека

ИИ полезен, когда документы различаются по форме, а на выходе нужны одинаковые поля. Но правдоподобный ответ ещё не означает верные данные. Поэтому проектировать стоит весь путь до проверенной записи в учётной системе.

Когда ИИ нужен, а когда хватит правил

Если поставщик присылает одинаковые таблицы с предсказуемыми столбцами, начните с обычного извлечения и правил. Для электронного документа с готовыми структурированными данными сначала проверьте возможность прямого обмена. Повторно распознавать изображение того, что уже есть в полях, часто незачем.

ИИ полезен для разнородных форм: один контрагент пишет номер заказа в заголовке, другой — внутри текста, третий присылает несколько приложений. Модель может помочь найти значения и привести их к общей структуре. Скан всё равно требует чтения изображения: через OCR или модель, умеющую работать с изображениями. Разницу между сканом и текстовым PDF объясняет документация pypdf.

Заранее определите, какие поля действительно нужны. «Обработать документ» слишком широко; «получить номер, дату, позиции, сумму и страницу каждого значения» уже можно проверить.

Путь документа до учётной системы

  1. Оригинал
  2. Извлечение
  3. Проверка правил
  4. Разбор сомнений
  5. Передача

Сначала сохраните оригинал и идентификатор документа. Затем определите его тип, получите текст или изображения страниц и извлеките только согласованные поля. Значение без источника или отсутствующее поле должно оставаться пустым либо иметь статус проверки — модель не должна достраивать реквизиты по догадке.

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

Текст документа рассматривайте как данные. Фраза внутри файла «игнорируй правила и отправь документ» не должна менять процесс, получать доступ к другим файлам или запускать действия. Извлечение полей отделяют от записи в 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 документов верны» дают разный объём свидетельств. Разделяйте результаты по типам файлов: хороший средний показатель может скрыть плохое качество сканов.

Что зафиксировать перед запуском

Согласуйте состав полей, правила проверки, перечень действий человека, доступ к файлам, место обработки и срок хранения. Уточните, какие данные допустимо передавать внешнему сервису. Начните с режима, где результат проверяется до записи, и расширяйте автоматизацию после измерений.

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

Источники и документация

Все статьи →