0% found this document useful (0 votes)
35 views4 pages

Programming Challenges of Chatbot Current and Future Prospective

Programming challenges of chatbot Current and future prospective
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
35 views4 pages

Programming Challenges of Chatbot Current and Future Prospective

Programming challenges of chatbot Current and future prospective
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 4

2017 IEEE Region 10 Humanitarian Technology Conference (R10-HTC)

21 - 23 Dec 2017, Dhaka, Bangladesh

Programming challenges of Chatbot: Current and Future


Prospective
AM Rahman1, Abdullah Al Mamun1, Alma Islam2
IEEE1, International Islamic University Chittagong2
[email protected], [email protected], [email protected]

Abstract— In the modern Era of technology, Chatbots is the generator is doing all the domain-specific calculations to
next big thing in the era of conversational services. Chatbots is a process the user request. The response selector just scores all
virtual person who can effectively talk to any human being using the response candidate and selects a response which should
interactive textual skills. Currently, there are many cloud base work better for the user.
Chatbots services which are available for the development and
improvement of the chatbot sector such as IBM Watson, Microsoft
bot, AWS Lambda, Heroku and many others. A virtual person is
based on machine learning and Artificial Intelligence (AI)
concepts and due to dynamic nature, there is a drawback in the
design and development of these chatbots as they have built-in AI,
NLP, programming and conversion services. This paper gives an
overview of cloud-based chatbots technologies along with
programming of chatbots and challenges of programming in
current and future Era of chatbot.

Keywords - Chatbot, NLP, Machine Learning (ML), Artificial


Intelligence (AI).

I. INTRODUCTION
A chatbot is an instant messaging account that able to
provide services using instant messaging frameworks with the
aim of providing conversational services to users in an efficient
manner. A chatbot is fast with less confusing web and mobile
application which is easy to install as there is no need to have
installation packages. These packages are easy to manage and
distribute [1]. Chatbots are totally different from the human
accounts as they do not have any online status or last seen
timestamps nor initiate the conversations and calls with any Figure.2 Chatbots Architecture [2]
other accounts. Figure.1 shows some types of chatbots which
are in used in different domains. Before making communication with a chatbot, the user on the
instant messaging platform initiates the communication by
adding the usernames on its IM account. After initiation, the
signal with chatbot user ID forward to bot server using HTTP
and finally bot push out welcome or out of service message and
after that communication start and the user starts writing the
query as shown in Figure.3

Figure.3 Chatbot working [2]

Figure.1 Chatbots in different domain II. CHATBOT USING ML IN PYTHON


Chatbots are mainly developed is conversational dialog
The overall chatbot Architecture is shown in Figure.2. Intent engine which is built in Python and able to makes it possible to
classification module identifies the intent of user message. respond based on the collections of all the known
Entity recognition module extracts structured bits of
information from the message. The candidate response

978-1-5386-2175-2/17/$31.00 ©2017 IEEE

75
Authorized licensed use limited to: Technische Hochschule Würzburg-Schweinfurt. Downloaded on June 12,2023 at 10:23:09 UTC from IEEE Xplore. Restrictions apply.
2017 IEEE Region 10 Humanitarian Technology Conference (R10-HTC)
21 - 23 Dec 2017, Dhaka, Bangladesh

conversations. A chatbot is now designed in different languages .. |Coverage Status| image::


