UzMedSentiment: An Uzbek Medical-Domain Dataset for Aspect-Based Sentiment Analysis

Published: 12 November 2026| Version 1 | DOI: 10.17632/sc3ft63ncb.1
Contributors:
,

Description

UzMedSentiment is an Uzbek-language medical-domain dataset for aspect-based sentiment analysis and auxiliary linguistic annotation tasks. It contains 4,527 annotated text–aspect pairs representing 3,177 distinct text strings. The dataset covers ten aspects: medicines, symptoms, treatment and procedures, diagnostics, healthcare services, clinician attitude, infrastructure, price, waiting time, and diet. Each record includes a three-class sentiment label—negative (NEG), neutral (NEU), or positive (POS)—and a five-point polarity score ranging from −2 to +2. The sentiment distribution comprises 1,970 negative, 1,610 neutral, and 947 positive records. Additional annotations indicate adverse drug reaction (ADR) signals, negation, speculation, sarcasm, and textual cues. Source-category and language metadata are also included. The data are provided in UzMedSentiment.tsv, a tab-separated UTF-8 file with 13 columns: id, source, lang, text, aspect, sentiment, polarity_score, adr_flag, severity, negation, speculation, sarcasm, and cue_span. Severity is sparsely annotated, with only eight non-empty values; empty annotation fields should be treated as missing information. A single text can occur in multiple rows with different target aspects and sentiment labels. Consequently, each row represents a text–aspect pair rather than an independent document. No predefined training, validation, or test partitions are supplied. For evaluation, records sharing the same text should remain in the same partition to reduce data leakage. The dataset supports research on Uzbek sentiment classification, aspect-based sentiment analysis, polarity prediction, ADR signal detection, and linguistic cue detection. It is intended for computational research; its annotations do not establish clinical diagnoses or drug causality.

Files

Steps to reproduce

1. Download UzMedSentiment.tsv from the dataset files. 2. Read the file using a tab separator and UTF-8 decoding. In Python, use pandas.read_csv("UzMedSentiment.tsv", sep="\t", encoding="utf-8-sig", quoting=3). The utf-8-sig setting supports UTF-8 files both with and without a byte order mark (BOM); quoting=3 treats quotation marks as literal text. 3. Verify that the loaded table contains 4,527 rows and 13 columns. Treat id as a record identifier rather than a predictive feature. Preserve empty severity and cue_span fields as missing values. 4. Select the prediction task and target column. For aspect-based sentiment classification, use text and aspect as inputs and sentiment as the target. For auxiliary tasks, use the corresponding annotation column as the target. 5. Reproduce the descriptive statistics by counting records by sentiment, aspect, source, and auxiliary annotation flags. The expected sentiment counts are NEG: 1,970; NEU: 1,610; and POS: 947. 6. Create training, validation, and test partitions by grouping records with identical text. Keep each text group in a single partition. Consider additional normalization and near-duplicate checks, and document the split proportions, grouping method, and random seed. 7. Train and evaluate the selected model. Avoid using target-derived annotations as input features. In particular, polarity_score directly reveals the sentiment class and should be excluded from sentiment-prediction inputs. 8. Report macro-F1, per-class precision, recall, and F1, alongside accuracy. Record preprocessing decisions, software versions, model settings, and the dataset version to support reproducibility.

Categories

Artificial Intelligence, Natural Language Processing

Licence