CoolFace
Datasetpublic

d0rj/mathematics_dataset

Mathematical Reasoning Dataset (English & Russian) A bilingual collection of synthetic school-level mathematics questions and answers, based on the DeepMind mathematics_dataset generator. This dataset contains two language splits: en — the original English data, taken as-is from the official mathematics_dataset-v1.0 release published by Google DeepMind (github.com/google-deepmind/mathematics_dataset). ru — a Russian version generated from scratch with a translated fork of the… See the full description on the dataset page: https://huggingface.co/datasets/d0rj/mathematics_dataset.

sourceHugging Faceapache-2.0updated 2mo agoView on Hugging Face
3likes240downloads
Dataset Card

Mathematical Reasoning Dataset (English & Russian)

Dataset Description

A bilingual collection of synthetic school-level mathematics questions and answers, based on the DeepMind mathematics_dataset generator.

This dataset contains two language splits:

  • en — the original English data, taken as-is from the official mathematics_dataset-v1.0 release published by Google DeepMind (github.com/google-deepmind/mathematics_dataset).
  • ru — a Russian version generated from scratch with a translated fork of the generator. It is not a translation of the English rows: all question templates were rewritten in Russian (with corrected grammar and noun/adjective declension), and the problems were sampled independently by the generator. Row-level pairing with the English data is not guaranteed.

Each split is a single table with a category column (difficulty / evaluation split) and a module column (mathematical topic).

Dataset structure

python
from datasets import load_dataset

ds = load_dataset("your-username/math-dataset-bilingual")

# ds["en"] and ds["ru"] are Dataset objects with the same columns:
#   question : str   — the math problem
#   answer   : str   — the expected answer
#   category : str   — train-easy | train-medium | train-hard | interpolate | extrapolate
#   module   : str   — e.g. algebra__linear_1d, arithmetic__add_or_sub, measurement__conversion
#   language : str   — en | ru

Row counts

SplitRows
en112,709,888
ru12,699,944

The English split is the full official release (~2M generated examples per train module); the Russian split was generated with --per_train_module=1000000 --per_test_module=1000000 --seed=42, hence roughly 10× smaller.

Example row (English)

json
{
  "question": "Let 2*a**5 + 15648*a**4 - 5632498*a**3 + 172753368*a**2 + 189729080*a - 356865600 = 0. Calculate a.",
  "answer": "-8170, -2, 1, 35, 312",
  "category": "extrapolate",
  "module": "algebra__polynomial_roots_big",
  "language": "en"
}

Example row (Russian)

json
{
  "question": "Пусть 2*a**5 + 15648*a**4 - 5632498*a**3 + 172753368*a**2 + 189729080*a - 356865600 = 0. Чему равно a?",
  "answer": "-8170, -2, 1, 35, 312",
  "category": "extrapolate",
  "module": "algebra__polynomial_roots_big",
  "language": "ru"
}

Splits and categories

CategoryContent
train-easyEasier training examples
train-mediumMedium-difficulty training examples
train-hardHarder training examples
interpolateIn-distribution test examples
extrapolateOut-of-distribution / extrapolation test examples

The dataset covers 70 task modules: algebra, arithmetic, calculus, comparison, conversion, divisibility, gcd/lcm, geometry, measurement, numbers, polynomials, probability.

You can filter by category or module directly with the datasets library:

python
# Russian training examples only
ru_train = ds["ru"].filter(lambda row: row["category"].startswith("train"))

# English algebra only
en_algebra = ds["en"].filter(lambda row: row["module"].startswith("algebra__"))

# A specific module across both languages
from datasets import concatenate_datasets

measurement = concatenate_datasets([
    ds["ru"].filter(lambda row: row["module"] == "measurement__conversion"),
    ds["en"].filter(lambda row: row["module"] == "measurement__conversion"),
])

How the dataset was built

  1. 1.English data — extracted unmodified from the official release archive mathematics_dataset-v1.0.tar.gz distributed with the google-deepmind/mathematics_dataset repository.
  2. 2.Russian data — generated from scratch with a fork of the same repository in which every question template, unit name and textual fragment was rewritten in Russian (including grammatically correct declensions, e.g. in unit conversions). The generator was then run with --per_train_module=1000000 --per_test_module=1000000 --seed=42 to sample an entirely new Russian dataset. No machine translation of the English rows was used.
  3. 3.Conversion — raw text files (alternating question/answer lines, one file per {category}/{module}) were parsed, paired, and annotated with category, module and language columns.

Citation

If you use this dataset, please cite the original paper:

bibtex
@inproceedings{saxton2019analysing,
  title={Analysing Mathematical Reasoning Abilities of Neural Models},
  author={Saxton, David and Grefenstette, Edward and Hill, Felix and Kohli, Pushmeet},
  booktitle={International Conference on Learning Representations},
  year={2019}
}

License

Apache License 2.0 (same as the original DeepMind repository).