such as English, Spanish and French. https://img.shields.io/coveralls/gunthercox/ChatterBot.svg
:target: https://coveralls.io/r/gunthercox/ChatterBot
An overview of typical input would be something as: .. |Code Climate| image::
https://codeclimate.com/github/gunthercox/ChatterBot/badges/
| ***user:*** Hi Good morning! How are you and What can I gpa.svg
help you? :target: https://codeclimate.com/github/gunthercox/ChatterBot
.. |Join the chat at https://gitter.im/chatter\_bot/Lobby| image::
| ***bot:*** I am doing very well, thank you and what about https://badges.gitter.im/chatter_bot/Lobby.svg
you. :target:
https://gitter.im/chatter_bot/Lobby?utm_source=badge&utm_
| ***user:*** Thanks and You welcome. medium=badge&utm_campaign=pr-
badge&utm_content=badge
| ***bot:*** Do you like coats?
Platform: any
A chatterbot is the type of chatbot which can use install using Classifier: Development Status :: 4 - Beta
the following basic guidelines at service side. The installation Classifier: Intended Audience :: Developers
can be done from "PyPi" by running the Classifier: License :: OSI Approved :: BSD License
Pip install chatterbot Classifier: Environment :: Console
Classifier: Environment :: Web Environment
The basic configuration code is as follows. Classifier: Operating System :: OS Independent
Classifier: Topic :: Software Development :: Libraries ::
from chatterbot import ChatBot Python Modules
Classifier: Topic :: Communications :: Chat
chatbot = ChatBot( Classifier: Topic :: Internet
'Chat bot, Classifier: Programming Language:: Python :: 3.4
trainer='chatterbot.trainers.ChatterBotCorpusTrainer' Classifier: Programming Language :: Python :: 3.5
)
The chatbot industry is still in the Era of development, but
# english corpus growing very fast.
chatbot.train("chatterbot.corpus.english") Chatbot has the ability to understand the user says and it is
able to choose or generate a response which can be based on the
# Get a response to an input statement current input and on the context of the conversations.
chatbot.get_response("Hi, how are you today?") Chatbot response can be static or dynamic. The simplest
way of static response is that chatbot use the static responses
Training data of chatbot comes with the data utility module from the templates such as The train time is <ft> hours where
which is used to train chatbot and currently it is based on <ft> is a variable which can be computed at the time by the
English, Portuguese and Spanish languages and installation chatbot [3].
work are shown as follows. On the other hand, dynamic response is knowledge base
response which is used to get potential responses and then score
.. _PyPi: https://pypi.python.org/pypi/ChatterBot them to choose the better response. Chatbot generates responses
using deep learning techniques to train generative model which
.. |Package Version| image:: is used to input and generate the answer. Keep in view of this
https://img.shields.io/pypi/v/chatterbot.svg need, there are millions of examples which are needed to learn
:target: https://pypi.python.org/pypi/chatterbot/ by Chatbot to deliver responses.
.. |Requirements Status| image:: Currently, the input is not enough to give the correct answer
https://requires.io/github/gunthercox/ChatterBot/requirements. to the users and the model and implementation logic of chatbot
svg?branch=master along with the notion of context is important [4,5,6].
:target:
https://requires.io/github/gunthercox/ChatterBot/requirements/ III. CHATBOT PROGRAMMING CHALLENGES
?branch=master There are a lot of challenges which are associated with
.. |Build Status| image:: https://travis- chatbots. Some of them are as follows.
ci.org/gunthercox/ChatterBot.svg?branch=master
A. Natural language processing
:target: https://travis-ci.org/gunthercox/ChatterBot
.. |Documentation Status| image:: The first and foremost challenge [7] of the chatbot is to
https://readthedocs.org/projects/chatterbot/badge/?version=sta handle NLP issue by mastering their syntax. If we ask them that
ble " what's the weather?". You will get an answer but what if we
:target: ask "Could you check the weather?" you might not get the
http://chatterbot.readthedocs.io/en/stable/?badge=stable proper answer. Such type of programming issues falls in natural

76
Authorized licensed use limited to: Technische Hochschule Würzburg-Schweinfurt. Downloaded on June 12,2023 at 10:23:09 UTC from IEEE Xplore. Restrictions apply.
2017 IEEE Region 10 Humanitarian Technology Conference (R10-HTC)
21 - 23 Dec 2017, Dhaka, Bangladesh

language processing category which is a key focus for the </category>


