Skip to content
Showcase/NRC Affect Intensity: Word Emotion Intensity via Best-Worst Scaling
intermediatetext

NRC Affect Intensity: Word Emotion Intensity via Best-Worst Scaling

Rate individual English words for the INTENSITY of a basic emotion (anger, fear, joy, or sadness) using Best-Worst Scaling. Within an emotion, annotators see a 4-tuple of words all associated with that emotion and pick the word conveying the most and the least of it; real-valued intensity scores in [0,1] are derived from best-minus-worst counts. This is the annotation design behind the NRC Affect Intensity Lexicon of ~6,000 word-emotion intensity scores (Mohammad, LREC 2018). It complements the NRC-VAD (dimensional) and tweet-level emotion-intensity designs with word-level categorical-emotion intensity.

Submit

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
# NRC Affect Intensity: Word Emotion Intensity via Best-Worst Scaling
# Based on Mohammad (LREC 2018), "Word Affect Intensities."
#
# This design measures HOW MUCH of a basic emotion a word conveys - the
# emotion INTENSITY (or degree) - rather than which emotion it evokes.
# Four basic emotions are scored on separate scales in [0, 1]:
#   anger, fear, joy, sadness.
# For example, for anger: "annoyed" < "angry" < "furious" < "enraged".
#
# Best-Worst Scaling (BWS / MaxDiff) annotation design:
#   - Each item targets ONE emotion (shown at the top of the prompt).
#   - The item is a 4-tuple of words that are all associated with that
#     emotion to varying degrees.
#   - The annotator picks the word conveying the MOST of the emotion and
#     the word conveying the LEAST of it.
#   - Every word appears in several different 4-tuples for its emotion. A
#     real-valued intensity score is later computed as (proportion chosen
#     most) - (proportion chosen least). BWS gives more reliable scores
#     than asking annotators for an absolute number.
#
# Annotation guidelines:
#   1. First read the TARGET EMOTION named in the prompt; judge intensity
#      for that emotion only.
#   2. All four words are related to the target emotion - your job is to
#      rank their DEGREE, not whether they belong.
#   3. The "most" and "least" picks must be different words.
#   4. Judge the word's typical, out-of-context association.
#   5. Use Skip for unfamiliar words rather than guessing.

annotation_task_name: "NRC Affect Intensity Best-Worst Scaling"
task_dir: "."

data_files:
  - sample-data.json

item_properties:
  id_key: "id"
  text_key: "prompt"
  text_display_key: "prompt"
  list_display_key: "options"

output_annotation_dir: "annotation_output/"
output_annotation_format: "json"

annotation_schemes:
  - annotation_type: radio
    name: most_intense
    description: "Which word conveys the MOST of the target emotion (highest intensity)?"
    labels:
      - "Word 1"
      - "Word 2"
      - "Word 3"
      - "Word 4"

  - annotation_type: radio
    name: least_intense
    description: "Which word conveys the LEAST of the target emotion (lowest intensity)?"
    labels:
      - "Word 1"
      - "Word 2"
      - "Word 3"
      - "Word 4"

allow_all_users: true
instances_per_annotator: 100
annotation_per_instance: 4
allow_skip: true
skip_reason_required: false

Sample Datasample-data.json

json
[
  {
    "id": "ai_anger_001",
    "prompt": "TARGET EMOTION: ANGER\n\nWord 1: annoyed | Word 2: furious | Word 3: irritated | Word 4: enraged",
    "options": [
      "annoyed",
      "furious",
      "irritated",
      "enraged"
    ]
  },
  {
    "id": "ai_anger_002",
    "prompt": "TARGET EMOTION: ANGER\n\nWord 1: displeased | Word 2: livid | Word 3: cross | Word 4: seething",
    "options": [
      "displeased",
      "livid",
      "cross",
      "seething"
    ]
  }
]

// ... and 8 more items

Try 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 browser

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/emotion-sentiment/nrc-affect-intensity-bws
potato start config.yaml

Dataset & paper

Mohammad, LREC 2018

Citation (BibTeX)

bibtex
@inproceedings{mohammad-2018-word,
    title = "Word Affect Intensities",
    author = "Mohammad, Saif",
    booktitle = "Proceedings of the Eleventh International Conference on Language Resources and Evaluation ({LREC} 2018)",
    month = may,
    year = "2018",
    address = "Miyazaki, Japan",
    publisher = "European Language Resources Association (ELRA)",
    url = "https://aclanthology.org/L18-1027"
}

Details

Annotation Types

radio

Domain

NLPAffective ComputingLexicon Building

Use Cases

Emotion IntensityLexicon BuildingBest-Worst Scaling

Tags

best-worst-scalingmaxdiffemotion-intensityaffect-intensitynrc-affect-intensityanger-fear-joy-sadnessword-levelmohammadlrec2018

Found an issue or want to improve this design?

Open an Issue

Related Designs

NRC Emotion Lexicon (EmoLex): Word-Emotion Association

Crowdsourced annotation of a word's associations with eight basic emotions (anger, anticipation, disgust, fear, joy, sadness, surprise, trust) and two polarities (positive, negative). Each word first goes through a word-choice question that both disambiguates the intended sense and screens inattentive workers, then annotators rate how strongly the word is associated with each emotion. This is the annotation design behind the NRC Word-Emotion Association Lexicon (EmoLex; Mohammad & Turney, 2013), available in 100+ languages.

radio

NRC-VAD: Valence, Arousal & Dominance via Best-Worst Scaling

Rate individual English words on three affective dimensions - valence (pleasant-unpleasant), arousal (active-calm), and dominance (in control-controlled) - using Best-Worst Scaling. Annotators see a 4-tuple of words and pick the highest and lowest word for each dimension; real-valued scores are derived from best-minus-worst counts. This is the annotation design behind the NRC-VAD Lexicon of 20,000+ words (Mohammad, ACL 2018).

radio

Word-Colour Associations: Crowdsourcing a Colour Lexicon

Annotate the colour that a word evokes. For each word, annotators first answer a word-choice question (pick the phrase closest in meaning) that disambiguates the intended word sense and serves as a quality check, then select the basic colour most associated with the word and how strong that association is. Even abstract concepts and emotions (danger, envy, purity) carry strong, consistent colour associations. This is the annotation design behind Mohammad's Word-Colour Association Lexicon (ACL 2011 CMCL workshop), a design that also underlies his colour-emotion analyses.

radio