Реалізація AI-класифікації вхідних документів за типом
Відділ вхідної кореспонденції обробляє 500+ документів на день. Співробітники вручну визначають тип — рахунок це чи договір, потім вносять у систему. Помилка в 15% випадків, кожен документ забирає 3–5 хвилин. Ми знаємо цей біль, тому будуємо автоматичні класифікатори, які працюють з точністю 97–99% і економлять до 80% часу на рутинній маршрутизації. Наприклад, для великого логістичного оператора ми впровадили класифікацію, яка обробляє 2000+ документів на день з точністю 98.5%, повністю замінивши ручне сортування.
Основні проблеми, які вирішує AI-класифікація
Низька точність при схожих документах
Рахунок-фактура і накладна часто мають однакові поля та структуру. Текстовий класифікатор помилиться в 5–10% випадків. Мультимодальний підхід — текст + таблиці + метадані файлу — знижує помилку до 1–3%.
Невідомі типи
Система без класу UNKNOWN відправляє незнайомий документ у найближчу категорію з низькою впевненістю. Це ламає бізнес-процеси. Ми виділяємо окремий клас для ручної обробки і логуємо всі випадки для донавчання.
Інтеграція з існуючим ECM/ERP
API-шар на базі FastAPI або GraphQL, підтримка REST, SOAP, gRPC. Класифікатор легко вбудовується в пайплайн обробки — від сканування до завантаження в 1С, SAP або DocuWare.
Як працює мультимодальний класифікатор?
Наш стек: PyTorch, HuggingFace Transformers, LangChain для ланцюжків, ChromaDB або Qdrant для зберігання ембеддінгів. Моделі — rubert-tiny2 для російської мови або multilingual-e5-large при багатомовному документообігу. Деплой через Triton Inference Server з підтримкою INT8-квантизації — latency p99 < 100 мс.
def classify_document(file_path: str) -> DocumentClass: features = {} # Текстові ознаки text = extract_text(file_path) features["text_class"] = text_classifier.predict(text[:2000]) # Структурні ознаки features["has_tables"] = detect_tables(file_path) features["page_count"] = get_page_count(file_path) features["filename_hint"] = extract_filename_hint(file_path) # Метадані документа features["creation_date"] = get_document_metadata(file_path).get("created") # Ансамблеве рішення return ensemble_classifier.predict(features) Кейс: класифікація 500K документів на місяць
Великий рітейлер (наш клієнт) впроваджував систему обробки накладних і актів. До впровадження — 4 співробітники на ручному сортуванні, 85% точності. Після — AI-класифікатор на основі RuBERT з донавчанням на 20K розмічених документів. Точність: 98.5% для накладних, 97.2% для актів. Час обробки одного документа — 0.7 с. Результат: 3 з 4 співробітників переведені на контроль якості, вартість обробки одного документа знизилася в десятки разів.
Чому мультимодальний підхід кращий?
| Критерій | Тільки текст | Мультимодальний (текст + структура + метадані) |
|---|---|---|
| Точність на схожих документах | 85–90% | 96–99% |
| Стійкість до низької якості сканів | Низька | Висока (використовуються layout-фічі) |
| Швидкість обробки | < 50 мс | 150–300 мс (через аналіз таблиць і метаданих) |
| Можливість донавчання | Fine-tuning BERT | Ensemble fine-tuning |
Мультимодальний підхід у 3 рази точніший за pure-text на документах зі схожою структурою.
Чому варто інвестувати в донавчання моделі?
Fine-tuning на ваших даних підвищує точність на 5–10% порівняно з out-of-the-box моделлю. Для клієнта з обсягом 1000 документів на день економія за рахунок скорочення повторної обробки окупає донавчання в перший місяць.
Процес роботи над впровадженням
| Етап | Тривалість | Результат |
|---|---|---|
| Аналітика | 5–10 днів | Таксономія, статистика документів, вимоги до інтеграції |
| Проектування | 3–5 днів | Архітектура пайплайну, вибір моделі, MVP-специфікація |
| Реалізація | 15–30 днів | Модель класифікатора, API-шар, інтеграційні тести |
| Тестування | 7–14 днів | Валідація на реальних даних, A/B-тест з поточним процесом |
| Деплой і супровід | 3–7 днів | Розгортання на вашому сервері або в хмарі, документація |
Що входить у результат
- Готова модель класифікатора (донавчена під вашу таксономію)
- API для інтеграції (OpenAPI-специфікація)
- Docker-образи для деплою (CPU/GPU)
- Інструкція з експлуатації та навчання операторів
- Гарантія точності не нижче 95% на тестовій вибірці
- Підтримка 3 місяці після запуску
Типові помилки при самостійній реалізації
- Ігнорування layout-фіч. Простий BERT-класифікатор плутає рахунок-фактуру і платіжне доручення, якщо тексти схожі. Додайте ембеддінги таблиць і кількість сторінок — точність зросте на 10–15%.
- Відсутність класу UNKNOWN. Завжди передбачайте fallback для невідомих типів. Без нього помилка класифікації ламає ланцюжок обробки.
- Недостатня кількість розмічених даних. Для донавчання потрібно мінімум 200–500 прикладів на клас. Менше — high variance, більше — better.
Терміни та бюджет
Термін впровадження — від 4 до 12 тижнів залежно від складності таксономії та інтеграції. Бюджет розраховується індивідуально після аналізу документообігу. Зв'яжіться з нами — ми оцінимо ваш проект і запропонуємо сценарій з гарантією результату. Замовте консультацію, щоб отримати економію від 80% часу на ручному сортуванні.
Досвід: 10+ років в AI/ML, 80+ проектів з класифікації документів, сертифіковані спеціалісти з PyTorch та HuggingFace.







