The chatbot industry is growing very rapidly! At first, we saw chatbots as a gimmick or a marketing strategy, but now it’s seen as a real business need for companies.

The benefits of having a chatbot are more apparent to companies now.

The importance tech giants like Google, Facebook, Microsoft, IBM and Amazon are giving to the chatbot industry is a strong indication that this technology is the future of customer service.

The task of building a chatbot can seem quite daunting at first. There are a plethora of platforms out there to help a company/developer to build a chatbot. But what platform do you choose? What platform is the best?

Well, put simply; there is no “best platform” to use, it’s all relative to what you would like the bot to do and how smart you need the chatbot to be. If you want to build a very simple chatbot for answering quick questions (FAQs), you can build it in bot builders such as MotioniAi or ManyChat. If you want to build a chatbot that handles complex requests e.g table reservations or online shopping, it may take a much more complex platform to build and will require the use of some code too.

You may need to be able to handle requests in the backend/on your own server. This gives the freedom to create a chatbot as smart as possible. When you build an intelligent chatbot, you need to use an NLP (Natural Language Processing) tool which takes in the users request and using AI, figures out what their “Intent” is. NLP helps to extract valuable information from a sentence, typed or pronounced, and transform it into a piece of structured data. This data can then be passed onto the backend to process the chatbot’s response.

Assume that you are dealing with a travel chatbot and you ask the following:

I want to book a table for 2 at 7:30pm on September 27th

First, the chatbot needs to understand the input. There are two main techniques to achieve this: pattern matching and intent classificationpattern matching approach needs a list of possible input patterns. The input above could match a pattern such as:

I want to book a table for {number} at {time} on {date}

Using this approach the patterns can be read by humans, so the input modelling phase can be somehow straightforward. The problem is that patterns are built manually: it is not a trivial task and it does not scale in several real use cases.

An intent classification approach relies upon machine learning techniques. You need a set of examples to train a classifier that will choose, given a user input, among all the possible intents (e.g. book a table, view the menu, find restaurant location etc.).

 

So which NLP platforms are the best?

Wit.ai – Facebook

PROS

  • Supports 50+ different languages including English, Chinese, Japanese, Polish, Ukrainian and Russian.
  • Unlimited API calls
  • Allows import and export of intents/entities as JSON
  • Can be handled by Facebook before sending the server the message for faster response time.

CONS

  • Has no pre-built intents (domains of knowledge)
  • No 3rd party integration for platforms such as Google Home, Alexa, WhatsApp etc.

 

Dialogflow (Api.ai) – Google

PROS

  • Unlimited text recognition API calls
  • Allows import and export of intents/entities as JSON
  • Plenty of pre-built example intents
  • Supports 18 languages
  • Full use of contexts within the API.

CONS

  • Dialogflow backend UI can become confusing for new users of NLP.

Lex – Amazon

PROS

  • Long list of Pre-built entities
  • Native interoperability with AWS Lambda, AWS MobileHub and Amazon CloudWatch and easy integration with many other services on the AWS platform including Amazon Cognito, and Amazon DynamoDB.
  • Built-in integration with Facebook, Slack and Twilio

CONS

  • No Import/Export Functionality – Makes it difficult to move your model to another NLP platform
  • Supports only 1 language – US English

 

Watson – IBM

PROS

  • Easy to deploy
  • Allows import and export of intents/entities as JSON

CONS

  • Has no pre-built intents (domains of knowledge)
  • Only supports English, Japanese.

 

At Santana Studios, we design and build chatbots using various NLP platforms and NodeJs & Redis for handling the conversation flow and storing temporary data, which allows us to build a chatbot that’s smart, with real-world use cases. We’re wanting to take the chatbot industry to the next level and believe by devoting our time solely to chatbot development, we can focus on building chatbots that are flawless. Take a look at our approach to find out more.