You are on page 1of 20

CHATBOT-BANDHU

A Project Report
Submitted By:
ABHIJEET PRATAP SINGH (1511010002)

In partial fulfilment for the award of degree

of

BACHELOR OF TECHNOLOGY
IN
COMPUTER SCIENCE AND ENGINEERING
at

INSTITUTE OF ENGINEERING AND RURAL TECHNOLOGY

PRAYAGRAJ, UP (INDIA)

(AFFILIATED TO DR. A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY, UTTAR PRADESH,

LUCKNOW (INDIA)

MAY 2019

BANDHU 1
DECLARATION

I hereby declare that the project entitled “CHATBOT-BANDHU” submitted for the B. Tech.
(CSE) degree is my original work and the project has not formed the basis for the award of any
other degree, diploma, fellowship or any other similar titles.

Signature of the Student


Place:
Date:

BANDHU 2
CERTIFICATE

This is to certify that the project titled “CHATBOT-BANDHU” is the bona fide work carried
out by ABHIJEET PRATP SINGH, a student of B Tech (CSE) of INSTITUTE OF
ENGINEERING AND RURAL TECHNOLOGY PRAYAGRAJ, UP (INDIA) affiliated to DR.
A.P.J. ABDUL KALAM TECHNICAL UNIVERSITY, UTTAR PRADESH, LUCKNOW
(INDIA)during the academic year 2018-19, in partial fulfillment of the requirements for the
award of the degree of Bachelor of Technology (Computer Science and Engineering ) and that
the project has not formed the basis for the award previously of any other degree, diploma,
fellowship or any other similar title.

Signature of the Guide


Place:
Date:

BANDHU 3
ACKNOWLEDGEMENT

I have taken efforts in this project. However, it would not have been possible without the kind
support and help of many individuals and organizations. I would like to extend my sincere thanks
to all of them.

I am highly indebted to Dr. Vimal Mishra (Director,IERT Prayagraj), Dr. B.D. Mazumdar
(H.O.D, CSE Department, IERT Prayagraj) and Ms. Charu Krishna (Asst. Professor, CSE
Department, IERT Prayagraj) for their guidance and constant supervision as well as for
providing necessary information regarding the project & also for their support in completing the
project.
I would like to express my gratitude towards my parents & member of Institute of Engineering
and Rural Technology for their kind co-operation and encouragement which help me in
completion of this project.
I would like to express my special gratitude and thanks to industry persons for giving me such
attention and time.
My thanks and appreciations also go to my colleague in developing the project and people who
have willingly helped me out with their abilities.

I have taken efforts in this project. However, it would not have been possible without the kind
support and help of many individuals and organizations. I would like to extend my sincere thanks
to all of them.

BANDHU 4
ABSTRACT

Chatbots, or conversational interfaces as they are also known, present a new way for individuals
to interact with computer systems. Traditionally, to get a question answered by a software
program involved using a search engine, or filling out a form. A chatbot allows a user to simply
ask questions in the same manner that they would address a human. The most well-known
chatbots currently are voice chatbots: Alexa and Siri. However, chatbots are currently being
adopted at a high rate on computer chat platforms.

The technology at the core of the rise of the chatbot is natural language processing (“NLP”).
Recent advances in machine learning have greatly improved the accuracy and effectiveness of
natural language processing, making chatbots a viable option for many organizations. This
improvement in NLP is firing a great deal of additional research which should lead to continued
improvement in the effectiveness of chatbots in the years to come.

BANDHU 5
Table of Contents
1.Introduction …………………………………………………...……... 7.

2. Technologies Used .............................................................................. 9.

3. Modules Information ........................................................................ .10.

3.1. IntentTrainer …............................................................................... 10.


3.2. IntentDocumentSample……........................................................... 10.
3.3. SentenceDetectionME…................................................................. 10.
3.4. SimpleTokenizerExample…........................................................... 10.
3.5 Models used of Apache Open NLP ………………...……………. 11.
3.5.1 en-token.bin ……………..……………………….………… 11.
3.5.2 en-person.bin ………………..………………….…………… 11.

4. Use Case Diagram ............................................................................ 12.

5. Data Flow Diagrams……….............................................................. 13.

5.1. LEVEL 0 DFD…........................................................................... 14.


5.2. LEVEL 1 DFD………………..................................................... 14.
5.3. Level 2 DFD…............................................................................. 15.

6. Entity Relationship Diagrams .......................................................... 16.

7. ChatBot …………………………………………………………... 17.

7.1. Screenshots of the website………............................................... 17.


7.1.1. Main Page.................................................................................... 17.
7.1.2 Loading Page ………………………………………….……… 18.

8. Demonstration…………………………………………………….. 19.

9. Future Enhancements……………………………………………… 20.

BANDHU 6
Chapter 1

Introduction

A CHATBOT is an artificial person, animal or other creature which holds conversations with humans.
This could be a text based (typed) conversation, a spoken conversation or even a non-verbal conversation.
Chat bot can run on local computers and phones, though most of the time it is accessed through the
internet. Chat bot is typically perceived as engaging software entity which humans can talk to. It can be
interesting, inspiring and intriguing. It appears everywhere, from old ancient HTML pages to modern
advanced social networking websites, and from standard computers to fashionable smart mobile devices.
Chat bots talk in almost every major language. Their language (Natural Language Processing, NLP) skills
vary from extremely poor to very clever intelligent, helpful and funny. The same counts for their graphic
design, sometimes it feels like a cartoonish character drawn by a child, and on the other hand there are
photo-realistic 3D animated characters available, which are hard to distinguish from humans. And they
are all referred to as “chat bots”.

Chatbot Bandhu is a chatbot capable of giving answers on the basis of user queries .It is developed for the
purpose of resolving user queries like frequently asked questions. Introduce “Bandhu” as an alternative to
existing FAQs section and help reduce workload of teams currently engaged in redundant task of
responding to same kind of queries from end users

So, the chatbot being developed should be able to do the following activities:

1) Answering questions from users which are based on FAQs of the application using NLP techniques

