Skip to content
advancedtext

Switchboard DAMSL Dialogue Act Corpus (SwDA)

The Switchboard Dialog Act Corpus tags telephone conversations with the SWBD-DAMSL tagset (Jurafsky, Shriberg, Biasca, 1997). This Potato config reproduces the 42-tag dialogue act labeling task on conversational turns.

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(opens in a new tab)

Clone or download from the repository

Quick start:

bash
git clone https://github.com/davidjurgens/potato-showcase.git
cd potato-showcase/text/dialogue/swbd-damsl-dialogue-acts
potato start config.yaml

About this dataset

The Switchboard Dialog Act Corpus (SwDA) extends the Switchboard-1 Telephone Speech Corpus by adding dialogue act tags to each conversational turn. The annotation project was carried out at the University of Colorado, Boulder, with the SWBD-DAMSL coding manual released by Daniel Jurafsky, Elizabeth Shriberg, and Debra Biasca in 1997.

The corpus covers 1,155 five-minute telephone conversations from 441 speakers of American English. Annotators labeled roughly 221,000 utterance segments, drawing on the SWBD-DAMSL tagset adapted from the Dialog Act Markup in Several Layers (DAMSL) scheme.

The full SWBD-DAMSL inventory holds about 220 tag combinations, which most later work collapses into 42 dialogue act labels to raise per-class frequency and inter-annotator agreement. The 42 labels include statement-non-opinion (sd), acknowledge or backchannel (b), statement-opinion (sv), agree or accept (aa), and yes-no questions (qy). Researchers use the data to train and evaluate dialogue act classifiers for conversational speech.

The Potato config below reproduces the dialogue act labeling task: each turn is shown in conversational context and an annotator assigns one tag from a representative 27-tag subset of the 42-label SWBD-DAMSL set.

Conversations
1,155
Speakers
441 (American English)
Tagged utterances
~221,000
Dialogue act tags
42 (collapsed set)
Tagset
SWBD-DAMSL
Released
1997, UC Boulder

Configuration File

This Potato config reproduces the annotation task. Save it as config.yaml and run potato start config.yaml to try it.

yaml
# SWBD-DAMSL Dialogue Act Annotation
# Based on Jurafsky et al., 1997
# Manual: https://web.stanford.edu/~jurafsky/ws97/manual.august1.html
# Dataset: https://github.com/CornellNLP/ConvoKit
#
# Key principles:
# - Label based on pragmatic function, not grammatical form
# - Utterances can have both forward and backward functions
# - Context matters for interpretation
# - Default to sd (statement-non-opinion) when uncertain
#
# Forward functions: What the speaker is trying to accomplish
# Backward functions: How the utterance relates to previous turns

annotation_task_name: "SWBD-DAMSL Dialogue Act Annotation"
task_dir: "."

data_files:
  - sample-data.json
item_properties:
  id_key: "id"
  text_key: "utterance"

context_key: context

output_annotation_dir: "annotation_output/"
output_annotation_format: "json"

