Turning relation extraction into a writing assignment
REBEL reframes relation extraction—normally a brittle pipeline of classifiers—as a text-generation task so a single BART model can emit subject-relation-object triples directly.

What it does
REBEL is a BART-based seq2seq model that performs end-to-end relation extraction by generating text. Instead of chaining named-entity recognizers, span classifiers, and relation classifiers, you feed it raw text and it outputs linearized triplets—subject, relation, object—using special tokens like <triplet> and <subj>. The authors claim it handles more than 200 relation types and report state-of-the-art results on most standard benchmarks they evaluated, including NYT, CONLL04, and Re-TACRED.
The interesting bit The trick is linearization: entity triples are serialized into plain text with delimiter tokens, turning a structured prediction problem into a language-generation problem. This lets the model leverage pre-trained BART to jointly detect entities and relations in one autoregressive pass, and the authors have extended the approach to multilingual data with mREBEL and the REDFM dataset.
Key highlights
- Single-model end-to-end extraction: no separate NER or relation-classifier stages to misalign.
- Handles 200+ relation types, per the paper abstract.
- Available as HuggingFace
pipelinemodels (Babelscape/rebel-large) and as a spaCy 3.x component for plugging into existing NLP stacks. - Multilingual follow-up: mREBEL and the REDFM dataset are also housed in this repo.
- Includes a Streamlit demo (
demo.py) and Hydra-based training configs for reproducing benchmark results.
Caveats
- The README is largely a quickstart guide and paper citation; it does not detail model size, latency, or memory requirements.
- Several training datasets require running third-party fetch scripts, and TACRED is not freely available, so full reproduction takes some assembly.
Verdict Worth a look if you are building knowledge-graph pipelines and want to replace a tangle of task-specific models with one generative checkpoint. Less compelling if your domain only needs a handful of relation types and a simpler classifier already works.
Frequently asked
- What is Babelscape/rebel?
- REBEL reframes relation extraction—normally a brittle pipeline of classifiers—as a text-generation task so a single BART model can emit subject-relation-object triples directly.
- Is rebel open source?
- Yes — Babelscape/rebel is an open-source project tracked on heatdrop.
- What language is rebel written in?
- Babelscape/rebel is primarily written in Python.
- How popular is rebel?
- Babelscape/rebel has 569 stars on GitHub.
- Where can I find rebel?
- Babelscape/rebel is on GitHub at https://github.com/Babelscape/rebel.