An AI-powered conversational assistant designed to revolutionize user interaction for E-commerce.
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
)
- 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.
- Language: Python π
- Libraries:
pandas
,matplotlib
,rasa
,pymongo
,tensorflow
,spacy
- Database: MongoDB
Contains training data, configurations, and sample intents/entities:
data.json
spacy_config.yml
tensorflow_config.yml
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 π
Pre-trained models for instant deployment. No need to retrain from scratchβjust load and go! π
Includes Jupyter notebooks, reference slides, and notes for deeper understanding.
- Intent and Entity Recognition:
- Captures user intent (
product_info
,ask_price
) and extracts relevant entities (product
,order_id
).
- Captures user intent (
- Model Training Pipelines:
- Supports Spacy and TensorFlow pipelines for intent classification and entity recognition.
- Data Visualization & Insights:
- Exploratory Data Analysis (EDA) for a deeper understanding of dataset patterns.
- MongoDB Integration:
- Efficiently manages session-based interactions.
- π§Ή Data Preparation: Curate datasets from tools like Rasa NLU Trainer or Chatito.
- π§© Modular Code: Functions are neatly organized for clarity and scalability.
- ποΈ Model Configuration: YAML files for Spacy and TensorFlow pipelines.
- ποΈ Training: Models trained on annotated datasets for intent and entity recognition.
- π Evaluation: Confusion matrix plots to compare models and select the best one.
- π€ Chatbot Testing: Seamless real-time testing for robust performance validation.
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.
- Clone this repo:
git clone https://github.com/Vidhi1290/Chatbot-with-RASA-NLU-Model-and-Python.git
- Install dependencies:
pip install -r requirements.txt
- Train the model:
python src/engine.py
- Test the chatbot:
python src/test_chatbot.py
Vidhi Waghela
- βοΈ Email: vidhiwaghela99@gmail.com
- π Contact: +91 9152257810
- π GitHub | Kaggle
- πΌ LinkedIn
- πΈ Instagram
- π¦ X (Twitter)
- βοΈ Medium