Розробка Relation Extraction для вилучення семантичних зв'язків

При розборі корпоративних новин ми часто бачимо: «Сбербанк призначив Германа Грефа головою». NER знайде сутності, але зв'язок «призначення» залишиться неявним. [Relation Extraction](https://en.wikipedia.org/wiki/Relation_extraction) (RE) вирішує це — перетворює неструктурований текст на трійки (суб'

Напрямки AI-розробки

Часті запитання

Останні роботи

  • image_website-b2b-advance_0.webp
    Розробка сайту компанії B2B ADVANCE
    1440
  • image_web-applications_feedme_466_0.webp
    Розробка веб-додатків для компанії FEEDME
    1301
  • image_websites_belfingroup_462_0.webp
    Розробка веб-сайту для компанії БЕЛФІНГРУП
    997
  • image_ecommerce_furnoro_435_0.webp
    Розробка інтернет магазину для компанії FURNORO
    1264
  • image_logo-advance_0.webp
    Розробка логотипу компанії B2B Advance
    712
  • image_crm_enviok_479_0.webp
    Розробка веб-додатків для компанії Enviok
    1002

При розборі корпоративних новин ми часто бачимо: «Сбербанк призначив Германа Грефа головою». 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

  1. Аудит корпусу та схеми відношень — визначаємо список відношень та перевіряємо якість NER.
  2. Вибір підходу — на основі обсягу даних та вимог до latency обираємо prompt-based, fine-tuning або REBEL.
  3. Розмітка — при нестачі розмічених даних застосовуємо Distant Supervision.
  4. Навчання та валідація — налаштовуємо гіперпараметри, контролюємо F1 на відкладеній вибірці.
  5. Деплой — пакуємо модель у Docker, API на FastAPI з метриками та логуванням.
  6. Супровід — навчаємо вашу команду, підтримуємо 3 місяці.

Які типові помилки при вилученні відношень?

  • Пропуск long-tail відношень: рідкісні типи зашумлюють distant supervision. Рішення — балансувати вибірку та використовувати weighted loss.
  • Помилки сутностей: якщо NER неточний, RE успадковує помилки. Рекомендуємо ставити каскад з проміжною валідацією.
  • Ігнорування контексту: одне й те саме слово може означати різні відношення в різних доменах. Fine-tuning на цільовому корпусі вирішує проблему.

Щоб дізнатися, який підхід підходить вашому корпусу, зв'яжіться з нами — ми проведемо безкоштовний аудит. Ми готові обговорити деталі. Отримайте консультацію з вибору підходу для вашого корпусу — це безкоштовно.