In the modern world, one of the decisive factors for the work and prosperity of a company is strong trusting relationships with customers. Effective and high-quality customer service is a key task that allows us to analyze customer experience and improve it. The desire to make work with clients more responsive, intellectual and universal is an area of equal attention for both managers, CIOs, and marketing and user experience directors around the world.
While there is a wide selection of off-the-shelf products that allow you to create services like artificial assistants, some companies need to go deeper and create their own solutions to improve their existing customer support systems. For example, help services, dashboards, web and mobile applications for clients with an integrated chat interface.
One such company is Intersvyaz, a Russian Internet service provider with 1.5 million active users. For Intersvyaz to make support services more intelligent and reduce their costs without sacrificing quality of service is not a trivial task. To solve this problem, the company began to use technology of conversational intelligence from DeepPavlov. As a result, the support system improved due to the introduction of an intelligent assistant who began to communicate with users, solve technical support issues and process new applications.
As a result:
- the developed system reduced the average consultation time and eased the burden on call center employees, as a result, they could deal with more complex requests;
- 20% of all requests are now resolved without the participation of call center employees;
- the developed solution reached 85% accuracy in understanding the natural language within the framework of the scenarios embedded in the system.
Intersvyaz – A Russian telecommunications company with 1.5 million users in 20 cities across Russia. The company offers its customers an Internet connection, as well as network equipment and devices. The customer support service processes more than 100 thousand calls to chats and voice channels every month. Customers also contact support through an application provided by the company.
Given the nature of the business of the Internet provider, Intersvyaz has a relatively large support service that provides quick response and processing to customer requests. In turn, the company decided to use NLP (natural language processing) tools to reduce technical support costs and, at the same time, improve the quality of self-service by providing its customers with an intelligent assistant – a chatbot focused on customer interaction.
I heard a lot about Chatbots, but what is it?
What is a chatbot for?
Chatbot is an artificial intelligence (AI) -based solution that communicates with people through the live chat interface. The chatbot analyzes each client request, compares it with known scenarios and, finding the right one, gives a quick response. While some chatbots use relatively primitive phrase matching using technologies such as regular expressions, more advanced ones rely on machine learning (ML) technologies to better understand customer issues.
How do chatbots work?
From the point of view of the end user, after a problem or question has been sent to the company, by phone or chat, the company gives an answer; then this dialogue between the user and the company is focused on solving the needs of the end user.
From a technical point of view, the chatbot is a focused dialogue system that analyzes the user’s request in order to determine the ultimate goal of the user (for example, solve technical problems, buy a product or receive recommendations on maintenance) and process it.
The role of chat bots in customer service
Chatbots are very effective in terms of customer satisfaction and engagement. Automated customer service provides ongoing 24/7 support for quick resolution of requests across all communication channels. Instant service is critical to the success of the organization, and its automation offers the advantage of personalizing communication between the company and its customers.
An additional benefit to companies is the reduction in operating costs of call centers. By providing chat-based user support services to its customers, the company gains the maximum benefit: increasing its revenues through customer retention and reducing call center costs.
Building a chatbot in Intersvyaz
Main communication channels
Intersvyaz has two types of users, internal and external, which use the following mechanisms to communicate with the company:
- Mobile app
- Web and mobile chat
Support staff use:
- Technical support system
- Monitoring systems
When a user sends a request through any of the above channels, he is converted to a text form and then sent to the chat bot’s dialogue system, which then tries to match it with one of the known intentions, thereby identifying the end user’s goal.
From request to intention
To properly analyze and determine the intent of the end user, the Intersvyaz chat bot uses the following machine learning algorithms:
- text normalization;
- morphological analysis;
- semantic similarity;
- classification of intentions;
- Recognized named entities
- filling slots.
The chatbot then converts the identified intent into a call to the internal services — databases or other information systems. Having received the result, the dialogue system prepares the answer in a natural language. In the event that the user’s initial request does not have enough information, the chatbot launches a refinement dialog to collect all the missing parameters for processing the request.
Ready ML models
DeepPavlov’s open source library has a free and easy-to-use solution for building interactive systems. DeepPavlov comes with several pre-trained components based on TensorFlow and Keras for solving specific problems, and also offers tools for fine-tuning models.
The Intersvyaz development team used the following models to create their own solutions, working with the Russian language:
- classification of intentions – Helps determine user intent;
- tonality analysis – helps to recognize the tonality of the text (positive, neutral, negative);
- topic modeling – Helps classify the subject of a user’s request
- question and answer system – Helps to answer a predetermined answer to a known question.
* You can try these and other models in demo version.
A powerful combination of these models allows the chatbot to determine the topic of the client’s request, and then quickly answer a frequently asked question or solve a problem (for example, about monthly expenses, why the Internet connection doesn’t work, etc.). The analysis of moods allows the chatbot to recognize whether additional attention is required from the support service operators of the company for this user.
Even with pre-trained models from DeepPavlov, Intersvyaz managed to increase the number of applications closed without human participation from 20% to 40%.
Intersvyaz developers created a solution that fully covers their needs using fine-tuning tools and the library’s ability to provide their models as containers (Docker):
The DeepPavlov library allowed not only to simply deploy the solution, but also became a very convenient tool for launching standard A / B tests to determine the best models of the company’s interaction scenarios of the bot with the user.
The main advantage of using the DeepPavlov library as a dialog manager is a declarative approach to determining which models should be used and in what order, in configuration files. This approach allowed the company not only to determine what components are required to run the chat bot, but also to track dependencies, as well as provide ways to download the missing trained models.
Operating ML Infrastructure
In addition to the DeepPavlov library, the company used the following auxiliary mechanisms to form and manage its ML infrastructure:
- DVC – A set of tools created for sharing and playing models; used to store and create versions of large training and intermediate data sets,
- MLFlow – An open source platform used to manage the life cycle of ML models; used to track experiments and store artifacts.
These technologies, combined with a comprehensive set of tools for training and deploying DeepPavlov models, made it easy to reproduce and reuse successful ML models.
An end-to-end solution for building a chatbot
Creating a chatbot using ML models requires several key components:
- formation of a dataset;
- model training;
- version control of models;
- model deployment;
- A / B experiment platform adapted for ML models
- Dialog Manager with the ability to flexibly launch various models in accordance with the requirements of A / B testing;
- understanding of intention.
Creating a dataset and version control of ML-models are covered using ready-made solutions in the form of open source libraries such as DVC and ML Flow. The DeepPavlov library provides companies with such opportunities, starting with model training and ending with understanding of intentions and a customizable dialogue for A / B testing through Dialog Manager.
Thus, the complete process of updating existing models was reduced from a few months to a couple of days. As a result, engineers began to devote more time to truly complex tasks: analysis, hypothesis testing, and research.
The next step in the development of the developed system will be the further automation of interaction with clients by expanding the number of covered scenarios, improving the answers of the intelligent assistant, as well as the intentions that the chat bot can process without operator intervention.
While the first chat bots used a combination of simple conditional expressions and text matching, today they use modern machine learning algorithms that are able to understand and communicate with a person in a natural language. Chatbots are no longer just a future trend in customer service; they are already here, and are used in real companies to solve specific problems.
Next time we will share the technical description of this case. In the meantime, start exploring DeepPavlov and don’t forget what we have forum – ask your questions regarding the library and models. Thank you for attention!
At the recent meeting of users and developers of the DeepPavlov library, which took place on February 28, representatives of Intersvyaz company Dmitry Botov and Stanislav Pituganov shared how NLP technologies are applied in the provider’s contact center. You can watch the video here.