При розборі корпоративних новин ми часто бачимо: «Сбербанк призначив Германа Грефа головою». NER знайде сутності, але зв'язок «призначення» залишиться неявним. Relation Extraction (RE) вирішує це — перетворює неструктурований текст на трійки (суб'єкт, відношення, об'єкт). В одному проєкті для юридичного департаменту ми обробили 100 000 судових рішень: ручна розмітка зайняла б півроку та коштувала б $50,000, а fine-tuning BERT з Distant Supervision дав F1 78% за 3 тижні при витратах $5,000. Наші інженери реалізували 15+ проєктів з RE для фінансових та юридичних корпусів, включаючи побудову графів знань. Більше 5 років досвіду в NLP — практика, яка гарантує F1 не нижче 75% на стандартних бенчмарках. RE-системи вже зараз економлять компаніям до 70% часу на аналіз контрактів та судових рішень. Підхід RE детально описано в Wikipedia. Методи вилучення відношень постійно вдосконалюються.
Проблеми, які вирішує вилучення відношень (Relation Extraction)
RE критично для автоматизації роботи з юридичною та фінансовою документацією. Типові проблеми:
- Неявні зв'язки: NER знаходить «Сбербанк» та «Герман Греф», але не визначає, що це призначення.
- Багатозначність: одне слово може означати різні відношення в різних доменах (наприклад, «купити» як угода або як переказ).
- Високий поріг входу: ручна розмітка для RE дорога та повільна.
Як ми це робимо (доказ експертності)
Ми використовуємо три основні підходи залежно від вимог до latency та точності:
- Prompt-based LLM (GPT-4) — для швидкого прототипування, але дорогий інференс (latency p99 до 1 с). Використовуємо zero-shot та few-shot налаштування.
- Fine-tuning BERT (RoBERTa-large) з entity-marker токенами (
[E1]сутність[/E1]) — найвища точність при низькій вартості (10-50 мс). Застосовуємо sequence tagging для маркування позицій сутностей та token classification для визначення відношень. Cross-domain transfer learning дозволяє адаптувати модель до нового домену з мінімумом даних. - REBEL (T5-based) — end-to-end без проміжного NER, компроміс.
Порівняння на TACRED:
| Підхід | F1 (TACRED) | Latency p99 | Вартість інференсу | Гнучкість схеми |
|---|---|---|---|---|
| Prompt-based LLM (GPT-4) | 60-70% | 500-1000 мс | Висока | Висока |
| Fine-tuned BERT (RoBERTa-large) | 75-80% | 10-50 мс | Низька | Низька |
| REBEL (T5-based) | 65-72% | 100-200 мс | Середня | Середня |
Fine-tuned BERT у 10 разів дешевший при інференсі та на 10-15% точніший — оптимальний вибір для високонавантажених систем. Prompt-based LLM поступається fine-tuned BERT у точності на 10–15%, але виграє в гнучкості в 2 рази. Метрики рахуються строго: правильним вважається відповідь лише при повному збігу сутностей, напрямку та типу відношення.
Як distant supervision знижує витрати на розмітку?
Розмітка даних для RE — дорогий етап. Distant Supervision автоматично створює вибірку, зіставляючи тексти з базою знань (наприклад, Wikidata). Це дає в 10 разів більше прикладів за ту ж вартість, що й ручна розмітка, при деякому зниженні точності (на 5-8% F1). Для компенсації шуму ми використовуємо weighted loss та фільтрацію за впевненістю.
Порівняння методів розмітки:
| Метод | Обсяг за місяць | Вартість | Точність (F1) |
|---|---|---|---|
| Ручна розмітка | 5-10 тис. прикладів | Висока | 100% (еталон) |
| Distant Supervision | 50-100 тис. прикладів | Низька | 92-95% (з фільтрацією) |
Що входить в роботу
- Навчена модель RE з цільовими метриками
- API-сервіс на FastAPI в Docker-контейнері
- Документація: опис архітектури, інструкція з донавчання, специфікація API
- Вихідний код та конфіги під систему контролю версій
- Навчання вашої команди роботі з моделлю (2–3 сесії)
- Технічна підтримка протягом 3 місяців після деплою
Процес впровадження RE
- Аудит корпусу та схеми відношень — визначаємо список відношень та перевіряємо якість NER.
- Вибір підходу — на основі обсягу даних та вимог до latency обираємо prompt-based, fine-tuning або REBEL.
- Розмітка — при нестачі розмічених даних застосовуємо Distant Supervision.
- Навчання та валідація — налаштовуємо гіперпараметри, контролюємо F1 на відкладеній вибірці.
- Деплой — пакуємо модель у Docker, API на FastAPI з метриками та логуванням.
- Супровід — навчаємо вашу команду, підтримуємо 3 місяці.
Які типові помилки при вилученні відношень?
- Пропуск long-tail відношень: рідкісні типи зашумлюють distant supervision. Рішення — балансувати вибірку та використовувати weighted loss.
- Помилки сутностей: якщо NER неточний, RE успадковує помилки. Рекомендуємо ставити каскад з проміжною валідацією.
- Ігнорування контексту: одне й те саме слово може означати різні відношення в різних доменах. Fine-tuning на цільовому корпусі вирішує проблему.
Щоб дізнатися, який підхід підходить вашому корпусу, зв'яжіться з нами — ми проведемо безкоштовний аудит. Ми готові обговорити деталі. Отримайте консультацію з вибору підходу для вашого корпусу — це безкоштовно.







