Skip to content
Showcase/FLUTE: Figurative Language Understanding through Textual Explanations
intermediatetext

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)
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
# 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

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 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/discourse/flute-figurative-nli
potato start config.yaml

Dataset & paper

Chakrabarty et al., EMNLP 2022

Citation (BibTeX)

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

radiotextmultiselect

Domain

NLPFigurative LanguageNLI

Use Cases

Figurative Language UnderstandingNatural Language InferenceExplanation Generation

Tags

figurative-languagesarcasmmetaphorsimileidiomnliemnlp2022explanation

Found an issue or want to improve this design?

Open an Issue