CoolFace
Datasetpublic

angryelizar/sentiment_dataset_splitted

Dataset Card for Russian Sentiment Analysis Dataset (splitted) A train/eval split of the k1tub/sentiment_dataset Russian sentiment analysis dataset, prepared for fine-tuning Russian-language BERT/RoBERTa-style encoder models on 3-class sentiment classification. Dataset Description This dataset is derived from k1tub/sentiment_dataset, a collection of ~290K Russian-language user reviews labeled for sentiment, merged from 11 different source datasets. The original… See the full description on the dataset page: https://huggingface.co/datasets/angryelizar/sentiment_dataset_splitted.

sourceHugging Faceupdated 13d agoView on Hugging Face
1likes148downloads
Dataset Card

Dataset Card for Russian Sentiment Analysis Dataset (splitted)

A train/eval split of the k1tub/sentiment_dataset Russian sentiment analysis dataset, prepared for fine-tuning Russian-language BERT/RoBERTa-style encoder models on 3-class sentiment classification.

Dataset Description

This dataset is derived from `k1tub/sentiment_dataset`, a collection of ~290K Russian-language user reviews labeled for sentiment, merged from 11 different source datasets. The original dataset combines reviews from multiple domains, with the largest contributing sources being:

  • —ai-forever/ru-reviews-classification — ~30%
  • —d0rj/geo-reviews-dataset-2023 (Yandex geo-tagged reviews) — ~21%
  • —Lapki/Perekrestok-reviews (Perekrestok retail chain reviews) — ~18%
  • —Russian Anime Reviews Dataset (Kaggle) — ~13.4%
  • —Kinopoisk Movies Reviews (Kaggle) — ~6.5%
  • —Remaining sources — small individual shares

Labels: 3-class sentiment — 0 = neutral, 1 = positive, 2 = negative.

This version of the dataset:

  • —Analyzed token-length distribution (using the ai-forever/ruBert-base tokenizer) across the full dataset and per class, to inform tokenizer max_length choices for downstream fine-tuning (p99 ≈ 323 tokens).
  • —Manually reviewed short texts (low token-count tail) and found them largely informative for sentiment (e.g. short but clear reviews like "Очень хороший", "Рыба прекрасная, но дорого") — no aggressive minimum-length filtering was applied.
  • —Cast the label column to a Hugging Face ClassLabel feature (neutral / positive / negative).
  • —Split into train (80%) and test (20%) subsets, stratified by label to preserve the original class balance in both splits.
  • —Language(s) (NLP): Russian (ru)

Dataset Sources

Uses

Direct Use

Intended for fine-tuning Russian-language transformer encoder models for 3-class sentiment classification of user reviews. This split was specifically prepared to fine-tune:

The dataset is provided as raw text (not pre-tokenized), so it can be tokenized independently for either model (or others) with an appropriate max_length/truncation setting.

Dataset Structure

  • —text (string): the review text.
  • —label (ClassLabel): sentiment label — 0 = neutral, 1 = positive, 2 = negative.
  • —src (string): identifier of the original source dataset the review came from (retained from the source dataset, not used as a model input).

Splits:

  • —train: 80% of the cleaned dataset.
  • —test: 20% of the cleaned dataset.
  • —Split performed via Hugging Face datasets.Dataset.train_test_split(test_size=0.2, stratify_by_column="label", seed=42), preserving the ~33/33/33% class balance across both splits.

Dataset Creation

Curation Rationale

Created to provide a ready-to-use, stratified train/eval split of k1tub/sentiment_dataset for fine-tuning Russian sentiment classification models, without needing to repeat dataset exploration and splitting steps.

Source Data

User-written reviews in Russian, aggregated from 11 source datasets covering retail, geo/local business, anime, and movie review domains (see breakdown above).

Data Collection and Processing
  • —Token length was analyzed using the ai-forever/ruBert-base tokenizer (add_special_tokens=False) to characterize the distribution of review lengths (percentiles p1–p99) overall and per class.
  • —Short texts (low end of the length distribution) were manually spot-checked; no minimum-length filtering was applied, as short texts were found to carry clear sentiment signal.
  • —No character-based length filtering was applied (token count, not character count, was used for analysis, since tokenization — not raw character length — determines model input size).
  • —label column was cast to a Hugging Face ClassLabel feature.
  • —Dataset was split into train/test (80/20) stratified by label.
  • —The src column was intentionally retained (not dropped) for potential future per-domain analysis, though it is not used as a model input.
Who are the source data producers?

Original reviews were written by users of various Russian retail, review, and media platforms (see source breakdown above). Producers of the merged source dataset: see k1tub/sentiment_dataset.

Annotations

Sentiment labels were inherited as-is from the original k1tub/sentiment_dataset; no re-annotation was performed.

Bias, Risks, and Limitations

  • —The dataset is a mixture of several review domains with uneven representation (largest source ~30%, several sources under 1%); models trained on it may perform unevenly across domains not well represented in training data.
  • —Review length correlates somewhat with sentiment class (negative reviews tend to be longer on average, positive reviews shorter) — a potential source of spurious correlation between length and predicted sentiment.
  • —No manual re-verification of label correctness was performed beyond spot-checking short texts.

Recommendations

Users should be made aware of the domain composition and length/label correlation noted above, and should validate model performance per-domain (using the retained src field) if deploying on a specific target domain.

Citation

Please cite the original dataset — see k1tub/sentiment_dataset.

Glossary

  • —ClassLabel: a Hugging Face datasets feature type representing a categorical label with named classes, used here for the label column (neutral/positive/negative).