Skip to content
Showcase/MultiTACRED Multilingual Relation Extraction Dataset
advancedtext

MultiTACRED Multilingual Relation Extraction Dataset

MultiTACRED machine-translates the TACRED relation extraction dataset into 12 languages, keeping 41 TAC relation types plus no_relation. This Potato config reproduces the entity-pair relation task.

About this dataset

MultiTACRED was built by Leonhard Hennig, Philippe Thomas, and Sebastian Moller at DFKI Berlin and published at ACL 2023. It machine-translates the original TACRED relation extraction corpus and projects the entity annotations onto each translation, then evaluates mono- and multilingual language models in transfer settings.

The dataset covers 12 typologically diverse languages from different language families: Arabic, Chinese, Finnish, French, German, Hindi, Hungarian, Japanese, Polish, Russian, Spanish, and Turkish. Each language mirrors the English TACRED splits of 68,124 train, 22,631 dev, and 15,509 test instances, though some examples are dropped per language when entity markup cannot be preserved after translation.

Each instance pairs a subject entity and an object entity in a sentence, and the task is to classify the relation between them. The label set has 41 TAC relation types (such as org:founded_by and per:title) plus a no_relation class, which covers about 80 percent of the data. Native speaker review judged more than 83 percent of translated instances linguistically and semantically acceptable.

The Potato config below reproduces the MultiTACRED relation extraction task: it marks the subject and object spans in a translated sentence and presents the 41 relation types plus no_relation as a single-choice radio scheme.

Languages
12
Relation types
41 + no_relation
Train instances (per language)
68,124
Dev instances
22,631
Test instances
15,509
no_relation share
~80%
Q1: Rate your experience12345Q2: Primary use case?ResearchIndustryEducationQ3: Additional feedback

Configuration Fileconfig.yaml

This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.

yaml
# MultiTACRED: Multilingual TAC Relation Extraction
# Based on Hennig et al., ACL 2023
# Paper: https://aclanthology.org/2023.acl-long.210/
# Dataset: https://github.com/DFKI-NLP/MultiTACRED
#
# MultiTACRED extends the English TACRED relation extraction dataset to 12
# languages by machine-translating each instance (DeepL / Google Translate)
# and projecting the subject/object entity annotations; a sample of
# translations was validated by native speakers. It covers 41 TAC relation
# types between subject and object entities.
#
# Translation-target languages (12): Arabic, Chinese, Finnish, French,
# German, Hindi, Hungarian, Japanese, Polish, Russian, Spanish, Turkish
# (English is the original TACRED source, not a translation target.)
#
# Subject Entity Types:
# - PERSON: Named person
# - ORGANIZATION: Named organization
#
# Object Entity Types:
# - PERSON, ORGANIZATION, LOCATION, DATE, NUMBER,
#   TITLE, RELIGION, NATIONALITY, CAUSE_OF_DEATH,
#   CRIMINAL_CHARGE, URL, CITY, STATE_OR_PROVINCE, COUNTRY
#
# TAC Relation Types (41 total), including:
# Person relations: per:origin, per:employee_of, per:spouse,
#   per:children, per:parents, per:siblings, per:title,
#   per:age, per:date_of_birth, per:date_of_death,
#   per:cause_of_death, per:religion, per:schools_attended,
#   per:city_of_birth, per:stateorprovince_of_birth,
#   per:country_of_birth, per:charges
# Organization relations: org:founded, org:founded_by,
#   org:members, org:member_of, org:subsidiaries,
#   org:parents, org:top_members/employees,
#   org:city_of_headquarters, org:country_of_headquarters
#
# Annotation Guidelines:
# 1. Read the sentence and note the language
# 2. Identify subject and object entity spans
# 3. Classify entity types
# 4. Select the TAC relation type for the entity pair
# 5. Assess translation quality if applicable

annotation_task_name: "MultiTACRED: Multilingual Relation Extraction"
task_dir: "."

data_files:
  - sample-data.json
item_properties:
  id_key: "id"
  text_key: "text"

output_annotation_dir: "annotation_output/"
output_annotation_format: "json"

