Building an AI Chatbot
Chatbots can provide better customer service and ease the burden on live customer support reps.
Jan 20, 2022
The Role of Chatbots
Chatbots are the unsung heroes of customer service. They provide your customers with quick, easy ways to get the help they need without calling your live customer service representatives.
One of the great ironies of the 21st Century is that we all have phones in our pockets, yet we avoid talking on them.
Chatbots offer your customers a support alternative that they view as easier than making a phone call. The more sophisticated the bot, the harder it is for customers to tell if they’re talking to a machine or a human being.
And because they’re not calling, the demand on your call center decreases.
Chatbots proved invaluable to government agencies during the pandemic. Support needs quickly escalated while these agencies adapted to closed offices and remote workers. To provide citizens with the help they needed, many agencies put chatbots and virtual assistants in place.
The technology’s success led Govtech.com to declare that government chatbots are now a necessity for states, cities, and counties. Their article about the technology points to Connecticut’s COVID chatbot, which logged nearly 40,000 interactions in four months, beginning in March 2020. The state estimates that its one chatbot did the work of four full-time employees during that time.
And in May 2020 alone, the article says, Minnesota’s chatbot tools, “combined with its live chat function, saved an estimated 1,700 hours of staff time that would have been spent addressing those same inquiries using traditional tools.”
Chatbots won’t always deliver the help your customers need, but as chatbot technology improves, your support team will field fewer and fewer calls.
This white paper delivers a brief overview of chatbots and the process of building a chatbot.
What is a Chatbot?
A chatbot is a software application that simulates accurate human responses to your customer’s natural language queries. The most sophisticated chatbots are powered by Artificial Intelligence (AI) and machine learning, but less conversational chatbots simply pull answers from a knowledge base according to a set of rules.
For the purposes of this white paper, we define chatbots as text-based applications, as opposed to voice-based virtual assistants, such as Siri and Alexa. However, both can be built with AI and machine learning to talk with users, making it easier for your customers to find the information and services they’re looking for.
Can chatbots fill every customer support need? No, but rapid technological advancements are making bot responses harder to distinguish from human responses. As a result, chatbots are taking on ever-larger shares of the support burden.
Chatbots are designed for specific purposes, requiring varying levels of depth and complexity. Before you start building a chatbot, you need to determine what type of chatbot you need. This will prevent you from overspending on the functionality you don’t need.
What Can Chatbots Do?
Many chatbots use AI and machine learning technology to process large volumes of data and deliver the correct answer in a human-like way.
Essentially, they act as an improved search tool, enabling your customers to find the information they want faster and easier than typing keywords into a search field.
Chatbots can also be used internally, helping your employees find the answers they need more efficiently and improving productivity.
While it may seem like your users are typing text into a search field, either way, the advantage of chatbots is that they can expose other relevant information the user may not have been aware of.
For example, let’s say a user asks, “Do you have any sweaters on sale?” The chatbot’s response might be something like, “Yes! Here are the 12 sweaters we have on sale right now.” It then would return links to each sweater or a single link to a page on your website that just displays on-sale sweaters. The chatbot might follow up with something like, “Would you also like to see the thermal ware we offer?”
Prescribed rules, scripts, and machine learning enable chatbots to deliver responses that are not only consistent but also improve over time. An example of this would be a chatbot with AI and machine learning using preloaded Q&A information (called intents and responses) to improve its responses over time.
The software “learns from experience” by exploring data and identifying patterns. It then increases the variety of its responses to similar questions and can better understand different variations of the same question.
When natural language processing (NLP) is added into the mix, the chatbot develops responses that sound less like a script and more like how a human would respond.
As the chatbot learns and improves, it can answer more questions for your customers. Such improvement gives your customer service representatives greater bandwidth to respond to customers who need to talk to a human.
Chatbots can also handle multiple users simultaneously—and without the human error caused by overburdened call center staff. With chatbots, your users get consistent responses, too. No more “when I called before, they told me something completely different!”
Types of Chatbots
Chatbots range from a simpler knowledge base and rule-based programs to sophisticated conversational and hybrid styles. The type of chatbot your business needs will depend on the level of functionality you require.
A knowledge base (or FAQ) chatbot is preloaded with a set of questions and their corresponding answers. These basic chatbots can answer only the questions that are in their database. You might be able to leverage your existing FAQ content to build a knowledge base chatbot quickly.
Rule-based chatbots are complex decision trees with rules for replying to specific words or phrases. For example, if a customer asks, “How do I return a purchase,” the chatbot either provides the most probable response, requests further clarification, or delivers a range of possible answers.
A rule-based chatbot is most useful for helping a user navigate multiple layers of content. Use cases include booking a flight, making a restaurant reservation, checking rental car availability, and other tasks.
Conversational chatbots involve AI, machine learning, and natural language processing (the ability of software to understand human language as it is spoken and written). These technologies give conversational chatbots the ability to search deeper knowledge bases and return the most appropriate response.
Additionally, they can make connections between questions that your users ask in different ways and even different languages. These chatbots add data from conversations with specific users to the knowledge base and use that data to improve future responses.
If your chatbot includes predictive intelligence, it can even make recommendations based on a customer’s previous interactions. If you’re running a streaming content service, for example, predictive intelligence chatbots can suggest videos similar to those a customer has previously viewed.
Conversational chatbots provide a streamlined user experience by delivering only the most relevant content. It determines what is relevant for each user based on the context of the interaction and the user’s input.
Hybrid chatbots have some rule-based functionality, but they also understand human intent and context. They combine rule-based and scripted features with natural language processing and machine learning to gather more data about your customers.
Hybrid chatbots learn over time through the use of predictive features. With the data they learn, they can provide more conversational responses. They understand not only a question’s context but also the user’s intent in asking it, which they also learn over time.
Like a conversational bot, they respond with complete answers that become more useful the more they learn. You can then repurpose the data they know about a customer to help improve targeted marketing campaigns and similar efforts.
How to Build a Chatbot?
Once you decide which type of chatbot best suits your needs, you’re ready to start planning and building your bot. How you approach your chatbot build depends on your team’s experience and knowledge level.
Even if you have experienced developers on your team, you might not have someone who has built a chatbot before. Without that first-hand experience, creating a chatbot can be challenging.
Fortunately, you have options. You can build a bot from scratch (the most challenging option), use chatbot creation software, or rely on Facebook Messenger.
Building a chatbot from scratch requires a high level of technical knowledge, strong coding skills, and experience developing software from start to finish.
In addition, you’ll need a platform for building and hosting the chatbot. According to user rankings on G2, the top 10 chatbot platforms are:
- IBM Watson Assistant
If you don’t need the hosting end, you can use a chatbot framework. These frameworks give you the database tools, analytic features, and AI capabilities you need. Some popular chatbot frameworks include:
- Microsoft bot framework
With Chatbot Software
If you don’t have developers on staff who have chatbot experience, there’s chatbot creation software. These low-code/no-code tools give people with no development experience the ability to build a chatbot. Some will even create the bot for you.
While the chatbots created with such software may not be highly sophisticated, they may have the functionality you’re looking for. Some of the most popular chatbot builders are:
Using Facebook Messenger
Small, medium, and even enterprise-level businesses use Facebook chatbots, making them a very popular option. Facebook offers support for developers who want to build their own bot, but the company supplies user-friendly directions for non-developers, as well.
Chatbots created this way are hosted via Facebook Messenger. You’ll learn a little bit of coding as you go, but it’s a low-code environment that enables beginners to create a bot on their own. The company even provides sample bots and code samples.
Your users can access the chatbot on Facebook directly or from your homepage.
How to Train Your Chatbot?
After building your chatbot, you’re ready to train it to have human-facing interactions.
Training your chatbot is a comparatively simple but exceedingly repetitive task. How much training your bot will need depends on how “smart” you want it to be. A simple chatbot (e.g., one that responds to frequently asked questions and scripted inquiries with pre-generated responses) won’t need as much training as a complex bot that can understand and accurately respond to natural human language.
Define Your Audience
To train your chatbot to talk to your customers, you first need to know your customer. To know your customer, you must collect and analyze the information you already have about them—their gender, age, location, language, income, industry and job title, hobbies and interests, buying behavior, and any relevant problems or challenges they face.
All of that data makes up the buyer persona. Buyer personas give you a picture of your average customer. They are standard marketing tools, so your marketing department may have already done the work for you.
Once you know who your bot will be talking to, you need to know what they ask your chatbot. Your customer support department should be able to tell you the most common reasons people contact them. Not only will this tell you the most popular issues your chatbot will need to handle, but the support representatives may even have scripted responses you can use for training.
Categorize Common Requests
Once you know who you’re talking to and what they commonly ask, you must categorize their requests. Each category should represent a topic. Let’s use the topic “returning purchases” as an example.
Within each category, collect the common questions related to the topic. For “returning purchases,” the questions might include:
- How do I start a return?
- When can I return a purchase?
- Where do I send returns?
- Do I need a receipt to return an item?
And so on. Once you’ve done this for the primary customer requests, you are ready to create a dataset to train your chatbot.
Create a Dataset
For each request in a category, you need to come up with different ways your users might ask that request—in other words, come up with as many ways of saying the same thing as possible. For example, “how do I start a return?” could be phrased:
- “How do I do a return”
- “I need to return something”
- “Return purchase”
- “Returning an item”
And probably dozens of other phrasings. The more different phrasings you collect, the better your bot will handle interactions with real customers.
It’s tough to come up with several alternate phrasings on your own. Here again, your customer support team can help. Ask them for their call logs and scripts, email chains, and other recorded customer interactions, then look for the repetitive requests and the different ways they’re phrased. Be specific. Collect as many ways of saying the same thing as possible.
If your support team doesn’t have records, you can find pre-made datasets for training your chatbot. These datasets enable you to train your chatbot’s Natural Language Processing (NLP) ability quickly and are already populated with common questions and answers for basic topics.
The three most popular datasets are the Cornell Movie-Dialogs Corpus, the Ubuntu Dialogue Corpus, and the Microsoft Research Social Media Conversation Corpus.
Test the Bot
Once you’ve got the datasets loaded, it’s time to test your chatbot against real users. You can start with your company’s employees, but don’t end there. Why? Because your co-workers may have unconscious biases toward internal terminology that a real customer wouldn’t use.
If the chatbot performs well in conversations with employees, test it against an external audience—a small group of invited customers, freelance QA testers, or web-based testing tools like Qbox or Botium.
When testing your chatbot, pay close attention to the following aspects of its performance:
- Conversation Flow: Do the responses sound natural? Does the conversation flow logically?
- User Experience (UX): Is the bot engaging? Do users like interacting with it?
- Response Speed: How much of a lag exists between the time the question is asked and the chatbot’s response? Do users feel like it’s slow to respond?
- Response Accuracy: Does it deliver valuable answers? What is its fallback response if it doesn’t have an answer or doesn’t understand the question?
When it comes to training your bot, more is better. The more people that interact with your chatbot, the more training data you get. The more training data, the better your bot will perform in different situations in the real world.
And training doesn’t end once you deploy your chatbot. You’ll want to keep monitoring and improving it as it interacts with the biggest group of test users: the real world.
Tracking Your Chatbot
Once you’re satisfied with your chatbot’s performance under test, you’re ready to deploy it and show it off to your users.
Now it’s time to see the chatbot’s impact on your customers. After your bot goes live and has some customer interactions under its belt, ask those customers about their experience with your chatbot. This can be as simple as a post-interaction survey.
Tracking your chatbot’s performance helps reveal the areas in which your chatbot is struggling. For example, if the bot wasn’t sure how to respond to a situation or gave an incorrect response, you can improve the dataset in that area.
Connecting your bot to analytics tools can also help reveal areas needing improvement. Dashbot.io, chatbase, and botanalytics are three chatbot analytics tools, and there are others, as well. Analytics tools help you improve the structure of the conversational flow based on statistics and user feedback.
Don’t forget to support your chatbot, as well. Have someone monitor the bot’s work during the initial launch period, so they can take over communication with the customer if the bot runs into a problem. You may also want to add a live chat option as a button or train your bot to transfer the user to a real person when a customer requests it.
When implemented effectively, chatbots can absorb an enormous amount of customer support tasks. They free up your staff to respond more quickly to those few customers who need a live response. And they give your customers a better option than making a phone call.
As chatbot technology becomes more sophisticated, bots will become harder to distinguish from human interaction. They’ll take on more tasks to speed customer support and make call centers more efficient. In turn, this will reduce your costs and give your customers a better experience.