Skip to content
Showcase/Switchboard DAMSL Dialogue Act Corpus (SwDA)
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.

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
Select all that apply:

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
# 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 Datasample-data.json

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

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/dialogue/swbd-damsl-dialogue-acts
potato start config.yaml

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