Skip to main content

A Simple Chatbot Using Python

Chatbot or chatterbot is a software program that simulates conversations made by humans through voice or text chats. It is more commonly used in messaging applications. As we all know Alexa, Zo chatbot, Faketalk, Watson Assistant are some of the chatbots built on Artificial Intelligence and Natural Language Processing.

Here am gonna show you how to create a chatbot, to open a system application on your device using python.

Steps to follow

  • First import the modules needed to make a chatbot.
  • Then make the chatbot get input from the user ie., to which application he/she needs to open.
  • Next, make the chatbot react to the user input by opening an application specified by the user.
  • Make the chatbot work again and again until the user specifies to "quit".

Modules needed

Modules needed to build a chatbot are:

  • pyttsx3 module
  • os module

pyttsx3 module

Modules are nothing but a library that consists of reusable code that performs desired function when it gets invoked. It can be invoked into a program code with the help of an import statement. pyttsx3 is one of the modules in python which takes text as input and results in speech as an output.

speak( )

pyttsx3.speak( ) function results in the conversion of text to a speech where the text is passed as an argument.

Syntax

pyttsx3.speak("text to speech")

For example,

pyttsx3.speak("Hey how can I help you")

This command will not print the text passed as an argument in the console, rather it will speak as "Hey how can I help you". This function is mainly used in building chatbots and applications like translators. Instead of using traditional input and output statements in python, this module helps in improvising the method of getting input from the user.

os module

In python, the os module directly communicates to the operating system of your device. It comes under python's standard utility module. It provides functionalities that are operating system dependent.

system( )

To make the Operating System of your device interact with applications installed on your device, use the function system( ) from the os module.

Syntax

os.system("application_name")

For example, 

os.system("notepad")

This command will launch a notepad on your device.

 Its time to build a chatbot

Here I've given a code snippet for a chatbot to open "Microsoft Edge" and "MS Powerpoint" from a command prompt.

Code Snippet

import os
import pyttsx3 as p
#speak() converts text to speech
p.speak("Welcome to my chatbot")   
#loops until user specify to quit
while True: 
	p.speak("what can I do for you ?  ")
	userinput = input()
	#opens Microsoft Edge
	if ("run" in userinput and ("Microsoft Edge" in userinput)) or ("execute" in userinput and ("Microsoft Edge" in userinput)) or ("open" in userinput and ("Microsoft Edge" in userinput)) or ("launch" in userinput and ("Microsoft Edge" in userinput)) :
    	p.speak("Microsoft Edge will be launched soon")
    	os.system("msedge") 	
	#opens Powerpoint
	elif ("run" in userinput and ("Powerpoint" in userinput)) or ("execute" in userinput and ("Powerpoint" in userinput)) or ("open" in userinput and ("Powerpoint" in userinput)) or ("launch" in userinput and ("Powerpoint" in userinput)) :
    	p.speak("Paint will be opened soon")
    	os.system("POWERPNT") 
	#It stops the execution
	elif ("exit" in userinput) or ("quit" in userinput):
    	p.speak("Thanks for opting me . Share your smiles")
    	break
	#If user inputs anything wrong, it shows don't support    	
    else:
    	print("don't support")

Comments