Although the technology behind chatbots has existed since the sixties, the industry has seen rapid growth in the past few years. More and more businesses are deploying bots to aid them in marketing endeavours and consumer communications.
The emphasis that large tech entities like Amazon, IBM, Microsoft, Facebook, Google and SnatchBot are putting on chatbots is indicative of the crucial role they will play shortly .
If you want to build and deploy your own chatbot, there are some tools and platforms with which to do so, each with unique integration abilities and levels of complexity. The question is, which one will best fit your needs?
This question can best be answered by your use case or the methodology that identifies and clarifies your requirements—in this instance, for a real-time chat platform. In this post, we will give you an overview of how chatbots work, what they can do, and we’ll see that while they have advanced significantly, there is still some room for improvement.
Before we can fully explore chatbot capability, we first need to take a look at chatbot function—how it works. Essentially, a bot is given input from a user, traditionally text-based, and the bot is programmed to give a response based on its programming. For a bot to accurately respond, it needs to understand what the user said.
Let’s say you are interacting with a chatbot for a travel company. You input the following: “I want to fly to Stockholm, Sweden from New York, USA on 23 March.”
We can safely assume that the chatbot has been programmed to understand the input, generally based on intent classification and pattern matching. The latter, pattern matching, requires possible input modalities, such as: “I want to fly to <CITY> from <CITY> on <DATE>.”
This pattern is easily understood by humans, which makes the pattern modelling rather uncomplicated. Of course, the problem that comes into play is that patterns are created manually, and in a case like this one, does not scale.
The other approach, intent classification, uses ML (machine learning) technology. This is a type of artificial intelligence that can “learn” when exposed to new data, based on a set of classifiers among all possible intents—for example, check flight status, buy a ticket, find the cheapest flight, etc.
Regardless of the approach, the chatbot has to understand the user’s input and reply appropriately. It would likely perform an online search for tickets from New York to Stockholm for the given date. If the user’s input was more complex—say, “I want to travel to Stockholm from New York first-class on the morning of 23 March”—the chatbot’s ability to extract and classify the necessary information would also need to be more complex.
Those are essentially the first two steps, classifying the input and extracting information, in a chatbot’s design. But then it must respond appropriately to the user. Once it understands the request, it may choose from a pre-programmed response, or generate a response, based not only on the current input but also the context of the dialogue. As you can see, chatbots are not quite as simple as they might seem.
There are three types of responses that we’ll look at: static, dynamic, and generated.
A static response is essentially a template in which the chatbot places a variable based on the user’s input. For example, if the input is, “How long is a flight from New York to Stockholm?” The bot’s static response might be, “The flight time is 7 hours, 15 minutes,” with the time itself being the variable that the bot places into the template of, “The flight time is <ft>.”
A dynamic response is one that the bot chooses from a predetermined source, such as a database or the internet itself. Based on the input, the bot would acquire a list of potential responses and, after scoring them for the most relevant, reply with what it believes is the best response. This approach is particularly useful in the case of bots designed to answer a variety of questions.
This third type of response is not entirely honed in chatbot technology just yet, but the developments thereof are very exciting and promising. Generated responses require a plethora of previous conversations to “train” the bot to reply appropriately to a given query. Sometimes results are unexpected, but after millions of examples, a bot can be trained to respond to users with reasonable quality.
As we mentioned earlier, user input is not enough for a chatbot to determine an answer; context is equally important. Using our travel example, let’s say a user asks, “How many bags can I bring?” A chatbot cannot reply to that query accurately unless it knows your travel details. Furthermore, are you referring to carry-on bags, or checked bags, or both? Since a chatbot’s replies are based on logic, it follows that context is very important to the response a user will receive.
Before you can build a chatbot, you must first choose a platform—and before you can even choose a platform, you need to know what sort of chatbot fits your needs. The most common type deployed in business is a goal-oriented bot, also called a transactional bot, which helps users with specific tasks. Our previous example of the travel company bot would be classified as goal-oriented since it helps customers find tickets and obtain specific information.
The other type is a conversational chatbot, which—exactly as the name implies—is designed to focus on having a conversation with a user. Conversational bots are perhaps more widely known to the general public because of their use for entertainment purposes. These bots don’t necessarily need to understand quite as much regarding context and user input; they just need to simulate a dialogue. In business, a conversational chatbot could replace the age-old “frequently asked questions” while giving users a more interactive experience.
The good news regarding the deployment of chatbots is that they don’t usually require years of programming experience; there are some novice-programmer-oriented platforms that make it easy to build a bot without needing all the technical details.
It would be implausible to list all the platforms here, but we tested some of them and found that SnatchBot, Chatfuel, ManyChat, Octane AI, and Api.ai shared some common traits:
- They have a low learning curve.
- They are all task-oriented.
- They facilitate fast bot creation. However, though they all seem very similar, there are important differences in natural language processing power, maturity, and GUI (graphical user interface) usability.
The SnatchBot platform, which has created chatbots for brands around the world, allows your bot to be deployed by some methods:
- SMS (for example, Twilio option)
- Any API (like Twitter, Google Calendar, or Trello, to name a few)
Chat Messenger: Facebook Messenger, Skype, Viber, Telegram, Line, SnatchApp (build once and deploy to conversational channels that reach more than three billion users) Additionally, the SnatchBot platform equips you with the ability to publish your text, voice, or video chatbots easily to all web apps, channels, and chat services, such as Facebook Messenger. And with Node.js integration, so you can perform functions like calling APIs or interacting with any type of database.
Our goal at Snatchbot is to make the process of building your own chatbot as easy and user-friendly as possible for anyone, regardless of the size of your business, user base, or industry.