Uzbek Patient Comments for Doctor Specialty Classification

Published: 8 July 2026| Version 1 | DOI: 10.17632/cyp3mggcb9.1
Contributors:
,

Description

This dataset contains Uzbek patient comments annotated for doctor specialty classification. It is designed for Uzbek medical NLP, text classification, doctor specialty routing, weak supervision analysis, and benchmarking Uzbek language models. The dataset is provided as a UTF-8 TSV file and contains 205,350 master comment records with 15 fields. Each record includes the original patient comment (`text_raw`), a normalized version of the comment (`text_normalized`), the final doctor specialty label (`final_doctor_label`), the corresponding human-readable specialty name (`final_doctor_name`), confidence scores, duplicate-resolution information, manual review indicators, assignment method metadata, and matched signal samples. The main classification target is `final_doctor_label`. The tagset contains 26 labels: ALL, CAR, DEN, DER, EMR, END, ENT, GAS, GYN, HEM, INF, NEU, NONE, NPH, ONC, OPH, PED, PSUR, PSY, PUL, REH, RHE, SUR, TER, TRM, and URO. The `NONE` label is used when the doctor specialty cannot be determined reliably from the comment. The released dataset has no empty values in `text_raw` or `text_normalized`, no duplicate TSV rows, and represents 241,021 original source occurrences through the `occurrence_count` field. The largest classes are `NONE` and `PED`, reflecting the naturally imbalanced distribution of real user-generated patient comments. This dataset is intended for research and development purposes only and should not be used for clinical decision-making.

Files

Steps to reproduce

1. Download the file `patient_comments_doctor.tsv`. 2. Load the dataset as a UTF-8 tab-separated file. The main text fields are `text_raw` and `text_normalized`; the main classification target is `final_doctor_label`. 3. Verify the released dataset structure: - 205,350 data rows - 15 columns - no empty values in `text_raw` or `text_normalized` - no duplicate TSV rows - 26 doctor specialty labels 4. To reproduce the cleaned dataset, remove records where either `text_raw` or `text_normalized` is empty. Then group whitespace-normalized exact duplicate comments into master records and store the number of represented source records in `occurrence_count`. 5. For each master record, keep candidate doctor specialty labels, candidate doctor names, confidence scores, manual review indicators, assignment method metadata, and matched signal samples. 6. Resolve final labels using the following logic: - use the resolved specialty when a single clear assignment exists; - use consensus when duplicate records agree; - assign `NONE` when duplicate records conflict or the doctor specialty cannot be determined reliably. 7. Export the final table as UTF-8 TSV with the file name `patient_comments_doctor.tsv`. Example loading code: import pandas as pd df = pd.read_csv("patient_comments_doctor.tsv", sep="\t", encoding="utf-8") assert len(df) == 205350 assert df.shape[1] == 15 assert df["text_raw"].isna().sum() == 0 assert df["text_normalized"].isna().sum() == 0 assert df.duplicated().sum() == 0 label_counts = df["final_doctor_label"].value_counts() print(label_counts)

Categories

Artificial Intelligence, Natural Language Processing

Licence