Chatbots

Which chatbot platform should you use?

Monday, September 23, 2019
23
Sep
By Andrew Chen, PhD

So you’ve decided that you want a chatbot - now what? Search online and you’ll find a huge number of different chatbot platforms and systems, and it can get a bit overwhelming. To make things worse, very few of these chatbots are actually comprehensive packages - most of them only fulfil one part of what is needed for a chatbot.

What do we mean by that? Well a chatbot can be divided into three key parts:

  • The language engine that communicates with the customer
  • The knowledge engine that stores all of the information that a customer might want
  • The interface with the customer

In many cases, chatbot “providers” assume that you will have some technical staff who can integrate these three components together and build something for your business. Let’s understand the role of each component in a bit more detail.

The language engine is often called the Natural Language Processing (NLP) engine, which interprets the sentences being typed in by the customer. The job of this engine is to take the sentence, extract the different parts of speech, and figure out what the key terms of the query are. In most cases, this is where the AI part of the system is - researchers have trained machine learning systems on millions of queries and sentences and taught computers how to interpret human language.

One of the most popular NLP engines is DialogFlow, which is made by Google. Not only does it understand key terms and extract them out, it can also help keep track of the conversation between the customer and the computer, allowing it to understand context from previous parts of the conversation. An important point to also consider is that DialogFlow supports more than 20 different languages - not everyone speaks English, so if you are trying to reach customers around the world then it is crucial to have a language engine with multiple languages and automatic translation. For an open source option, consider Rasa - it has an active developer community and has been used by large companies all around the world.

The knowledge engine is an element that is often hidden from non-technical users, so you might hear different names for it. Essentially, it is the database of information that the chatbot draws from when it answers queries from customers. For example, if you had a travel agent chatbot, then the knowledge engine would contain all of the flights and their prices. More commonly, companies write pre-prepared responses for the chatbot, so that the responses are well crafted and hit the right messaging. Importantly, the knowledge, whether it is structured (i.e. pre-written responses) or unstructured (i.e. a loose collection of information), needs to be tagged with the right key terms. This is so that when the language engine identifies a set of key terms from a customer query, the knowledge engine can retrieve the right piece of information.

Since this is often just a database, there are relatively few chatbot-specific knowledge engines. However, recently there has been a shift towards creating less technical interfaces that can help people enter knowledge into the system and train the chatbot to find the right piece of information at the right time. For example, QnA Maker from Microsoft lets users put company information in existing formats like product manuals or FAQs, and then processes it automatically to convert it into a format that is usable by chatbots.

Lastly, perhaps the most important part is the interface - how the user ultimately interacts with the chatbot. This may be a surprisingly complicated decision - you can have a chatbot interface on your website, but that assumes that your customers are on your website. Increasingly, chatbots are being made for social media and communication systems, like Slack, Facebook Messenger, Skype, WeChat, and more. There isn’t any clever logic happening in this part of the system usually - it is just a place for customers to talk to the chatbot. Almost all chatbots are still text-based, but in the future we will likely see more chatbots process audio and even video using speech recognition and computer vision to maintain conversations with customers. This is where the rise of digital agents like Soul Machines and FaceMe will enable new ways for companies to form relationships with their customers, although we are still a while away from mass adoption of these technologies.

While it may seem logical to put the chatbot on your website because you have control over that interface, it’s important to consider where your customers are and what platforms they already use. Most of the main platforms offer Application Programming Interfaces (APIs), which allow your language and knowledge engines to programmatically communicate with their systems to receive and send messages. One of the most common platforms for chatbots is Facebook Messenger - they have a huge reach in many countries, and have made it easy to build interactive and engaging experiences for marketing to potential customers, beyond one-way push advertising. Facebook was an early adopter of chatbot technology, and so many customers are used to interacting with chatbots over Messenger. But at the same time, lots of people (particularly younger audiences) are moving away from Facebook, so you might need to consider other platforms to reach them. It is critical that your chatbot presence is where your customers are.

Okay, so now you know that there are three key parts to a chatbot - but there are still a huge number of options out there, so how do you decide if something is good and trustworthy or not? Ultimately, it’s helpful to have a team of experts who have built many chatbots in the past on board to utilise their experience and expertise to make good choices. This is where an AI development company like Spark 64 comes in - our AI engineers and AI architects have built chatbots and recommendation engines for the insurance and retail industries, and have practical experience in what works and what doesn’t. Additionally, the team have partnered with Google for the latest chatbot technologies, which helps ensure that any system they build is reliable and scalable.


The Blog