See discussions, stats, and author profiles for this publication at: https://www.researchgate.
net/publication/327097910
Review of Chatbots Design Techniques
Article in International Journal of Computer Applications · August 2018
CITATIONS READS
30 25,885
4 authors, including:
Nahdatul Akma Ahmad
MARA University of Technology
52 PUBLICATIONS 300 CITATIONS
SEE PROFILE
All content following this page was uploaded by Nahdatul Akma Ahmad on 18 August 2018.
The user has requested enhancement of the downloaded file.
International Journal of Computer Applications (0975 – 8887)
Volume 181 – No. 8, August 2018
Review of Chatbots Design Techniques
Nahdatul Akma Ahmad Mohamad Hafiz Che Azaliza Zainal
Faculty of Communication, Visual Hamid Faculty of Communication, Visual
Art & Computing, Faculty of Communication, Visual Art & Computing,
Universiti Selangor, Art & Computing, Universiti Selangor,
Malaysia Universiti Selangor, Malaysia
Malaysia
Muhammad Fairuz Abd Rauf Zuraidy Adnan
Faculty of Communication, Visual Art & Computing, Faculty of Communication, Visual Art & Computing,
Universiti Selangor, Universiti Selangor,
Malaysia Malaysia
ABSTRACT Cortana, Slack, WeChat, Facebook Messenger, Google
Recently, the development of conversational system as a Assistant and Siri.
medium of conversation between human and computer have In terms of Chatbots system development, in order to create a
made a great stride. This human and computer communication medium of speech conversation between the human and the
has covered the way for enormous natural language computer involves several different design techniques. As
processing techniques. A chatbot is a computer system that stated by [3], the design techniques that usually chosen by
allows human to interact with computer using natural developers can either be by pattern matching, cleverscript,
language. The chatbots system are widely used in various chatscript, Artificial Intelligence Markup Language (AIML)
field such as in businesses, education, healthcare and many or by using language tricks. However the most popular
more. The design and development of chatbots involves technique is the pattern matching whereby the bot will
variety of techniques. Therefore, in this paper, we presents the matched phrases to the keywords in a pre-specified dictionary
review of techniques used to design Chatbots. A few [3]. Therefore, this paper aims at reviewing several types of
examples of chatbots design is also discussed to give an Chatbots design. Examples of Chatbots system is also
understanding on how chatbots works and what are the type of presented in this paper. The findings are discussed and
approaches available for chatbots development. With rapid conclusions are drawn at the end.
development in Chatbots technology, it is hoped that it could
complement human constraints and optimize the productivity. 2. BACKGROUND
General Terms 2.1 Chatbot System
Pattern Matching, Natural Language Processing. Chatbot also known as Chatterbots or chatter robots [4], is the
computer system that can communicate with human in the
Keywords form of messaging app [5]. They can understand multiple
Chatbots, Instant Messaging, Bots, Natural Language. question requested by human. They also have the ability to
differentiate between uniqueness of word including
1. INTRODUCTION emoticons. In order to get best quality of Chatbot
In general, bot is a computer system that can perform conversation, they need to have the richness of vocabulary of
automated task, and bot may also serve in messaging conversation among people [6].
platforms which known as Chatbot. Chatbot is similar to the Chatbot may look like a normal messaging app, they have the
normal messaging application however the different is when application layer, a database and also APIs (Application
one of the message receiver is a robot. In other word to Programming Interface) working at the background. User
describe the situation is like when human is chatting with the interface represent the interface to make easy contact with
robot (computer). The conversation message could be send user. While Chatbot is easy to use, at the background it has
through several medium such as voice commands, test chats, the complexity to achieve. Most of Chatbots have logs of
graphical interfaces or graphical widgets. conversation and the developer use the logs in order to
Nowadays, Chatbots is a trending system which with it in understand user requests. The logs is then used to improve the
hand may assist human in doing many task [1]. It offers many Chatbot conversation [7]. Chatbot works by matching the
advantages of using Chatbots, for instance, Chatbot are able to question from user with the help of machine learning. For
assist human inquiry and giving feedback 24 hours per day as instance, if the user question is, “Show me the university list
well as it also can improve efficiency by taking over tasks for of programs” or “I need the program list”, both mean the same
which humans are not essential. But the biggest advantages of thing. The developer need to train the Chatbot to understand
Chatbots is that it is able to reach a broad audience on both questions by delivering the same output. According to
messenger system and the ability to automate personalized [3], the Chatbot is being trained through the analysis of
messages [2]. Chatbot has been used in various industries to thousands of logs from human conversation. If there are more
deliver information or perform tasks, such as telling the logs, the application will become more intelligent [7].
weather, making flight reservations, answer the educational
based queries [1] or purchasing products. These technologies
also are used by various famous application such as Telegram,
7
International Journal of Computer Applications (0975 – 8887)
Volume 181 – No. 8, August 2018
2.2 The Use of Chatbots
Chatbot system has been widely used in various field. Due to
its flexibility, Chatbot is used for education, healthcare and
business industries particularly for marketing purpose. In
example, there are several company embedded Chatbot into
their system environment like Facebook (Facebook
Messenger), Google (Google Assistance), Apple (Siri) and
Microsoft (Cortana). Company like Facebook has
implemented Facebook Messenger with the support of
Chatbot system. The Chatbot is able to assist company by
serving an automatic customer responder.
Other than that, chatbot system is also used in an education
field. According to [8], Chatbot can be an intelligent tutor for
the online learner. The Chatbot have the capability to analyze
natural language and this reflect to the accuracy of
conversation. When conversation flow is accurate, that‟s
make Chatbot one of a tool of education. For example,
Chatbot are able to solve problem and give support in parallel
for 100 students in an individual basis. Whereas in healthcare
industry, Chatbot is used to assist the healthcare expert to
Fig 1: Main Chat.io Interface
gives support to patient through computer and application
medium. For instance, the AI-Chatbot [9] works as a The above Figure 1 depicts main interface of Chat.io. This
conversational assistants to facilitate long term adherence to Chatbot start the messaging by asking for the name and email
health promotion interventions. In this case, bot act as a bi- of the new user. User also have to agree with the term and
directional channel between the healthcare expert and user in conditions applied before proceeding to start chat.
consulting user from gaining weight by giving advice on
healthy diet habits, physical activities, food preparation and
purchasing.
However, current wave of research shows enormous usage of
chatbot system in business especially for marketing purpose.
For example, the Collect.chat is an interactive chatbot
developed to capture customer‟s data on company‟s website.
This chatbot may be used to collect information regarding
product order, doing surveys, answering customer‟s enquiries,
registration and bookings.
3. REVIEW OF CHATBOT DESIGN
The following section discusses about several types of
Chatbots used for several purposes such as for businesses,
marketing, education and etc.
Fig 2: Example of Chat.io Admin Panel
3.1 Chat.io Figure 2 shows the admin panel interface for Chat.io. There
This Chatbot system is used to help businesses to are three parts which is customer name list on the left side,
communicate with the customer via multiple services in one messaging on the middle, and the details is on the right side.
system. It can also be integrated with Facebook Messenger to Major features of Chat.io is integration with Facebook,
help the admin to interact with Facebook users. The Chatbot auto/manual chat assignments, intelligent canned responses,
is designed using modular construction that can be integrated customer message sneak peek, chat ratings, open API,
with website, app, native mobile app or web-based messenger and mobile application.
application. An artificial intelligence system is used in the
development of the Chatbot, whereby the Chatbot can predict 3.2 Collect.chat
the text suggestion and later provide smart responds base on This chatbot is used for marketing service purpose.
analyzing the conversation history. Collect.chat is an example of chatbot system in which the
operations is based on widget interactions with user‟s enquiry
instead of artificial intelligence system. One of the advantage
of using Chatbot is that it can convert the visitor into customer
and bring them into the conversation without filling many
forms. It used widget interaction where visitor choose one of
their intent by clicking one of the multiple options.
8
International Journal of Computer Applications (0975 – 8887)
Volume 181 – No. 8, August 2018
(GPU) serving techniques. GPU is a specialized electronic
circuit intended to rapidly manipulate and alter memory in
order to produce images and frame buffer to be displayed.
Nowadays, the part of the engine behind Cleverbot and its
API is already available in market for all developers outside
there.
4. DISCUSSIONS
4.1 How Chatbots Works
The following Figure 6 illustrates the processes of Chatbot
system. Firstly, user must have computer in order to access
the chatbot user interface (UI). A text console will appear on
the chatbot UI where user can pass text input through the
console.
Chatbot User
Interface (UI)
Fig 3: Example of Collect.chat Interface User Text input
The above Figure 3 shows Collect.chat main interface. In the
main interface, the conversation starts with greeting and Chunking text into
interactive picture say „HOLA‟, and after that the Chatbot phrases
start asking customers few questions. The design work is by
using multiple choices of options when asking the question.
User‟s need to answer the question by clicking on template
form that appear as an option within each question. Choosing keywords
The conversation flow works interactively by the use of web
form which avoid the use of old style form. The Collect.chat
could also interact with other services like Salesforce, Google Match the keywords
Sheets and Slack that will automate the task. with pattern
(BOT LOGIC)
3.3 Cleverbot
The following is another example of web chatbot called
Cleverbot. It is an artificial Intelligent Chatbot called
Making a response
Cleverbot. It is a chatterbot web application developed by
British AI scientist Rollo Carpenter in 1997. The Cleverbot
response are not hard coded programme. Instead, it learns Fig 6: Chatbot System Processes
from human input from the conversation process. When the
Secondly, the text input which entered by user in a sentence
user input some text, the system then search all the exact
will then be chunk. Chunking here means the process of
phrase to match with the input. It give the responds to the
splitting text into separate words for tagging [11]. The output
input from user by finding how the way user are responded to
from the chunking process is several meaningful phrases
that input. This Cleverbot is also available in mobile Android
which are going to be used later in the matching process. This
and IOS platform [10].
phrases will act as keyword in the matching process.
Finally, the keywords resulted from the chunking process are
then matched with the pattern in the chatbot system. The
process of matching the keywords with patterns is called BOT
LOGIC. The output from the chatbot system is the
programmed response, which will be, for instance, any other
text or a template web form as in the previous Figure 3.
4.2 Chatbots Design Techniques
Based on the reviews of several papers, we came to
conclusion that designing a chatbot requires several
techniques and approaches. Among the most popular
techniques used by developers is such as following:
Fig 5: Example of Cleverbot Interface AIML: this is one of the core technique using markup
language created by Dr. Richard S. Wallace[12], often
Basically, Cleverbot responses to human question by learning
used by the developers. The main objective of AIML
from previous human answers. Human will type their question
language is to direct processing the conversational
in the text box and system will find for all keywords or an
modelling into a stimulus response process. This process
exact phrase matching the question. After probing through its
is also familiar known as frequent tags. Since AIML does
saved conversations, Cleverbot will responds to human by
not require expert skill in specific programming
finding how human responded to that input before. Version of
language, therefore, this technique is utmost facilitates
Cleverbot has been upgraded to use Graphics Processing Unit
the development of chatbots.
9
International Journal of Computer Applications (0975 – 8887)
Volume 181 – No. 8, August 2018
Pattern Matching: this techniques were used by many general. Chatbots is actually an innovative approach to
chatbots. Basically, this technique deployed matching automate user personalize message. If the chatbots is well
pattern to generate appropriate response from user‟s designed and implemented, it could be a tool to attract user
questions, depending on the matching types such as engagement and provide good user experience between
simple statements, natural language or semantic meaning human and the served field. However, designing and
of enquires. implementing chatbots is not too easy as it is said. Chatbots
technology is moving very fast there are a lot of enhancement
Language Tricks: there are four language tricks that are and new features released from time to time. The development
usually used including model of personal history, canned of chatbots should carefully planned, choosing the appropriate
responses, no logical conclusion, typing errors and platforms tools is very important since it can helps in boosting
stimulating key strokes. This technique used sentence, the effectiveness and efficiency of the chatbots.
phrases or paragraph in Chatbots to add variety to the
knowledge base and that would make it more 6. REFERENCES
convincing. [1] M. Naveen Kumar, P. C. Linga Chandar, A. Venkatesh
Prasad, and K. Sumangali, “Android based educational
Chatscript: is an authoring script such as cleverscript that
Chatbot for visually impaired people,” 2016 IEEE Int.
serve developers in chatbot development. It is a
Conf. Comput. Intell. Comput. Res. ICCIC 2016, pp. 0–3,
technique used when there is no matches occur in AIML.
2017.
This technique concentration is on giving the best syntax
to build a sensible default answer. [2] R. Harris, “The Advantages and Disadvantages of
Chatbots,” App Developer Magazine, p. 3, Oct-2016.
Parsing: is the technique used to analyze text or a string
of symbol either by using natural language or computer [3] J. Masche and N. Le, “A Review of Technologies for
language. In addition, in computational linguistic, Conversational Systems,” Adv. Intell. Syst. Comput., vol.
parsing is a technique used to analyze either a sentence 629, pp. 212–225, 2018.
or another set of strings into its elements that could
contain semantic or other information. This technique [4] N. Hatwar, A. Patil, and D. Gondane, “AI based
used NLP functions such as trees in Phyton NLTK. chatbot,” Int. J. Emerg. Trends Eng. Basic Sci. ISSN, vol.
3, no. 2, pp. 2349–696785, 2016.
SQL and relational database: it is a recent technique
used in chatbots to ensure chatbots remember previous [5] L. Ciechanowski, A. Przegalinska, M. Magnuski, and P.
conversations. The algorithm from SQL-based chatbot Gloor, “In the shades of the uncanny valley : An
used to enhance the capability of chatbot‟s keyword and experimental study of human – chatbot interaction,”
pattern matching by providing an augment ways of Futur. Gener. Comput. Syst., pp. 1–10, 2018.
storing data as well as improving the process [6] J. Hill, W. Randolph Ford, and I. G. Farreras, “Real
performance. conversations with artificial intelligence: A comparison
between human-human online conversations and human-
Markov Chain: is a technique by building responses
chatbot conversations,” Comput. Human Behav., vol. 49,
which are more applicable and consequently is better.
pp. 245–250, 2015.
This technique works by identifying probabilistic of
letters or word occurrence in the same textual data set. [7] I. Garrigós, M. W. Eds, and D. Hutchison, “Case Study:
Building a Serverless Messenger Chatbot,” in Current
5. CONCLUSIONS Trends in Web Engineering, vol. 10544, 2018, pp. 75–86.
Most people is attracted to the system that are human-alike.
And many of users do not know that Chatbot will not only [8] S. V. Doshi, S. B. Pawar, A. G. Shelar, and S. S.
give feedback in the form of text and voice command whereas Kulkarni, “Artificial Intelligence Chatbot in Android
Chatbot nowadays have interactive way on serving System using Open Source Program-O,” Int. J. Adv. Res.
information using graphical interaction or graphical widget. Comput. Commun. Eng., vol. 6, no. 4, pp. 816–821,
The main benefit of using chatbots is it able to reach broad 2017.
audience even from great distance only using the messenger [9] A. Fadhil and S. Gabrielli, “Addressing challenges in
apps. Beside that, this automated human-computer promoting healthy lifestyles: the AI-chatbot approach,”
conversational platforms works positively to provide efficient PervasiveHealth ’17, 2017.
service in various field to serve human in many ways.
[10] N. Cingillioglu, “Neural Logic Framework for Digital
In this paper, the reviews has covered several papers that have Assistants,” 2017.
focused on chatbot design. Initially, we explained about
chatbots system and its usage from several main fields such as [11] S. A. and D. John, “Survey on Chatbot Design
education, healthcare and business. Next, we provide Techniques in Speech Conversation Systems,” Int. J.
explanations on some chatbots design in today‟s market. The Adv. Comput. Sci. Appl., vol. 6, no. 7, pp. 72–80, 2015.
reviewed is based on the design work, features, how it interact
[12] A. Krantz and P. Lindblom, “Generating Topic-Based
with user and also its interface. Finally, we presents the
Chatbot Responses,” Blekinge Institute of Technology,
chatbot system processes showing how chatbot works in
2017.
IJCATM : www.ijcaonline.org 10
View publication stats