Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/vidhi1290/chatbot-with-rasa-nlu-model-and-python
- Owner: Vidhi1290
- Created: 2024-12-22T13:08:26.000Z (4 days ago)
- Default Branch: main
- Last Pushed: 2024-12-22T13:26:14.000Z (4 days ago)
- Last Synced: 2024-12-22T14:24:05.901Z (4 days ago)
- Topics: aichatbot, artificial-intelligence, chatbot, jupyter-notebook, matplotlib, nlu, nlu-chatbot, pandas, pymongo, python, rasa-chatbot, rasa-nlu, spacy, spacy-nlp, tensorflow
- Language: Jupyter Notebook
- Homepage:
- Size: 1.72 MB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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)---