# **EthioMart: Amharic NER for Telegram E-Commerce**
## **Project Overview**
This project focuses on developing a **Named Entity Recognition (NER) system** for Amharic text extracted from Ethiopian Telegram e-commerce channels. The goal is to identify key business entities (products, prices, locations) to populate **EthioMart's** centralized database.
### **Key Features**
- π₯ **Data Ingestion**: Scrapes Telegram channels for text and images
- β¨ **Text Preprocessing**: Normalizes and tokenizes Amharic text
- π·οΈ **Entity Labeling**: Converts raw text into CoNLL format for NER
- π€ **Model Fine-Tuning**: Adapts multilingual LLMs (XLM-Roberta, mBERT) for Amharic NER
- π **Vendor Analytics**: Generates scorecard to evaluate vendor performance
## **Repository Structure**
```
βββ data/
β βββ photos/ # Raw datasets (original data files)
β βββ telegram_data_conll.txt # Labeled dataset
β βββ telegram_data_processed.csv # Processed datasets
β βββ telegram_data.csv # Raw datasets
βββ notebooks/
β βββ __init__.py
β βββ data_preprocessig.ipynb # Notebook for preprocess and labeling
β βββ model.ipynb # Notebook for model
β βββ scorecard.ipynb # Notebook for score card
βββ scripts/
β βββ __init__.py
β βββ .env # environment variables
β βββ data_ingestion.py # Script for extraction
β βββ label.py # Script for labeling
β βββ data_preprocess.py # Script for preprocess
βββ tests/
β βββ __init__.py
β βββ test_data_preprocess.py # Test for preprocess and labeling
βββ .gitignore # Specifies files to ignore in Git
βββ README.md # This file
βββ requirements.txt # Python dependencies
```
## **Setup**
1. Clone: `git clone
github.com`
2. Create venv: `python -m venv .venv`
3. Activate: `.venv\Scripts\activate` (Windows)
4. Install: `pip install -r requirements.txt`
5. Configure Telegram API
- Obtain API_ID and API_HASH from Telegram Developer Portal.
- Add credentials to .env:
```bash
api_id = YOUR_API_ID
api_hash = YOUR_API_HA β¦