# Amharic Spell Checker
A powerful spell checking solution for the Amharic language, built with FastAPI and React.
## π Overview
This simple amharic spell-checking solution designed specifically for the Amharic language. It addresses the unique challenges of Amharic as a low-resource language by providing intelligent spelling assistance through advanced natural language processing techniques. The system aims to enhance writing accuracy and efficiency for Amharic text content.
## β¨ Key Features
- π **UltraFast Error Detection** - Efficient and quick spell checking
- π§ **Context Aware Suggestion** - Intelligent suggestions based on context
- π·οΈ **Part of Speech Tagging** - Accurate grammatical analysis
- π **API Interface** - Easy integration with other applications
## π οΈ Tech Stack
### Backend
- Python 3.x
- FastAPI
- PyTorch
- Natural Language Processing Tools
### Frontend
- React
- Vite
- Material-UI
- Axios
## π Getting Started
### Prerequisites
- Node.js (v14 or higher)
- Python 3.x
- pip
- Git
## π Project Structure
```
βββ Amharic-spell-checker/
βββ backend/
β βββ src/
β β βββ spell_checker.py
β β βββ spell_checker_pos.py
β β βββ edit_distance.py
β β βββ ngram.py
β β βββ file_reader.py
β β βββ tokenizer.py
β β βββ normalizer.py
β β βββ dictionary.py
β β βββ utils.py
β β βββ preprocessing.py
β β βββ main.py
β β
β βββ models/
β β βββ am_pos_model.pt
β β βββ bigram_model.pt
β β βββ trigram_model.pt
β β
β βββ data/
β β βββ amharic_dictionary.txt
β β βββ amharic_corpus.txt
β β
β βββ tests/
β β βββ test_edit_distance.py
β β βββ test_normalizer.py
β β βββ test_preprocessing.py
β β βββ test_spell_checker.py
β β
β βββ requirements.txt
β βββ README.md
β
βββ frontend/
βββ src/
β βββ assets/
β βββ App.jsx
β βββ main.jsx
β
βββ public/
βββ index.html
βββ package.json
βββ vite.config.js
```
### π§ Setup
#### Backend
1. **Navigate to the backend directory**:
```sh
cd backend
```
2. **Install the required dependencies**:
```sh
pip install -r requirements.txt
``` β¦