Skip to content

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

Notifications You must be signed in to change notification settings

Vidhi1290/Chatbot-with-RASA-NLU-Model-and-Python

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

5 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

🌟 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 or 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:
    git clone https://github.com/Vidhi1290/Chatbot-with-RASA-NLU-Model-and-Python.git
  2. Install dependencies:
    pip install -r requirements.txt
  3. Train the model:
    python src/engine.py
  4. Test the chatbot:
    python src/test_chatbot.py

πŸ“ž Connect with Me!

Vidhi Waghela


About

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

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published