Event Argument Extraction (MAVEN-Arg)
Document-level event argument extraction based on MAVEN-Arg (Wang et al., ACL 2024). Annotates event triggers with their argument roles including Agent, Patient, Location, Time, Instrument, and more. Supports both entity and non-entity arguments across document context.
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# Event Argument Extraction (MAVEN-Arg style)
# Based on Wang et al., ACL 2024
# Paper: https://aclanthology.org/2024.acl-long.224/
# Dataset: https://github.com/THU-KEG/MAVEN-Argument
#
# MAVEN-Arg provides:
# - 162 event types with expert-written definitions
# - 612 argument roles across all event types
# - Document-level annotation (arguments can be anywhere in document)
# - Both entity and non-entity arguments
#
# This showcase demonstrates a subset of common event types and argument roles.
# Full schema available in the dataset download.
#
# Annotation process:
# 1. Identify event trigger (word/phrase indicating event occurrence)
# 2. Classify event type
# 3. Identify arguments filling semantic roles for that event
# 4. Arguments may be entities (linked) or non-entity spans
annotation_task_name: "Event Argument 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: Event trigger identification and typing
- annotation_type: span
name: event_trigger
description: "Highlight the event trigger and select its event type"
labels:
# Life events
- "Life:Birth"
- "Life:Death"
- "Life:Injury"
# Movement events
- "Movement:Transport"
- "Movement:Travel"
# Conflict events
- "Conflict:Attack"
- "Conflict:Protest"
- "Conflict:War"
# Transaction events
- "Transaction:Purchase"
- "Transaction:Sale"
- "Transaction:Transfer"
# Business events
- "Business:Start"
- "Business:End"
- "Business:Merge"
# Communication events
- "Communication:Statement"
- "Communication:Meeting"
- "Communication:Announcement"
# Justice events
- "Justice:Arrest"
- "Justice:Trial"
- "Justice:Sentence"
# Personnel events
- "Personnel:Hire"
- "Personnel:Fire"
- "Personnel:Elect"
# Other
- "Other"
label_colors:
"Life:Birth": "#22c55e"
"Life:Death": "#6b7280"
"Life:Injury": "#ef4444"
"Movement:Transport": "#3b82f6"
"Movement:Travel": "#06b6d4"
"Conflict:Attack": "#dc2626"
"Conflict:Protest": "#f97316"
"Conflict:War": "#991b1b"
"Transaction:Purchase": "#8b5cf6"
"Transaction:Sale": "#a855f7"
"Transaction:Transfer": "#c084fc"
"Business:Start": "#14b8a6"
"Business:End": "#64748b"
"Business:Merge": "#0ea5e9"
"Communication:Statement": "#eab308"
"Communication:Meeting": "#facc15"
"Communication:Announcement": "#fde047"
"Justice:Arrest": "#b91c1c"
"Justice:Trial": "#7c3aed"
"Justice:Sentence": "#4c1d95"
"Personnel:Hire": "#10b981"
"Personnel:Fire": "#f43f5e"
"Personnel:Elect": "#06b6d4"
"Other": "#9ca3af"
tooltips:
"Life:Birth": "Birth of a person"
"Life:Death": "Death of a person (natural, accident, or killing)"
"Life:Injury": "Physical harm or injury to a person"
"Movement:Transport": "Moving objects or goods from one place to another"
"Movement:Travel": "Person traveling from one location to another"
"Conflict:Attack": "Violent physical act causing harm"
"Conflict:Protest": "Public demonstration or protest"
"Conflict:War": "Armed conflict between groups/nations"
"Transaction:Purchase": "Buying something with money"
"Transaction:Sale": "Selling something for money"
"Transaction:Transfer": "Transfer of ownership or possession"
"Business:Start": "Starting a business or organization"
"Business:End": "Closing or ending a business"
"Business:Merge": "Combining two or more organizations"
"Communication:Statement": "Formal statement or declaration"
"Communication:Meeting": "Meeting or gathering of people"
"Communication:Announcement": "Public announcement of information"
"Justice:Arrest": "Law enforcement taking someone into custody"
"Justice:Trial": "Legal court proceeding"
"Justice:Sentence": "Legal judgment or sentencing"
"Personnel:Hire": "Hiring or employing someone"
"Personnel:Fire": "Terminating someone's employment"
"Personnel:Elect": "Electing someone to a position"
"Other": "Event type not covered by above categories"
allow_overlapping: false
# Step 2: Argument identification
- annotation_type: span
name: arguments
description: "Highlight arguments (participants/properties) of the identified events"
labels:
# Core arguments
- "Agent"
- "Patient"
- "Theme"
# Participants
- "Victim"
- "Attacker"
- "Buyer"
- "Seller"
- "Giver"
- "Recipient"
# Circumstantial
- "Location"
- "Origin"
- "Destination"
- "Time"
- "Duration"
# Other
- "Instrument"
- "Cause"
- "Purpose"
- "Content"
- "Value"
label_colors:
"Agent": "#3b82f6"
"Patient": "#22c55e"
"Theme": "#8b5cf6"
"Victim": "#ef4444"
"Attacker": "#dc2626"
"Buyer": "#06b6d4"
"Seller": "#0891b2"
"Giver": "#14b8a6"
"Recipient": "#10b981"
"Location": "#f59e0b"
"Origin": "#fbbf24"
"Destination": "#f97316"
"Time": "#a855f7"
"Duration": "#c084fc"
"Instrument": "#6b7280"
"Cause": "#ec4899"
"Purpose": "#db2777"
"Content": "#eab308"
"Value": "#84cc16"
tooltips:
"Agent": "Entity performing or causing the event (doer)"
"Patient": "Entity affected by or undergoing the event"
"Theme": "Entity being moved, transferred, or described"
"Victim": "Person harmed in the event"
"Attacker": "Person/entity causing harm"
"Buyer": "Entity purchasing something"
"Seller": "Entity selling something"
"Giver": "Entity giving or transferring something"
"Recipient": "Entity receiving something"
"Location": "Where the event takes place"
"Origin": "Starting point of movement"
"Destination": "End point of movement"
"Time": "When the event occurs"
"Duration": "How long the event lasts"
"Instrument": "Object used to perform the event"
"Cause": "What caused the event"
"Purpose": "Goal or intention of the event"
"Content": "What is communicated or expressed"
"Value": "Monetary or quantitative value involved"
allow_overlapping: true
# Step 3: Link argument to event
- annotation_type: radio
name: argument_event_link
description: "Which event does the most recently annotated argument belong to? (Enter event number)"
labels:
- "Event 1"
- "Event 2"
- "Event 3"
- "Event 4"
- "Multiple events"
tooltips:
"Event 1": "Argument belongs to the first event in the text"
"Event 2": "Argument belongs to the second event"
"Event 3": "Argument belongs to the third event"
"Event 4": "Argument belongs to the fourth event"
"Multiple events": "Argument is shared across multiple events"
allow_all_users: true
instances_per_annotator: 50
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "eae_001",
"text": "Apple Inc. announced on Tuesday that it will acquire the startup Acme Technologies for $2 billion. The deal is expected to close by the end of March. CEO Tim Cook stated that the acquisition will strengthen Apple's AI capabilities."
},
{
"id": "eae_002",
"text": "A powerful earthquake struck central Turkey early Monday morning, killing at least 50 people and injuring hundreds more. Rescue teams from neighboring countries have been deployed to the affected regions. The 7.2 magnitude quake damaged thousands of buildings in the city of Adana."
}
]
// ... and 8 more itemsTry it live — no install
Boot the real Potato server in your browser (WebAssembly) and annotate with this exact config. Nothing leaves your machine.
▶ Run live in your browserGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/text/information-extraction/event-argument-extraction potato start config.yaml
Dataset & paper
Wang et al., ACL 2024
Citation (BibTeX)
@inproceedings{wang-etal-2024-maven,
title = "{MAVEN}-{ARG}: Completing the Puzzle of All-in-One Event Understanding Dataset with Event Argument Annotation",
author = "Wang, Xiaozhi and Peng, Hao and Guan, Yong and Zeng, Kaisheng and Chen, Jianhui and Hou, Lei and Han, Xu and Lin, Yankai and Liu, Zhiyuan and Xie, Ruobing and Zhou, Jie and Li, Juanzi",
booktitle = "Proceedings of the 62nd Annual Meeting of the Association for Computational Linguistics (Volume 1: Long Papers)",
month = aug,
year = "2024",
address = "Bangkok, Thailand",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2024.acl-long.224",
pages = "4072--4091"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
Dialogue Relation Extraction (DialogRE)
Extract relations between entities in dialogue. Based on Yu et al., ACL 2020. Identify 36 relation types between speakers and entities mentioned in conversations.
FEVEROUS Structured Fact Verification Annotation
FEVEROUS is a fact-checking dataset of 87,026 Wikipedia claims with evidence drawn from both sentences and table cells. This Potato config reproduces the verdict, evidence, and justification task.
Food Hazard Detection
Food safety hazard detection task requiring annotators to classify short food-incident report texts by hazard-category and product-category (coarse labels), and to identify the specific hazard and product mentions (fine-grained labels). Based on SemEval-2025 Task 9: The Food Hazard Detection Challenge.