annotation_schemes:
  # Step 1: Identify subject and object entities
  - annotation_type: span
    name: entities
    description: "Highlight the subject and object entities in the text"
    labels:
      - "PERSON"
      - "ORGANIZATION"
      - "LOCATION"
      - "DATE"
      - "NUMBER"
      - "TITLE"
      - "RELIGION"
      - "NATIONALITY"
      - "CAUSE_OF_DEATH"
      - "CITY"
      - "STATE_OR_PROVINCE"
      - "COUNTRY"
    label_colors:
      "PERSON": "#3b82f6"
      "ORGANIZATION": "#22c55e"
      "LOCATION": "#ef4444"
      "DATE": "#8b5cf6"
      "NUMBER": "#06b6d4"
      "TITLE": "#f59e0b"
      "RELIGION": "#ec4899"
      "NATIONALITY": "#14b8a6"
      "CAUSE_OF_DEATH": "#6b7280"
      "CITY": "#f97316"
      "STATE_OR_PROVINCE": "#a855f7"
      "COUNTRY": "#dc2626"
    keyboard_shortcuts:
      "PERSON": "1"
      "ORGANIZATION": "2"
      "LOCATION": "3"
      "DATE": "4"
    tooltips:
      "PERSON": "Named person (e.g., John Smith, Marie Curie)"
      "ORGANIZATION": "Named organization (e.g., Google, United Nations)"
      "LOCATION": "General location not covered by city/state/country"
      "DATE": "Dates, years, or time expressions"
      "NUMBER": "Numerical values (age, quantity, etc.)"
      "TITLE": "Job titles, honorifics, or positions"
      "RELIGION": "Religious denominations or beliefs"
      "NATIONALITY": "National or ethnic identity"
      "CAUSE_OF_DEATH": "Cause or manner of death"
      "CITY": "City or town names"
      "STATE_OR_PROVINCE": "State, province, or regional divisions"
      "COUNTRY": "Country names"
    allow_overlapping: false

  # Step 2: Link entities with TAC relation types
  - annotation_type: span_link
    name: tac_relations
    description: "Draw relations between subject and object entities using TAC relation types"
    labels:
      - "per:origin"
      - "per:employee_of"
      - "per:spouse"
      - "per:children"
      - "per:parents"
      - "per:siblings"
      - "per:title"
      - "per:age"
      - "per:date_of_birth"
      - "per:date_of_death"
      - "per:cause_of_death"
      - "per:religion"
      - "per:schools_attended"
      - "per:city_of_birth"
      - "per:country_of_birth"
      - "per:charges"
      - "per:cities_of_residence"
      - "per:countries_of_residence"
      - "org:founded"
      - "org:founded_by"
      - "org:members"
      - "org:member_of"
      - "org:subsidiaries"
      - "org:parents"
      - "org:top_members/employees"
      - "org:city_of_headquarters"
      - "org:country_of_headquarters"
      - "no_relation"
    tooltips:
      "per:origin": "Person's national or ethnic origin"
      "per:employee_of": "Person is employed by organization"
      "per:spouse": "Person is married to or in partnership with another person"
      "per:children": "Person's children"
      "per:parents": "Person's parents"
      "per:siblings": "Person's brothers or sisters"
      "per:title": "Person's job title or position"
      "per:age": "Person's age"
      "per:date_of_birth": "Person's date of birth"
      "per:date_of_death": "Person's date of death"
      "per:cause_of_death": "Cause of the person's death"
      "per:religion": "Person's religious affiliation"
      "per:schools_attended": "Schools or universities the person attended"
      "per:city_of_birth": "City where the person was born"
      "per:country_of_birth": "Country where the person was born"
      "per:charges": "Criminal charges against the person"
      "per:cities_of_residence": "Cities where the person resides or resided"
      "per:countries_of_residence": "Countries where the person resides or resided"
      "org:founded": "Date when the organization was founded"
      "org:founded_by": "Person or entity that founded the organization"
      "org:members": "Members of the organization"
      "org:member_of": "Organization is a member of another organization"
      "org:subsidiaries": "Subsidiary organizations"
      "org:parents": "Parent organization"
      "org:top_members/employees": "Top leaders or executives of the organization"
      "org:city_of_headquarters": "City where the organization is headquartered"
      "org:country_of_headquarters": "Country where the organization is headquartered"
      "no_relation": "No TAC relation holds between the subject and object"

  # Step 3: Assess translation quality
  - annotation_type: radio
    name: translation_quality
    description: "Rate the quality of the translation (for non-English sentences)"
    labels:
      - "Excellent - Natural and accurate"
      - "Good - Minor issues but meaning preserved"
      - "Acceptable - Some awkwardness but understandable"
      - "Poor - Meaning distorted or unnatural"
      - "N/A - Original English text"
    keyboard_shortcuts:
      "Excellent - Natural and accurate": "q"
      "Good - Minor issues but meaning preserved": "w"
      "Acceptable - Some awkwardness but understandable": "e"
      "Poor - Meaning distorted or unnatural": "r"
      "N/A - Original English text": "t"
    tooltips:
      "Excellent - Natural and accurate": "Translation reads naturally and preserves all meaning"
      "Good - Minor issues but meaning preserved": "Small grammatical or stylistic issues; meaning is clear"
      "Acceptable - Some awkwardness but understandable": "Noticeable issues but core meaning is preserved"
      "Poor - Meaning distorted or unnatural": "Translation significantly changes meaning or is hard to understand"
      "N/A - Original English text": "This is the original English text, not a translation"