2) Displaying user statistics from existing business database based on user queries.

BANDHU 7
Thus introducing a chatbot like Bandhu can help us in the situations where there is lot of rush in quick
time and repeatedly same type of queries are asked by the users .Thus it can be very useful to handle such
users .It can be implemented at railway stations or in other business organizations .

BANDHU 8
Chapter 2

Technolgies Used

S.NO. Technology Description

1. Apache Open NLP 1.9 It is a java library for natural language processing developed by
apache organization.
2. Tomcat It is the server for hosting the application.

3. Eclipse Ide It is the ide platform to run java programs

4. HTML 5 It is used for the front end of the webpage

5. JSP Java server pages for connecting the webpage and


Chatbot

6. CSS Cascading Style Sheet for webpage design

7. JavaScript It has used for client side scripting

8. JAVA Java programming language has used for the development of this
project.

9. XML It has used for front end of the chatbot

Chapter 3
BANDHU 9
Module Information
Modules used in chatbot development as follow:

3.1. IntentTrainer

An untrained instance of ChatBot starts off with no knowledge of how to communicate. This
module is used to train the dataset to chatbot. Each time a user enters a statement , that data also
used to train the chatbot further.

3.2. IntentDocumentSample

ChatBot includes tools that help simplify the process of training a chat bot instance. ChatBot’s
training process involves loading example dialog into the chat bot’s database.

3.3. SentenceDetectionME

Allows a chat bot to be trained using a list of strings where the list represents a conversation. For
the training process, you will need to pass in a list of statements where the order of each
statement is based on its placement in a given conversation.

For example, if you were to run bot of the following training calls, then the resulting chatterbot
would respond to both statements of “Hi there!” and “Greetings!” by saying “Hello”.

3.4. SimpleTokenizerExample

Tokenization is used in tasks such as spell-checking, processing searches, identifying parts of


speech, sentence detection, document classification of documents, etc.
3.5 Models used of Apache OPEN NLP

3.5.1 en-token.bin ----

This model of Apache Open Nlp toolkit is used for the tokenization of the language .It tokenizes
the user queries and further the user queries are matched for intent recognition.

Location of model -bin/opennlp TokenizerME models/en-token.bin

3.5.2 en-person.bin

BANDHU 10
This model has been used in this project to find the names of the persons present in the user
query.
This model will find the name present in the user input query even if there is any grammatical
error.

Location of model -bin/opennlp TokenNameFinder models/en-ner-person.bin models/en-ner-


location.bin

BANDHU 11
Chapter 4

Use Case Diagram


A use case is a methodology used in system analysis to identify, clarify, and organize system
requirements. In this context, the term "system" refers to something being developed or operated,
such as a mail-order product sales and service Web site. Use case diagrams are employed
in UML (Unified Modeling Language), a standard notation for the modeling of real-world
objects and systems.

BANDHU 12
Chapter 5
Data Flow Diagrams:

A data flow diagram (or DFD) is a graphical representation of the flow of data through an
information system. It shows how information is input to and output from the system, the sources
and destinations of that information, and where that information is stored.

BANDHU 13
5.1. LEVEL 0 DFD

User ChatBot Output

5.2. Level 1 DFD

5.3. Level 2 DFD

BANDHU 14
Chapter 6
BANDHU 15
Entity Relationship Diagrams

Chapter 7

BANDHU 16
ChatBot
7.1 ScreenShots Of Chatbot

7.1.1. Main Page

7.1.2. Loading page

BANDHU 17
Chapter 8
BANDHU 18
Demonstration
The demonstration was carried out with mentor through remote desktop sharing (teamviewer) on
10th and 15th October, 2018. The installation of the server, database were walked through. The
database design checked as per the report, the server logs were also checked. The server instance
was started and website displayed on the remote machine. Complete walkthrough of the
application and its functionality was provided. Hands-on was done by the mentor with the login
credentials provided.

BANDHU 19
Chapter 9
Future Enhancements
 Self-training of chatbot
 Improving training dataset
 Enhancement in response time
 Proper Database connectivity
 More Interactive interface
 AI improvement and bugfixes

BANDHU 20

You might also like