Healthcare Chatbot Intent Dataset
This dataset provides detailed, synthetic healthcare chatbot conversations with annotated intent labels, message sequencing, and extracted entities. Designed for training and evaluating conversational AI, it supports intent classification, dialogue modeling, and entity recognition in healthcare virtual assistants. The dataset enables robust analysis of user-bot interactions for improved patient engagement and automation.
Sample rows
preview · 8 of 200 rows · all 11 columns| transcript_idstring | conversation_topicstring | confidence_scorefloat | intent_labelstring | message_idstring | message_orderinteger | sender_typestring | message_textstring | timestampdatetime | entities_extractedstring | user_idstring |
|---|---|---|---|---|---|---|---|---|---|---|
| T001 | appointments | 0.94 | book_appointment | M0001 | 1 | user | Hi, I need to book an appointment with Dr. Smith. | 2021-04-05T09:32:15Z | appointment_date:2021-04-12 | U1023 |
| T001 | appointments | 0.97 | request_time | M0002 | 2 | bot | What time would you prefer for your appointment? | 2021-04-05T09:32:20Z | blank | blank |
| T001 | appointments | 0.91 | provide_time | M0003 | 3 | user | 10:30 AM works for me. | 2021-04-05T09:32:27Z | time:10:30 | U1023 |
| T002 | symptoms | 0.88 | symptom_check | M0004 | 1 | user | I have a headache and a sore throat. | 2022-02-15T13:05:51Z | symptom:headache,symptom:sore throat | U1045 |
| T002 | symptoms | 0.86 | request_duration | M0005 | 2 | bot | How long have you been experiencing these symptoms? | 2022-02-15T13:06:05Z | blank | blank |
| T002 | symptoms | 0.84 | provide_duration | M0006 | 3 | user | About three days. | 2022-02-15T13:06:13Z | duration:3 days | U1045 |
| T003 | medication | 0.81 | location_query | M0007 | 1 | user | Can you tell me where the nearest pharmacy is? | 2023-10-11T17:14:55Z | location:pharmacy | U1098 |
| T004 | insurance | 0.91 | insurance_update | M0008 | 1 | user | I want to update my insurance information. | 2022-09-23T08:11:34Z | old_insurance_number:JS9182,new_insurance_number:SD2735 | U1122 |
| T005 | other | 0.62 | greeting | M0009 | 1 | user | Good morning. | 2022-11-14T09:00:01Z | blank | U1156 |
| T005 | other | 0.77 | greeting | M0010 | 2 | bot | Hello! How can I assist you today? | 2022-11-14T09:00:04Z | blank | blank |
| T006 | other | 0 | unknown | M0011 | 1 | user | blank | 2021-08-02T21:18:29Z | blank | blank |
| T007 | appointments | 0.89 | cancel_appointment | M0012 | 1 | user | I need to cancel my appointment for tomorrow. | 2023-03-21T14:45:00Z | appointment_date:2023-03-22 | U1209 |
| T007 | appointments | 0.96 | confirm_cancel | M0013 | 2 | bot | Are you sure you want to cancel your appointment on 2023-03-22? | 2023-03-21T14:45:05Z | appointment_date:2023-03-22 | blank |
| T008 | other | 0.39 | language_request | M0014 | 1 | user | Necesito ayuda con mi prescripción. | 2022-12-12T16:27:13Z | blank | U1412 |
| T009 | medical_records | 0.83 | allergy_query | M0015 | 1 | user | I think I have an allergy to penicillin. | 2023-01-18T10:50:22Z | allergy:penicillin | U1244 |
| T010 | medication | 0.8 | prescription_issue | M0016 | 1 | user | Can you check if my prescription is ready? | 2021-06-17T18:22:12Z | prescription_id:PRX0921 | U1387 |
| T011 | vaccination | 0.92 | vaccine_eligibility | M0017 | 1 | user | I would like to know if I'm eligible for a COVID vaccine. | 2021-03-09T12:37:45Z | vaccine:COVID-19 | U1752 |
| T012 | medical_records | 0.45 | other | M0018 | 1 | user | Where can I find my medical records? | 2023-05-30T15:21:40Z | blank | U1764 |
| T013 | other | 0.32 | other | M0019 | 1 | user | Help | 2023-02-28T22:40:06Z | blank | blank |
| T014 | symptoms | 0.87 | symptom_check | M0020 | 1 | user | I feel dizzy and nauseous. | 2022-07-20T07:10:28Z | symptom:dizziness,symptom:nausea | U1549 |
What the 200 rows show
from the 200-row sampleOther (conversation topic) stands out: mean confidence_
- 0.82median confidence_
score - 2sender types
- 1median message_
order
Median 0.82, from 0.0 to 0.98.
- string 8
- integer 1
- float 1
- datetime 1
Columns
11 columns in three groups| column | type | description | example |
|---|---|---|---|
| Text 8 columns | |||
transcript_id | string | Unique identifier for each chat transcript.unique | T001 |
message_id | string | Unique identifier for each message within a transcript.unique | M0001 |
sender_type | string | Indicates whether the sender is the user or the bot.user · bot | user |
message_text | string | The actual text content of the message. | 10:30 AM works for me. |
intent_label | string | Annotated intent label for the message, such as 'book_appointment', 'symptom_check', etc. | book_appointment |
entities_extracted | string | Comma-separated list of key entities extracted from the message (e.g., medication names, symptoms, dates).optional | time:10:30 |
conversation_topic | string | High-level topic or category of the conversation (e.g., 'appointments', 'medication', 'insurance').7 topics · optional | appointments |
user_id | string | Anonymized identifier for the user participating in the chat.optional | U1023 |
| Numbers 2 columns | |||
message_order | integer | Order of the message within the transcript, starting from 1.1 or more | 1 |
confidence_score | float | Confidence score (0-1) for the assigned intent label.0 to 1 · optional | 0.94 |
| Dates and times 1 column | |||
timestamp | datetime | Timestamp indicating when the message was sent.optional | 2021-04-05T09:32:15Z |
15 SQL practice questions for the Healthcare Chatbot Intent Dataset
Written for this data and checked against it: 12 SQL and 3 Power BI exercises from beginner to advanced. Try the first three free; the practice kit has all 15, a starter .sql file and an answer key with every expected result.
User messages about medication
Return message_id, transcript_id and message_text for every message where sender_type is 'user' and conversation_topic is 'medication'. Order the results by message_id ascending.
Tables: healthcare_chatbot_intent_dataset · your result: 3 columns, 26 rowsDistinct intent labels
Return each distinct intent_label found in the data, sorted alphabetically. The result should have one column: intent_label.
Tables: healthcare_chatbot_intent_dataset · your result: 1 columns, 17 rowsMessages per topic
Count the messages for each conversation_topic. Return conversation_topic and message_count, ordered by message_count descending and then by conversation_topic ascending.
Tables: healthcare_chatbot_intent_dataset · your result: 2 columns, 7 rows
- 04Average confidence by senderBeginner
- 05Power BI: user messages by topicPower BI
- 06Intents with many messagesIntermediate
- 07Confidence bucketsIntermediate
- 08Messages per yearIntermediate
- 09Topics below overall confidenceIntermediate
- 10Power BI: messages and transcripts by orderPower BI
- 11Top intent per topic by confidenceAdvanced
- 12Seconds between messagesAdvanced
- 13Running message total by monthAdvanced
- 14Topic share of messagesAdvanced
- 15Power BI: low-confidence intent anomaliesPower BI
Get the practice kit: the full dataset, all 15 exercises, a starter .sql and the answer key. One-time $3.99.
Get the practice kit · $3.99Use it for
A healthcare dashboard
Confidence_
score by conversation_ topic and a breakdown of intent_ label. Excel, Power BI or Tableau. Why do the 45 other rows have a mean confidence_
score of 0.49? A root-cause class exercise
Hand out the rows and one question. The answer is in the data, not in the brief.
- Transcripts200T0010.94appointm…T0010.97appointm…T0010.91appointm…
A software demo
Believable transcripts with message_
id, message_ order and sender_ type to fill a screen in front of a buyer.
blueprint · healthcare-chatbot-intent-dataset
Behind this dataset
Same schema. As many rows as you need.
These 200 rows came out of a blueprint — 11 columns with generation rules behind each one. Open it in Data Factory to retune a column, add your own, wire in foreign keys, and run it at the size you actually need.
- Each message tagged with one intent
- Multiple intents possible per session
- Sensitive information removed
- Session lengths vary by user type
1 credit per row. Preview 20 rows free. Buy rows for the full run.
- Exports
- CSV, JSON, JSONL, Parquet, SQL, Excel, TSV, XML
- Licence
- yours to use, including commercially
- API slug
- healthcare-chatbot-intent-dataset