International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 20 (2018) pp. 14644-14649
© Research India Publications. http://www.ripublication.com
14644
Chatbot as a Personal Assistant
Gayatri Nair
Department of Computer Science and Engineering, SRM Institute of Science and Technology
(Deemed to University u/s 3 of UGC Act, 1956), Chennai, India.
Soumya Johnson
Department of Computer Science and Engineering, SRM Institute of Science and Technology
(Deemed to University u/s 3 of UGC Act, 1956), Chennai, India.
V. Sathya (Guide)
Assistant Professor, Department of Computer Science and Engineering,
SRM Institute of Science and Technology (Deemed to University u/s 3 of UGC Act, 1956), Chennai, India.
Abstract
Chatbots usually work as an optimiser of customer service.
Chatbots are designed in such a way that the users are made to
believe that they are talking to an actual human being but
rather they are talking to a machine. The main advantage of
this explicit characteristic of a chatbot is that it can be given a
virtual personality of its own just like a specific person of a
particular profession. This paper proposes an idea of an
artificially intelligent chatbot as a personal assistant that can
serve as your resume. Also, this chatbot helps the user in
fixing meetings and adding them in the calendar.
Our chatbot
is basically a resumeBot. It is a resume in the form of a
chatbot. . A resume in the form of chatbot is the new
generation in the field of job applications. A chatbot will help
the recruiter to know your personality along with all your
qualifications and personal details. The chatbot will
communicate with the user with the help of natural language
processing and AIML files.
Keywords: Artificial Intelligence, Chatbot, Personal
Assistance.
INTRODUCTION
A chatbot also known as a talkbot, IM bot, chatterbot, Bot,
interactive agent, or an Artificial Conversational Entity.
Chatbot is a computer program that helps you to communicate
via messages. They are formulated to mimic human behavior.
They can reproduce exactly how a human would act as a
conversational partner.[3]
A chatbot as a personal assistant will be able to not only
control your schedule on Google calendars but also will be
able build an immaculate resume.
A personal assistant controls and handles all the home
appliances with a single touch. Chatbots are those computer
programs that mimic human conversation using artificial
intelligence and are transforming the way people interact with
the Internet for information and assistance and knowledge. It’s
not surprising that chatbot apps are considered the new
browsers and the new websites. Google Now Cortana, Siri and
Alexa are all examples of chatbots. And Facebook has
opened up Messenger, making it not merely an app but a
platform upon which developers can build an entire chatbot
system. Facebook Messenger provides over the 30,000
chatbots and it also stays as their main habitat.
In this today’s generation, it is really important to stand out
from the crowd and make a mark. It is really important to
prove your worth in this era of competition. Having a basic is
just not enough. So, the best way to make yourself stand out
of the crowd is to use latest technology. By using the
technology like Artificial Intelligence will surely make you
and your professional profile to stand out. So presenting your
resume in the form of chatbot is the best way of implementing
Artificial Intelligence to make your professional profile better.
However, chatbots have a big potential for implementation in
personalized corporate accounts on every social media
platforms. Chatbots are designed to be the ultimate virtual
assistant, helping you to accomplish various tasks ranging
from answering questions, getting driving directions, turning
up the thermostat in your smart home, or play your favorite
tunes and even draft a question and answer survey.
Chatbots are being made to ease the pain that the industry is
facing today. The purpose of chatbots is to support and help to
scale business teams in their relationship with customers and
consumers at the same time.
OVERVIEW
A.
Existing System
Additionally, there are some existing systems from which the
idea of creating an application of chatbot (virtual personal
assistant) was inspired.
1. A.L.I.C.E. One of the most famous chatbot which works on
Pattern Matching Strategy is the Artificial Linguistic Internet
Computer Entity (A.L.I.C.E.) . The AIML files for A.L.I.C.E.
are available online which contain categories like music, art,
philosophy, etc. So for the basic working of our chatbot, these
AIML files are being used. Also, another original AIML file
for the category “Meetings” has been generated, which
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 20 (2018) pp. 14644-14649
© Research India Publications. http://www.ripublication.com
14645
answers specific meeting related questions. Thus, as the
project concentrates more towards the scheduling module,
AIML files are being used for the pattern matching framework
of chatbot.[1]
B.
Proposed System
We have made a chatbot that will change the way you look at
a resume. Our chatbot is basically a resumeBot. It is a resume
in the form of a chatbot.
In past years we have not seen much changes in LinkedIn
profiles. Our LinkedIn profiles surely give a good impression
and are more interactive than resumes but they are not
interactive in a way a chatbot is. A resume is normally a list of
dates and details of the candidate written down. But what if
the resume you build is actually interactive. A resume in the
form of chatbot is the new generation in the field of job
applications. A chatbot will help the recruiter to know your
personality and actually see examples of your work. Chatbots
give a sense of personality of a person instead of just a word
document with some facts written down.
SYSTEM
ARCHITECTURE
There are four modules in the architecture.
i.
Presentation layer
ii.
Service layer
iii.
Data access layer
iv.
Database layer
i.
Presentation layer:
In this interface the user communicates with the
chatbot. The output generated in this layer of the
system is served as the input of the next layer i.e.
service layer.
ii.
Service layer:
The service layer consists of Gmail API and the
calendar API and various other APIs.
iii.
Data access layer:
This is the intermediary layer of the system. The
function of this layer is to exchange the data between
the database and the chatbot. It uses pattern matching
algorithm to select mosr favourable response and
sends it to the presentation layer.
iv.
Database layer:
It comprises of three main databases. The first
database is of the AIML files i.e. the AIML database.
The second is the information stotred about the user
that includes all the information in his resume from
name to hobbies. The third database is the user’s
Google calendar.
DESIGN
CONCEPT
The design of a Chatbot is represented here:
Figure 1:
Use Case Diagram of Chatbot Design.
A Chatbot can be designed by these steps:[2]
Selection of OS
:
We have Windows OS since it’s the most user friendly and
best OS in the market till date.
Selection of Software:
Eclipse software is used for programming in java because of
its great user friendly nature. It is compatible with multiple
platforms beimg a java IDE.
A. Creating a Chatbot:
Chatbot is created by writing a program in java language.
Chatbot can also be created without any involvement of
coding for beginners. Websites like Chatfuel, Botsify and
Moton.ai helps one to create their own chatbot without any
coding.
B. Creating a Chat:
A chat is created between the user and the chatbot. The chat is
easily understandable by the bot.
C. Pattern Matching
The whole concept of a chatbot lies on its ability to match
various given patterns. It is the speciality of artificial
intelligence which is used during the designing of a chatbot.
During pattern matching the input of the text which is given
by the user is compared with all the texts stored in its
database. After executing the comparison recognition an
output is generated accordingly.
D. Conversational and Entertaining
The chatbot responds in a friendly way and that too in English
language. If you ask about any data regarding the user the
chatbot will answer it almost instantly.And that too in the best
and most accurate way possible. It is just as talking to the
USER
CHATBOT
Ask
questions
Receive
responses
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 20 (2018) pp. 14644-14649
© Research India Publications. http://www.ripublication.com
14646
same person whose resume is loaded in the database and
commanding a person to check the calendars.
Creation Platform
Creation platforms provide a wide range of software
foundations, frameworks and toolkits like APIs. There are
other features like, natural language processing, searching,
and image processing. These platforms can be distribution-
platform-specific or can be used across multiple platforms,
such as the Microsoft Bot Framework, Botkit, and
Pandorabots. These provide services from documentation and
code templates to even no-code-required bot-building and
managing interfaces just as Chatfuel. Chatfuel is one of the
aamazing feature that lets one create chatbot apps without any
advanced coding and is very helpful in creating prototypes.[3]
Distribution Platform
Distribution platforms tells us about where and how users will
access bots. These days many are centered around messaging
or social networking like Messenger, Skype, and
WeChat,Telegram etc.. Other platforms which are domain
specific mainly concentrate on developers for example, Slack,
Teams, and HipChat.
These platforms support human–bot, bot–bot , or even
system–bot interactions.These platforms define and improvise
on how users interact with bots and have built-in support for
commands, natural language, speech, and more rich and
efficient UI controls. The interaction with a bot strongly
influenced by the experience of the user and the types of tasks
users can perform with chatbot. Some of the third-party sites
like BotList and ChatBot provide online catalogs of bots. It
makes easier for developers to promote and market their bots.
Some distribution channels have monetization features that let
bots safely collect payments from users, which is particularly
useful for people developing transactional style bots.[3]
The new areas of technology can be unleashed by making this
into reality.
IMPLEMENTATION
The chatbot is an exceptionally made app that can be used as a
personal assistant. When a person logs into the given app it
asks you for some personal details regarding one’s name,
alarm time and mainly the to do list.
You can also send mails and messages automatically if the
app is connected with your email-id. This helps get a new
arena of the technology into perspective.
Chatbot is an application of the computer which uses artificial
intelligence to imitate human conversation. It helps the user
by answering the questions asked by them. The program is
implemented using Java programming language. Particularly,
one uses the Java applets. Applets are used as it is easy for it
to create dialog boxes needed for communication between the
user and the chatbot. Detailed implementation is given below :
A. Fundamental Design Techniques and Approaches
Creating the dialog box
The variety of packages needed for making the dialog box are
transfered. The text area and size of dialog box is already
given. To scroll the screen during the conversation a vertical
scrollbar is used. As the size of the horizontal dialog box is
not fixed it is not used. The conversation always takes place
vertically and never horizontally.
B. Creating a database
Two dimensional string arrays are used to build a database to
store data. Arrays contain rows and columns. All the rows are
used for request and response. Even rows contain request and
all the odd rows contain answers or responses. Columns in the
given array are applied to store and save various types of
questions that a chatbot has to answer. Default responses are
stored in a different row in the array. And this row is not used
for storing any other data. When the matching question is not
found in the array then the default response statements are
used.
C. Modules Description
The description of the modules are as follows[6]:
Chatbot()
In this function, all the variables that are used for creating the
dialog box is added.
There is a default close operation set to EXIT_ON_CLOSE so
that the dialog box closes whenever it is exited. It requires
background colour. And it is set using the built set
Background() function.
Random()
The input is given by the user. and the same is accepted using
text(). By using trim() function all the punctuations are
removed. Uppercase letters are converted to lowercase. There
is a variable response. And this is used to hold a byte value.
This value is set to 0. When the response is 0, the database
finds a match for input given. It is then returned as a response
and is later displayed on the dialog box in the text area. And if
the response is 1 then no match is found in the database. In
such cases a default response will be returned. The function
Random() is used chose responses stored in database[7].
AddText()
This function is used to add all the strings and texts used for
input and output. They are added in text area part of the dialog
box.
InArray()
This is specifically used to match the pattern. Variable
matches are used to hold the Boolean values. It is then set to
false. If a match is found for inputs given by the user in the
database then true is returned orelse false is returned. The
result is now returned to keypressed() function. This result
will then be displayed on the dialog box.
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 20 (2018) pp. 14644-14649
© Research India Publications. http://www.ripublication.com
14647
Google APIs:
Google APIs are program interfaces. They were developed by
Google. They help us in authorization with services provided
by Google. These APIs include gmail, maps, search etc. Third
party apps can use these APIs for authorization. If they need
to access Google’s services [9].
Calendar API:
Anyone can use Google calendar APIs to find out and view
calendar events. Both public and private events are accessed.
Our main function is to set up meetings and updates like a to-
do list. Also our chatbot can be set so the user is reminded of
his schedule regularly. Events on this calendar can also be
acquired and altered easily at the click of a button.[10].
EQUATIONS
AND
ALGORITHM
Chatbots have always fascinated humans with there self
operating technology. Day by day chatbot technology is
becoming more like humans and more automated along with
being more interactive. Chatbots are known for their
impulsive responses and persistent connectivity. These
tempting features have made them capable of replacing the
ongoing trend in web application.[5]
Working of a chatbot:
The input that the user gives in the form of text is first
analysed and processed by a “classifier”. A classifier is a
software function present in the system. The output of the
classifier is then associated with a conversational intent. This
intent is the one that is responsible for the responses of a
chatbot.
Figure 2. Example of a chatbot.
A classifier can be thought of a method of categorizing a
sentence under some categories. The sentences are the input
from the user and the categories are the intent which is
responsible for a response. So, if a user asks “How are you”
then it can be considered as a classifier and responses like
“I’m good” or “All fine” can be considered as intents.
Classifiers can be divided into three types.
i. Pattern matchers
ii. Algorithms
iii. Artificial Neural network
i. Pattern Matchers
Pattern matching is the most effective and commonly used
concept in chatbots. Pattern matching is used to categorize a
text input given by the user to generate appropriate response
for the user. AIML stands for “Artificial Intelligence Markup
Language”. It can be considered as typical framework for
pattern matching.
An easy pattern matching example:
Figure 3. Example for pattern matching
ii. Algorithms
In chatbot technology for each kind of input given by the user
a distinct pattern is stored in the database. These patterns help
in providing users a suitable response. The use of algorithms
is to reduce the classifiers and to create a large combination of
patterns. These patterns generally follow a hierarchy which
creates an effective and manageable structure. These
algorithms follow the basic algoritm called Multinational
Naive Bayes.
For example, assume a set of words are given which belong to
a specific class. With each new input of a word, each word is
counted for its occurrence. And each class is assigned a score.
The highest score in the class is the closest to be linked with
the input word.
Few sample Input sentence classification:
Input - “Hello good morning”
term - “hello” (no matches)
Term - “good” (class: greeting)
term: “morning” (class: greeting)
classification: greeting (score=2)
With the help of such an equation, word matches are noted for
each class. Classification scores identify the class with the
most term matches. But it also has certain limitations. The
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 20 (2018) pp. 14644-14649
© Research India Publications. http://www.ripublication.com
14648
score explains that which intents to most likely match the
sentence. There is no certainity that it is perfect.
iii. Artificial Neural Networks
Artificial Neural Network are used to calculate the output
from the input given by the user with the help of weighted
connections. These weighted connections are generated from
recurrent iterations during the processing or training of the
data. At each step of training or processing the data the
weights are modified. These modification in weights result in
an output with utter accuracy.[4]
Figure 4. Artificial neural network.
In Artificial Neural Network, each sentence given as input is
divided into separate words. Each word is then used as an
input for the neural network. There can be many different
kinds of neural network and pattern matchers but as the
complexity increases the output of the chatbot becomes more
accurate.
NLU (Natural Language Understanding):
It consists of three concepts:
Entities:
Entity can be considered as the main ideology of your chatbot.
It can be a payment system chatbot or customer support
chatbot or a resume bot as proposed in this paper.
Intents:
Intents are basically the outputs or the responses that a
chatbnot gives on encountering an input by the user. In short
these are the actions that a chatbot performs when a user gives
a text input.
Context:
In NLU algorithm whenever a sentence in processed or
scanned, the system does not have any information about the
past conversations of the user. it means if a user asks a user,
and the chatbot has given a reponse to that question, but, the
chatbot will not have a record of the question that has been
just asked. So for distinguishing the parts of the conversation,
the states of the conversation are recorded. A state can be a
flag like “school studied” or parameter such as “educational
qualification”.
NLP (Natural Language Processing)
In Natural Language processing (NLP) chatbot uses a
collection of steps that can be a collection of questions to
transform the user’s input text into relevant data and then give
an appropriate answer or response.
These are the steps involved in Natural Language Processing:
Sentiment Analysis:
This analysis keeps a track on the conversations to check if
the user is having a good quality experience.
Tokenization:
The NLP separates the sentence into different words or
tokens. NLP classifies and divides a string of data into small
parts or tokens.
They are differently used for application purposes.
Normalization:
In this step the chatbot looks for misspelled words or any kind
of typing mistakes in the text input by the user.
Dependency Parsing:
In this step the chatbot finds out the subject, verb and object
of the sentence given by the user. It looks for nouns and
related or dependent phrases in the user’s text input to
understand what the user is trying to convey.
Similar to all the web applications present today, chatbots also
need to have a database. The database is the collection of
information and facts that is used to generate a suitable and
most appropriate response to the user. the dat related to all the
activities are stored in the database. So, NLP converts
common human language to relevant information. The
information can be a collection of patterns and relevant texts
that can be applied to get a proper response.
CONCLUSION
Therefore, a chatbot can be used to not only to chat and get
information but it takes artificial intelligence in a whole new
light. The main advantage of a chatbot is that it can provide
services at any given rate. They respond immediately to the
users’ demands with precisely relevant information.
This enhances the rate of the communication operation. In
simple terms, chatbots make your service faster and as a
personal assistant it is the best. You can use it for the
betterment of common people.. They can also be used to
instantly book or buy tickets, rooms, tables and also set
alarms, notes, send reminders regarding meetings, alarms for
medication timings and various other reasons.
International Journal of Applied Engineering Research ISSN 0973-4562 Volume 13, Number 20 (2018) pp. 14644-14649
© Research India Publications. http://www.ripublication.com
14649
REFERENCES
[1] Namita Mhatre, Karan Motani, Maitri Shah, Swati
Mali, “Donna Interactive Chat-bot acting as a
Personal Assistant” in International Journal of
Computer Applications (0975 8887) Volume 140
No.10, April 2016.
[2] M. Dahiya, “A Tool of Conversation: Chatbot” in
International Journal of Computer Sciences and
Engineering, Volume-5, Issue-5.
[3] Carlene Lebeuf, Margaret-Anne Storey, and Alexey
Zagalsky, “Software Bots” in IEEE Software,
www.computer.org/software.
[4] How Do Chatbots Work? A Guide to the Chatbot
Architecture”, https://www.marutitech.com/chatbots-
work-guide-chatbot-architecture/.
[5] Gk_, “Soul of the Machine: How Chatbots Work.”,
https://medium.com/@gk_/how-chat-bots-work-
dfff656a35e2.