What is a chatbot?

A chatbot is a dialogue system that can establish communication between a human and software. The way it works is that a human enters a message as text input or by means of spoken language and the chatbot responds to it by means of a meaningful answer. In this form, a conversation is to be established in which the bot responds to the message. Databases or through machine learning or Deep Learning is trained and can thus optimise the responses.

To strengthen the appearance of communication with a real counterpart, chatbots are often used together with so-called avatars. This is a virtual person or identity with a photo, name and fictitious human characteristics.

Basically, a distinction is made between 2 types of chatbots. Those that allow free text input and those that are based on rules. In rule-based bots, input options are suggested which can be selected in order to establish communication. Free-text bots, on the other hand, allow free input and are based on the so-called "free text". Natural Language Processing (NLP). This is a method in which machines can understand and interpret human language.

The difficulty lies in the correct interpretation of grammar and the challenge of correctly understanding the meaning and context of sentences. Machine learning is used for this case, whereas this is not necessary when using rule-based bots.

Programming and technical basics

Chatbots can be written in many different programming languages, such as PythonJava or PHP. With a library called "Chatterbot", Python offers a prefabricated framework construct in which Training data are stored in so-called corpora, which bots use for independent learning.

In addition to the possibility of setting up a chatbot on your own, there are also a variety of ready-made open source chatbot development frameworks such as "Microsoft Bot Framework", "IBM Watson" or "Botpress", which can often be created without programming knowledge and also offer interfaces to social services as well as analysis options.

All solutions (whether self-programmed or assembled using an open source modular system) are based on the same principle, responding to a human input with an output with the highest confidence level of the available data and incorporating the quality of the response for subsequent conversations.

Areas of application for chatbots

The areas of application for chatbots are very wide-ranging. For example, they can be used in the following areas:

  • Helpdesk: In this use case, the customer interacts with the chatbot to request a Answer a problem or question. In the first step, this method is intended to replace contact by e-mail or telephone and offers the customer the advantage that, in the event of success (around the clock), he or she is presented with an immediate solution or answer. If the conversation with the bot is unsuccessful, it is often possible to contact the customer via conventional means. Through automatic data collection, the bot learns with each question from a customer and can output this learning in the future.
  • Purchase advice/product recommendation: In online shops, this type of bots, also called Called a service bot, often used to offer "personal" advice based on individual preferences. The bot filters suitable products or services based on the questions asked and answers given and offers them to the customer. In a way, this is intended to correspond to personal advice on the internet and to collect data on preferences and trends through immediate customer feedback.
  • Internal application in the "back officeCompanies can also use bots within their own company without external customer contact. Here they are suitable for example as a contact point for internal questions and also for classifying and categorising messages, contributions or applications. The distribution of messages to responsible employees can also be taken over by bots.