In the previous articles we’ve seen how cloud-based services make it easier to add features like text analysis or speech recognition to our applications. The speech recognition feature is especially useful if you want to offer the user a different kind of interaction than what he is used to when using a traditional application.
A custom application for your business provides a user experience custom tailored for your domain, but it also has some disadvantages. First of all, the app needs to be developed and maintained. The user will have to search for it on the app store for each of his or her devices, install it, and register for the service. In some cases, this may not be strictly necessary.
A possible alternative could be the use of a chatbot, which provides users with a new way of interaction through user experience they’re already familiar with. Within a conversation you can request information or give commands to a virtual agent, all conveniently from your favourite messaging app.
An example of well-established use for a chatbot is to automate some repetitive conversations such as service outage reports, reservations, or requests for information. A good example would be Neon, the N26 customer service bot.
The ideal solution would be if your chatbot were accessible from your site or from different messaging platforms, since there are so many of them, each with its own features. Let’s see which tools for the creation of chatbots are available from Google and Amazon, either suitable for developers or not.
Microsoft Azure Bot Service
For some years now, Microsoft has been accelerating on the so-called conversational AI, that is the set of technologies such as chatbots and virtual assistants, which can be addressed through conversation. They believe in it to the point of making their own bot creation framework, aptly called Bot Framework, available for free and under an open source licence.
It is possible to integrate Bot Framework with AI technologies such as LUIS or QnA Maker to create intelligent bots. You can follow two paths: one is to use Bot Framework Composer to build the bot by using a graphical tool, the second one is to follow a code-first approach, with the help of the templates available on GitHub.
By publishing the bot in the Cloud with Azure Bot Service, it can be made available on a multitude of channels such as Facebook Messenger, Teams, Skype, Telegram, and many others. It is also possible to create custom channels by using the REST or DirectLine API.
You can find further information on Bot Service a this address: https://azure.microsoft.com/en-us/services/bot-services/
Google Dialogflow ES and CX
Google provides two platforms, called Dialogflow ES and Dialogflow CX, which differ from each other in terms of their functionalities and complexity of use. The first is the basic version, more suited to the creation of bots where you don’t need to manage especially complex conversations. Dialogflow CX instead follows a different approach that allows you to have more control over the conversation flow.
For both versions, a web interface and a collection of APIs and libraries are available for developing and testing your bot.
The AI functionalities for language understanding are automatically integrated into the ES version, so you will have no difficulty in creating bots that can recognize different entities.
The natively supported channels depend on the version. In addition to Messenger, Telegram, and Slack, there are also different integrations developed by third parties for channels such as Twitter, Skype, and more.
For more information on Dialogflow and the differences between the two versions, visit the official page: https://cloud.google.com/dialogflow
Lex is a platform for building bots based on the same technologies behind Alexa, Amazon’s own virtual assistant.
Lex is able to recognize which actions the user has requested, and then perform an operation, for example invoking an API or accessing a database, after which it can give the user a response.
Like the other services, the bot can be used with both text and voice. It is also possible to easily integrate the Kendra service, to build a knowledge base starting from unstructured documents and FAQs.
The channels for which native integration is available are Facebook Messenger, Slack, Kik and Twilio SMS.
Find more information on the official page: https://aws.amazon.com/en/lex/
Beyond the chat
When thinking of a chatbot, it’s easy to think of the telephone IVR model. Preset phrases, to be answered with dry, simple answers, perhaps choosing from a list. But we can go beyond all of that.
More and more services offer the possibility to respond to user requests by using interactive cards, improving the user experience and speeding up some actions.
Bot Framework instead includes the support for Adaptive Cards, a Microsoft project for dynamic generation of cards, that can be used in many channels. An online tool is available for building and testing new cards, as well as many ready-to-use examples.
While these services have many features in common, they diverge on some points and choosing which one to rely on depends on those as well. If you are already using one of these providers, staying within the same ecosystem could be worthwhile. Another thing to consider is which channels you want to have native integration available for; these channels obviously vary according to the needs of your business.
Either way, with services like these, the deployment of the bot in the cloud is fully managed, and you will not have to worry about managing the servers and containers, all of which will simplify the creation and long-term maintenance of the application.
If you want to know more about conversational AI and the technologies that the Cloud provides us, you can learn more by following our blog!
Till next time!