helling100/sentiment-pragmatic-med-ru
Dataset Card for Russian Medical Sentiment and Pragmatic Utterance Type (RuSPUTMed) Dataset Dataset Summary This dataset is primarily designed for pragmatic classification tasks in Russian: Speech Act classification (SA) – identifying one of 10 speech act types in user utterances about medical services. Pragmatic Type classification (Tactic) – classifying utterances into one of 3 pragmatic types based on their communicative purpose (Context, Motivation… See the full description on the dataset page: https://huggingface.co/datasets/helling100/sentiment-pragmatic-med-ru.
Dataset Card for Russian Medical Sentiment and Pragmatic Utterance Type (RuSPUTMed) Dataset
Dataset Summary
This dataset is primarily designed for pragmatic classification tasks in Russian:
- Speech Act classification (SA) – identifying one of 10 speech act types in user utterances about medical services.
- Pragmatic Type classification (Tactic) – classifying utterances into one of 3 pragmatic types based on their communicative purpose (Context, Motivation, Evaluation).
Besides, the dataset includes additional annotations that can be used as target variables for other classification tasks:
- Sentiment – sentiment polarity (e.g., POS, NEG, NEUT, POSX, NEGX, POSU, NEGU).
- Aspect – aspect categories (e.g., C for Clinic, DR for Doctor, Q for Medical Service Quality, etc.).
- Speech Act Subtype – fine-grained subtypes of speech acts.
The data splits (train/validation/test) were stratified only by the two primary target variables (Speech Act Type and Tactic), ensuring that the class proportions for these tasks are preserved across splits. The additional annotations are provided as auxiliary features and can be used for multi-task learning, standalone classification, or further analysis.
The dataset is derived from a manually annotated corpus of Russian texts (online reviews about medical centers). It includes balanced, augmented and oversampled versions for train and validation splits to study the impact of data size and balancing strategies on model performance.
Languages
Russian (ru)
Dataset Structure
The dataset is organized into two top-level tasks: SA and Tactic. For each task, there are four configurations corresponding to different data preparation strategies:
All configurations share the same test split (the original test set) to ensure fair comparison.
Data Fields
Each CSV file contains the following columns (some may be present only in specific configurations):
Label sets:
Speech Act Type (10 classes) – for the SA task:
Вердиктив («+»)Вердиктив («-»)ДирективКвалификативКомиссивПерформатив («0»)Перформатив («+-»)РепрезентативЭкспрессив (эмотив «+»)Экспрессив (эмотив «-»)
Tactic (3 classes) – for the Tactic task:
КонтекстМотивировкаОценка
Aspect Categories
Each example may be annotated with one or more aspect codes (separated by commas). The codes reflect different aspects of medical service mentioned in the utterance. Below is the complete list of codes and their meanings:
Multiple codes may appear together (e.g., DR, S, Q). The codes are normalized to uppercase and separated by commas.
Sentiment Categories
Each utterance is annotated with a sentiment label reflecting the overall polarity and strength of emotional evaluation expressed towards the aspects. The labels are normalized to uppercase.
POS- positivePOSX- high positivePOSU- low positiveNEG- negativeNEGX- high negativeNEGU- low negativeNEUT- neutral
Data Splits
For each configuration, the data is split into:
- Train
- Validation
- Test – fixed, identical across all configurations for that task.
Configurations Details
Speech Act (SA) Configurations
Pragmatic Type (Tactic) Configurations
Test split sizes: 3159 examples for each task (same as original).
Dataset Creation
The original dataset was built from a manually annotated collection of Russian texts (customer feedback on the service in private medical centers). The annotation was performed by trained linguists.
Splitting Strategy: stratified split (70% train, 15% validation, 15% test) was applied independently for each target variable (SA and Tactic) to preserve class proportions.
Balancing Strategies:
- balanced: undersampling of majority classes + augmentation for classes with fewer examples than the target size.
- augmented: same but with a higher target size (more augmentation).
- oversampled: simple random oversampling (duplication) to reach the target size, no augmentation.
Data Augmentation
The augmentation pipeline (applied only to balanced and augmented configurations) uses the [ru-nlpaug](https://github.com/alenakat2000-eng/ru-nlpaug) library — a Russian-oriented fork of the nlpaug toolkit. The augmentation process randomly selects one of five methods based on predefined probability weights:
For replacement-based methods, 20% of tokens are modified per augmentation step. If the result is empty or invalid, the original text is kept.
Citation Information
If you use this dataset in your research, please cite the following paper (to be added when published):
@inproceedings{...,
title = {Pragmatic Classification of Russian Customer Feedback on Medical Service},
author = {Babina O.I.},
booktitle = {TBA},
year = {2026}
}How to Load the Dataset
You can load the dataset using the Hugging Face datasets library:
from datasets import load_dataset
# Load default config (sa_original)
dataset = load_dataset("helling100/sentiment-pragmatic-med-ru")
# Load a specific config
dataset = load_dataset("helling100/sentiment-pragmatic-med-ru", name="sa_augmented")
dataset = load_dataset("helling100/sentiment-pragmatic-med-ru", name="tactic_balanced")
# Access splits
train = dataset["train"]
val = dataset["validation"]
test = dataset["test"] 