it is used to classify Amharic news based on their category
# 📘 Amharic News Classification System
## 📰 Project Title
**Amharic News Classification with Visualization and Machine Learning**
---
## 🎯 Objective
This project aims to develop a complete **news categorization system** for Amharic-language news articles using **Natural Language Processing (NLP)** and **Machine Learning (ML)** techniques. It supports end-to-end processing from data cleaning and visualization to model training and evaluation, with proper support for **Amharic fonts and visualizations**.
---
## 📁 Dataset
- **Source**: [Local Amharic News Dataset]
- **Format**: CSV
- **Columns**:
- `headline`: Title of the news article
- `category`: Numeric label for the news category (e.g., 0000, 0001, etc.)
- `date`: Publication date
- `views`: Number of views (optional)
- `article`: Full article text
- `link`: Source URL (optional)
---
## 🧰 Technologies Used
| Category Tools
| Language Python 3.10+
| NLP NLTK
| ML Models Multinomial, NaiveBayes
| Vectorizer TF-IDF
| Data Handling pandas, numpy
| Visualization matplotlib, seaborn
| Font Handling Abyssinica SIL / Ethiopic Fonts
| Model Persistence joblib
| Progress UI tqdm
| Jupyter Support IPython display
---
Pipeline Overview
### 🔠 Step 1: Font Configuration
Detect and register **Amharic fonts** or fallback to system fonts.
### 📥 Step 2: Dataset Loading and Cleaning
Load dataset, handle missing values, and map categories.
### 🧼 Step 3: Text Preprocessing
Clean text using Unicode normalization and Amharic character filtering.
### 📊 Step 4: Exploratory Data Analysis
Visualize category distribution and text lengths using seaborn and Amharic fonts.
### 🧪 Step 5: Feature Engineering
Extract features using TF-IDF vectorization with n-gram …