(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.
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
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: | Tweet this! | Search Twitter for discussion
No backlinks!
No twinpages!