Transform messy Telegram posts into a smart FinTech engine that reveals which vendors are the best candidates for a loan.
# Building-Amharic-E-commerce-Data-Extractor-W4
# Building an Amharic E-commerce Data Extractor
A system for extracting structured product information from Ethiopian Telegram e-commerce channels, with specialized Amharic NLP processing.
## π Project Overview
This project enables EthioMart to:
1. **Scrape** product listings from Ethiopian Telegram channels
2. **Process** Amharic text with specialized normalization
3. **Extract** key entities (products, prices, locations)
4. **Structure** data for centralized e-commerce catalog
## π οΈ Technical Components
### Core Modules
- **Telegram Scraper**: Collects messages/media from channels
- **Amharic Preprocessor**: Handles Ethiopic script normalization
- **Labeling Tool**: Creates CoNLL-format datasets for NER
### Key Features
- Amharic-specific text cleaning
- Price pattern recognition (α₯α/birr conversions)
- Location entity detection (Addis Ababa neighborhoods)
- Media download with metadata preservation
## π Repository Structure
Building-Amharic-E-commerce-Data-Extractor-W4/
βββ .venv/
βββ data/
β βββ clean/
β βββ raw/
β βββ for_annotation/
βββ notebooks/
β βββ preprocessing_task1.ipynb
βββ scripts/
β βββ telegram_scraper.py
β βββ realtime_ingest.py
β βββ preprocess_telegramdata.py
β βββ labelstudio_annotation.py
β βββ convert_to_ls_json.py
βββ .env # API credentials
βββ README.md
βββ .gitignore
βββ requirements.txt
## π Quick Start
### 1. Prerequisites
````bash
pip install -r requirements.txt
## βοΈ Configuration
### 1. Environment Setup
Create a `.env` file in your project root:
```ini
# Telegram API credentials (from
my.telegram.org)
TG_API_ID=your_api_id_here
TG_API_HASH=your_api_hash_here
PHONE_NUMBER=+251XXXXXXXXXX # Ethiopian number preferred
# Optional settings
MAX_MESSAGES=500 # Per channel
MEDIA_DOWNLOAD=True
### 2. Run Pipeline
# Step 1: Data Collection
- python scripts/telegram_scraper.py
# Step 2: Text Processing
- python scripts/preprocess_telegramdata.py
````
## Task 1: β¦