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.
Configuration Fileconfig.yaml
This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.
# NRC Emotion Lexicon (EmoLex): Word-Emotion Association
# Based on Mohammad & Turney (2013), "Crowdsourcing a Word-Emotion
# Association Lexicon," Computational Intelligence 29(3).
#
# Annotation design (per target word):
# 1. WORD-CHOICE / SENSE question: the annotator is shown the target word
# and four candidate words, and picks the one closest in meaning. This
# serves two purposes at once - it gently disambiguates the intended
# sense of the target word, and it screens out inattentive annotators
# (the "gold" near-synonym is known in advance).
# 2. POLARITY: how positive and how negative the word is.
# 3. EIGHT EMOTIONS (Plutchik's basic emotions): for each, how strongly
# the word is associated with that emotion.
#
# Association strength scale (used for polarity and every emotion):
# Not at all - Weakly - Moderately - Strongly
#
# This is Mohammad's rating-scale (NON Best-Worst-Scaling) design; his later
# lexicons (NRC-VAD, Affect Intensity, WorryWords) moved to Best-Worst
# Scaling for finer, more reliable real-valued scores.
#
# Annotation guidelines:
# 1. Answer the word-choice question first; it fixes the sense you should
# judge for the rest of the item.
# 2. Judge the word's general association with each emotion, not whether
# it literally names the emotion.
# 3. A word can be associated with several emotions at once (e.g., "gift"
# -> joy, surprise, trust, positive) or none.
# 4. "Not at all" is a valid and common answer - most words evoke only a
# few emotions.
annotation_task_name: "NRC EmoLex Word-Emotion Association"
task_dir: "."
data_files:
- sample-data.json
item_properties:
id_key: "id"
text_key: "prompt"
text_display_key: "prompt"
list_display_key: "choices"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
annotation_schemes:
# Step 1 - sense disambiguation / attention check
- annotation_type: radio
name: closest_meaning
description: "Which of the four candidate words is CLOSEST in meaning to the target word?"
labels:
- "Candidate 1"
- "Candidate 2"
- "Candidate 3"
- "Candidate 4"
# Step 2 - polarity
- annotation_type: radio
name: positive
description: "How POSITIVE (good, favorable) is the target word?"
labels: ["Not at all", "Weakly", "Moderately", "Strongly"]
- annotation_type: radio
name: negative
description: "How NEGATIVE (bad, unfavorable) is the target word?"
labels: ["Not at all", "Weakly", "Moderately", "Strongly"]
# Step 3 - eight basic emotions
- annotation_type: radio
name: anger
description: "Association with ANGER"
labels: ["Not at all", "Weakly", "Moderately", "Strongly"]
- annotation_type: radio
name: anticipation
description: "Association with ANTICIPATION"
labels: ["Not at all", "Weakly", "Moderately", "Strongly"]
- annotation_type: radio
name: disgust
description: "Association with DISGUST"
labels: ["Not at all", "Weakly", "Moderately", "Strongly"]
- annotation_type: radio
name: fear
description: "Association with FEAR"
labels: ["Not at all", "Weakly", "Moderately", "Strongly"]
- annotation_type: radio
name: joy
description: "Association with JOY"
labels: ["Not at all", "Weakly", "Moderately", "Strongly"]
- annotation_type: radio
name: sadness
description: "Association with SADNESS"
labels: ["Not at all", "Weakly", "Moderately", "Strongly"]
- annotation_type: radio
name: surprise
description: "Association with SURPRISE"
labels: ["Not at all", "Weakly", "Moderately", "Strongly"]
- annotation_type: radio
name: trust
description: "Association with TRUST"
labels: ["Not at all", "Weakly", "Moderately", "Strongly"]
allow_all_users: true
instances_per_annotator: 100
annotation_per_instance: 5
allow_skip: true
skip_reason_required: false
Sample Datasample-data.json
[
{
"id": "emolex_001",
"word": "startle",
"prompt": "TARGET WORD: startle\n\nWord-choice question - which candidate is closest in meaning?\nCandidate 1: surprise\nCandidate 2: schedule\nCandidate 3: polish\nCandidate 4: measure",
"choices": [
"surprise",
"schedule",
"polish",
"measure"
]
},
{
"id": "emolex_002",
"word": "betrayal",
"prompt": "TARGET WORD: betrayal\n\nWord-choice question - which candidate is closest in meaning?\nCandidate 1: harvest\nCandidate 2: treachery\nCandidate 3: ceiling\nCandidate 4: applause",
"choices": [
"harvest",
"treachery",
"ceiling",
"applause"
]
}
]
// ... 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/emotion-sentiment/nrc-emolex-word-emotion potato start config.yaml
Dataset & paper
Mohammad & Turney, Computational Intelligence 2013
Citation (BibTeX)
@article{mohammad2013crowdsourcing,
title = {Crowdsourcing a Word-Emotion Association Lexicon},
author = {Mohammad, Saif M. and Turney, Peter D.},
journal = {Computational Intelligence},
volume = {29},
number = {3},
pages = {436--465},
year = {2013},
publisher = {Wiley Online Library}
}Details
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an IssueRelated Designs
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.
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).
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.