Skip to content

apdoolhamza/BankMate-AI

Repository files navigation

BankMate - Smart Banking Bot Assistant

A fast, lightweight, guidance-only banking chatbot
Built for Nigerian banks & fintechs • Fully customizable • No real actions performed

GitHub stars Python scikit-learn License: MIT Documentation PDF Kaggle Live Demo on Hugging Face

Features

  • Guidance-only — explains procedures, never performs real banking actions
  • 13 banking intents (balance check, transfer, lost card, loan, bills, airtime, fraud, complaints, USSD, ATM/branch, etc.)
  • 682+ unique training examples — realistic Nigerian English + Pidgin
  • 12–15 natural responses per intent — feels very human, never robotic
  • Ultra-lightweight model (~300–800 KB) • < 5 ms inference • CPU-only
  • Easy customization — edit CSV (examples) or JSON (responses) in seconds
  • Beautiful modern Gradio UI — very responsive
  • Insightful visualizations — class distribution, word clouds, confusion matrix, top features, t-SNE
  • Ready for production — FastAPI / Docker templates

Demo

Live Demo on Hugging Face

Screenshots

Light mode chat
Modern chat UI with typing animation & natural replies

Intent Distribution Confusion Matrix

Class distribution & confusion matrix (generated during training)

Quick Start

# 1. Clone the repo
git clone https://github.com/apdoolhamza/BankMate-AI/.git
cd BankMate-AI

# 2. Install dependencies
pip install -r requirements.txt

# 3. Launch the chatbot
python app.py

Customization (No coding required)

Change responses (tone, Pidgin, bank name, etc.)

  • Open bankmate_responses.json
  • Edit any list of replies
  • Save → restart Gradio

Add new intents or more examples

  • Open bankmate_intents_data.csv in Excel / Google Sheets
  • Add rows like this:
new_intent,how do I reset my password
new_intent,what to do if I forget PIN
  • Save file
  • Re-run training codes Notebook once

Visualizations (Auto-generated during training)

  • Intent distribution bar chart
  • Word clouds (per intent)
  • Confusion matrix heatmap
  • Top contributing features per intent
  • t-SNE semantic separation plot All are in /images/ folder — perfect for reports or presentations.

Tech Stack

  • Core Model: scikit-learn (TF-IDF + Logistic Regression)
  • Interface: Gradio (modern chat UI)
  • Data: CSV (examples) + JSON (responses)
  • Visualization: Matplotlib, Seaborn, WordCloud, t-SNE
  • Model Saving: joblib

License

MIT License – feel free to use, modify, and deploy commercially.

Author

Apdoolmajeed Hamza (apdoolhamza)
AI/ML Engineer | Full-stack Web Developer

Star ⭐ the repo if you find it helpful!

About

Ultra-lightweight banking assistant for Nigerian users. 682+ real examples, natural Pidgin responses, tiny model, fully editable.

Topics

Resources

License

Stars

Watchers

Forks

Contributors