annotation_schemes:
  # Primary dialogue act
  - annotation_type: radio
    name: primary_act
    description: "Select the PRIMARY dialogue act for this utterance"
    labels:
      # Statements
      - "sd: Statement-non-opinion"
      - "sv: Statement-opinion"
      # Questions
      - "qy: Yes-No-Question"
      - "qw: Wh-Question"
      - "qo: Open-Question"
      - "qr: Or-Question"
      - "^d: Declarative-Question"
      - "^g: Tag-Question"
      - "qh: Rhetorical-Question"
      # Directives
      - "ad: Action-directive"
      - "co: Commit"
      # Conventional
      - "fp: Conventional-opening"
      - "fc: Conventional-closing"
      - "ft: Thanking"
      - "fa: Apology"
      # Backchannels & Acknowledgments
      - "b: Backchannel"
      - "bk: Acknowledge-answer"
      - "ba: Appreciation"
      # Answers
      - "ny: Yes-answer"
      - "nn: No-answer"
      - "no: Other-answer"
      # Agreement/Disagreement
      - "aa: Accept/Agree"
      - "ar: Reject/Disagree"
      - "am: Maybe"
      # Special
      - "%: Uninterpretable"
      - "x: Non-verbal"
      - "+: Continuation"

    keyboard_shortcuts:
      "sd: Statement-non-opinion": "s"
      "sv: Statement-opinion": "v"
      "qy: Yes-No-Question": "y"
      "qw: Wh-Question": "w"
      "b: Backchannel": "b"
      "aa: Accept/Agree": "a"
      "ny: Yes-answer": "1"
      "nn: No-answer": "2"

    tooltips:
      "sd: Statement-non-opinion": "Descriptive/narrative statements the listener cannot dispute"
      "sv: Statement-opinion": "Opinions or viewpoints the listener could disagree with"
      "qy: Yes-No-Question": "Questions expecting yes/no responses"
      "qw: Wh-Question": "Questions with who, what, where, when, why, how"
      "qo: Open-Question": "Open-ended questions like 'How about you?'"
      "qr: Or-Question": "Questions offering alternative choices"
      "^d: Declarative-Question": "Statement syntax with question intonation/pragmatics"
      "^g: Tag-Question": "Statements with confirmation-seeking tags"
      "qh: Rhetorical-Question": "Questions not seeking literal answers"
      "ad: Action-directive": "Commands, requests, or proposals for action"
      "co: Commit": "Speaker commits to future action"
      "fp: Conventional-opening": "Greetings and opening sequences"
      "fc: Conventional-closing": "Farewells and closing sequences"
      "ft: Thanking": "Expressions of gratitude"
      "fa: Apology": "Apologies for interruptions or errors"
      "b: Backchannel": "Continuers: uh-huh, yeah, right, mm-hmm"
      "bk: Acknowledge-answer": "Acknowledging received answer: 'Oh, okay'"
      "ba: Appreciation": "Emotional support or positive assessment"
      "ny: Yes-answer": "Affirmative responses to questions"
      "nn: No-answer": "Negative responses to questions"
      "no: Other-answer": "Other answers: 'I don't know', 'Maybe'"
      "aa: Accept/Agree": "Agreement with previous statement or proposal"
      "ar: Reject/Disagree": "Disagreement or rejection"
      "am: Maybe": "Tentative or partial agreement"
      "%: Uninterpretable": "Unclear or abandoned utterances"
      "x: Non-verbal": "Laughter, coughs, non-speech sounds"
      "+: Continuation": "Continues from speaker's own previous turn"

  # Backward functions (optional, for utterances responding to previous turns)
  - annotation_type: multiselect
    name: backward_functions
    description: "Select any BACKWARD functions (how this responds to previous utterance)"
    labels:
      - "None"
      - "aa: Accept/Agree"
      - "ar: Reject/Disagree"
      - "am: Maybe"
      - "b: Backchannel"
      - "bk: Acknowledge-answer"
      - "ba: Appreciation"
      - "ny: Yes-answer"
      - "nn: No-answer"
    tooltips:
      "None": "No backward-looking function"
      "aa: Accept/Agree": "Agreement with previous statement"
      "ar: Reject/Disagree": "Disagreement or rejection"
      "am: Maybe": "Tentative or partial agreement"
      "b: Backchannel": "Continuer signal"
      "bk: Acknowledge-answer": "Acknowledging received answer"
      "ba: Appreciation": "Emotional support or assessment"
      "ny: Yes-answer": "Answering yes to a question"
      "nn: No-answer": "Answering no to a question"

allow_all_users: true
instances_per_annotator: 300
annotation_per_instance: 2
allow_skip: true
skip_reason_required: false

Sample Data

json
[
  {
    "id": "swbd_001",
    "context": "[Start of conversation]",
    "utterance": "Hello, how are you doing today?",
    "speaker": "A"
  },
  {
    "id": "swbd_002",
    "context": "A: Hello, how are you doing today?",
    "utterance": "Oh, I'm doing pretty well, thanks for asking.",
    "speaker": "B"
  }
]

// ... and 13 more items

Dataset & paper

Jurafsky et al., 1997

Citation (BibTeX)

bibtex
@techreport{jurafsky1997switchboard,
    title = "Switchboard {SWBD-DAMSL} Shallow-Discourse-Function Annotation Coders Manual, Draft 13",
    author = "Jurafsky, Daniel  and Shriberg, Elizabeth  and Biasca, Debra",
    institution = "University of Colorado, Boulder",
    year = "1997",
    url = "https://web.stanford.edu/~jurafsky/ws97/manual.august1.html"
}

Details

Annotation Types

radiomultiselect

Domain

NLPDialogue Systems

Use Cases

Dialogue Act ClassificationConversational AIDiscourse Analysis

Tags

dialoguespeech-actsconversationdiscoursedamslswitchboard

Found an issue or want to improve this design?

Open an Issue(opens in a new tab)