Chatbot Concept

Why is a Chatbot so important?

A chatbot is a concept that is of interest to almost any organization. Chatbots provide a customer friendly answering service, so it fits in many strategies. The challenge, however, is to implement a chatbot in the correct way (added to all kinds of applications, like websites and web shops) so they really deliver benefits to customers. A chatbot is an Artificial Intelligence (AI) solution, so it's complex on the inside and it's simple on the outside.

The concept description and visualization, on this page, is intended to make it more easy to make the chatbot concept and its principle part of the Enterprise Architecture.

conceptual enterprise architecture diagramEnterprise Architecture Diagram (Concepts Overview), showing the Chatbot concept.

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 really introduced itself to the world: the chatbot. Since then more and more organizations are making use of chatbots. Many startup companies are building chatbots. Companies like Microsoft, Google and Facebook are introducing tools and frameworks and build smart assistants on top of these frameworks in order to make it easy to make use of 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 the 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 their own 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 (very hard
  • Machine Learning Chatbots - create new patterns and templates themselves in order to be able to return answers that were not preprogrammed.

The chatbot types are listed in order of difficulty to build. Machine Learning Chatbots are obviously the most difficult ones to build.

Chatbots make use of language analytics technologies. These technologies are called:

  • NLP - Natural Language Processing. It is the ability of an application to digest and break down an incoming question message from a user as language, so an application can process it. And also the ability to analyze the input and 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. In order to be able to implement a chatbot successfully, 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 mechanisms 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 make 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 works, like the NLP principle. When you use a chatbot, make sure you are using and referring to literature, in order to be able to make use of actual working principles.

By knowing the principles (working mechanisms) of a concept, you know the key elements. In this case, answering mechanism, application, answer, question, human, user, a selection module and a decision module. These key elements need to be in place, 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 on compliance with the reference architecture.
  • Visualize the compliance of all applications, modules, interfaces, data and processes and activities with the Chatbot Reference Architecture.
  • Report to other 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 coming key stakeholders, based on their issues, needs and concerns, an architect can propose that the chatbot concept is needed or required for the company.

The architect bases this on personal experience and knowledge on the principles and results of the concept.

Common requirements that make architects to 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 automatically learn from the answers we provided to clients
  • We need to be less dependent on certain vendors and services 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, in order to be able to look for an answer and produce an answer 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 and point out to the location and provide alternatives that are not matching 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 of these key elements are available. With this, solution designs can be checked for presence of these key elements.

dragon1 chatbot reference architectureA chatbot reference architecture

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 and pattern 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 to. And there are also integration and security standards that best help to make an implementation of a 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 of course, but the standards provided here give you a basic idea of what you can take into consideration.

As it goes with the principles, you can also use the knowledge on Chatbot standards to check your process an application landscape for compliance and 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:

SaaS platform for Enterprise Architecture. The best option a CIO has for Technology Innovation and Digital Transformation.

© 2019 Dragon1