# Amharic ↔ Oromo Machine Translation
A neural machine translation system for translating **Amharic text into Oromo** using a custom **Transformer encoder-decoder architecture**.
The project focuses on building a data-driven translation model for Amharic–Oromo parallel text and evaluating its performance using the **BLEU (Bilingual Evaluation Understudy)** metric.
---
## 📌 Project Overview
This project develops a Transformer-based machine translation model for the Amharic and Oromo languages.
The system takes an Amharic sentence as input and generates its corresponding Oromo translation.
### Translation Direction
**Amharic → Oromo**
Example:
```text
Amharic:
አሁን በእርግጥ መጠጥ እፈልጋለሁ.
Oromo Reference:
amma dhugaatii baay'een barbaada.
Model Prediction:
dhuguma amma dhugaatii barbaada.
```
The project includes:
* Parallel corpus preparation
* Text preprocessing
* SentencePiece BPE tokenization
* Transformer model development
* Model training
* Validation using BLEU
* Final translation testing
* TensorBoard monitoring
* Weights & Biases experiment tracking
---
## 🧠 Model Architecture
The translation system uses a custom Transformer encoder-decoder architecture.
### Configuration
| Parameter | Value |
| ---------------------- | --------------------------: |
| Model | Transformer Encoder-Decoder |
| `d_model` | 128 |
| Attention Heads | 4 |
| Encoder Layers | 2 |
| Decoder Layers | 2 |
| Feed-Forward Dimension | 512 |
| Vocabulary Size | 8,000 |
| Training Epochs | 20 |
| Total Parameters | 4,005,696 |
| Model Size | ~15.28 MB |
The trained model contains approximately **4 million trainable parameters**.
The final output layer uses …