Skip to content
Showcase/Patronizing and Condescending Language Detection
intermediatetext

Patronizing and Condescending Language Detection

Detection and span-level identification of patronizing and condescending language directed toward vulnerable communities in news media. Based on SemEval-2022 Task 4 (Perez-Almendros et al.).

PERORGLOCPERORGLOCDATESelect text to annotate

Configuration Fileconfig.yaml

# Patronizing and Condescending Language Detection
# Based on Perez-Almendros et al., SemEval 2022
# Paper: https://aclanthology.org/2022.semeval-1.43/
# Dataset: https://github.com/Perez-AlmendrosC/dontpatronizeme
#
# This task asks annotators to detect patronizing and condescending language
# in news text that describes vulnerable communities, and to highlight the
# specific spans containing such language.
#
# Classification Labels:
# - Not Patronizing: The text discusses the community respectfully
# - Patronizing: The text contains patronizing or condescending language
#
# Span Labels:
# - Patronizing Span: Text that talks down to or about the community
# - Condescending Span: Text that implies superiority over the community

annotation_task_name: "Patronizing and Condescending Language Detection"
task_dir: "."

data_files:
  - sample-data.json

item_properties:
  id_key: "id"
  text_key: "text"

output_annotation_dir: "annotation_output/"
output_annotation_format: "json"

port: 8000
server_name: localhost

annotation_schemes:
  - annotation_type: radio
    name: patronizing_label
    description: "Does this text contain patronizing or condescending language?"
    labels:
      - "Not Patronizing"
      - "Patronizing"
    keyboard_shortcuts:
      "Not Patronizing": "1"
      "Patronizing": "2"
    tooltips:
      "Not Patronizing": "The text discusses the community in a respectful, neutral, or empowering manner"
      "Patronizing": "The text contains language that talks down to, pities, or condescends toward the community"

  - annotation_type: span
    name: patronizing_spans
    description: "Highlight the specific text spans that contain patronizing or condescending language"
    labels:
      - "Patronizing Span"
      - "Condescending Span"

annotation_instructions: |
  You will see a news paragraph about a vulnerable community.
  1. Read the text carefully, paying attention to how the community is described.
  2. Determine whether the text contains patronizing or condescending language.
  3. If patronizing, highlight the specific spans that are patronizing or condescending.
  Note: Patronizing language often involves pity, assumed helplessness, or talking down to a group.

html_layout: |
  <div style="padding: 15px; max-width: 800px; margin: auto;">
    <div style="background: #fef3c7; border: 1px solid #fde68a; border-radius: 8px; padding: 12px; margin-bottom: 12px;">
      <strong style="color: #92400e;">Target Community:</strong>
      <span style="font-size: 15px; margin-left: 8px;">{{target_community}}</span>
    </div>
    <div style="background: #f0f9ff; border: 1px solid #bae6fd; border-radius: 8px; padding: 16px; margin-bottom: 16px;">
      <strong style="color: #0369a1;">News Text:</strong>
      <p style="font-size: 16px; line-height: 1.7; margin: 8px 0 0 0;">{{text}}</p>
    </div>
  </div>

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

Sample Datasample-data.json

[
  {
    "id": "patron_001",
    "text": "The poor homeless people, bless their hearts, just need someone to show them how to get back on their feet. With a little guidance from those of us who know better, they can learn to be productive members of society again.",
    "target_community": "People experiencing homelessness"
  },
  {
    "id": "patron_002",
    "text": "The city's housing-first program has provided permanent supportive housing to 450 formerly homeless individuals, with 89% maintaining stable housing after two years and many securing employment.",
    "target_community": "People experiencing homelessness"
  }
]

// ... 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/semeval/2022/task04-patronizing-language
potato start config.yaml

Details

Annotation Types

radiospan

Domain

NLPMedia AnalysisSemEval

Use Cases

Patronizing Language DetectionBias DetectionMedia Literacy

Tags

semevalsemeval-2022shared-taskpatronizing-languagecondescensionbiasmedia

Found an issue or want to improve this design?

Open an Issue