html_layout: |
  <div style="margin-bottom: 10px; padding: 8px; background: #f0f4f8; border-radius: 4px;">
    <strong>Language:</strong> {{language}} |
    <strong>Subject:</strong> <span style="color: #3b82f6; font-weight: bold;">{{subject}}</span> ({{subject_type}}) |
    <strong>Object:</strong> <span style="color: #ef4444; font-weight: bold;">{{object}}</span> ({{object_type}})
  </div>
  <div style="font-size: 16px; line-height: 1.6;">
    {{text}}
  </div>

allow_all_users: true
instances_per_annotator: 50
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false

Sample Datasample-data.json

json
[
  {
    "id": "mtacred_001",
    "text": "John Smith, a senior engineer at Microsoft, has been working at the company's headquarters in Redmond since 2015.",
    "language": "en",
    "subject": "John Smith",
    "subject_type": "PERSON",
    "object": "Microsoft",
    "object_type": "ORGANIZATION"
  },
  {
    "id": "mtacred_002",
    "text": "Angela Merkel wurde 1954 in Hamburg geboren und wuchs in Templin in der DDR auf.",
    "language": "de",
    "subject": "Angela Merkel",
    "subject_type": "PERSON",
    "object": "Hamburg",
    "object_type": "CITY"
  }
]

// ... and 8 more items

Get This Design

View on GitHub

Clone or download from the repository

Quick start:

git clone https://github.com/davidjurgens/potato-showcase.git
cd potato-showcase/text/relation-extraction/multitacred-multilingual-relations
potato start config.yaml

Dataset & paper

Hennig et al., ACL 2023

Citation (BibTeX)

bibtex
@inproceedings{hennig-etal-2023-multitacred,
    title = "{MultiTACRED}: A Multilingual Version of the {TAC} Relation Extraction Dataset",
    author = "Hennig, Leonhard and Thomas, Philippe and M{\"o}ller, Sebastian",
    booktitle = "Proceedings of the 61st Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)",
    month = jul,
    year = "2023",
    address = "Toronto, Canada",
    publisher = "Association for Computational Linguistics",
    url = "https://aclanthology.org/2023.acl-long.210",
    doi = "10.18653/v1/2023.acl-long.210",
    pages = "3785--3801"
}

Details

Annotation Types

radiospanspan_link

Domain

NLPMultilingualInformation Extraction

Use Cases

Relation ExtractionMultilingual NLPKnowledge Base Population

Tags

multilingualrelation-extractiontacredmultitacredacl2023cross-lingual

Found an issue or want to improve this design?

Open an Issue