Реализация извлечения отношений между сущностями (Relation Extraction)
Relation Extraction (RE) определяет тип связи между двумя именованными сущностями в тексте. «Сбербанк» и «Герман Греф» → отношение является_руководителем. Это шаг выше NER — от распознавания сущностей к пониманию их взаимосвязей.
Формальная постановка
На входе: текст + пара сущностей (e1, e2) + их типы. На выходе: тип отношения из предопределённого набора или NO_RELATION.
Пример схемы отношений для корпоративных текстов:
-
работает_в(PERSON, ORG) -
является_дочерней(ORG, ORG) -
расположена_в(ORG, LOC) -
участвует_в_сделке(ORG, ORG, MONEY) -
назначен_на_должность(PERSON, ORG, DATE)
Подходы к реализации
Prompt-based (LLM): самый быстрый путь к рабочей системе. Тройка (e1, текст, e2) передаётся модели:
В следующем тексте определи тип отношения между сущностями [Сбербанк] и [Герман Греф].
Доступные типы: работает_в, является_руководителем, основал, покинул.
Если отношений нет — ответь NO_RELATION.
Текст: {текст}
Fine-tuned BERT: для высокой нагрузки и фиксированной схемы отношений. Подход entity-marker: в тексте вставляются специальные токены [E1]Сбербанк[/E1], классификация по [CLS] + [E1] + [E2] токенам.
REBEL (Facebook): end-to-end RE без промежуточного NER, генерирует тройки (субъект, отношение, объект) напрямую.
Distant Supervision
Проблема RE — нужна разметка. Distant Supervision позволяет обойти это: берётся база знаний (Wikidata, Freebase), автоматически размечаются тексты, в которых встречаются пары сущностей, состоящие в известных отношениях. Нечисто (много шума), но позволяет получить 100K+ примеров без ручной разметки.
Метрики
RE метрики считаются строго: правильно, только если верно определены обе сущности, направление отношения и тип. F1 micro по всем отношениям. Типичное качество fine-tuned BERT: 70–80% F1 на стандартных датасетах (TACRED, DocRED).







