Why is a Chatbot so important?
A chatbot is a concept that interests almost any organization. Chatbots provide a customer-friendly answering service, so they fit into many strategies.
The challenge, however, is to implement a chatbot correctly (added to all kinds of applications, like websites and web shops) so they deliver benefits to customers. A chatbot is an Artificial Intelligence (AI) solution, so it's complex on the inside and simple on the outside.
Enterprise Architecture Diagram (Concepts Overview), showing the Chatbot concept.
The concept description and visualization on this page are intended to make it easier to make the chatbot concept and its principle part of the Enterprise Architecture
Chatbots are the new Thing
In 1966, researchers were already working on the predecessor of the chatbot, but around 2015, a new type of software application introduced itself to the world: the chatbot. Since then, more and more organizations have been making use of chatbots. Many startup companies are building chatbots. Companies like Microsoft, Google, and Facebook are introducing tools and frameworks and building smart assistants on top of these frameworks to make it easy to use a chatbot.
Chatbots incorporate artificial intelligence (AI) to be able to provide tailored answers to a variety of questions.
Chatbot Definition
What is a chatbot? A chatbot is an applicative solution, like a computer program, designed to simulate a conversation with human users, especially over the internet.
Types of Chatbots
There is not one type of chatbot. In practice, we see the following types occur often, each with its specialization:
- Generative Chatbots - generate their answer
- Retrieval-Based Chatbots - retrieve their answer
- Pattern-Heuristics Based Chatbots - use sophisticated pattern search techniques to find their answer
- Machine Learning Chatbots - create new patterns and templates themselves to be able to return answers that were not preprogrammed.
The chatbot types are listed as difficult to build. Machine Learning Chatbots are the most difficult ones to build.
Chatbots make use of language analytics technologies. These technologies are called:
- NLP - Natural Language Processing. An application can digest and break down an incoming question message from a user as language so an application can process it. It also has the ability to analyze the input, construct an answering message in the natural language, and post it back to the user.
- NLU - Natural Language Understanding. It is a subset of NLP and focuses on how to most effectively structure and model the input for optimal processing by an application.
- NLG - Natural Language Generation. It is the ability to generate a message in the form of natural language.
Chatbot Principle
How does a chatbot work? What is the principle of the chatbot concept?
Architecture is a coherent set of concepts of a system or a structure. The way a concept works is the principle of the concept. A principle is a working mechanism, not a general rule or guideline. To successfully implement a chatbot, an architect must know and understand the principle of the chatbot concept.
To describe the first principle of a generic chatbot, a statement that catches the whole working mechanism in one sentence that everyone will agree on, is hard to do.
A principle statement agreed by many is: "By having an intelligent (self-learning) answering mechanism that makes use of selection and decision techniques, it is ensured that an application is capable of always answering questions with a certain context, without the exact answer or question being programmed and with that can give ever better and more answers than humans and can replace humans for this task, without it even being noticed by the users of the chatbot."
But next to these first principles, there are many other principles to describe the way that (parts) of the chatbot work, like the NLP principle. When you use a chatbot, make sure you are using and referring to literature to make use of actual working principles.
By knowing the principles (working mechanisms) of a concept, you know the key elements. In this case, the answering mechanism, application, answer, question, human, user, selection module, and decision module. These key elements need to be in place, or else it won't work.
Now you can use this knowledge on principles and elements for various couple things, but mainly for these:
- Provide vendors with a reference architecture so they can report back how compliant their solution is to this architecture.
- Check yourself the Chatbot solutions that are present in the organization in compliance with the reference architecture.
- Visualize the compliance of all applications, modules, interfaces, data, processes, and activities with the Chatbot Reference Architecture.
- Report to others the impact of change it has on other processes and applications to implement the Chatbot.
Chatbot Requirements
Chatbot is a concept that can be made part of enterprise architecture, and then the principle of the chatbot concept becomes an architecture principle.
Depending on the strategy and other requirements from key stakeholders, an architect can propose that the chatbot concept is needed or required for the company based on their issues, needs, and concerns.
The architect bases this on personal experience and knowledge of the principles and results of the concept.
Common requirements that make architects propose the chatbot concept:
- We need to increase the number of shoppers on our site. We can instantly help and answer personally
- We need to increase the capacity of our service desk
- We need to be able to learn from the answers we provide to clients automatically
- We need to be less dependent on certain vendors and service providers
Chatbot Question and Answer Example
Suppose that you ask a chatbot on a supermarket website the following question:
Where do I find brownie cookies in the assortment that contain 0% real sugar and also no sugur substitute?
This question must be structured into something like this to be able to look for an answer and produce an answer with a typo:
- Fragment 1 (recognized question): where do I find?
- Fragment 2 (recognized product): brownie cookies.
- Fragment 3 (recognized product): assortment.
- Fragment 4 (recognized context): question on availability and location in the assortment.
- Fragment 5 (recognized attribute): 0% real sugar.
- Fragment 6 (recognized typo): sugur instead of sugar.
- Fragment 7 (recognized attribute): no sugar substitute.
- Answering fragments: answer whether or not available, point out the location, and provide alternatives that do not match fully.
The answer from the chatbot may be:
Hello, Ms Jones, thank you for asking.
Unfortunately, the brownie cookies you are looking for are currently not available.
We do, however, have brownies without real sugar in the Cookies Section of the assortment,
but they do contain substitute sugar.
Chatbot Model
A chatbot is almost like a normal software application, but in the case of a chatbot, the user interface is replaced with a chat interface.
Chatbots are easy to use for users, but inside, they can be very complex.
Below is a simple reference architecture diagram that shows how a chatbot can be modeled and which key elements make sure a chatbot is capable of answering a question as provided above.
A chatbot can only work if all these key elements are available. With this, solution designs can be checked for the presence of these key elements.
A chatbot often consists of four layers, which are shown in the diagram:
- a presentation layer containing a chat client and chat UI software.
- a business logic layer, containing a search and retrieval/answering mechanism
- a data layer, containing a database with questions, answers, patterns, and templates
- a communication / API layer, containing external API services.
Chatbot Standards
There are some development and application standards that the elements (the logical parts) at best comply with. There are also integration and security standards that best help implement chatbot work.
Example standards are:
- Open Source
- Web based
- Three-tier / modular based
- AIML or ALICE
- REST API
- GraphQL
- GDPR compliant
In practice, you will have more standards, but the standards provided here give you a basic idea of what you can consider.
As it goes with the principles, you can also use the knowledge of Chatbot standards to check your process and application landscape for compliance and the impact of change on these standards.
Image Moderation Chatbot
A special extension to a chatbot is image moderation. Sometimes, people upload pictures that do not comply with policies or pictures that need to be removed immediately after the chat session.
In this case, you can extend the chatbot with image moderation. If you follow this link, you will see an example design of a Reference Architecture for an Image Moderation Chatbot
Read More
You might be interested in the following links: