# π **Amharic Telegram NER - Entity Extraction from E-commerce Channels**
## π **Project Overview**
This project aims to extract important entities (products, prices, locations) from Ethiopian Telegram e-commerce channels. Using **Natural Language Processing (NLP)** and **Named Entity Recognition (NER)**, we will fine-tune a model to process Amharic text efficiently.
---
## π **Project Structure**
```
βββ .vscode/ # VS Code settings
βββ .github/workflows/ # CI/CD workflows
β βββ unittests.yml
βββ src/ # Source code
β βββ data_ingestion.py # Fetches messages from Telegram channels
β βββ data_preprocessing.py # Cleans and prepares raw data
β βββ train_ner_model.py # Fine-tunes the NER model
βββ notebooks/ # Jupyter notebooks for analysis
β βββ labeling_data.ipynb # Manually labeling dataset in CoNLL format
β βββ model_comparison.ipynb # Comparing multiple NER models
β βββ model_interpretability.ipynb # Explainability analysis (SHAP & LIME)
βββ data/
β βββ labeled_dataset.conll # Manually labeled dataset for training
βββ tests/ # Unit tests
βββ scripts/ # Additional scripts
βββ requirements.txt # Dependencies
βββ README.md # Project documentation (this file)
βββ .gitignore # Ignore unnecessary files
```
---
## π **Project Tasks & Branches**
| Task # | Task Name | Branch | Description |
|--------|----------------------|-----------|-------------|
| **1** | Data Ingestion & Preprocessing | `task-1` | Scrapes messages from Telegram, preprocesses text, and stores structured data. |
| **2** | Dataset Labeling (CoNLL Format) | `task-2` | Manually labels a dataset with product, price, and location entities. |
| **3** | Fine-Tuning the NER Model | `task-3` | Trains a Named Entity Recognition (NER) model on Amharic text. |
| **4** | Model Comparison & Selection | `task-4` | Evaluates d β¦