Dialogue Act Labeling
Classify utterances in conversations by their communicative function (question, statement, request, etc.).
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 browserGet This Design
Clone or download from the repository
Quick start:
git clone https://github.com/davidjurgens/potato-showcase.git
cd potato-showcase/templates/text/dialogue-act-labeling
potato start config.yamlConfiguration File
# Dialogue Act Labeling Configuration
# Classify utterances by communicative function
task_dir: "."
annotation_task_name: "Dialogue Act Labeling"
data_files:
- "data/dialogue_turns.json"
item_properties:
id_key: "id"
text_key: "display"
text_display_key: "display"
user_config:
allow_all_users: true
annotation_schemes:
- annotation_type: "radio"
name: "dialogue_act"
description: "What is the primary function of this utterance?"
labels:
- name: "Statement"
tooltip: "Provides information or expresses an opinion"
key_value: "s"
- name: "Question"
tooltip: "Requests information"
key_value: "q"
- name: "Directive"
tooltip: "Request, command, or suggestion for action"
key_value: "d"
- name: "Commissive"
tooltip: "Promise, offer, or commitment"
key_value: "c"
- name: "Acknowledgment"
tooltip: "Shows understanding or agreement (yes, okay, uh-huh)"
key_value: "a"
- name: "Greeting"
tooltip: "Social greeting or farewell"
key_value: "g"
- name: "Expressive"
tooltip: "Expresses emotion (thanks, sorry, wow)"
key_value: "e"
- name: "Other"
tooltip: "None of the above"
key_value: "o"
- annotation_type: "radio"
name: "question_type"
description: "If this is a question, what type?"
labels:
- name: "Yes/No Question"
- name: "Wh-Question"
- name: "Choice Question"
- name: "Tag Question"
- name: "Rhetorical Question"
- name: "N/A (not a question)"
show_if:
field: "dialogue_act"
value: "Question"
- annotation_type: "multiselect"
name: "secondary_acts"
description: "Any secondary dialogue acts?"
labels:
- name: "Humor/Sarcasm"
- name: "Politeness marker"
- name: "Topic shift"
- name: "Clarification"
- name: "Elaboration"
- name: "Correction"
output: "annotation_output/"
output_annotation_dir: "annotation_output/"
output_annotation_format: "json"
Sample Data
[
{
"id": "da_001",
"speaker": "A",
"utterance": "Hey, how's it going?",
"context": "[Start of conversation]",
"display": "**Context:** [Start of conversation]\n\n**Speaker A:** Hey, how's it going?"
},
{
"id": "da_002",
"speaker": "B",
"utterance": "Pretty good! I just finished that project we talked about.",
"context": "A: Hey, how's it going?",
"display": "**Context:** A: Hey, how's it going?\n\n**Speaker B:** Pretty good! I just finished that project we talked about."
}
]
// ... and 2 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/templates/text/dialogue-act-labeling
potato start config.yamlDetails
Annotation Types
Domain
Use Cases
Tags
Found an issue or want to improve this design?
Open an Issue(opens in a new tab)Related Designs
Intent Classification
Classify user utterances into intents for chatbot and virtual assistant training.
Fact Verification
Verify claims as supported, refuted, or not enough information based on provided evidence.
Hate Speech Detection
Identify and categorize hate speech, offensive language, and toxic content in text.