Egyptian Arabic-English Parallel Corpus

Author: Mohamed Abdalkader Β· LinkedIn Β· GitHub

A comprehensive Egyptian Arabic β†’ English parallel corpus covering 1,800 topics from daily Egyptian life. Designed for fine-tuning large language models on Egyptian Arabic dialect translation and generation.

Dataset Structure

egyptian-arabic-english-parallel-corpus/
β”œβ”€β”€ SFT/
β”‚   β”œβ”€β”€ Train/
β”‚   β”‚   β”œβ”€β”€ topics/              # 1,800 individual topic JSON files
β”‚   β”‚   └── merged/              # Merged JSONL + CSV
β”‚   └── Test/
β”‚       β”œβ”€β”€ topics/              # 1,800 topic files (10 samples each)
β”‚       └── merged/              # Merged JSONL + CSV
β”œβ”€β”€ DPO/
β”‚   β”œβ”€β”€ topics/                  # 1,800 topic files with preference pairs
β”‚   └── merged/                  # Merged JSONL + CSV
β”œβ”€β”€ metadata.json
β”œβ”€β”€ dataset_infos.json
β”œβ”€β”€ README.md
β”œβ”€β”€ LICENSE
└── docs/
    └── dataset_statistics.md

Statistics

Split Samples Sentences Description
SFT Train 277,319 554,638 Input β†’ Output pairs
SFT Test 18,000 36,000 Input β†’ Output pairs (10/topic)
DPO 124,681 498,724 Preference pairs (chosen/rejected)
Total 420,000 1,089,362

ID Format

Each sample has a unique ID: {split_id:02d}-{topic:05d}-{sample:04d}

Prefix Split Example
01 SFT Train 01-00001-0001 = Topic 1, Sample 1
02 SFT Test 02-01624-0010 = Topic 1624, Sample 10
03 DPO 03-01800-0050 = Topic 1800, Sample 50

Loading

Python

import json

# Load a specific topic
with open("SFT/Train/topics/0001-First-day-at-school.json") as f:
    data = json.load(f)

# Load merged file
with open("SFT/Train/merged/train.jsonl") as f:
    lines = [json.loads(line) for line in f]

Hugging Face Datasets

from datasets import load_dataset

dataset = load_dataset("json", data_files={
    "train": "SFT/Train/merged/train.jsonl",
    "test": "SFT/Test/merged/test.jsonl"
})

Topic Files Format

Each topic file is a JSON array of samples:

[
  {
    "id": "01-00001-0001",
    "category": "First-day-at-school",
    "input": "...Egyptian Arabic...",
    "output": "...English translation..."
  }
]

DPO topic files have chosen_input, chosen_output, rejected_input, rejected_output instead.

License

CC BY 4.0 β€” see LICENSE for details.

Citation

@misc{abdalkader2026egyptian,
  author    = {Mohamed Abdalkader},
  title     = {Egyptian Arabic-English Parallel Corpus: A +1M-Sentence Dataset},
  year      = {2026},
  publisher = {Hugging Face},
  url       = {https://huggingface.co/datasets/Mo-Abdalkader/Egyptian-Arabic-English-Parallel-Corpus}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support