FLUTE: Figurative Language Understanding through Textual Explanations
Figurative language understanding via NLI. Annotators classify figurative sentences (sarcasm, simile, metaphor, idiom) and provide textual explanations of the figurative meaning. The task combines natural language inference with fine-grained figurative language type classification.
About this dataset
FLUTE was introduced by Tuhin Chakrabarty, Arkadiy Saakyan, Debanjan Ghosh, and Smaranda Muresan at EMNLP 2022. It frames figurative language understanding as a natural language inference (NLI) task: given a literal premise and a figurative hypothesis, a system decides whether the premise entails or contradicts the figurative meaning and then explains that judgment in plain text. The goal was to test whether models actually reason about sarcasm, similes, metaphors, and idioms rather than lean on annotation artifacts in earlier NLI data.
The dataset covers four categories of figurative language: sarcasm, simile, metaphor, and idiom. It was built with a model-in-the-loop pipeline. GPT-3 generated candidate literal paraphrases, contradictions, and explanations; crowd workers on Amazon Mechanical Turk supplied or transformed sentences; and expert annotators verified and lightly edited the output. Every instance pairs a premise with a hypothesis, an entailment or contradiction label, and a written explanation of what the figurative expression means.
FLUTE contains 9,000 literal-figurative pairs with entailment/contradiction labels and explanations. The sarcasm portion holds 2,678 sentences, while the simile and metaphor portions each contribute 1,500 pairs split evenly into 750 entailment and 750 contradiction examples. Experts flagged about 25% of the sarcasm instances as needing edits and revised roughly 21% of the sarcasm explanations, which indicates the level of manual quality control applied.
The Potato config below reproduces this task with a radio scheme for the entailment relationship (entailment, contradiction, neutral), a multiselect scheme for the figurative-language type (sarcasm, simile, metaphor, idiom), and a free-text box for the explanation. It suits collecting NLI-style judgments together with written rationales for figurative sentences. The original FLUTE labels are binary entailment/contradiction; the config adds a neutral option.
- Total instances
- 9,000
- Figurative categories
- 4 (sarcasm, simile, metaphor, idiom)
- NLI labels
- entailment, contradiction
- Sarcasm instances
- 2,678
- Simile pairs
- 1,500 (750 entailment, 750 contradiction)
- Metaphor pairs
- 1,500 (750 entailment, 750 contradiction)
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# FLUTE: Figurative Language Understanding through Textual Explanations
# Based on Chakrabarty et al., EMNLP 2022
# Paper: https://aclanthology.org/2022.emnlp-main.481/
# Dataset: https://github.com/google/FLUTE
#
# This task combines figurative language classification with NLI.
# Annotators see a premise containing figurative language and a literal
# hypothesis, then classify the entailment relationship, identify the
# type of figurative language, and provide an explanation.
#
# NLI Labels:
# - Entailment: The hypothesis follows from the figurative meaning
# - Contradiction: The hypothesis contradicts the figurative meaning
# - Neutral: The hypothesis is unrelated to the figurative meaning
#
# Figurative Language Types:
# - Sarcasm: Saying the opposite of what is meant, often with irony
# - Simile: Explicit comparison using "like" or "as"
# - Metaphor: Implicit comparison without "like" or "as"
# - Idiom: Fixed expression with non-compositional meaning
#
# Annotation Guidelines:
# 1. Read the premise and identify the figurative expression
# 2. Determine what the figurative expression actually means
# 3. Classify the NLI relationship based on the figurative meaning
# 4. Select all applicable figurative language types
# 5. Write an explanation of what the figurative language means literally
annotation_task_name: "FLUTE: Figurative Language NLI"
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: Entailment label
- annotation_type: radio
name: entailment_label
description: "Based on the figurative meaning of the PREMISE, what is the relationship with the HYPOTHESIS?"
labels:
- "Entailment"
- "Contradiction"
- "Neutral"
keyboard_shortcuts:
"Entailment": "e"
"Contradiction": "c"
"Neutral": "n"
tooltips:
"Entailment": "The hypothesis follows from the intended (figurative) meaning of the premise"
"Contradiction": "The hypothesis contradicts the intended (figurative) meaning of the premise"
"Neutral": "The hypothesis is not clearly supported or contradicted by the figurative meaning"
# Step 2: Figurative language type
- annotation_type: multiselect
name: figure_type
description: "What type(s) of figurative language are present in the premise? (select all that apply)"
labels:
- "Sarcasm"
- "Simile"
- "Metaphor"
- "Idiom"
tooltips:
"Sarcasm": "The speaker says the opposite of what they mean, often with mocking or ironic intent"
"Simile": "An explicit comparison using 'like' or 'as' (e.g., 'fast as lightning')"
"Metaphor": "An implicit comparison without 'like' or 'as' (e.g., 'time is money')"
"Idiom": "A fixed expression with non-literal meaning (e.g., 'break the ice')"
# Step 3: Explanation of figurative meaning
- annotation_type: text
name: explanation
description: "Explain what the figurative language in the premise literally means and how it relates to the hypothesis"
html_layout: |
<div style="margin-bottom: 10px; padding: 10px; background: #eff6ff; border-left: 4px solid #3b82f6; border-radius: 4px;">
<strong>Premise:</strong> {{text}}
</div>
<div style="margin-bottom: 10px; padding: 10px; background: #f0fdf4; border-left: 4px solid #22c55e; border-radius: 4px;">
<strong>Hypothesis:</strong> {{hypothesis}}
</div>
<div style="margin-bottom: 10px; padding: 6px; background: #fefce8; border-radius: 4px;">
<em>Figurative type hint:</em> {{figure_type}}
</div>
allow_all_users: true
instances_per_annotator: 80
annotation_per_instance: 3
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "flute_001",
"text": "Oh great, another Monday morning meeting that will surely be the highlight of my week.",
"hypothesis": "The speaker dislikes Monday morning meetings.",
"figure_type": "sarcasm"
},
{
"id": "flute_002",
"text": "Her voice was like honey, smooth and sweet, drawing everyone in the room closer.",
"hypothesis": "The woman had a pleasant and attractive voice.",
"figure_type": "simile"
}
]
// ... and 8 more itemsGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git cd potato-showcase/text/discourse/flute-figurative-nli potato start config.yaml
Dataset & paper
Chakrabarty et al., EMNLP 2022
Citation (BibTeX)
@inproceedings{chakrabarty-etal-2022-flute,
title = "{FLUTE}: Figurative Language Understanding through Textual Explanations",
author = "Chakrabarty, Tuhin and Saakyan, Arkadiy and Ghosh, Debanjan and Muresan, Smaranda",
booktitle = "Proceedings of the 2022 Conference on Empirical Methods in Natural Language Processing",
month = dec,
year = "2022",
address = "Abu Dhabi, United Arab Emirates",
publisher = "Association for Computational Linguistics",
url = "https://aclanthology.org/2022.emnlp-main.481/",
doi = "10.18653/v1/2022.emnlp-main.481",
pages = "7139--7159"
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
LexGLUE: Legal Language Understanding Benchmark
LexGLUE is a benchmark of 7 legal NLP datasets in English (Chalkidis et al., ACL 2022) covering EU and US law. This Potato config reproduces its classification tasks for annotation.
Media Frames Corpus: News Framing Annotation
The Media Frames Corpus (Card et al., ACL 2015) labels U.S. news articles on immigration, smoking, and same-sex marriage with 15 general framing dimensions. This Potato config reproduces that frame-coding task.
MediTOD Medical Dialogue Annotation
Medical history-taking dialogue annotation based on the MediTOD dataset. Annotators label dialogue acts, identify medical entities (symptoms, conditions, medications, tests), and assess doctor-patient communication quality across multi-turn clinical conversations.