Skip to content

GH0STH4CKER/IntelliChat

Repository files navigation

IntelliChat

A Smart AI Chatbot named IntelliChat

bandicam.2024-03-11.14-20-46-051.mp4

Try it via Google Colab: click here

Overview

IntelliChat is a Python-based chatbot designed to engage in conversations with users, perform arithmetic operations, and provide information sourced from Wikipedia. It utilizes natural language processing (NLP) techniques and a neural network model for intent classification.

Features

  1. Conversation Handling: IntelliChat engages in conversations with users, responding to various inputs and inquiries.
  2. Arithmetic Operations: It can perform basic arithmetic operations such as addition, subtraction, multiplication, and division.
  3. Wikipedia Integration: IntelliChat can search Wikipedia for information based on user queries.
  4. Typewriter Effect: Responses from IntelliChat are printed with a typewriter effect for a visually appealing display.

Technologies Used

  • Python: The core language used for development.
  • TensorFlow/Keras: Utilized for training and loading the neural network model for intent classification.
  • NLTK (Natural Language Toolkit): Used for text processing and lemmatization.
  • Wikipedia API: Integrated to retrieve information from Wikipedia.
  • Colorama: Employed for colored text output.

Components

  1. Intent Classification Model: A trained neural network model used to classify user intents based on their input.
  2. Preprocessing Functions: Functions for cleaning and preprocessing user input before classification.
  3. Wikipedia Search Function: Utilizes the Wikipedia API to retrieve information based on user queries.
  4. Typewriter Print Function: Delivers responses with a typewriter effect for visual appeal.
  5. Main Interaction Loop: Manages the flow of conversation, processing user input and providing appropriate responses.

Usage

  1. Input: Users can interact with IntelliChat by typing messages or inquiries.
  2. Output: IntelliChat responds with appropriate answers or engages in conversation based on the input received.
  3. Exit: Users can exit the conversation by typing 'quit', 'exit', or 'close'.

Dependencies

  • numpy: For numerical operations and array handling.
  • wikipedia: Required for accessing Wikipedia data.
  • colorama: Necessary for colored text output.
  • TensorFlow/Keras: For loading the neural network model.
  • NLTK: Used for natural language processing tasks such as tokenization and lemmatization.