Skip to content
هذه الصفحة غير متوفرة بلغتك بعد. يتم عرض النسخة الإنجليزية.

Semantic Differential

Configure semantic differential scales in Potato for measuring attitudes using bipolar adjective pairs with configurable scale points.

Semantic Differential

The semantic differential annotation schema presents annotators with bipolar adjective scales for measuring attitudes, perceptions, or connotative meanings. Each scale has opposing adjectives at either end (e.g., "Good" vs. "Bad") and annotators select a point along the spectrum to indicate where the item falls.

Overview

Developed by Charles Osgood in the 1950s, semantic differential scales are a well-established method in psychology and social science for measuring the connotative meaning of concepts. In annotation tasks, they are useful for capturing nuanced, multi-dimensional perceptions that cannot be expressed with a single rating scale.

Quick Start

yaml
annotation_schemes:
  - annotation_type: semantic_differential
    name: text_perception
    description: Rate how you perceive this text on each scale.
    pairs:
      - ["Formal", "Informal"]
      - ["Positive", "Negative"]
      - ["Simple", "Complex"]
    scale_points: 7

Configuration Options

FieldTypeDefaultDescription
annotation_typestringRequiredMust be "semantic_differential"
namestringRequiredUnique identifier for this schema
descriptionstringRequiredInstructions displayed to annotators
pairsarrayRequiredList of [left_adjective, right_adjective] pairs
scale_pointsinteger7Number of points on each bipolar scale (typically 5 or 7)
show_center_labelbooleantrueDisplay a "Neutral" label at the center of the scale
label_requirement.requiredbooleanfalseWhether all scales must be rated before moving on

Examples

Text Style Assessment

yaml
annotation_schemes:
  - annotation_type: semantic_differential
    name: writing_style
    description: Rate the writing style of this text on each dimension.
    pairs:
      - ["Formal", "Informal"]
      - ["Objective", "Subjective"]
      - ["Concise", "Verbose"]
      - ["Clear", "Ambiguous"]
    scale_points: 7
    show_center_label: true

Speaker Perception

yaml
annotation_schemes:
  - annotation_type: semantic_differential
    name: speaker_impression
    description: Rate your impression of the speaker on each dimension.
    pairs:
      - ["Competent", "Incompetent"]
      - ["Warm", "Cold"]
      - ["Trustworthy", "Untrustworthy"]
      - ["Dominant", "Submissive"]
    scale_points: 7
    label_requirement:
      required: true

Product Evaluation

yaml
annotation_schemes:
  - annotation_type: semantic_differential
    name: product_perception
    description: How do you perceive this product?
    pairs:
      - ["Innovative", "Traditional"]
      - ["Affordable", "Expensive"]
      - ["Reliable", "Unreliable"]
      - ["Simple", "Complex"]
    scale_points: 5
    show_center_label: true

Emotion Dimensions (EPA)

The classic Evaluation-Potency-Activity framework:

yaml
annotation_schemes:
  - annotation_type: semantic_differential
    name: epa_rating
    description: Rate this concept on each dimension.
    pairs:
      - ["Good", "Bad"]
      - ["Powerful", "Weak"]
      - ["Active", "Passive"]
    scale_points: 7
    show_center_label: true
    label_requirement:
      required: true

Output Format

json
{
  "text_perception": {
    "labels": {
      "Formal-Informal": 5,
      "Positive-Negative": 2,
      "Simple-Complex": 4
    }
  }
}

Values range from 1 (left adjective) to scale_points (right adjective), with the midpoint representing neutral.

Best Practices

  1. Use 7-point scales by default - the standard in semantic differential research and provides sufficient granularity
  2. Balance polarity across pairs - mix which side has the "positive" adjective to prevent response sets
  3. Limit pairs to 5-8 per item - too many scales causes fatigue and reduces data quality
  4. Use established adjective pairs - leverage validated pairs from existing research when available
  5. Keep the center label - the neutral midpoint is an important reference for annotators
  6. Randomize pair order - if possible, vary the presentation order to reduce anchoring effects

Further Reading

For implementation details, see the source documentation.