Offline Bemba–English neural machine translation and conversational AI for low-resource NLP, built with mBART, MarianMT and mT5.
# Bemba–English Offline Translation and Conversational AI
A resource-conscious neural machine translation and conversational AI system
for Bemba and English, developed as part of a Master of Information Systems
research project in Zambia.
The project is designed around a practical question: **can useful African
language technology run locally on modest hardware, without sending a user's
text to a cloud service?**
Try the verified public demonstration
· View the researcher's profile
· Hugging Face profile
## Research contribution
- A curated Bemba–English corpus of approximately **350,000 parallel
sentences**.
- Parameter-efficient adaptation of multilingual sequence-to-sequence models.
- A local inference application supporting translation and conversation.
- Quantisation experiments intended for constrained computing environments.
- Automatic evaluation complemented by ratings from **50 native Bemba
speakers**.
| Evaluation signal | Reported result |
| --- | ---: |
| BLEU | 35.9 |
| METEOR | 52.4 |
| Perplexity | 6.76 |
| Native-speaker cultural-fit rating | 4.1 / 5 |
These are thesis-stage results from the project's documented evaluation setup.
They should not be treated as universal performance guarantees or compared
directly with scores produced on different test sets.
## What the application does
- Translates Bemba to English with a fine-tuned mBART model.
- Translates English to Bemba with a locally stored MarianMT model.
- Supports Bemba conversation with a fine-tuned encoder–decoder model.
- Supports English conversation by translating through Bemba locally.
- Provides a lightweight Flask interface and keeps conversation history on the
device.
- Selects Apple Silicon, CUDA or CPU execution automatically.
## System architecture
```mermaid
flowchart LR
UI["Local Flask interface"] --> MODE{"Selected task"}
MODE -->|"Bemba → English"| MBART["Fine-tuned mBART"]
MODE -->|"English → Bemba"| MARIAN["MarianMT"]
MODE -->|"Conversation"| CHAT["Bemba dial …