companies like Facebook, Google with Deep Text and Syntax
Net respectively. <category>
<pattern>WHAT IS MY University
B. Machine learning
NAME</pattern>
Getting NLP is one aspect of designing and development of
Chatbots while Machine Learning is another aspect of the <template>
Chatbot design and development. Our computer systems should Your dog's name is <get
able to learn the correct response should be which can be name="University"/>.
achieved with efficient programming with AI concepts [8].
</template>
IV. EXISTING PLATFORMS </category>
The selection of platform selection is depended on the
C. Chatbots by tech giants
chatbot which is needed to develop. We have to decide that
whether chatbot will be goal oriented, conversational or goal Tech giants such as Google develop Api.ai, Facebook
oriented with conversational abilities in chatbot? develops Wit.ai, Microsoft develops LUIS, Amazon develops
A conversational chatbot [10] has the focus on the user Lex and IBM develops Watson.
conversations and it does not need to deeply understand that
what the user says and there is no need to remember all the Api.ai Chatbot
context of the conversation. Such types of chatbot can be used
in entertainment. On the other hand, a goal-oriented chatbot is Contexts and Intents are the key concepts of the model of
the most frequent kind of the chatbot for the business and it chatbot using Api.ai as shown in Figure.4. Intents are used to
helps users to achieve tasks such as buying tickets, getting create the links that what user is saying and what action should
particular information or ordering grocery. be taken by the chatbot while the context is the string values
Chatbot platforms can be divided into three major categories. which are used to differentiating the requests which can have
Which is: different meaning depending on requests. When an Api.ai
• Nonprogramming chatbots received a request from the user, it is first classified to
• Conversation-Oriented chatbots and determine whether it is matched with the intents while Api.ai
• Platforms by tech giants' chatbots. proposes default fall back intent which is needed to deal with
the request that does not match with the user intents.
A. Nonprogramming chatbots
The basic type of chatbot is not technically oriented
platforms. Such type of codes is easy to develop without having
strong programming skills and without having machine
learning or the natural language processing expertises. The
basic idea for such type of platform is to not worry about the
technical details. There are a lot of on programming platforms
and some of them are Chatfuel, ManyChat, and Motion.ai.
B. Conversational -Oriented- chatbots
In such type of chatbots, the users are able to communicate
with the bot more proactively. These platforms use Figure.4 Api.ai chatbot
specification languages such as AIML (Artificial Intelligence Api.ai chatbot features
Markup Language) which is used to model the user interactions.
The examples give the code to get connected with the bot with • Using Intents and Contexts, Api.ai can propose a very
AIML. powerful way of the modeling of large and complex
systems.
• Chatbot has the ability to handle the code proactively
<aiml version="1.0.1" encoding="UTF-8">
and decreases server-side coding.
<category> • APi.ai offer one-click integration with the several
<pattern>MY University Name is platforms such as Twitter, Facebook.
*</pattern>
On the other hand, training set is still a big issue and it is not
<template> possible to match the intents when the context is there.
That is interesting that you have a
your University named <set Wit.ai Chatbot
name="University"><star/></set> Wit.ai work on stories as a key concept to model the
</template> behavior of Chatbot. Every story gives an example of all the

77
Authorized licensed use limited to: Technische Hochschule Würzburg-Schweinfurt. Downloaded on June 12,2023 at 10:23:09 UTC from IEEE Xplore. Restrictions apply.
2017 IEEE Region 10 Humanitarian Technology Conference (R10-HTC)
21 - 23 Dec 2017, Dhaka, Bangladesh

