# EthioMart Amharic NER
**Named Entity Recognition for Amharic E-commerce Telegram Messages**
Fine-tuned **XLM-RoBERTa** model to extract key entities (**Product**, **PRICE**, **LOC**) from Amharic Telegram e-commerce posts — powering vendor analytics and micro-lending decisions for **EthioMart**.
## 🎯 Project Goal
Transform messy Telegram vendor messages into structured data to:
- Centralize e-commerce information from multiple channels
- Identify promising vendors for micro-lending
- Support EthioMart's vision of becoming Ethiopia's unified Telegram e-commerce hub
**Target entities**:
- **Product** (B-Product / I-Product)
- **PRICE** (B-PRICE / I-PRICE)
- **LOCATION** (B-LOC / I-LOC)
## ✨ Features
- Telegram message scraping from 5+ Ethiopian e-commerce channels
- Text cleaning & basic rule-based pre-annotation
- Manual labeling in CoNLL format
- Fine-tuning XLM-RoBERTa for Amharic NER
- Per-class & overall evaluation metrics (seqeval)
- Automatic performance bar chart popup after training
## 📂 Project Structure
ethiomart-amharic-ner/
├── src/
│ ├── scraper.py # Collects messages from Telegram channels
│ ├── preprocessing.py # Cleans text & generates pre-annotated CSV
│ └── train_Ner.py # Full NER training & evaluation pipeline
├── data/
│ ├── raw/
│ │ └── telegram_raw.csv # Raw scraped messages (channel, text, views, date...)
│ ├── processed/
│ │ └── annotated_ner.csv # Pre-annotated or manually corrected data
│ └── labels/
│ ├── train.conll # Training set in CoNLL format
│ └── valid.conll # Validation set
├── models/
│ └── xlm-roberta-amharic-ner-final/ # Saved fine-tuned model (not in git)
├── requirements.txt
├── .gitignore
└── README.md
## 🚀 Quick Start
### 1. Clone the repository
```bash
git clone
github.com
cd EthioMart-Amharic-NER
2. Install dependencies
Bashpip install -r requirements.txt
requirements.txt c …