Logo Lanfrica

birukberhan7-png/ethiopian_crop_chatbot

Domain:

agriculturenatural language processing

Record type:

softwaremodel
Creator:
bir
Host:
# 🌿 Ethiopian Crop Recommendation Chatbot ### AI-Powered System for Endemic Plants in Ethiopia --- ## πŸ“‹ Project Overview This is a complete AI-powered chatbot that recommends the best **endemic Ethiopian crops** based on soil conditions, climate, altitude, and region β€” using a **Random Forest ML model** trained on real Ethiopian agro-ecological data (1,500 rows). ### Supported Crops | Crop | Amharic | Type | |------|---------|------| | Teff | ጀፍ | Highland grain | | Enset | αŠ₯αŠ•αˆ°α‰΅ | Highland staple | | Coffee Arabica | α‰‘αŠ“ | Export crop | | Noug | αŠ‘αŒ | Oilseed | | Barley | ገα‰₯ሡ | Highland grain | | Sorghum | αˆ›αˆΎ | Lowland grain | | Finger Millet | α‹³αŒ‰αˆ£ | Nutritious grain | | Chickpea | ሽምα‰₯ራ | Legume | | Linseed | α‰°αˆα‰£ | Oilseed | | Maize | α‰ α‰†αˆŽ | Staple grain | --- ## πŸ—‚οΈ Project Structure ``` ethiopian_crop_chatbot/ β”œβ”€β”€ backend/ β”‚ β”œβ”€β”€ app.py ← Flask server + chatbot engine β”‚ β”œβ”€β”€ requirements.txt ← Python dependencies β”‚ β”œβ”€β”€ ml/ β”‚ β”‚ └── train_model.py ← ML training script (run once) β”‚ β”œβ”€β”€ models/ ← Saved ML models (auto-generated) β”‚ β”‚ β”œβ”€β”€ crop_model.pkl β”‚ β”‚ β”œβ”€β”€ soil_encoder.pkl β”‚ β”‚ β”œβ”€β”€ region_encoder.pkl β”‚ β”‚ β”œβ”€β”€ crop_encoder.pkl β”‚ β”‚ └── meta.json β”‚ └── dataset/ β”‚ └── ethiopian_crop_recommendation_dataset.xlsx β”œβ”€β”€ frontend/ β”‚ └── index.html ← Full chatbot UI (pure HTML/JS) └── database/ └── schema.sql ← SQL Server schema + seed data ``` --- ## βš™οΈ Installation & Setup ### Prerequisites - Python 3.9 or higher - pip (Python package manager) ### Step 1 β€” Install Python dependencies ```bash cd backend pip install -r requirements.txt ``` ### Step 2 β€” Train the ML model (run once) ```bash python ml/train_model.py ``` This reads the Excel dataset, trains a Random Forest classifier, and saves: - `models/crop_model.pkl` - `models/soil_encoder.pkl` - `models/region_encoder.pkl` - `models/crop_encoder.pkl` - `models/meta.json` Expected output: ``` βœ… Accuracy: ~68% …

Languages