B5W4: Building an Amharic E-commerce Data Extractor
---
# EthioMart Amharic E-commerce NER System
A complete machine learning pipeline to extract structured informationβlike product names, prices, and locationsβfrom Amharic e-commerce Telegram messages. This helps EthioMart assess vendors, track pricing, and identify business opportunities from unstructured chat data.
---
## π Project Goal
To build a full pipeline that:
- Collects Telegram posts from e-commerce channels
- Preprocesses Amharic text
- Labels key entities manually
- Trains and compares NER models
- Explains predictions (Model Interpretability)
- Scores vendors for micro-lending (FinTech use case)
---
## π§ Tools and Technologies
- Python 3.11+
- Telethon for Telegram scraping
- Transformers (HuggingFace)
- pandas, numpy
- Jupyter Notebooks
- SHAP, LIME for interpretability
- scikit-learn for scoring
- tqdm, evaluate, datasets
- PyTorch with MPS for Apple Silicon
---
## ποΈ Directory Structure
```bash
.
βββ config/ # YAML config files
βββ data/
β βββ raw/ # Raw Telegram messages
β βββ processed/ # Cleaned and labeled data (CoNLL format)
βββ notebooks/ # All development notebooks
β βββ fine_tune_ner_model.ipynb # Training NER model
β βββ compare_models.ipynb # Model benchmarking
β βββ interpret_ner_model.ipynb # SHAP & LIME explanation
β βββ vendor_scorecard.ipynb # Vendor analytics
β βββ exploration.ipynb # Text cleaning demo
βββ preprocessing/
β βββ amharic_text_cleaner.py
β βββ preprocess_pipeline.py
βββ src/
β βββ data_ingestion/ # Scraper logic
β βββ labeling/ # CoNLL formatting
β βββ modeling/ # Training, evaluation helpers
β βββ vendor_analysis/ # Lending score logic
βββ utils/ # Reusable I/O, logging helpers
βββ tests/ # Unit tests
βββ requirements.txt
βββ README.md
```
---
## β
How to Run the β¦