Your Challenges with Classic Customer Service
Regardless of whether you are a travel agency, an insurance company, or a bank, you have to deal with customers that need additional information. There are certainly occasions when one of your customers requires clarification or the case is very specific and the right answers cannot be found on your website.
To help the customer, traditionally a contact form or a telephone number is provided to request further assistance. The contact form requires the customer to go to a computer, explain the problem carefully, and then wait for an answer from your customer service. Because your employees are sometimes very busy with a lot of these inquiries, the customer may have to wait for several days. On the other hand, when a lot of questions are coming in, employees give general answers or find difficulty in understanding the question. Then the quality of the answer provided is not satisfactory and your customers have to ask additional questions, which extends the time until the problem is solved even more.
A somewhat faster way to obtain answers is to engage service staff in call centers. But even this is not without disadvantages. The employees usually look for answers, which in turn can result in long waiting times. Possible errors due to ignorance or fatigue can annoy customers even more. The solution is to find highly qualified service staff that have extensive knowledge and can provide good answers fast.
Imagine a worker who can find answers quickly and never sleeps or tires. There actually are such “workers” – chatbots.
The Advantages of Using Chatbots
Chatbots are virtual assistants that can be used in different versions and for various areas of activity. They represent a text- or language-based interaction option that can be used in contact with your customers, for example. Chatbots provide resource-saving alternatives or supplements to call centers that can process customer inquiries around the clock.
The advantages of using chatbots are:
- Shorter communication channels and digital proximity to customers
- Greater customer satisfaction as a result of faster processes and automated problem-solving for customers
- Improved approach to customers as a result of data-driven marketing
Automation with chatbots is advantageous especially in the case of inquiries that follow a recurring pattern. They can access a database with familiar inquiries, problems, and customer requests. If the bot cannot adequately process an inquiry or if a customer has unclear pronunciation, it is still possible to forward the customer to an employee.
In addition to simple routine inquiries, chatbots can also screen the inquiry, so that the employee already has the appropriate contracts and previous communication available. It is also conceivable to have a preselection of suggested solutions displayed for the service employee. It is even possible to analyze the wording together with additional meta information in order to classify a customer with regard to his or her communication preferences and then forward the customer to an employee with a suitable personality profile.
Text-based chatbots are often used on websites for support or to assist site visitors, or as assistants for messenger services. This allows a great many users to be reached, because chat services such as WhatsApp and Telegram are ubiquitous and now are part of everyday life for most people. The spectrum ranges from questions about the weather, to the ordering of delivery service, to payment transactions.
Assistance systems such as Google Assistant, Amazon Alexa, and Apple Siri are the prominent examples of speech-based chatbots. Meanwhile, such systems are also used in hotlines: Whereas previously only assistants that requested a keyboard input were available, modern chatbots are capable of conversations within a certain context. They are often used for convenient data capture or to control other “intelligent” systems.
The term “conversational AI”, increasingly minimizes the difference between text- and speech-based bots, because the basic technology tries to cover or combine both forms of input. This pays off particularly in the context of data mining, because different conclusions can be drawn from recorded dialogs. The data obtained in this manner can be used to improve the service and your company’s performance in addition to the quality of the chatbot. For example, inquiry trends that point to product defects or growing dissatisfaction with your services early on can be determined in realtime.
How Chatbots Work
The largest barrier for human-computer interaction has always been the lack of ability of computers to understand humans completely. Computers rely on strict formalisms for the input – either through a specific (programming) language or by clicking through defined options. But advances in the field of machine learning, such as text and sentiment analysis, computational linguistics, and reinforcement learning, help not only to overcome these problems, but also to improve the interaction on an ongoing basis. Furthermore, chatbots are not limited to traditional interfaces such as keyboard, mouse, and computer monitor, but can also use other technologies such as smartphone applications and speech recognition.
The improvement of chatbots is reflected not only in the user interaction, but also in the support that they can continue to provide. Connected to other services and knowledge bases, they automate tasks that normally require human workers. Once a chatbot understands what the user wants, it only has to send a request to an API or a database.
The illustration above shows the main elements of a chatbot. This is a general overview of the architecture. The middle part of the architecture is always present and has the task of understanding the users, generating answers, and performing actions. But the concrete implementation of the architecture is based on the conditions and requirements of your respective project. For example, chatbots can capture many of the details required, such as the number of the policyholder and the time and place of an accident, in advance from the dialog with the user and start the appropriate process through a defined interface in the system of the insurance company.
The communication is analyzed by an NLU module (natural language understanding) that analyzes the user inputs. Here, the NLU module detects the intentions of the user as well as the entities, i.e. the meta information about the intention that is involved. Simply put: If a user wants to know what to do in the event of an accident, he will ask: “Which documents do I have to submit to report an accident?” In this case, the chatbot recognizes the documents as the entity and the reporting of an insurance claim as the intention. Intentions can be “smalltalk” intentions like “hello” or “how are you?” or business intentions as in the example above.
The correct action is selected in the next step. This is the basis of the answer to the user. In our example, the chatbot will start a search in the knowledge base and give the user a suitable answer.
Natural Language Understanding
NLU is applied to derive meaning from the inputs of the user. This is achieved by identifying the intention of an input, in addition to an analysis of the information. In the field of chatbots, NLU introduces a human touch to interaction with a chatbot. It is practically impossible to consider every question and answer in advance. A fallback solution for this is to provide standard answers (e.g. “I didn’t understand that”), but this can frustrate end users.
With NLU on the other hand, a chatbot can be trained to react as naturally as possible to unfamiliar questions. Examples of possible questions and associated answers are given to the chatbot for this purpose. Of course, a sufficient number of such examples must be provided. But this is still better than trying to take all possible situations into account.
Dialog management follows the conversation history, i.e. the context, and takes the appropriate measures based on this history and the intentions being expressed. There are many possibilities to control the flow of the conversation: From simple if-then statements to finite state machines. But as conversations become more complex, this can result in an overload if all options have to be considered. One possibility is to have the chatbot identify an objective that the user wants to achieve. Once this is done, it can ask questions until it has everything that is required to achieve this objective. This process of gathering additional information is referred to as slot filling.
A good option is the use of grounding, i.e. if the chatbot is not quite sure what the user wanted in the last input, it can request a confirmation of what it has perceived to be the most probable intention. In our example, in response to the user input that “something bad has happened”, the bot could ask “did you have an accident?”. Furthermore, it is a good practice to use a belief system, because NLU can recognize intentions only with a certain probability. Instead of asking for a confirmation every time, this lets the bot take the conversation in a specific direction. This eliminates the need for constant verification and the user will correct the bot if it responds incorrectly.
Because humans can be unpredictable and change the subject suddenly, chatbots must also be ready for this. For example, if a completely new topic is introduced (“I would like to know more about your automobile insurance plans”), the bot should remove or save the old subject before changing to a new context. Here, it is also advisable to use grounding and perhaps to ask the user again “Oh, so you don’t want to report an accident?”.
Training the Chatbot
Regardless of how we decide to implement dialog management, we have to train the chatbot in any case. The training comprises two phases. In the first phase, supervised learning is used and a lot of manual work is required to add as many (training) phases as possible. The goal is to train the chatbot in such a way that it selects the right answer based on the intentions and dialog history. To do this, a deep neural network is used to create an image between the dialog history and the dialog actions. But to handle the unpredictability of the real world, we can use reinforcement learning in the second phase. The chatbots have to operate in an unfamiliar environment. The aim is to find the answer that maximizes the satisfaction of the user. Thanks to reinforcement learning, chatbots are able to improve even more with increasing use.
In order to reduce the work of training, providers of chatbot platforms like IBM Watson Assistant and Google DialogFlow offer ready-made chatbots. They already contain common use cases for specific areas and require only a certain configuration for a specific situation. Google also announced Meena, a model that was trained with data from social networks and is able to converse about many different subjects almost like a human.
But it is also very important to carry out the training of the chatbots and the transfer to production carefully. Because they are trained with human reactions, they can easily contain elements of insults or hate speech. These elements can be filtered out during the training phase, but when the models are retrained in production, such influences can find their way back into the model. As in the case of small children, the system is unaware of the consequences of such bias and harm that it can cause.
Chatbot / User Interface
Current chatbot solutions also provide the means of communication for end users both with text and with speech. They also offer a form of API to implement your own interfaces. For example, this is especially useful for implementing a customer support chatbot on a website so that the chatbots have the same appearance and the same operation. But such an implementation within organizations may not be desirable, because the employees use already established communication channels and an additional approach would only cause confusion and frustration.
For this reason, chatbot solutions for existing communication platforms are always more popular. They allow for communication with a chatbot over already established channels like those that are also used to contact a person. Many platforms already offer solutions such as integration with Slack, Telegram, or WhatsApp. Users can converse with these chatbots to obtain information, as well as to initiate various automatic tasks, obtain reports, or make database queries.
Connection to Additional Services
The same way they connect to various user interfaces and communication channels, chatbots can also establish a connection to other software services. In the area of software engineering, they can provide support for supply pipelines, help monitor the infrastructure, and create reports. For example, there are chatbots that help create and run load tests and provide the results later. In addition, there are solutions for connecting chatbots to databases, such as for price inquiries, or to services of third-party providers, as in the case of a flight reservation involving multiple destinations and different airlines. In the area of the IoT, chatbots can help in the oversight and administration of a dynamic system landscape because information is easy to retrieve with their help. For example, they can also be integrated into ongoing processes, and in the event of malfunctions, they can ask an employee if a problem should be handled.
The quality and ease of use of chatbot platforms are making them increasingly popular, especially as a means of cost reduction without sacrificing quality. By connecting to other services and knowledge bases, they allow for increasingly advanced applications. Support for chatbots and their quality is improving continuously as their use and acceptance also continue to grow among the population.
Our Chatbot Service
Do you want to introduce a chatbot system in your business and would you like some help? Is your current system getting old and would you like to switch to new technologies? The hurdles are not a big as you may think. There are numerous powerful solutions on the market, so your project does not necessarily require a new development.
We are happy to help you choose the technology and integrate chatbots into your infrastructure:
- In an initial discussion or workshop, together we will first explore your situation and constraints, discuss your business goals, and look at possible or necessary interfaces for your existing services. Together we will work out a possible roadmap.
- In the next step, based on our experience, we can choose the appropriate technologies for your requirements precisely and plan the implementation with you in detail. Together with you, we will also determine whether an existing system or service in your business can be integrated, or whether your specifications require a customized development, which we will happily implement for you and with you.
- In the third step, we integrate the project into your structures and see to it that all the desired features function seamlessly. We attach great importance to an agile approach that allows us to work iteratively in close cooperation with you to provide transparency and an excellent flow of information.