# ποΈ Amharic E-commerce Data Extractor
## π Project Overview
The **Amharic E-commerce Data Extractor** is an end-to-end pipeline for transforming unstructured Telegram e-commerce posts (text and images) into structured, business-ready data using **Named Entity Recognition (NER)**. It extracts key entities β **Product**, **Price**, **Location**, **Brand**, **Size**, and **Contact** β to power EthioMart, a centralized Amharic e-commerce hub.
The project addresses the challenge of decentralized commerce on Telegram by scraping, processing, labeling, and analyzing messages from various channels. It includes fine-tuning and comparing transformer models for Amharic NER, model interpretability, and vendor analytics for micro-lending.
---
## ποΈ Project Structure
```bash
βββ .github/
β βββ workflows/ # CI/CD & model evaluation workflows
βββ configs/
β βββ scraping_config.yaml # Telegram API config (IDs, target channels)
βββ data/
β βββ raw/ # Raw scraped messages & images
β βββ processed/
β β βββ cleaned.parquet # Preprocessed data (OCR + text)
β βββ labeled/
β βββ raw_for_annotation/
β β βββ messages_for_manual_labeling.json
β βββ v1/
β β βββ train.conll
β β βββ val.conll
β β βββ test.conll
β βββ README.md # Labeling rules and entity definitions
βββ models/
β βββ *_finetuned/ # Fine-tuned model checkpoints (ignored by git)
β βββ model_cards/ # Evaluation results, model cards
βββ reports/
β βββ vendor_scorecard.csv # Vendor analytics output
βββ src/
β βββ analytics/
β β βββ vendor_scoring.py # Vendor analytics & scorecard
β βββ data_pipeline/
β β βββ scraper.py # Telegram scraper
β β βββ preprocessor.py # OCR & cleaning logic
β β βββ labeling_tool.py # Sampling & CoNLL conversion
β βββ ml_pipeline/
β β βββ training.py # Model β¦