Skip to content

anVSS1/EmoBot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ€– EmoBot: Emotion-Aware Multilingual Chatbot

🧠 Detect emotions from user input and generate emotionally aligned responses using cutting-edge NLP models!

πŸš€ Features

  • πŸ” Emotion Detection using XLM-RoBERTa fine-tuned on the GoEmotions dataset
  • 🌐 Multilingual support (even though the dataset is English-only, the model understands other languages!)
  • πŸ’¬ Text & Voice Input
  • πŸ”Š Text-to-Speech (TTS) for bot responses
  • 🎨 Dark mode toggle
  • πŸ“± Frontend built with HTML/CSS/JS, powered by Flask backend
  • 🌈 Emotion support system to help users cope emotionally
  • 🧠 Integrates Gemini API for smart and human-like text generation

πŸ—‚οΈ Project Structure

EmoBot/
β”‚
β”œβ”€β”€ app.py                      # Flask backend
β”œβ”€β”€ requirements.txt           # Python dependencies
β”œβ”€β”€ README.md                  # You're reading it!
β”‚
β”œβ”€β”€ static/
β”‚   β”œβ”€β”€ css/                   # Styling (home, chat, etc.)
β”‚   β”œβ”€β”€ js/                    # Frontend logic (TTS, dark mode, etc.)
β”‚   └── models/
β”‚       └── xlm-roberta_emotion_model/   # Emotion detection model (handled via Git LFS)
β”‚
β”œβ”€β”€ templates/                 # HTML pages (chat, home, error pages)
└── ...

πŸ§ͺ Tech Stack

Layer Tech
Backend Python, Flask
Frontend HTML, CSS, JavaScript
NLP Model XLM-RoBERTa + GoEmotions
AI Gen API Gemini
Voice Web Speech API (JS)

πŸ’Ύ Model Info

The xlm-roberta_emotion_model folder contains:

  • model.safetensors β€” πŸ”’ Fine-tuned model (1.1 GB, tracked with Git LFS)
  • config.json, tokenizer_config.json, sentencepiece.bpe.model β€” πŸ“¦ Supporting files

πŸ—£ Note: Although the model was trained on an English dataset, using XLM-RoBERTa allows emotion detection in multiple languages. πŸ’¬πŸŒ


πŸ› οΈ Setup

  1. Clone this repo:
git clone https://github.com/anVSS1/EmoBot.git
cd EmoBot
  1. Install dependencies:
pip install -r requirements.txt
  1. Make sure Git LFS is installed and pull model weights:
git lfs install
git lfs pull
  1. Run the app:
python app.py

Then head to http://localhost:5000 and start chatting πŸŽ‰


πŸ“Έ Screenshots

Coming soon...


πŸ“¬ Contact

Built by Anass Ouzaouit β€” Master's student in BI & Big Data, passionate about AI and NLP πŸ”₯

Feel free to connect or give a ⭐ if you like the project!


πŸ“„ License

MIT License

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published