Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/vidhi1290/chatbot-with-rasa-nlu-model-and-python

This project builds an intelligent chatbot using Rasa NLU for an E-Commerce business πŸ›οΈ. The chatbot can handle user queries like product information, pricing, and order management πŸ’¬. With spacy and TensorFlow pipelines 🧠 for training, and MongoDB for storing data πŸ“¦, it offers seamless, context-aware conversations
https://github.com/vidhi1290/chatbot-with-rasa-nlu-model-and-python

aichatbot artificial-intelligence chatbot jupyter-notebook matplotlib nlu nlu-chatbot pandas pymongo python rasa-chatbot rasa-nlu spacy spacy-nlp tensorflow

Last synced: 4 days ago
JSON representation

This project builds an intelligent chatbot using Rasa NLU for an E-Commerce business πŸ›οΈ. The chatbot can handle user queries like product information, pricing, and order management πŸ’¬. With spacy and TensorFlow pipelines 🧠 for training, and MongoDB for storing data πŸ“¦, it offers seamless, context-aware conversations

Awesome Lists containing this project

README

        

# 🌟 Chatbot with RASA and NLU Model 🌟

**An AI-powered conversational assistant designed to revolutionize user interaction for E-commerce.**

---

## 🎯 **Business Objective**
A chatbot serves as a digital assistant, engaging users in natural conversationsβ€”whether to fetch product details, provide support, or process requests seamlessly. This project focuses on building an **AI-based chatbot** using the **Rasa NLU framework**, enabling dynamic and intelligent communication.

**Use Case:** An E-commerce assistant capable of:
- πŸ“¦ Providing product information (`product_info`)
- πŸ’° Answering price inquiries (`ask_price`)
- ❌ Handling order cancellations (`cancel_order`)

---

## πŸš€ **Project Overview**

### **What’s Inside?**
- **Intents:** Understanding user goals (e.g., `ask_price`, `cancel_order`)
- **Entities:** Extracting contextual data (e.g., `product`, `order_id`, `location`)
- **Pipeline:** Built using **Spacy** and **TensorFlow** for robust natural language understanding.

### **Tech Stack** πŸ› οΈ
- **Language:** Python 🐍
- **Libraries:** `pandas`, `matplotlib`, `rasa`, `pymongo`, `tensorflow`, `spacy`
- **Database:** MongoDB

---

## πŸ“ **Folder Structure**

### πŸ”Ή **Input:**
Contains training data, configurations, and sample intents/entities:
- `data.json`
- `spacy_config.yml`
- `tensorflow_config.yml`

### πŸ”Ή **Src (Source Code):**
The backbone of the project, containing modularized code:
- **`Engine.py`**: The main script orchestrating all functions.
- **`ML_Pipeline` folder**: Contains modular Python functions for:
- Data preparation πŸ“Š
- Model training πŸ€–
- Evaluation metrics πŸ“ˆ

### πŸ”Ή **Output:**
Pre-trained models for instant deployment. No need to retrain from scratchβ€”just load and go! πŸš€

### πŸ”Ή **Lib (Reference Materials):**
Includes Jupyter notebooks, reference slides, and notes for deeper understanding.

---

## πŸ› οΈ **Key Features**
1. **Intent and Entity Recognition:**
- Captures user intent (`product_info`, `ask_price`) and extracts relevant entities (`product`, `order_id`).
2. **Model Training Pipelines:**
- Supports **Spacy** and **TensorFlow** pipelines for intent classification and entity recognition.
3. **Data Visualization & Insights:**
- Exploratory Data Analysis (EDA) for a deeper understanding of dataset patterns.
4. **MongoDB Integration:**
- Efficiently manages session-based interactions.

---

## πŸ“š **How It Works**
1. 🧹 **Data Preparation**: Curate datasets from tools like [Rasa NLU Trainer](https://rasahq.github.io/rasa-nlu-trainer/) or [Chatito](https://rodrigopivi.github.io/Chatito/).
2. 🧩 **Modular Code**: Functions are neatly organized for clarity and scalability.
3. πŸŽ›οΈ **Model Configuration**: YAML files for **Spacy** and **TensorFlow** pipelines.
4. πŸ‹οΈ **Training**: Models trained on annotated datasets for intent and entity recognition.
5. πŸ“Š **Evaluation**: Confusion matrix plots to compare models and select the best one.
6. 🀝 **Chatbot Testing**: Seamless real-time testing for robust performance validation.

---

## πŸ’‘ **Project Takeaways**
By the end of this project, you’ll learn:
- The fundamentals of **AI-based chatbots**.
- How to configure pipelines with **Rasa NLU**, **Spacy**, and **TensorFlow**.
- MongoDB integration for chatbot sessions.
- Building modularized, scalable Python codebases.

---

## πŸŽ‰ **Want to Explore?**
### **Try it Out!**
1. Clone this repo:
```bash
git clone https://github.com/Vidhi1290/Chatbot-with-RASA-NLU-Model-and-Python.git
```
2. Install dependencies:
```bash
pip install -r requirements.txt
```
3. Train the model:
```bash
python src/engine.py
```
4. Test the chatbot:
```bash
python src/test_chatbot.py
```

---

## πŸ“ž **Connect with Me!**
**Vidhi Waghela**
- βœ‰οΈ Email: [[email protected]](mailto:[email protected])
- πŸ“ž Contact: +91 9152257810
- 🌐 [GitHub](https://github.com/Vidhi1290) | [Kaggle](https://www.kaggle.com/vidhikishorwaghela)
- πŸ’Ό [LinkedIn](https://www.linkedin.com/in/vidhi-waghela-434663198/)
- πŸ“Έ [Instagram](https://www.instagram.com/vidhi_waghela__/)
- 🐦 [X (Twitter)](https://x.com/VidhiWaghela)
- ✍️ [Medium](https://medium.com/@datasciencemeetscybersecurity)

---