Introduction
Businesses, both large and small, are reaping the benefits of digitizing their processes with modern technologies such as Artificial Intelligence and Machine Learning. Ever-changing customer needs require businesses to explore new channels and methods to better serve their clients while addressing their own operational inefficiencies. The digital workforce has amplified human resources and increased overall organization capacity. Chatbots are a great resource and provide another opportunity for enhanced business capacity.
A Chatbot is a tool to retrieve information and generate human like conversation; it is mainly a dialog system aimed towards a specific purpose. They offer a simple and friendly interface for browsing information and receiving services.
The Chatbot Industry is rapidly expanding as new technologies evolve. Conversational bots such as Siri, Alexa, etc. attract a wide range of users by cutting the barriers language, education, and ability.
Application of Chatbots
You have likely interacted with Chatbots on informational and transactional websites, but there are many possible applications for an enterprise.
- Our client has nearly 10000 engineers across different geographical regions and serves millions of customers. The Chatbot greatly enhanced the ability of these engineers to serve handsfree in remote and complicated areas. The conversational aspect greatly reduced the number of steps needed to fetch information.
- The Chatbot was deployed at the application level to quickly address the stakeholder needs without having to login into application number of times in a day. Within the first 100 days of their implementation, the productivity of the team was improved by 30%.
- In another instance, one of the development teams trained the Chabot to run automatic tests each time they deploy the new code, which eased their functioning while adding fun to their development activities. The Chabot has become an integral part of their team.
Chatbots not only help enrich customer experience, but also significantly improve the productivity of the internal teams while solving various organizational needs.
Choosing the Chatbot / NLP
There are wide variety of options available. Products and solutions have little variance, but the decision largely depends on the following factors:
- Systems / Solutions
- Integration with the legacy applications / solutions
- Integration with business applications
- LDAP, SSO, and other Security Solutions.
- Technology Stack – MEAN / MERN / Python / Java Script
- Programming Languages – Python / Java script
- Cloud Infrastructure – AWS / AZURE / Rackspace
- Databases – Oracle / IBM / Bigdata
- Operational Applications – HR, Finance, Service Management,
- Business Need
- Domain of business
- Nature of business
- Size of business
- Demography of the users
- Number of Customer Service Representatives
- Inventory of Tasks
- Complexity of Tasks
- Other Key Aspects
- Security constraints
- Data storage
- API access
Note: Radiant can help in determining the right product and solution using an evaluation matrix mapping to your business and technology needs.
Designing and Developing the Chatbot Framework
Chatbots need an interface where the user can make a request through dialog or keyboard, an NLP service to understand and interpret the command, and action handlers to connect with applications and retrieve the information so that the Chatbot can respond to requests.
In addition, it requires secured connections, authentication and authorization, data storage, dialogs, intents, orchestration services to synchronize requests from different users, messaging platforms, and channels of service. Designing and building the framework is essential.
Figure 1: Chatbot Framework
Best Practices
- Decouple the dependency between User Interface and NLP Backend – Every NLP comes with their own interface. It is in the best interest of an organization to develop their own interface and access NLP service through APIs. This helps changing the NLP service without much hassle.
- Save the intents and dialogs within the local database – This not only improves the performance but also keeps independent of the service provider.
- Design for multiple Bot Instances – Enterprises may either use one instance to cater different business lines or use different instances with different names. Therefore it is better to design for multiple instances.
- Develop different services – When different instances of Chatbot are required, it is important to develop different services for Training, Testing, etc., so as to easily comply with multiple versions of different instances.
Developing or Training the Chatbot
Chatbots need to understand the following to respond to user questions:
- What is the user talking about? (Intent)
- Did the user mention anything specific? (Entities)
- What should the bot ask to get further details from the user? (Dialog/Maintaining Context)
- How to fulfill the user request? (Response/Fulfillment)
In an organization, business users identify the skill, Chatbot developers or IT developers develop the skill, Center of Excellence manages the process, and Management team oversees. The typical process looks as shown in the below diagram.
Figure 2: Skill Development Process
Best Practices
- Build Intuitive Interface / Digital Service Layer – Based on number of skills to be developed, it is essential to develop custom interfaces where dialog flow of the Chatbot can be visually depicted in process flows. It enables non-IT users to build the intents with much ease.
- Codeless / Non programming – As mentioned before, more skills Chatbot is equipped, the better it becomes. Codeless development kits are essential to enable non-IT users to build the skills.
- Catalog the Tasks – Using Business Architecture diagrams, Functional matrices, Operational databases, analyze and catalog different tasks users perform and the identify the frequency of the tasks. It helps in understanding the scope of skill development.
- Define Intake Process – The request to develop skills may come from different corners of an organization. It is important to establish intake process using a ticketing system and workflow tools.
- Prioritize the Skills based on the business value – Sometimes requests to develop the skills may inundate the development teams. Establish the criteria to prioritize based on the business value. Often the prioritization follows 80:20 rule.
- Build Skills Library – As users find the benefit of using Chatbot, they will be gravitated to develop more and more skills and may result in redundancy. Hence it is important to build and manage Skills library with proper identities so that they can check the library before developing a new skill.
- Avoid Intent Conflict – The same intents can bring different results based on the context of the user and business. It is important to maintain the integrity of the intents.
- Make Regression Test Suite part of CI/CD Pipeline – In order to allow quicker deployments, it is important to test the dependency prior to check-in into production
- Promote the skills seamlessly across DEV/ UAT / Staging / Production – The process of promoting skill into production includes many components that are native and non-native. Automation of this process quickens the promotion of skills into production.
Structuring Chatbot Teams – Roles and Responsibilities
Enterprise Chatbot team structure can vary according to the organization but some roles such as the NLP Expert are key. In a centralized governance model across the organization, the team composition and their responsibilities look like in the following table. Chatbot Lifecycle Management and Skill Development can be centrally managed using Chatbot Center of Excellence, Community of Practice, or a Shared Service model.
Figure 3: Chatbot Team Composition and Responsibilities
Measuring the Chatbot Rewards
Chatbots work tirelessly and are characterized as least paid work force with maximum output. The benefits easily outweigh the costs, and the ROI is much quicker in comparison to other solutions. However, it is important to measure from time to time to check the rewards and make necessary improvements. During the early stages of adoption, it is important to standardize the processes and scale in a predictable manner.
Figure 4: Adoption Metrics
Figure 5: Metrics Dashboard – Replace later