Chatbot Project
Chatbot Project
A chatbot is a computer program that can simulate a conversation or chat with a user in
natural language through messaging applications, website, or mobile applications and
interact with users according to their input and should be available 24/7. Chatbots are
developed and became so popular due to the increased use of smart devices and IoT
technology.
Types of chatbots
a. Base-line chatbot:
It is a chatbot that is based on a database and uses if / then logic to create a conversation
flow and that takes a lot of time to ensure the understanding of the question and the
answer needed.[1]
b. AI chatbot:
This type of chatbot is more complex than base-line but it is more interactive and
personalized and needs big data training to be impressive if the problem is matched to their
capabilities.[2]
c. Hybrid Model:
A hybrid approach mixes the Base-line & AI chatbot to make it smart and his behavior more
expected by depending on database and Ai algorithm to work together.[3]
❏ Structured interaction.
You already know about this kind of interaction. You know what your customers will ask and
can design it easily — it's just like an FAQ section of your app or website[4] .
This information will link to your contact information, services, products, etc.
❏ Unstructured interaction.
The unstructured conversation flow includes freestyle plain text. It's hard to predict what
queries will emerge and it looks like an extempore speech competition for your chatbot. the
role of AI comes to lights here, it decodes the context of the text based on NLP analysis.
while the same NLP will provide a voice to the chatbot.[5]
The later choice will need specialized chatbot developers with an understanding of
programming languages, machine learning, and AI. We can use some of the code-based
frameworks to build and handle the chatbot like wit.ai and api.ai.
Classification of Chatbots
Chatbots can be classified based on different parameters, including the service provided, the
knowledge domain, the response generation method, the goal, and the permission, and the
amount of human-aid.
Classification based on the service provided considers the sentimental proximity of the
chatbot to the user, the amount of intimate interaction that takes place, and the task the
chatbot is performing. Interpersonal chatbots provide services like booking services or
searches in FAQ without being a companion of the user. Intrapersonal chatbots live in the
personal domain of the user and are expected to understand the user like a human does.
Inter-agent chatbots communicate with other chatbots to accomplish a task.
b. Using platforms
It is similar to scratch chatbots but the only difference is that you do not have to hire a
specialized developer and use the chatbot builder platforms like Chatfuel, Botsify and Rasa,
it’s not hard or impossible to achieve it. but it’s not possible to create a NLP-enabled chatbot
that can deal with unstructured data.
In this section, we describe a general architectural design and delve deep into the important
parts of each component. A general chatbot architecture consists of five main components,
a User Interface component, a Natural Language Understanding (NLU) component, a
Dialogue Management (DM) component, a Backend component, and a Response Generation
(RG) Component [6], as illustrated in the figure below.