SultanR/ultradata-math-qa-ar
ultradata-math-qa-ar Arabic translation of the English portion of UltraData-Math, config UltraData-Math-L3-QA-Synthetic: synthetic question-answer pairs with explicit reasoning steps, rewritten from web math documents. Translated with the midtrans pipeline: text is segmented into prose and verbatim blocks (LaTeX, code, tables, and inline non-translatables are masked and never sent to the model, so formulas cannot be mangled), prose is translated in ~256-token chunks with greedy… See the full description on the dataset page: https://huggingface.co/datasets/SultanR/ultradata-math-qa-ar.
ultradata-math-qa-ar
Arabic translation of the English portion of UltraData-Math, config UltraData-Math-L3-QA-Synthetic: synthetic question-answer pairs with explicit reasoning steps, rewritten from web math documents. Translated with the midtrans pipeline: text is segmented into prose and verbatim blocks (LaTeX, code, tables, and inline non-translatables are masked and never sent to the model, so formulas cannot be mangled), prose is translated in ~256-token chunks with greedy decoding, and failed chunks are retried once before falling back to their English source rather than being dropped. Each row keeps the English source next to the Arabic and carries per-row quality labels. Nothing is dropped or silently repaired.
A companion corpus from the same source is available at ultradata-math-textbook-exercise-ar.
Schema
qc_clean is the conjunction of the structural checks: no placeholder lost, no English fallback, output is Arabic, no decode loop. It is a structural claim, not a fluency judgement. Filter on it, or on n_fallback_chunks, to set your own bar. A chunk that failed translation twice keeps its English source, so some rows contain English spans by design. Numerals and math notation are deliberately preserved in their original form, which lowers qc_arabic_fraction on formula-dense rows without indicating a failed translation.
Usage
from datasets import load_dataset
ds = load_dataset("SultanR/ultradata-math-qa-ar", split="train", streaming=True)
clean = ds.filter(lambda r: r["qc_clean"])License
Apache 2.0, following the source.
