PaddleOCR распознаёт текст на сканах первичных документов; затем отдельный парсер собирает нужные поля, а сотрудник сверяет спорные значения с изображением. Для счёта или акта это маршрут от файла к черновику карточки. Запись в учётной системе проходит отдельное согласование. Подход полезен там, где качество сканов и правила сверки можно проверить на эталонной подборке.
Выход распознавания
Согласно документации PaddleOCR, общий OCR-конвейер возвращает распознанный текст, оценку уверенности и координаты текстовых областей. Привязку текста к полям счёта или акта нужно настроить отдельно.
Для первички полезно сразу разделить распознавание и понимание документа. PaddleOCR получает из изображения фрагменты текста. Затем ваш код определяет, какой фрагмент относится к номеру, дате, сумме, названию стороны или реквизиту. Такая граница особенно важна для актов со сложной таблицей: соседние числа могут обозначать количество, цену или итог. Даже точное распознавание символов подтверждает лишь чтение строки. Правильность выбранного поля требует отдельной сверки с оригиналом и правилами документа.
Для русскоязычной первички явно проверьте версию OCR-модели и язык до испытания. В текущей таблице совместимости PaddleOCR русский язык ru указан для PP-OCRv5, а в перечне PP-OCRv6 его нет. Поэтому зафиксируйте версию с поддержкой русского языка и проверьте чтение кириллицы, латиницы и цифр на своей эталонной подборке; вариант по умолчанию подходит лишь после такой проверки.
Сохраните исходный файл, версию модели и правила извлечения. В результате общего конвейера PaddleOCR поля rec_texts, rec_scores и rec_polys дают текст, оценки уверенности и координаты областей; сохраняйте их вместе с черновиком. Тогда проверяющий сможет открыть область изображения рядом с предложенным значением. Оценку уверенности используйте как сигнал для очереди сверки. Правильность поля подтверждает сотрудник по изображению. Строка может быть распознана уверенно, но привязана к неверному полю. Для общего устройства OCR полезен разбор извлечения данных из сканов.
- Для счёта выделите номер, дату, стороны, итог и валюту по утверждённому перечню полей.
- Для акта добавьте период, предмет работ и строку подписи, если эти сведения нужны вашему процессу.
- Пустое либо неоднозначное значение отправляйте на ручную сверку вместе с фрагментом скана.
В другом материале описан общий маршрут распознавания счетов и актов. Здесь важнее инженерная проверка PaddleOCR: что именно вернул инструмент и насколько надёжно поля собираются из его результата.
Эталонная подборка
Перед запуском на потоке соберите подборку сканов с известными правильными значениями. Включите разные шаблоны поставщиков, качество печати, поворот страницы, штампы поверх текста и многостраничные файлы. Для каждого документа укажите тип, обязательные поля и эталонную запись, подготовленную человеком по оригиналу. Отдельно пометьте случаи, где сам оригинал читается с трудом: такая пометка поможет разобрать расхождение без подмены эталона догадкой.
Разделите подборку на материалы для настройки правил и материалы для проверки. Иначе парсер окажется подогнанным под знакомые формы, а вывод о качестве будет слишком оптимистичным. Храните версию изображения и эталона рядом с идентификатором документа. Если бухгалтер уточнил значение после проверки оригинала, зафиксируйте исправление и причину: новая версия эталона должна объяснять расхождение при повторном прогоне.
| Объект проверки | Что записать в эталон | Когда нужен человек |
|---|---|---|
| Номер и дата | Точное написание и положение на странице | Несколько похожих номеров либо нечёткая цифра |
| Стороны и реквизиты | Значения каждой стороны отдельно | Поставщик и покупатель поменялись местами |
| Итог документа | Сумма, валюта и источник на скане | Итог расходится со строками или указан словами |
Критерии отбора сканов запишите до настройки: иначе трудные страницы легко выпадают из проверки. Считайте количество документов каждого вида и количество заполненных эталонных полей скриптом. Результаты парсера сравнивайте с эталоном скриптом, а языковую модель используйте для объяснения типов расхождений и гипотез об их причинах. Решение о правильном значении принимает сотрудник по оригиналу.
Маршрут полей
Рабочий процесс начинается с проверки файла: читается ли страница, хватает ли разрешения, верно ли определена ориентация. В документации PaddleOCR описаны дополнительные операции для поворота и выпрямления изображения; включайте их после проверки на собственных сканах. Сохраните исходник и обработанную копию, чтобы бухгалтер видел источник каждого значения. Настройки предварительной обработки требуют отдельной проверки: иногда преобразование улучшает одну страницу и ухудшает другую.
- Примите скан и присвойте ему внутренний идентификатор. Укажите тип документа и сохраните файл в разрешённом контуре.
- Запустите PaddleOCR и сохраните текстовые области с координатами и оценками уверенности.
- Примените парсер: найдите подписи полей, сопоставьте соседние фрагменты, приведите дату и сумму к формату учётной системы.
- Проверьте скриптом обязательные поля, формат даты, совпадение итогов и дубликаты по согласованным правилам.
- Сформируйте черновик карточки и очередь спорных полей; сотрудник сверит их с изображением перед дальнейшим действием.
Парсер должен сохранять исходную строку рядом с нормализованным значением. Если в счёте сумма записана с пробелами, черновик покажет и текст скана, и число после преобразования. Сотрудник увидит источник возможной ошибки, а разработчик сможет исправить правило без поиска файла по переписке. Для таблиц с переносами строк отдельно проверьте порядок чтения; документация PP-StructureV3 описывает извлечение структуры документа, однако пригодность конкретной настройки определяет ваш эталон.
Если маршрут касается первички в учётной системе, пригодится разбор сверки первички с 1С. Результат OCR остаётся черновиком, а статус документа и дальнейшие проводки живут в утверждённом учётном процессе.
Хотите проверить сканы вашей первички на эталоне?
Оценка качества
Сравнивайте каждое поле с эталоном и учитывайте тип ошибки. Скрипт берёт черновик и эталон, сверяет значения после согласованной нормализации и формирует список расхождений. Отдельно считайте пропущенные поля, неверные значения и ошибочную привязку к стороне документа. Эти категории ведут к разным исправлениям: качество изображения, правило поиска поля и порядок чтения таблицы требуют разных действий.
Для каждого расхождения сохраните идентификатор файла, имя поля, эталон, предложение парсера, исходную строку OCR и координаты области. Ответственный сотрудник открывает скан и выбирает действие: подтвердить значение, исправить черновик, запросить новый скан или отправить документ на отдельный разбор. Очередь формируется по признакам риска, включая пустые обязательные поля и противоречия между суммами. Оценка OCR помогает сортировать очередь; проверка по правилам процесса остаётся обязательной.
- Проверьте, какие обязательные поля извлечены верно на каждом виде документа.
- Зафиксируйте, сколько ошибок попало в очередь человека и сколько осталось среди предложенных значений.
- Повторите расчёт после изменения правил на той же эталонной подборке и сохраните обе версии результата.
- Перед расширением потока откройте трудные документы вручную и оцените цену каждой ошибки для процесса.
При анализе расхождений языковая модель может сгруппировать описания ошибок и предложить гипотезы. Подсчёт по всей подборке, проверку форматов и сравнение значений выполняет скрипт. Человек сверяет выборку ошибок с оригиналами и решает, какое правило менять. Так проверка опирается на воспроизводимые данные; объяснение модели остаётся гипотезой до сверки с оригиналом.
Граница учёта
Пилот можно предложить на одном виде первички и заранее согласованной эталонной подборке. Команда готовит парсер полей, очередь исключений и экран сверки с областью скана. Бухгалтер оценивает результаты по эталону и описывает случаи, где требуется новый документ. После этого владелец процесса решает, какие значения допустимо переносить в черновик учётной записи и кто подтверждает перенос.
Операции записи и подтверждения ограничьте на сервере правами сотрудников и проверками состояния документа. Подсказка в интерфейсе или промпт языковой модели служит пояснением, а допуск к изменению карточки проверяет сервер. Храните ссылку на исходный скан, историю исправлений и лицо, утвердившее значение. При споре это позволит восстановить путь от изображения до записи без догадок о том, какой текст видела модель.
Начните с актов одного формата, где бухгалтер может быстро подтвердить эталонные поля по оригиналам. Запустите извлечение в черновик, составьте список ошибок по каждому полю и разберите пропуски вручную. Расширяйте набор форм только после проверки новых образцов тем же способом.
Стоимость такой работы зависит от разнообразия форм, качества сканов, состава полей, требований к хранению и способа связи с учётной системой. При оценке проекта попросите отдельно описать подготовку эталона, логику исключений и серверные проверки прав: эти части влияют на объём работы сильнее названия OCR-инструмента. Если нужен маршрут с человеком в контуре, опишите задачу через страницу о нейросетях для документов: подготовим оценку работ.