PuristanLabs1/GSM8K_Urdu
GSM8K Urdu: Grade School Math Word Problems in Urdu Dataset Description GSM8K Urdu is a high quality Urdu mathematical reasoning dataset replicating GSM8K dataset by OpenAI GSM8K (Grade School Math 8K), containing 6,365 grade school math word problems with step by step reasoning in Urdu script (اردو). This dataset is specifically adapted for Pakistani Islamic cultural context with appropriate content modifications. Dataset Summary Total Examples: 6… See the full description on the dataset page: https://huggingface.co/datasets/PuristanLabs1/GSM8K_Urdu.
GSM8K Urdu: Grade School Math Word Problems in Urdu
Dataset Description
GSM8K Urdu is a high quality Urdu mathematical reasoning dataset replicating GSM8K dataset by OpenAI GSM8K (Grade School Math 8K), containing 6,365 grade school math word problems with step by step reasoning in Urdu script (اردو). This dataset is specifically adapted for Pakistani Islamic cultural context with appropriate content modifications.
Dataset Summary
- Total Examples: 6,365 math word problems
- Language: Urdu (اردو) with English mathematical formulas preserved
- Source: GSM8K dataset by OpenAI
- Cultural Adaptation: Modified for Pakistani Islamic values
- Gender Handling: Proper pronoun consistency with Urdu names
Key Features
✅ Cultural Appropriateness: Content adapted for Pakistani Islamic context
✅ Mathematical Accuracy: All formulas and calculations preserved exactly
✅ Gender Consistency: Pronouns correctly matched with Urdu names
✅ Step-by-Step Reasoning: Complete chain-of-thought explanations in Urdu
Dataset Structure
Data Fields
Data Splits
Example
{
"ID": 0,
"Question (Urdu)": "فاطمہ نے اپریل میں اپنے 48 دوستوں کو کلپس بیچے، اور پھر اس نے مئی میں آدھے کلپس بیچے۔ فاطمہ نے اپریل اور مئی میں کل کتنے کلپس بیچے؟",
"Reasoning (Urdu)": "فاطمہ نے مئی میں 48/2 = <<48/2=24>>24 کلپس بیچے۔\nفاطمہ نے اپریل اور مئی میں مجموعی طور پر 48+24 = <<48+24=72>>72 کلپس بیچے۔",
}Cultural Adaptations
The dataset has been carefully adapted for Pakistani Islamic cultural context:
Usage
Loading with Hugging Face Datasets
from datasets import load_dataset
# Load the full dataset
dataset = load_dataset("PuristanLabs1/GSM8K_Urdu")
# Access a single example
example = dataset['train'][0]
print(f"Question (Urdu): {example['Question (Urdu)']}")
print(f"Reasoning (Urdu): {example['Reasoning (Urdu)']}")Loading with Pandas
import pandas as pd
# Load from Hugging Face
from datasets import load_dataset
dataset = load_dataset("PuristanLabs1/GSM8K_Urdu")
df = dataset['train'].to_pandas()
# Or load directly from file
df = pd.read_csv("gsm8k_urdu.csv")
# Filter examples with cultural replacements
cultural_examples = df[df['Cultural Replacements'] != 'None']
print(f"Examples with cultural adaptations: {len(cultural_examples)}")Using for Training
from datasets import load_dataset
from transformers import AutoTokenizer, AutoModelForCausalLM
# Load dataset
dataset = load_dataset("PuristanLabs1/GSM8K_Urdu")
# Load Urdu-capable model
tokenizer = AutoTokenizer.from_pretrained("google/gemma-2-2b")
model = AutoModelForCausalLM.from_pretrained("google/gemma-2-2b")
# Prepare training examples
def format_example(example):
return f"سوال: {example['Question (Urdu)']}\n\nجواب: {example['Reasoning (Urdu)']}"
# Format dataset
formatted_dataset = dataset.map(
lambda x: {"text": format_example(x)}
)Use Cases
1. Mathematical Reasoning in Urdu
Train language models to solve math word problems in Urdu with step-by-step reasoning.
# Fine-tune a model for Urdu math reasoning
from transformers import Trainer, TrainingArguments
training_args = TrainingArguments(
output_dir="./urdu-math-model",
num_train_epochs=3,
per_device_train_batch_size=4,
learning_rate=2e-5,
)
trainer = Trainer(
model=model,
args=training_args,
train_dataset=formatted_dataset,
)
trainer.train()2. Chain-of-Thought Prompting
Use as few-shot examples for prompting LLMs to solve Urdu math problems.
# Few-shot prompting example
few_shot_examples = dataset['train'][:3]
prompt = "یہ ریاضی کے مسائل حل کریں:\n\n"
for ex in few_shot_examples:
prompt += f"سوال: {ex['Question (Urdu)']}\n"
prompt += f"حل: {ex['Reasoning (Urdu)']}\n\n"
prompt += f"سوال: {new_question}\nحل:"3. Educational Applications
Build educational tools for Urdu speaking students in Pakistan.
# Create a math tutoring chatbot
def solve_math_problem(question_urdu):
# Use the dataset to find similar problems
similar = find_similar_problems(question_urdu, dataset)
# Generate solution using the reasoning pattern
solution = generate_solution(question_urdu, similar)
return solution4. Evaluation Benchmark
Evaluate Urdu language models on mathematical reasoning tasks.
# Evaluate model performance
from sklearn.metrics import accuracy_score
def evaluate_model(model, dataset):
predictions = []
ground_truth = []
for example in dataset:
pred = model.generate(example['Question (Urdu)'])
predictions.append(extract_answer(pred))
ground_truth.append(extract_answer(example['Reasoning (Urdu)']))
accuracy = accuracy_score(ground_truth, predictions)
return accuracy5. Multilingual Research
Study cross lingual transfer learning between English and Urdu for mathematical reasoning.
# Compare English vs Urdu reasoning
def compare_reasoning(example):
english_reasoning = example['Original Reasoning']
urdu_reasoning = example['Reasoning (Urdu)']
# Analyze reasoning patterns
analyze_reasoning_structure(english_reasoning, urdu_reasoning)Limitations
- Formulas in English: Mathematical formulas remain in English notation (e.g.,
<<48/2=24>>) - Cultural Context: Adapted specifically for Pakistani Islamic context
- Name Distribution: Limited set of Urdu names used
- Translation Variance: Some nuances may differ from human translation
- Domain: Limited to grade school level mathematics
Ethical Considerations
- Cultural Sensitivity: Content carefully reviewed and adapted for Islamic values
- Educational Use: Designed for educational purposes in Pakistan
- Bias Mitigation: Gender balanced name distribution
- Transparency: All cultural replacements documented in dataset
Citation
If you use this dataset, please cite:
@dataset{gsm8k_urdu,
title={GSM8K Urdu: Grade School Math Word Problems in Urdu},
author={PuristanLabs/PuristanLabs1},
year={2025},
publisher={Hugging Face},
howpublished={\url{https://huggingface.co/datasets/PuristanLabs1/GSM8K_Urdu}}
}Original GSM8K dataset:
@article{cobbe2021training,
title={Training Verifiers to Solve Math Word Problems},
author={Cobbe, Karl and Kosaraju, Vineet and Bavarian, Mohammad and Chen, Mark and Jun, Heewoo and Kaiser, Lukasz and Plappert, Matthias and Tworek, Jerry and Hilton, Jacob and Nakano, Reiichiro and Hesse, Christopher and Schulman, John},
journal={arXiv preprint arXiv:2110.14168},
year={2021}
}License
This dataset is released under the MIT License, following the original GSM8K dataset license.
Contact
For questions, issues, or contributions, please open an issue on the dataset repository.
Acknowledgments
- Original GSM8K dataset by OpenAI
