Chatbot

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 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 it's simple on the outside.

ai chatbot reference architecture

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 are 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 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 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 in order of difficulty 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. 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. 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 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 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, 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 coming from 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 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 automatically learn from the answers we provide to clients
  • 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 of 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 to implement 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 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:

Architecting Solutions

DEMO: Concept Mapping Software

How to use Dragon1 EA Tool

Learn to generate architecture diagrams using repositories
DEMO: BPMN Onboarding Process Example

DEMO: BPMN Onboarding Process Diagram - Measure Rules Compliance

Manufacturing, Financial Solutions
DEMO: Enterprise Architecture Blueprint Template

DEMO: Generate an Enterprise Architecture Blueprint to discover and solve RISK

Banking, Logistics, Healthcare
DEMO: Process Application Map

DEMO: Generate Landscape for RPA AUTOMATION

Retail, Agriculture, Energy, Oil & Gas
DEMO: Strategy Map Template

DEMO: Generate Strategy Map for CLOUD ADOPTION

Government, Logistics, Banking
DEMO: Data Mapping Software

DEMO: Generate Application Landscape for SECURITY

Automotive, Financial Services, Health Care