(2017-01-31) Building A Chatbot Analysis Limitations Of Modern Platforms Tryolabs

Building a Chatbot: analysis & limitations of modern platforms - Tryolabs Blog

depending on the use case addressed by the chatbot, some platforms are more appropriate than others.

sometimes custom natural language processing (NLP) and machine learning (ML) components are needed to achieve the desired results.

General chatbot architecture

understand the input

information extraction on the input to extract the important entities

Responding to the user

Dynamic responses

list of potential responses, and then score them to choose the better response

Generated responses

Do not forget the context of the conversation

Existing platforms

Before you can choose a platform, you must know what kind of chatbot you are trying to build. Is it a goal-oriented, conversational or goal-oriented with strong conversational abilities chatbot?

we can distinguish three families among the existing platforms:

  • No programming platforms.
  • Conversation-oriented platforms.
  • Platforms backed by tech giants.

No programming platforms

even if at a first glance they seem very similar, there are important differences in maturity, GUI usability and natural language processing power.

Conversational platforms

These platforms typically use specification languages such as AIML

The most known example of this kind of platforms is Pandorabots.

It could be difficult to scale if patterns are manually built

Platforms backed by tech giants

For diverse reasons, at Tryolabs we have focused on Api.ai and Wit.ai.

When you model a chatbot, you understand immediately that one of the hardest parts, if not the hardest of all, is the modeling of the conversation flow. It is this that defines, basically, the behavior of the chatbot. Let’s see how Api.ai and Wit.ai deal with this crucial aspect.

Api.ai

Intents and Contexts

This mechanism of intents and contexts allows to create state machines that model large and complex flows

Slot-filling allows you to indicate, for a given intent, what are the fields that play a role and if they are mandatory or not.

Of course, to define the full logic of your chatbot you will need to add some custom coding on the server side. Api.ai proposes a webhook integration that really makes the process very simple

Wit.ai

Stories are the key concept

“intent” is no longer a concept but a user entity, non mandatory. This was a change of greater impact in Wit.ai, motivated by the fact that a complex chatbot needs a lot of intents that can, in some way, be grouped in stories.

A story can be seen as a graph of user intents

Wit.ai proposes a webhook integration

Current limitations: improving with NLP and ML

to model a chatbot we need to provide the logic and the linguistic resources, mainly the input and output phrases and the entities. This is particularly true for Api.ai and Wit.ai. For small chatbots this should not be a problem, but if you are planning to deal with a big terminology and a lot of variants for phrases, you should consider using NLP and ML. We mention a few examples where they could be useful.

plural

Synonyms

Sentiment analysis


Edited:    |       |    Search Twitter for discussion

No twinpages!