Sudanese Arabic text normalization and cleaning toolkit
# Sudaverse Normalizer ๐ธ๐ฉ
A robust, production-ready text normalizer specifically designed for **Sudanese Arabic dialect**. This tool handles the unique characteristics of Sudanese Arabic, including dialect-specific spelling variations, colloquialisms, and mixed Arabic-Latin text.
## โจ Features
- **๐ฏ Sudanese Dialect-Specific**: Tailored for Sudanese Arabic text patterns and common expressions
- **๐ค Unicode Normalization**: Proper handling of Arabic text encoding (NFKC, NFC, NFD, NFKD)
- **๐ Diacritic Handling**: Remove or preserve Arabic diacritics (tashkeel) with flexible options
- **๐ข Number Normalization**: Convert Arabic-Indic numerals to Western numerals
- **โ๏ธ Character Normalization**:
- Normalize all Alef variants (ุฃุ ุฅุ ุขุ ูฑ) to ุง
- Normalize Yeh variants (ูุ ุฆ) to ู
- Normalize Teh Marbuta (ุฉ) to Heh (ู)
- **๐งน Cleaning Features**:
- Remove URLs, emails, mentions, and hashtags
- Remove HTML/XML tags and unrecognized special characters
- Remove decorative lines made of tatweel/kashida characters (ููููููููููู)
- Remove English/Latin text and timestamps
- Remove repeated characters (e.g., "ูุชูููููุฑ" โ "ูุชููุฑ")
- Normalize punctuation and whitespace
- **โ๏ธ Highly Configurable**: 20+ configuration options for custom normalization pipelines
- **๐ Batch Processing**: Efficient folder-based processing with real-time progress tracking
- **๐ Statistics**: Get detailed statistics about text transformation
## ๐ฆ Installation
### Requirements
- Python 3.7 or higher
### Install Dependencies
```bash
pip install -r requirements.txt
```
## ๐ Quick Start Guide
### For First-Time Users
#### Step 1: Prepare Your Text Files
1. Open the `raw-text` folder in your project directory
2. Place your Sudanese Arabic text files (`.txt` format) in this folder
3. You can have as many files as you want!
#### Step 2: Run the Batch Processor
Open your terminal in the project directory and run:
```bash
python batch_processor.py
```
#### Step 3: Get Your Results
- โ
Normaliz โฆ