Ваши операторы тратят часы на ввод счетов и накладных, а ошибки всё равно проскальзывают? Мы сталкивались с этим у десятков клиентов и знаем, как это исправить. На обработку 1000 счетов уходит до 80 часов работы операторов, что обходится в тысячи долларов ежемесячно. За время нашей практики мы разработали десятки решений для интеллектуальной обработки документов (IDP) для банков, логистики и ритейла. Расскажу, как строятся такие системы и каких результатов можно достичь.
Document AI обрабатывает документы в десятки раз быстрее человека, а экономия на обработке одного документа достигает 95% по сравнению с ручным вводом. Для клиента с объёмом 2000 документов в месяц это означает экономию от 2 до 5 миллионов рублей в год. Сравним ручную обработку и Document AI:
| Параметр | Ручная обработка | Document AI |
|---|---|---|
| Скорость (1000 счетов) | 40–80 часов | 10–15 минут |
| Ошибки ввода | 2–5% | <0.1% при confidence фильтре |
| Масштабирование | Линейный рост штата | Горизонтальное масштабирование |
| Доступность | 9–5 | 24/7 |
| Стоимость на документ | высокая | в 10–20 раз ниже |
Как Document AI экономит до 95% времени на обработку?
Платформа состоит из нескольких слоёв, каждый из которых решает свою подзадачу. Типовой pipeline:
[Входящий документ: PDF, DOCX, JPG, TXT]
→ [Document Intake Service]
├── Определение типа (PDF/скан/текстовый)
└── Маршрутизация
→ [Pre-processing]
├── OCR (если скан): Tesseract / Azure DI / Google Document AI
├── Извлечение таблиц: Camelot / pdfplumber / Table Transformer
└── Layout Analysis: расположение элементов страницы
→ [AI Processing Pipeline]
├── Классификация типа документа
├── Извлечение структурированных данных
├── Валидация извлечённых данных
└── Генерация суммари / аналитики
→ [Output]
├── JSON с извлечёнными данными
├── Структурированная запись в БД
└── Уведомления / интеграции
Процесс построения такой системы включает пять этапов:
- Сбор и разметка репрезентативной выборки документов (100–200 штук).
- Выбор и настройка OCR + предобработка изображений.
- Обучение моделей классификации и извлечения полей.
- Интеграция с ERP через REST API или прямые коннекторы.
- Запуск мониторинга и цикл дообучения по мере поступления новых типов.
Почему preprocessing — критический этап?
Качество OCR и layout analysis напрямую определяет точность последующего извлечения. Для сканов низкого разрешения приходится применять свёрточные сети (Table Transformer) для обнаружения таблиц. В одном из проектов для ритейла мы боролись с накладными, напечатанными на термобумаге — пришлось дообучать модель на синтетических данных, имитирующих выцветание. Использование современных OCR-движков, таких как Azure Document Intelligence, позволяет повысить точность извлечения до 99% на качественных сканах, но для сложных случаев требуется кастомная предобработка.
Детали сравнения OCR-решений
Tesseract — бесплатный, базовый уровень. Azure DI — высокая точность на сложных макетах, платный. PaddleOCR — on-premise, дообучается под специфические шрифты. Google Document AI — хорош для многостраничных сканов. Для OCR NLP pipeline выбирайте движок исходя из типов документов и требований к конфиденциальности.Типы обрабатываемых документов
Система обрабатывает различные типы документов. Подходы различаются:
- Структурированные (счета, накладные, налоговые формы): детерминированные форматы, извлечение полей с высокой точностью.
- Полуструктурированные (договоры, анкеты, заявления): вариативная структура, требует понимания контекста.
- Неструктурированные (письма, отчёты, медицинские записи): свободный текст, NLP-обработка.
- Изображения и сканы: предварительный OCR, затем NLP-обработка.
| Тип документа | Пример | Метод обработки | Точность |
|---|---|---|---|
| Структурированный | XML УПД | Парсинг XPath | 99% |
| Полуструктурированный | Договор | LLM + шаблон | 90–95% |
| Неструктурированный | Письмо | NLP классификация | 85–90% |
| Скан | Фото чека | OCR + IDP модель | 80–95% |
Техническая реализация
Извлечение данных из структурированных документов
Для стандартизированных форм (СФ, УПД, накладные в формате ФНС XML) — детерминированный парсинг через XPath, без ML:
from lxml import etree
def parse_upd(xml_path: str) -> InvoiceData:
tree = etree.parse(xml_path)
root = tree.getroot()
ns = {"n": "urn:NDS"}
return InvoiceData(
seller_inn=root.findtext(".//n:СвПродавца/n:ИдСв/n:СвЮЛ/@ИННЮЛ", namespaces=ns),
invoice_number=root.findtext(".//n:Документ/n:НомерДок", namespaces=ns),
total_amount=float(root.findtext(".//n:ВсегоОпл", namespaces=ns) or 0),
)
ML нужен только для нестандартных форматов.
IDP для сканов: стек и примеры
from azure.ai.documentintelligence import DocumentIntelligenceClient
from azure.core.credentials import AzureKeyCredential
client = DocumentIntelligenceClient(endpoint, AzureKeyCredential(key))
# Анализ счёта
with open("invoice.jpg", "rb") as f:
poller = client.begin_analyze_document(
model_id="prebuilt-invoice",
body=f.read(),
content_type="application/octet-stream"
)
result = poller.result()
# Доступ к полям
invoice = result.documents[0]
vendor_name = invoice.fields.get("VendorName")
total_amount = invoice.fields.get("InvoiceTotal")
Альтернативы: Google Document AI, AWS Textract, PaddleOCR + LLM extraction для on-premise. Подробнее об OCR.
Классификация и валидация данных
Multi-class классификатор на основе:
- Текстового содержимого (TF-IDF / BERT embeddings)
- Структурных признаков (наличие таблиц, количество страниц, разделы)
- Метаданных (имя файла, источник)
Типичная точность: 96–99% для чётких типов (СФ vs договор vs акт), 88–94% для схожих типов.
Каждое извлечённое поле сопровождается confidence score. При низком confidence (< 0.8) — флаг для ручной проверки. Cross-validation: суммы в прописи и цифрах совпадают? ИНН проходит checksum? Дата логична? Straight-Through Processing rate для высококачественных структурированных документов достигает 85–95%. Экономия времени и денег: автоматизация возврата инвестиций за 6–12 месяцев для среднего бизнеса. Многие клиенты окупают внедрение за 8–10 месяцев.
Результат и пилот
Что входит в готовое решение
- API с эндпоинтами для загрузки, обработки и получения данных
- Модуль OCR с поддержкой Tesseract, Azure DI или Google DI
- Классификатор типов документов (дообучаемая модель)
- Извлечение полей с confidence score
- Валидация и логирование
- Веб-интерфейс для ручной корректировки и мониторинга
- Интеграция с 1С, SAP или другой ERP (REST/SOAP/файловый обмен)
- Документация и инструкция по эксплуатации
- Обучение операторов (2 дня)
- Гарантия на pipeline в течение 6 месяцев
Сроки внедрения
Месяц 1: OCR pipeline, классификатор типов документов, базовое извлечение
Месяц 2–3: Обработка приоритетных типов документов, валидация, интеграции с ERP/ECM
Месяц 4: Семантический поиск, UI для ручной корректировки, аналитика
Месяц 5–6: Production hardening, масштабирование, мониторинг качества
Как запустить пилот?
Пилотный проект начинается со сбора выборки из 100–200 типичных документов (сканы, PDF, XML). За 1–2 дня мы оцениваем архитектуру и точность извлечения, готовим предварительный сметный расчёт. После согласования запускается полный pipeline — от OCR до интеграции. Первые результаты видны через 2–3 месяца. Затем дорабатываем все типы документов, подключаем ERP, обучаем операторов.
Закажите пилотный проект для оценки эффективности на ваших документах. Свяжитесь с нами — мы подготовим предварительную архитектуру за 1–2 дня и оценим проект. Получите консультацию по интеграции Document AI в вашу инфраструктуру.







