Разработка AI-системы для работы с документами (Document AI)

Проектируем и внедряем системы искусственного интеллекта: от прототипа до production-ready решения. Наша команда объединяет экспертизу в машинном обучении, дата-инжиниринге и MLOps, чтобы AI работал не в лаборатории, а в реальном бизнесе.
Показано 1 из 1Все 1566 услуг
Разработка AI-системы для работы с документами (Document AI)
Сложный
~2-4 недели
Часто задаваемые вопросы

Направления AI-разработки

Этапы разработки AI-решения

Последние работы

  • image_website-b2b-advance_0.webp
    Разработка сайта компании B2B ADVANCE
    1284
  • image_web-applications_feedme_466_0.webp
    Разработка веб-приложения для компании FEEDME
    1196
  • image_websites_belfingroup_462_0.webp
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    901
  • image_ecommerce_furnoro_435_0.webp
    Разработка интернет магазина для компании FURNORO
    1119
  • image_logo-advance_0.webp
    Разработка логотипа компании B2B Advance
    586
  • image_crm_enviok_479_0.webp
    Разработка веб-приложения для компании Enviok
    853

Разработка AI-системы для работы с документами (Document AI)

Document AI — платформа для интеллектуальной обработки документов: извлечения данных, классификации, поиска, анализа. Заменяет ручной ввод данных из документов и позволяет организациям работать с документальным архивом программно.

Типы задач Document AI

Система обрабатывает различные типы документов и задач:

Структурированные документы (счета, накладные, налоговые формы): детерминированные форматы, извлечение полей с высокой точностью.

Полуструктурированные (договоры, анкеты, заявления): вариативная структура, требует понимания контекста.

Неструктурированные (письма, отчёты, медицинские записи): свободный текст, NLP-обработка.

Изображения и сканы: предварительный OCR, затем NLP-обработка.

Архитектура Document AI платформы

[Входящий документ: 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 с извлечёнными данными
         ├── Структурированная запись в БД
         └── Уведомления / интеграции

Извлечение данных из структурированных документов

Для стандартизированных форм (СФ, УПД, накладные в формате ФНС 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 нужен только для нестандартных форматов.

Intelligent Document Processing (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.

Классификация типов документов

Multi-class классификатор на основе:

  • Текстового содержимого (TF-IDF / BERT embeddings)
  • Структурных признаков (наличие таблиц, количество страниц, разделы)
  • Метаданных (имя файла, источник)

Typical accuracy: 96–99% для чётких типов (СФ vs договор vs акт), 88–94% для схожих типов.

Валидация и уверенность

Каждое извлечённое поле сопровождается confidence score. При низком confidence (< 0.8) — флаг для ручной проверки. Cross-validation: суммы в прописи и цифрах совпадают? ИНН проходит checksum? Дата логична?

Straight-Through Processing rate: для высококачественных структурированных документов достигает 85–95%.

Поиск по архиву документов

Векторный поиск позволяет находить документы по смыслу:

"Договоры с поставщиками из Германии 2022–2023 года"
→ Semantic search по корпусу + metadata filter
→ Ranked results с подсветкой релевантных фрагментов

Сроки разработки

Месяц 1: OCR pipeline, классификатор типов документов, базовое извлечение

Месяц 2–3: Обработка приоритетных типов документов, валидация, интеграции с ERP/ECM

Месяц 4: Семантический поиск, UI для ручной корректировки, аналитика

Месяц 5–6: Production hardening, масштабирование, мониторинг качества