You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
# 1. Clone and enter the project
git clone <repo-url>cd YOGA-Chatbot
# 2. Create and activate a virtual environment
python -m venv .venv
source .venv/bin/activate # Windows: .venv\Scripts\activate# 3. Install dependencies
make install
# 4. Configure environment variables
.env
# Edit .env and set TELEGRAM_BOT_TOKEN# 5. Run the bot
make run
Development
# Install dev dependencies (includes pytest, jupyter)
make install-dev
# Run tests
make test# Run tests with coverage report
make coverage
# Augment training data
make augment
Project Structure
.
├── config/
│ └── settings.py # Centralised configuration
├── data/
│ ├── raw/ # Original unmodified data files
│ ├── processed/ # Augmented and enriched datasets
│ └── knowledge/ # Kecamatan/kabupaten lookup data
├── models/ # Trained model artifacts (.pkl)
├── notebooks/ # Training and evaluation notebooks
├── scripts/
│ ├── augment_data.py # Data augmentation pipeline
│ └── fetch_places.py # Google Places API scraper
├── src/
│ └── yoga_chatbot/
│ ├── preprocessing/ # TextProcessor (Sastrawi stemmer)
│ ├── nlu/ # EntityExtractor, HybridIntentClassifier, NLUPipeline
│ ├── knowledge/ # KnowledgeBase (search methods)
│ ├── actions/ # ActionHandler (intent routing)
│ └── bot/ # Telegram handlers, keyboards, formatters
└── tests/ # Pytest test suite
YOGA (YOgyakarta Guide Assistant) — A Telegram chatbot helping tourists discover destinations across Yogyakarta, powered by a hybrid SVM NLP pipeline with 97.33% accuracy.