Skip to content

Hrusikesh001/Chatbot_using_NLP_AICTE

Repository files navigation

🚀 Conversational Chatbot:- Empowering Conversational AI with Streamlit and Natural Language Processing

Welcome to the Conversational Chatbot project, a Python-based chatbot that uses Natural Language Processing (NLP) and Streamlit to engage in conversations with users. This project aims to demonstrate the power of AI in creating interactive and user-friendly interfaces. The chatbot is designed to understand and respond to user inputs, making it an ideal tool for various applications such as customer support, language learning, and entertainment.

The project utilizes the Streamlit framework to create a web-based interface for the chatbot, allowing users to interact with it through a simple and intuitive user interface. The chatbot is powered by NLTK, a popular Python library for NLP, which enables it to analyze and understand natural language inputs.

✨ Features

  1. Conversational Interface: The chatbot offers a user-friendly interface that allows users to interact with it through text-based inputs.
  2. Natural Language Processing: The chatbot is equipped with NLTK, a powerful NLP library that enables it to understand and analyze natural language inputs.
  3. Streamlit Integration: The chatbot uses Streamlit to create a web-based interface, making it accessible to users from anywhere.
  4. Random Responses: The chatbot can generate random responses to user inputs, making it an ideal tool for creating engaging and interactive conversations.
  5. CSV Data Import: The chatbot can import data from CSV files, allowing users to customize the conversation topics and responses.
  6. Date and Time Handling: The chatbot can handle date and time-related inputs and respond accordingly.
  7. Error Handling: The chatbot is designed to handle errors and exceptions, ensuring a smooth and seamless user experience.
  8. Customizable: The chatbot allows users to customize the conversation topics, responses, and settings to suit their needs.

🧰 Tech Stack Table

Technology Version
Python 3.8.10
Streamlit 1.2.0
NLTK 3.7
csv 1.0
datetime 1.0
ssl 1.0
random 1.0

📁 Project Structure

chatbot/
chatbot.py
data/
responses.csv
topics.csv
env.yml
requirements.txt
README.md
  • chatbot.py: The main Python file that contains the chatbot logic.
  • data/: A folder that contains CSV files for storing conversation responses and topics.
  • env.yml: A YAML file that defines the environment variables for the project.
  • requirements.txt: A file that lists the dependencies required for the project.
  • README.md: This file!

⚙️ How to Run

Setup

  • Install the required dependencies by running pip install -r requirements.txt
  • Create a new directory for the project and navigate to it
  • Run streamlit run chatbot.py to start the chatbot

Environment

  • The chatbot requires a Python environment with the specified dependencies installed.
  • You can use a virtual environment or a containerization tool like Docker to ensure a consistent environment.

Build

  • The chatbot uses Streamlit to create a web-based interface, so no additional build steps are required.

Deploy

  • You can deploy the chatbot to a cloud platform like Heroku or AWS Elastic Beanstalk.
  • You can also host the chatbot on a local machine by running streamlit run chatbot.py

🧪 Testing Instructions

To test the chatbot, follow these steps:

  1. Run the chatbot using streamlit run chatbot.py
  2. Open a web browser and navigate to http://localhost:8501
  3. Interact with the chatbot by typing in the text input field
  4. Verify that the chatbot responds accordingly to your inputs

📸 Screenshots

[Insert screenshots of the chatbot in action]

📦 API Reference

👤 Author

About

Training for the project on implementation of Chatbot using NLP

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published