DesignandDevelopmentofCHATBOT AReview
DesignandDevelopmentofCHATBOT AReview
DesignandDevelopmentofCHATBOT AReview
net/publication/351228837
CITATIONS READS
0 6,798
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Rohit Tamrakar on 16 May 2021.
Abstract. This paper focuses on a newly emerging tool for learning from CHATBOT, which
is a learning-cum-assisted tool. A CHATBOT is an artificially created virtual entity that
interacts with users using interactive textual or speech skills. This CHATBOT directly chats
with the people using artificial intelligence and Machine Learning concepts. This paper reviews
the technique, terminology, and different platforms used to design and develop the CHATBOT.
It also presents some actual practical life typical applications and examples of CHATBOT. The
utility of the CHATBOT tool for Computer-Aided Design (CAD) applications is proposed
from this review.
1. Introduction
Computer-aided design packages are the primary software to help Mechanical Designers
throughout the world. In the beginning, it used to replace hand-drawn technical drawings. The
technology of the 21st century led engineers to develop software and hardware so that CAD [1]
software and its tools integrate with computers and mobile, easy to use, affordable that way,
the organization and higher institutes started incorporating these type of courses into their
education curriculum. The user uses these 2D drafting and 3D models developed by the
software in the form of technical design to present their design ideas and concepts to other
users [2]. The most commonly used CAD software is Autodesk AutoCAD, Dassault Catia,
Dassault Solidwork, Autodesk Inventor, Autodesk Fusion 360, PTC Creo, and Siemens NX.
Technical drafting generates after model completion submitted for evaluation by instructors.
The user mainly focuses on learning the CAD software through procedural-based knowledge,
which means knowing the associated commands useful for a particular problem.
While learning CAD software for a specific CAD problem, users may face many problems or
get stuck when a new CAD design problem is issue for assessment. For a new CAD problem,
users try to implement the procedural manner for solving, using the same commands and tools
repeatedly, which results in the neglection of new commands and tools through which the same
CAD problem is dealt with efficiently.
Speech and textual forms of information play a vital role in communicating among peoples.
Nowadays, speech and textual conversation are primary communication forms between
humans and computers that occur through web applications. The purpose of a CHATBOT is to
help answer user queries [3]. CHATBOT is a computer program that processes a user’s natural-
language input and generates relatively smart, affluent, and intelligent responses sent back to
the user [4]. CHATBOT help with human request and allow conversation 24 hours out of every
day and improve productivity by assuming control over all activities where people are not
required. However, the most significant advantage of CHATBOT is that it can reach a wide-
ranging audience on a messaging system and automate customized messages [5]. Some
common examples of CHATBOT are ASK DISHA for IRCTC inquiry, Amazon chat customer
service, HDFC bank bot EVA, etc. CHATBOT has been utilized in several industries to convey
specific information or perform tasks, like telling the weather of Delhi, making flight
reservations from Mumbai to Kolkata, answering educational-based queries, or purchasing
products and groceries. Telegram, WhatsApp messenger, Signal, IBM, Microsoft Cortana,
Slack, Google Assistant, Siri, WeChat, Facebook Messenger [5], etc. popular famous
applications are using these technologies.
ELIZA, the very first CHATBOT introduce prior to the development of the first personalized
computer. In 1966, Joseph Weizenbaum developed ELIZA [6] at the MIT Artificial
Intelligence Laboratory (figure 1). According to a defined set of rules, ELIZA processes the
keywords received as input and then triggered the output responses. Several CHATBOTs still
use this methodology of generating output. After ELIZA, PARRY came relatively soon
afterward called “ELIZA with attitude.” Standford University therapist Kenneth Colby process
Parry, which stimulates an individual with distrustful paranoid or paranoid schizophrenia. In
1995, ALICE or Alicebot, the inspiration of ELIZA, evolved by Richard Wallace. Although it
neglected to breeze through the Turing assessment, ALICE remained one of the most rooted of
its kind and honored with the Loebner Prize, an annual AI competition, on several occasions.
Any designer generally follows the necessary five steps before designing CHATBOT (figure
2). The first step is to determine the Bot’s purpose (Why do customers need a bot?). After that
designer must decide between a platform based on rules or NLPs. That means after the why,
how does it come into play? Rule-based bots have defined decision trees through which they
chat. It is similar to step by step diagram or schema chart where the conversation plan predicts
what a client might ask and how CHATBOT should respond. Natural language bot (NLPs) can
understand the context, even though the questions are more complicated. Because of their
ability to learn from their mistakes, they improve their response to the customer’s inquiry.
Think of all the different scenarios or tasks that designer want their CHATBOT to do and put
together all the related questions in other forms to accomplish these same tasks.
Each task users wish CHATBOT to do will set by an intention [7]. After this designer tests
CHATBOT by conversing or text like a human. As a result, every question asked or intended
by clients can be expressed in many ways. That depends on the manner in which the user wants
wishes to convey. For instance, Alexas, turn off the TV. Alexas, could you please turn off the
TV? Why don’t you turn off the TV? A user may use either of these phrases to instruct the
Bot to turn off the television. These phrases have the same intention/task of turning off the TV,
but they request different expressions /variants [7]. In the next step designer design the flow of
conversation. A designer needs to write all the logic to keep the user bound to the flow after
acknowledging the user’s goal. For instance, let’s say the organization is building a bot to
schedule a medical appointment with the doctor. The Bot asks the user to give their working
mobile number, name, and a specialist to whom to consult, and then the Bot shows the open
slots and then book the slot by user confirmation through a one-time password through a
registered mobile number [7]. The designer has to select a suitable platform for deployment,
choosing the right platform where BOT can deploy, such that it is easily accessible for users—
for example, WhatsApp, Telegram, Your Website, Facebook Messenger Slack, etc.
2. Architecture of Chatbot
The architecture means working of CHATBOT starting from user requests to the Bot response
(figure 3). The Chatbot background process begins with the user’s appeal, for example, “What
is PTSD ?” to the BOT deployed to the messenger system app like Facebook, Telegram,
WhatsApp, Website, Slack, etc. or to the device using speech as input like Google Assitant,
Amazon Alexa, Amazon echo dot. After receiving the user’s request, the Natural Language
Understanding (NLUs) component analyzes it or maps it to the user’s intention and,
consequently, gathers further related information (intent: “translate,” entities: [word:
“PTSD”]). Once a CHATBOT reaches the high-level interpretation or confidence score, it
must decide how to further proceed and respond accordingly. It can act directly on new
information, recall what it has understood, and wait to see what happens next, require more
contextual information, or seek clarification [8]. For example, “User request to book a Train
ticket from Delhi to Mumbai, but to book a ticket other additional information is also required
like date of journey, time for the trip. When there is a clear understanding of the request,
execution/further action and retrieval of the information occurs. After retrieving the data, BOT
intended to perform the requested actions or retrieves the data of interest from its data sources,
a BOT Knowledge Base database, or an API call that access external resources [8]. The
dialogue Management system keeps the information about all the conversations with the users.
CHATBOTS can be classed using other variables, such as the interaction level and how
responses are generated [9]. A brief schematic classification of CHATBOT is shown in Figure
4. The first type of CHATBOT is a domain of knowledge classified according to the knowledge
available to them or the amount of data trained. They are further classified into Open Domain
and Closed domain. Open-domain bots can address general topics and answer them
appropriately. Closed domain bots focus on one specific area of knowledge and may not answer
other questions. For instance, a flight booking Bot won’t tell you the name of Canada first
President. It may tell you a joke or reply the way your day is, but it is not meant to do any other
tasks, considering that its job is to book a flight and give the user all the necessary information
about the booked flight [9]. The second one is service provided; these Bots are sentimental
proximity to the user, how much intimate interaction occurs, and depends on the Bot’s task.
Further classified into Interpersonal, Intrapersonal, and Inter-agent. Interpersonal bots are for
communication and allow services such as Table booking in Restaurants, Train booking, FAQ
bots, etc. These CHATBOTS are supposed to get information and pass it on to the user. These
types of BOT can become user-friendly and likely to remember previous information about the
user. Intrapersonal bots will exist in the user’s personal domain, such as chat applications like
Facebook messenger, Telegram, and WhatsApp, and perform tasks under the user’s intimate
part. Managing calendar, storing the user’s opinion, etc. They will become the companions of
the user and understand the user as a human [9]. Inter-agent bots are becoming ubiquitous as
all CHATBOTS require opportunities for intercommunication. There is an emerging need for
Inter-agent CHATBOT protocols for communication. The Alexa-Cortana integration is one
example of an Inter-agent BOT [8].
Fig 4 Classification of CHATBOT
The third type of Bot is goal-based Bot; these Bots are categorized according to the primary
purpose they are intended to achieve. Further classify into Informative, Conversation and Task-
based Bot. Informative bots provide the user with intel or data from a fixed database, like the
FAQ BOTS and inventory database at the warehouse [9]. Conversational / Text-based bots try
to speak with the user as another human being, and their purpose is to appropriately respond to
the user’s requests. As a result, their goal is to pursue the user’s conversation using techniques
such as cross-questioning, avoidance, and politeness, for instance: Alexa and Siri [9]. Task-
Based bots carry out a particular task, such as booking a room in a motel or assisting somebody.
These CHATBOTS are smart when it comes to requesting information and comprehending
user input. Booking a room in a motel and Reservation of Table at a Restaurant is an example
of a Task-based Bot. The fourth type of Bot is based on how the response generates and method
for generating responses considers the technique for processing inputs and generating response
and they are Intelligence Method, Rule-based system and Hybrid.
Intelligence Methods are knowledgeable systems to generate responses, and they use the
natural language understanding (NLUs) component to comprehends the user’s query. Such
systems are used where a narrow domain and sufficient data exist to form a network system.
Rule-based system bots interact with users with the defined outline trees. It is a flowchart where
conversations are predicted in such a way as to anticipate what a client might ask and how the
Bot should respond. Hybrid systems are the combination of rules like Algorithms and machine
learning. For instance, a system uses an outline flow chart to manage conversation direction,
but they use natural language processing (NLPs) to respond.[9].
2.2 Chatbot Engineering and Design Approaches
To develop a Bot, the developer must be aware of several techniques. Some techniques used to
build CHATBOT are shown in Figure 5. The parsing involves input text analysis and uses
several NLP functions to manipulate the inputs, such as Python NLTK decision trees [10].
Besides, it includes Dependency Tree, Syntactical Parsing, Parts-of-Speech Tagging, Named
Entity Recognition, Entity Parsing, and Topic Modeling [11]. Pattern matching is the technique
employed by almost all CHATBOTs. In a question-answering Bot, systems depend on the
types of correspondence, such as natural language inputs, simple statements, or domain-
specific inquiries. AIML Artificial intelligence Mark-up Language, insights from Pattern
Matching and Pattern Recognition technique. The stimulus-response approach is to model
natural language to understand the human and Bot dialogue system [10]. Chat script comes
into play when no matches happen with user input phrase in AIML. It emphasizes the structure
best sentence for constructing a sensitive default response. It involves a network of
functionalities, for instance, factor ideas, logic, etc. [10], [11].
SQL tool used to memorize earlier conversations for Bot [10]. Markov Chain is used to
construct better probabilistic and precise responses. Markov Chains states a fixed probability
of every letter or word occurrence in the same textual dataset [10]. Language tricks are a form
of phrases and fragments of sentences available for Bot to attach knowledge base such that
make that part more convincing. Canned responses are that predetermined answers to some
particular questions are known, Typo errors and simulating keystrokes, personal history, and
Non-Sequitur are not logical conclusions used as language trick. These linguistic tricks are
used to assure user input and provide alternative responses to respective questions [10]. An
ontology represents a structural representation of the domain’s entities and relationships
between them. It is a treelike arrangement that assembles all entities into one realm, their
subclasses, and instances. Additionally, it establishes connections between the tree leaves by
specifying one way, two ways, and transient relationships. Moreover, it creates links between
the tree leaves by defining unilateral and bilateral pathways and temporary relations.
2.3 Common Terminologies Used in Chatbot
Since Dialogflow Essential, IBM Watson, Amazon Lex, ManyChat, etc., provide ML
algorithms training, this section addresses how user intentions, entities, & fulfillment are
utilized to build and train Bot. Figure 6 shows the common terminologies used in the
CHATBOT.
Intents are potential user statements that can trigger the user’s purpose [12]. When an end-user
connects with BOT, they intend to; use BOT to know the information they want? Suppose an
end-user asks Bot to “Book a movie ticket,” in this scenario, if this conversation happens at a
theatre, we can understand that the customer wants to book a movie ticket. Now to understand
the same for BOT, the designer uses INTENT to identify what the user requesting. As a result,
“Book a movie ticket” could be named “book_movie” intent. Intents are the aim, purpose, goal,
motives of the users interacting with the BOT application or web service. Now user’s intention
is categorized into two parts [13]: the first user Seeking for Something – for instance, patron
purpose of finding the information about train tickets, of seeking weather condition of Toronto
for next week, [13] etc. The second one is for taking action, such as booking a table at a food
restaurant and booking movie tickets. Entities are modifiers to intents, which are used to add
knowledge or information to intent. Bot finds the exact matches for the training phrase of the
user input [12]. Suppose two phrases of user input, “Book a movie ticket.” or “Book a flight
ticket,” in this intent is “book” similarly here “movie” or “flight” act as a modifier, hence acts
as entities. Designing CHATBOT entities is equally crucial to fed-up on the database
concerning intent [13]; if this will not happen, Bot fails miserably if they cannot give required
information after identifying user intention.
In simple word, Utterance is the same synonyms but for phrase or sentences; means the exact
terms or question asked by different users in different forms. Examples for utterances from
different travel-agent are; “Book a flight from London to Paris today,” “ Could you please,
book a flight from London to Paris today,” “I want to fly on December 22, 2017, from Mumbai
to Hong Kong.” [13]. After feeding intents, entities, the utterance designer must train the Bot
to build a model such that it will recognize the existing set of defined intents/entities when new
statements are provided. The confidence score is that score that tells how confident or the
amount in percentage model is recognizing user intents with the intents exiting into the trained
database.
3. Platform to Build Chatbot
A CHATBOT platform is a program that makes system software by the developer to create and
improve Bot. The platform selection depends on a different parameter, such as what type of
Bot organization has to develop, whether Bot will be goal-oriented, use for conversation, etc.
[14]. A conversational-based Bot concentrates on conversing with the user only; it does not
rely upon understanding what the user is requesting, and also Bot need not remember the entire
or previous conversations. The whole purpose of making this Bot is used for entertainment
purposes. While goal-oriented CHATBOT is often used for business, education, FAQ purpose
only. This type of Bot helps users achieve the requested tasks such as buying movie tickets,
detailed information admission at XYZ college, ordering groceries or pantry. [14].
Platform build to CHATBOT platforms categories into three major categories, as shown in
Figure 7.
No-programming platforms are that platform design by the developer uses to build Bot without
any programming language, machine learning algorithm, and natural language processing and
understanding skills. These platforms are impeccable for small-scale projects and simple Bot.
Codes for these platforms are easy to develop without knowing programming skills, ML
algorithm, NLP, and NLU expertise. The widespread example of the non-coding platform is
Chatfuel, ManyChat, and Motion.ai [14]. Now come to platforms build by tech giants for
CHATBOT since they recognize as a symbol of standard. These platforms are robust in nature;
significant memory and a learning curve are also significantly elevated. These are commonly
used to build complex BOTs which involves a design conversation flow means flowchart
though they have to consider that Bot should never misunderstand user requests or it should be
rare. Commonly used tech giants platforms such as Google develop Dialogflow Essential,
Dialogflow CX, Facebook generates Wit.ai, Microsoft develops LUIS, Amazon develops Lex,
and IBM develops Watson from this they are easy to deploy [15] to the Application, website,
Telegram, etc.
GOOGLE DIALOGFLOW (Figure 8) allows users to use a new methodology to unite with
their product by building CHATBOT by involving text, speech, or voice conversation in the
interfaces. For example, the voice recognition technology deployed CHATBOTs; for instance,
Amazon echoes dot. GOOGLE DIALOGFLOW allows its users to connect or deploy on the
organization’s website, mobile application, Google Assistant, Amazon Alexa, Facebook
Messenger, and other popular platforms. CHATBOT builds using Google Dialogflow, for
example: Developing English Conversation CHATBOT Using Dialogflow [16], CHATBOT
Utilization for Medical Consultant System, MedBot [17], and Jamura: A Conversational Smart
Home Assistant [18], Development of the CHATBOT Einstein Application as a Virtual
Teacher of Physical Learning [19], Developing the CHATBOT Speech-to-Text interface based
through Google API [20].
IBM WATSON (Figure 8) has a service, IBM Assistant, that lets designers develop, train, test,
and deploy on the web server, application, devices. CHATBOTs are built to mimic human
interactions, such that conversations between Bot and customer should like conversing between
two humans. Watson Assistant can search for an answer from a knowledge base, ask for
clarification for the question requested, and direct users to a human if the Bot cannot solve the
user’s queries. CHATBOT builds using IBM Watson, for instance, A Voice Interactive,
Multilingual Student Assistance System, based on IBM Watson [21], Implementation of
CHATBOT for ITSM Application based on IBM Watson [22], Smart Assistance supporting
Students and Staff Living in a Campus [23].
RASA NLU (Figure 8) is an open-source NLP library for identifying the intent and extraction
of entities in CHATBOTs. It helps the designer to create and write customization NLP for
CHATBOTs. In RASA Conversational, the designer has to deal with two components: Rasa
NLU and Rasa Core. Rasa NLU is likely to be ear, taking inputs from the requested user, and
Rasa Core is expected to be the brain, making decisions or giving response for user input. [24].
Rasa NLU is not the only library having a bunch of algorithms to achieve what designers want.
RASA can develop almost all kinds of CHATBOT that designers imagine and users requiring
from the organization. CHATBOT builds using RASA NLU, for example, FLOSS FAQ
CHATBOT project reuse [25], Self-Learning Chabot from User Interactions and Preferences
[26].
MANYCHAT (Figure 8) is a web service that allows the designer to make CHATBOTs,
especially Facebook Messenger. The designer can use this platform to build various
purposes, like marketing the product and customer care. The key point of this platform is
its simplicity in use. ManyChat claims that customers can use these platforms to set up a
CHATBOT in about two minutes, free of coding, does not have to be an expert in any
programming language. This enables the designer to make Bot even more targeted
broadcasts by deploying onto the Facebook Messenger system. CHATBOT builds using
ManyChat, for example: Improve the Security of Social Media Accounts [27], CHATBOT for
Institutional purpose [28].
In PYTHON (Figure 8), ChatterBot is a library enable the automated response to user’s request.
ChatterBot library has diverse Data Structures and Algorithms for machine learning algorithms
to create varied types of responses. It also adds human-like interaction [30]. CHATBOT builds
using Microsoft Bot Framework, for example, Charlie: CHATBOT in Python [31].
TensorFlow is an open-source library of free software for machine learning. This platform
utilized amongst various tasks and mainly focuses on training using deep neural networks. TF
Basically a math library consisting of dataflow and differentiable programming. It has an
extensively flexible system of tools, sub-libraries, resources that led the designer to quickly
build and deploy ML-powered applications. CHATBOT makes using Tensorflow; for example,
CHATBOT using TensorFlow for small Businesses [32].
There is the various domain in which Chatbot is used such as Customer service, Feedback,
Education, Business, Railway, etc. Some of the most common examples are:
5. Conclusions
In this paper, a review of a new learning-cum assistance tool, i.e., CHATBOT, is introduced.
The CHATBOT utilizes the concepts of Artificial Intelligence and Machine Learning to
interact with people virtually. Firstly, the development history is reviewed, followed by an
explanation of the architecture, and different CHATBOT classifications according to their
utility are presented. After that, various design techniques and approaches and varying
platforms of build Bot are reviewed, followed by the advancement in CHATBOT is presented.
Real-life practical examples and application of CHATBOT are also presented. This review
proposed that CHATBOT can be very well utilized for Computer Aided Design (CAD)
software applications, which can overcome the difficulty faced in procedural-based knowledge
method. Since Artificial Intelligence concepts are used in CHATBOT, it can give the best
alternative way to solve the same CAD problem.
References