CoolFace
Datasetpublic

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.

sourceHugging Facecc-by-sa-4.0updated 2mo agoView on Hugging Face
0likes43downloads
Dataset Card

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:

ConfigDescription
originalOriginal imbalanced dataset (stratified split; total 21,058 examples: 14,740 train, 3,159 validation, 3,159 test).
balancedBalanced dataset (undersampling + augmentation for small classes) with target size 1500 (SA) or 3000 (Tactic) examples per class. The target size is split as 70% train, 15% validation, and 15% test, but the test portion is not used. Therefore, each class contributes 1275 (SA) or 2550 (Tactic) examples to train+val (1050 train + 225 val for SA; 2100 train + 450 val for Tactic).
augmentedBalanced dataset with a larger target size 3000 (SA) or 8600 (Tactic) examples per class achieved via data augmentation. Similarly, 85% of the target (2550 for SA, 7310 for Tactic) are used for train+val, while the test split is not used.
oversampledBalanced dataset created by simple oversampling (duplication) of existing examples with target size 5000 (SA) or 10000 (Tactic) examples per class. Train+val receive 85% of the target (4250 for SA, 8500 for Tactic), and the test split is not used.

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):

ColumnTypeDescription
SentencestringThe input text (utterance).
Speech Act Typestring (class label)Target for the SA task. One of 10 speech act types (see label sets below).
Tacticstring (class label)Target for the Tactic task. One of 3 utterance types (see label sets below).
SentimentstringSentiment polarity (e.g., POS, NEG, NEUT, POSX, NEGX, POSU, NEGU). Present in all configurations.
AspectstringAspect categories (comma‑separated codes, e.g., DR, S, Q). See the Aspect Categories section for the full list of codes and meanings. Present in all configurations.
Speech Act SubtypestringFine‑grained subtype of the speech act. Present in all configurations.
is_augmentedbool (optional)Indicates whether the example was synthetically generated. Present only in balanced and augmented configs.
original_sentencestring (optional)The original sentence before augmentation. Present only in balanced and augmented configs.
aug_methodstring (optional)The augmentation method used (e.g., synonym, 'antonym', 'word2vec', back_translation, contextual). Present only in balanced and augmented configs.
is_oversampledbool (optional)Indicates whether the example is a duplicate. Present only in oversampled configs.
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:

CodeMeaning
CClinic – the medical center in general
CHDoctor's Characteristics – politeness, empathy, attentiveness, etc.
COMCommunication – appointment scheduling, test result delivery, online services, etc.
CURTreatment – medical procedures, therapy, prescribed interventions, etc.
DDisease/Condition – symptoms, health issues, etc. that cause the patient to make an appointment
DOCDocuments – medical records, certificates, insurance papers, and other official paperwork that requires a medical assessment
DRDoctor – the physicians (including their competence, actions, recommendations, etc.)
DRUGMedication – drugs, prescriptions, pharmacy issues, etc.
EEmotional Impression – overall emotional experience, feelings about the visit.
EQEquipment – medical devices, equipment quality, availability, etc.
FFood – meals, catering, food quality in the clinic, etc.
GOther Healthcare-related Aspects – miscellaneous aspects not covered elsewhere.
INTInterior – design, cleanliness, comfort of the premises, etc.
LLocation – accessibility, neighborhood, ease of finding the clinic, etc.
MFinancial Policy – pricing, insurance coverage, payment options, etc.
MGMManagement – administrative staff, management quality, etc.
OOther – uncategorized aspects.
PPatient – direct mentions of a patient or other individuals in the role of a patient.
PARKParking – parking space availability, cost, convenience, etc.
QQuality of Medical Service – overall service quality, effectiveness, outcomes, side effects, etc.
RVWReviews – references to opinions of other patients, reputation.
SStaff – nurses, administrators, receptionists, etc.
SERServices – list of services offered by the center.
SUPSupplies – disposable items, shoe covers, gowns, etc.
TAppointment – appointment, scheduling, etc.
TRAttitude Towards Patient – respect, care, communication style, etc.
WWaiting Time – time spent waiting for an appointment, service, etc.

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 - positive
  • —POSX - high positive
  • —POSU - low positive
  • —NEG - negative
  • —NEGX - high negative
  • —NEGU - low negative
  • —NEUT - 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
ConfigTarget per classTotal trainTotal valSynthetic Data
originalvaries (imbalanced)14,7403,159No
balanced1,50010,5002,250Yes (augmentation for small classes)
augmented3,00021,0004,500Yes (augmentation for most classes)
oversampled5,00035,0007,500Yes (duplication)
Pragmatic Type (Tactic) Configurations
ConfigTarget per classTotal trainTotal valSynthetic Data
originalvaries (imbalanced)14,7403,159No
balanced3,0006,3001,350No
augmented8,60018,0603,870Yes (augmentation for 'Мотивировка')
oversampled10,00021,0004,500Yes (duplication)

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:

Augmentation MethodWeightDescription
Synonym replacement0.1Replace adjectives with synonyms using a Russian thesaurus and morphological analysis (Stanza, pymorphy2).
Antonym replacement0.1Replace adjectives with antonyms.
Word2Vec-based replacement0.2Replace words with semantically close vectors from the tayga_upos_skipgram_300_2_2019 model (RusVectores).
Back-translation0.3Russian → English → Russian using OPUS-MT models: Helsinki-NLP/opus-mt-ru-en and Helsinki-NLP/opus-mt-en-ru.
Contextual replacement0.3Mask random tokens and predict replacements using a fine-tuned ruBERT model (random choice from top‑20 candidates, excluding stopwords).

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):

bibtex
@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:

python
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"]