Щодня компанії обробляють тисячі документів: договори, рахунки, звіти, новини. Ручний пошук сутностей — сторін, сум, термінів — займає години і дає 70–80% точності. Типова помилка: пропуск дати або неправильна прив'язка контрагента — веде до штрафів і зриву термінів. Information extraction (IE) вирішує цю проблему: вилучає сутності, відношення та події з точністю до 95%. Вилучення фактів з тексту перестає бути рутиною.
Ми автоматизуємо повний цикл: від парсингу до нормалізації. Використовуємо LLM (GPT-4o, Claude, LLaMA 3) та класичні NLP-пайплайни. Обираємо підхід під задачу — або комбінуємо. Гібридна архітектура дозволяє досягти F1 до 95% при затримці менше 200 мс. Середня економія на ручній обробці — до 60% витрат або 500 людино-годин на місяць.
Які типові помилки допускають при вилученні даних?
При вилученні з договорів часто плутають назви компаній через опечатки або скорочення — «ТОВ Ромашка» і «Ромашка ТОВ» вважаються різними. Нормалізація за допомогою edit distance (Levenshtein) та synonym dictionaries вирішує проблему. Дублікати сутностей — одна й та сама інформація зустрічається в різних документах з різними атрибутами. Використовуємо entity linking через граф знань. Нарешті, неоднозначність контексту: слово «рахунок» може бути банківським рахунком або рахунком на оплату. Disambiguation через LLM з few-shot прикладами.
Чому LLM виграє у класичних пайплайнів?
LLM з structured output (Pydantic, OpenAI function calling) справляються з вилученням без тонкого налаштування. Приклад:
from pydantic import BaseModel from openai import OpenAI class CompanyInfo(BaseModel): name: str revenue: float | None revenue_year: int | None ceo: str | None headquarters: str | None employees_count: int | None client = OpenAI() response = client.beta.chat.completions.parse( model="gpt-4o-mini", messages=[{ "role": "user", "content": f"Извлеки информацию о компании из текста:\n{text}" }], response_format=CompanyInfo, ) result = response.choices[0].message.parsed Цей код працює для будь-яких текстів — від фінансових звітів до новин. Без розмітки, без pipeline. Але для >1000 док/год та latency <100 мс класичний pipeline дешевший і швидший. Нещодавно на проєкті з маркетплейсом ми вилучили 500k+ товарних карток з 1 млн PDF. Використовували комбінацію OCR (Tesseract) + LayoutLM для таблиць + GPT-4o для вилучення атрибутів. F1 на тестовій вибірці — 93%.
Порівняння підходів
| Характеристика | LLM-based | Classic pipeline |
|---|---|---|
| Точність (F1) | 75–95% | 85–95% |
| Затримка | 1–10 с на запит | <100 мс |
| Гнучкість | Висока | Низька |
| Вартість на 10k док | Середня | Низька |
| Необхідність даних | Ні | Є (розмічені дані) |
| Інтеграція | REST API | Можно embed |
Як вилучення фактів з тексту вирішує проблему обробки документів?
Вилучення фактів з тексту — ключовий етап побудови баз знань. У типовому проєкті ми проходимо п'ять етапів:
| Етап | Тривалість | Результат |
|---|---|---|
| Аналітика | 2–5 днів | Виділення цільових сутностей і відношень |
| Проектування | 2–10 днів | Вибір архітектури (LLM, BERT, spaCy) |
| Реалізація | 1–4 тижні | Написання коду, налаштування пайплайнів |
| Тестування | 1 тиждень | Розрахунок метрик, A/B-тести |
| Деплой | 2–5 днів | Контейнеризація, REST API, документація |
Терміни: від 2 тижнів до 2 місяців залежно від складності. Вартість розраховується індивідуально.
Що входить в роботу?
- Аналітичний звіт із виділеними сутностями та відношеннями
- Навчена модель або пайплайн (LLM або класичний)
- REST API з документацією (OpenAPI)
- Інтеграція з CRM (Bitrix24, 1С та ін.)
- Навчання співробітників (до 5 днів)
- Технічна підтримка на 3 місяці
Покроковий процес впровадження
- Аудит даних — збір зразків документів, визначення цільових сутностей і метрик якості
- Вибір архітектури — тестування LLM, BERT, spaCy на ваших даних, фіксація baseline
- Розробка пайплайну — написання коду, налаштування inference, оптимізація latency
- Тестування — розрахунок Precision/Recall/F1, A/B-тести, коригування
- Деплой — контейнеризація, розгортання на вашій інфраструктурі або в хмарі
- Супровід — моніторинг метрик, донавчання при зміні даних
Оцінка якості вилучення
Метрики Precision/Recall/F1 розраховуються по кожному типу сутностей. Для відношень — relation-level F1, для слотів — accuracy заповнення. Типові результати: 90–95% F1 на звітах, 75–85% на новинах.
Детальніше про метрики: F1 — гармонійне середнє Precision і Recall. Для кожного типу сутності рахуємо окремо. Якщо важлива повнота (наприклад, пошук всіх згадок), налаштовуємо пайплайн з пріоритетом Recall (до 98%) за рахунок точності.
Гарантуємо: фіксовані метрики якості в договорі, сертифіковані інженери з досвідом 10+ проєктів (NLP, Computer Vision, LLM), підтримка після впровадження. Якщо ви хочете автоматизувати вилучення даних з ваших документів, зв'яжіться з нашими інженерами для консультації. Замовте пілотний проєкт без передоплати — оцінимо ваш кейс за 2 дні.







