dBot: AI Based Conversational Agent



1. Background

The purpose of this project was to understand Natural Language Processing tasks

2. Implementation

Consider the following user queries

"Hello, how are you?" "What's the weather like" "What's the time in Africa?" Answering the following questions makes it necessary to have a context. We need more data to respond properly to a given input.

3. Natural Language Processing

TextBlob is a Python library for processing textual data and performing lexical analysis. We used the NLTK ( Natural Language Toolkit) library for NLP.

4. Part of speech tagging

Parts of speech are - noun, verb, pronoun, preposition, adverb, conjunction, participle and articles. We process a sentence of words and attach a part of speech tag to each word.

5. Sentiment Analysis and Fuzzy String Search

NLTK has an inbuilt sentiment analyser module - nltk.sentiment.vader that can analyse a piece of text and classify the sentences under positive, negative and neutral polarity of sentiments.


6. Features of our chatbot

a. General conversations


b. Access to local files and folders on the computer.


c. Assists in performing complex mathematical computations


d. Speech to text and Text to speech capabilities.


e. Simple UI


6. Software Specifications

Tkinter, NLTK, TextBlob, Python, Google eSpeak, Google API

This project has been published in a journal! Check it out here