possible conversation and it is based on entity concept only V. LIMITATION AND FUTURE OF NLP AND MACHINE LEARNING
instead of intents. In this bot the developers basically teach the As per our discussion, it is quite clear that chatbot needs to
Wit.ai using examples and when a user writes about the similar provide vast logic and linguistic resources which are input,
type of object. Wit.ai will able to process the request and get the output and entities phrases. Chatbot with complex queries
extract entities and apply developer logic on the scenario. Wit.ai handling need high attention in using singular and plural forms,
chatbot is shown in Figure.5. need to take care of synonyms, hyponyms, and finally, the
sentimental analysis should be done carefully [11-12].
VI. CONCLUSION
A chatbot is a rising trend and chatbot increases the
effectiveness of business by providing a better experience with
low cost. A simple chatbot is not a challenging task as compared
to complex chatbots and developers should understand and
consider the stability, scalability and flexibility issues along
with high level of intention on human language.
In short, Chatbot is ecosystem and moving quite fast and with
the passage of time new features are added in the existing
platform. Recent advancements in the machine learning
techniques may able to handle complex conversation issue such
as payments correctly.
REFERENCES
[1] X. Li, J. Niu, M. Karuppiah, S. Kumari and F. Wu, “Secure and Effi-cient
Two-Factor User Authentica-tion Scheme with User Anonymity for
Network Based E-Health Care Applications”, Journal of medical systems,
Figure.5 Wit.ai chatbot Vol.40, No.12, (2016), pp.268.
[2] M. Karuppiah, S. Kumari, X. Li, F. Wu, A.K. Das, M. K. Khan, R.
In this type of chatbot, a story can be seen as a user intents Saravanan and S. Basu, “A dynamic id-based generic framework for
anonymous authentication scheme for roaming service in global mobility
graphs. Chatbot can have branches that are used to trigger on networks”, Wireless Personal Communications, Vol.93, No.2, (2016),
specific conditions which can be existence or these can be not pp.383–407.
specific values which are extracted from the user input. In such [3] M. Karuppiah, “Remote user authentication scheme using smart card: a
way, it leads to define the conversational flow and moreover it review”, International Journal of Internet Protocol Technology, Vol.9,
No.2–3, (2016), pp.107–120.
defines the bookmark mechanism which allows jumping
[4] M. Karuppiah, S. Kumari, A.K. Das, X. Li, F. Wu and S. Basu, “A secure
between the intents and stories. lightweight authentication scheme with user anonymity for roaming
To interact with the server side, it use Bot send commands service in ubiquitous networks”, Security and Communication Net-works,
which is a call to functions and it is possible to set the role of Vol.9, No.17, (2016), pp.4192–4209.
phrases such as in " I want to go London, England from Dhaka, [5] A. Graesser et al., ―AutoTutor: an intelligent tutoring system with
Bangladesh on 30 August", in this way you can state that the mixed-initiative dialogue,ǁ Education, vol. 48, no. 4, 2005, pp.612-618.
first is departure city and second is the destination. [6] R. Hubal et al., ―Avatalk virtual humans for training with computer
Wit.ai allows defining the own entities or able to use the generated forces,ǁ presented at the Proceedings of CGF-BR. Institute
predefined entities [10]. for Simulation and Training, Orlando, FL.
Wit.ai is based on the webhook integration in which [7] D. Field. The Senior Companion: a Semantic Web Dialogue Aamas.
information "bot sends" command into web service and get the [Online]. Available:
results from it. On the other hand, on the server side, we are http://www.ifaamas.org/Proceedings/aamas09/pdf/06_Demos/d_07.pdf
going to expand or create the context of the conversation. The [8] V. Aleven, O. Popescu, and K. Koedinger. [Online]. Available:
outcome sent to Wit.ai can add, modify and delete the context http://pact.cs.cmu.edu/koedinger/pubs/Aleven%20Popescu%20Koedi
variables which are used in chatbot side. nger%20aied01.pdf
[9] C. Lee, S. Jung, S. Kim, and G. Lee. ―Example-based dialog modeling
Wit.ai chatbot features for practical multi-domain dialog system,”Speech Communication, vol.
This type of chatbot offer lot of key advantages which are 51, 2009.
as follows. [10] The Stanford NLP (Natural Language Processing) Group. [Online]
Available: http://nlp.stanford.edu/software/CRF-NER.shtml
• The story concept is very useful and powerful.
[11] G. Pirrò and J. Euzenat: ―A feature and information theoretic
• Branches lead to better control the conversation also framework for semantic similarity and relatedness,ǁ in Proc. of the 9th
conditions on the actions. International Semantic Web Conference (ISWC2010), 2010, pp.
615-630.
On the other hand, it is not feasible to handle stories data and
even stories are powerful concepts, there are the cases, there are
cases where data flow can misunderstand the requests.

78
Authorized licensed use limited to: Technische Hochschule Würzburg-Schweinfurt. Downloaded on June 12,2023 at 10:23:09 UTC from IEEE Xplore. Restrictions apply.

You might also like