Key Features of Conversational AI Platforms
We build a lot of different types of chatbots at The Bot Forge and deliver these to a variety of channels such as websites, Facebook Messenger, Slack, and WhatsApp.
To create our chatbots we often use different AI platforms which offer more suitable features for a specific project.
All the major cloud and open-source providers have adopted similar sets of features for their conversational AI platforms and provide good NLU (Natural Language Understanding).
There are also some strong options for open source privately hosted systems.
Conversational AI Platform Key Features
We wanted to spend some time looking at some of the more popular AI platforms in a bit more depth in this series. To help look at each one we have focused on the following specific features:
API & UI
A conversational AI platform should provide User Interface(UI) tools to plan conversational flow and help train and update the system
Context
As well as intent and entities, a context object allows the system to keep track of context discussed within the conversation, other information about the user's situation, and where the conversation is up to. This is often the NLP feature that is vital in creating a complex conversation beyond a simple FAQ bot.
Conversation Flow
Looking at the current position of a conversation, the context and the user's last utterance with intents and entities all come together as rules to manage the conversational flow.
This can be challenging to create and manage so a platforms' tools in the form of a flow engine, in code and complimented by a visual tool can provide advantages depending on the chatbot project itself.
Other features such as slot-filling (ensuring that all the entities for intent are present, and prompting the user for any that are missing) can be important.
Whilst most platforms fall into this category some systems use machine learning to learn from test conversational data and then create a probabilistic model to control flow. These systems rely on large datasets.
Pre-Built Channel Integrations
Having a conversational platform that supports your target channel out-of-the-box can substantially speed up the delivery of a chatbot solution and your flexibility in using the same conversational engine for a different integration.
This is one of the reasons we really like Dialogflow's tooling.
Chatbot Content Types
Whist the focus of a conversational AI platform is understanding pure text, messaging systems and web interfaces often involve other content, such as buttons, images, emojis, URLs and voice input/output.
The ability of a platform to support these features is important to create a rich user experience and help to manage the conversational flow.
Integrations
Bot responses can be enhanced by integrating information from the user with information from internal or external web services.
We use this type of ability a lot in creating our chatbots and in our opinion feel it's one of the most powerful features of a chatbot solution.
With this in mind, the ability to configure calls to external services from within a conversation and use responses to manage conversational flow is important in building chatbot conversations.
Pre Trained Intents & Entities
Instead of creating entity types such as dates, places or currencies for each project some systems provide these pre-trained to deal with complex variations.
In the same way, common user intents and utterances such as small-talk are offered pre-trained from some platforms.
Analytics & Logs
The key to creating a successful chatbot is that they need to be constantly trained and monitored.
To aid in continuously improving the system once initially launched, the conversational tools should provide a dashboard of the user conversations; showing stats for responses, user interactions and other metrics. Export of these logs is also useful to import into other systems.
Other important AI features enable easily training missed intents, catching bad sentiments and monitoring flow.
Tech Stack
It can be important to take into account what libraries are provided by an AI platform and in what supported languages.
In the end, the stack may favour a particular platform if it fitted with your current codebase or teams skillset.
However, as a full-stack javascript software house, we find Node.JS to be our server stack of choice when building our bots and most AI platforms cater for this.
Costs
These are the costs for cloud hosting and cloud NLU solutions. An important aspect to consider particularly for large scale enterprise chatbots handling large volumes of traffic where NLU monthly costs can reach £thousands.
Many providers offer a free tier for their AI platform solutions. A paid-for tier will then normally offer enhanced versions of the service with enterprise-focused features and support for greater volume and performance.
Costs tend to be charged in one of 3 ways, per API call, per conversation or daily active user and also per active monthly user (normally subscriptions are in tiers).
We try and look at costs as publicly published for the paid-for plans suitable for enterprise use in a shared public cloud environment.
The Platforms
Keeping all these feature sets in mind we hope to look at the following AI platforms over the coming posts.
- Botkit
- Chatfuel
- Amazon Lex
- Microsoft Luis
- Google Dialogflow
- Rasa
- IBM Watson
Please get in touch if you feel we should look at a platform that we have missed!
About The Bot Forge
Consistently named as one of the top-ranked AI companies in the UK, The Bot Forge is a UK-based agency that specialises in chatbot & voice assistant design, development and optimisation.
If you'd like a no-obligation chat to discuss your project with one of our team, please book a free consultation.