SanjeevStephan / terminalbot

Trying to Build a ChatBOT in python to assist on my terminal
0 stars 0 forks source link

Building A ChatBOT #3

Open SanjeevStephan opened 1 year ago

SanjeevStephan commented 1 year ago

ChatBOTs

  1. ChatBot v1.0 - basic Python chatbot
SanjeevStephan commented 1 year ago

ChatBOT v1.0

here's a basic Python chatbot sample code that you can use to get started. This chatbot simply responds to user input with pre-defined responses.

import random

responses = {
    "hi": ["Hello!", "Hi there!", "Hey!"],
    "how are you": ["I'm doing well, thank you.", "Not too bad. How about you?"],
    "goodbye": ["Goodbye!", "See you later!", "Bye!"],
    "default": ["I'm sorry, I didn't understand what you said.", "Could you please repeat that?"]
}

def respond(user_input):
    if user_input.lower() in responses:
        return random.choice(responses[user_input.lower()])
    else:
        return random.choice(responses["default"])

print("Hello! I'm a simple chatbot. You can start a conversation by typing a message below.\n")

while True:
    user_input = input("> ")
    if user_input.lower() == "exit":
        print("Goodbye!")
        break
    else:
        response = respond(user_input)
        print(response)

To use this code, copy and paste it into a Python editor or IDE, save it as a .py file, and run it. The chatbot will then prompt you to enter a message, and it will respond based on the pre-defined responses in the responses dictionary.

Note that this is a very basic chatbot, and you can customize it to suit your needs and add more functionality to it.

SanjeevStephan commented 1 year ago

ChatBot V1.1

here's a basic example of a chatbot using NLTK in Python. This chatbot uses NLTK's built-in modules for tokenization and part-of-speech tagging to identify the user's input and generate a response.

import nltk
from nltk.chat.util import Chat, reflections

pairs = [
    ['my name is (.*)', ['Hello %1!']],
    ['hi|hello|hey', ['Hi there!', 'Hello!', 'Hey!']],
    ['what is your name?', ['My name is NLTK Chatbot.']],
    ['how are you?', ['I am doing well, thank you.', 'Not too bad. How about you?']],
    ['(.*) your name?', ['My name is NLTK Chatbot.']],
    ['bye|goodbye', ['Goodbye!', 'See you later!', 'Bye!']],
    ['(.*)', ['Sorry, I did not understand that.']],
]

chatbot = Chat(pairs, reflections)
chatbot.converse()

To use this code, you need to have NLTK installed on your computer. You can install it using pip:

pip install nltk

Once you have NLTK installed, copy and paste the above code into a Python editor or IDE, save it as a .py file, and run it. The chatbot will then prompt you to enter a message, and it will respond based on the pre-defined pairs of inputs and responses in the pairs list.

Note that this is a very basic chatbot, and you can customize it to suit your needs by modifying the pairs of inputs and responses in the pairs list. You can also use NLTK's other modules and functionalities to improve the chatbot's language processing capabilities.