Supervised Learning Chatbot Frameworks - A Comprehensive Analysis
In the era of Artificial Intelligence, people have started using chatbot as a part of conversational AI as a consumer-facing interface. There are multiple frameworks and platforms are providing the services of chatbot building, through which a person can deploy the chatbot to the business without even having knowledge of AI or Software Engineering. Such tools have made chatbot deployment simpler, where the user can add the training statement and the intent to build the chatbot. These platforms look similar but are different in terms of their algorithm, features Platforms should be chosen based on your requirement.
Please find below the comparison of various chatbot platforms as below:
Below are a few descriptive points of the comparative analysis on the Chabot building frameworks:
NLP Module
Existing frameworks for building chatbot allows the user to consume the pre-build NLP functionality, whereby using the open-source framework, the user can customize the NLP functions and additional algorithms.
Contextual Conversation
The contextual conversation is very useful to understand human-like dialogues. Technically bot must be aware of what was previously asked and how current dialogue is related to the previous question and bot’s answer as well.
Some vendors provide flexibility to store common variables in the Global User Session thus it can get an idea of the previous conversation. On the other side vendors like Rasa and Dialogflow have Followup intent feature to handle context in an easier way.
In the case of LUIS and LEX, you will require to manage session variables to achieve contextual conversation.
If your bot is goal oriented and has multiple possible counter questions, the contextual conversation is a must for you. I believe a basic level of choice for contextual conversation can be fulfilled by dialogflow later Rasa can be a good choice. Lex or LUIS can be used if there are not more than a few counter questions in your chat flow.
Clarification Prompt
Clarification prompt is the feature that gets the intermediate feedback of the detected intent from the input query and based on that it decides to go further with the answer prediction. LEX and RASA provide this feature to get more accurate results. This also provides the flexibility to set the threshold value for the probability of detected intent to pop-up clarification prompt.
Speech Support
Mobile users mostly prefer a bot that can talk instead of textual conversation. A system that supports textual as well as speech input that can be very user-friendly for a robust system.
Speech support is by default and maintained by the vendor if you use Wit, Lex, and DialogFlow. Alternatively, you can add speech to the text layer on Rasa and Luis kind of framework.
There are third party vendors like Twilio, Nexmo who also support real-time voice input from mediums like a Phone call or VOIP calls.
Custom Model
The open source system is capable of integrating custom libraries and models. Rasa NLU supports if you would like to make a prediction using a custom model. You can customize the Rasa NLU pipeline by adding necessary libraries or logic.
If you want to customize with other tools, you should preprocess your input with other NLP tasks and later pass the final output to the platform. This can be achieved by integrating that platform’s APIs instead of direct integration with a medium. In short, you need a middleware server that pre-processes your user input before passing to that NLP Platform.
Open source vs PAAS
Rasa is an Open-source platform built using Python. This provides webhooks that can be used in any programming language through the development is limited to the Python programming language.
On the other side, DialogFlow and Lex are the cloud-based paid services that can be used to build small scale chatbots that have a limited number of intents or a small amount of complexity that does not require much customization. Chatbots developed using either of these frameworks can be deployed using any programming language.
Developer Logs
Apart from the LEX, another platform provides developer logs to the chatbot. This can be useful while analyzing the chats, improving the model, assign more validations, to add more business rules to the chatbot flow.
Web-hooks Integration
All the existing frameworks support webhook integrations with the HTTPS protocol. But the explicit feature of open-source framework RASA is that it does supports HTTP and HTTPS protocol both to integrate the API through the web-hook requires HTTPS on the server.
On-Premise Vs Cloud Hosting
On-premises data hosting and system installation becomes plus point if you are highly concerned with data privacy in such cases, Rasa is useful.
On the other side, the cloud system helps you avoiding system maintenance here Luis, Lex, Watson, Wit, and DialogFlow are the best choice. Such chatbots are so easy that you can setup them and start your bot within a couple of minutes.
Configuration Interface
Unless you are a developer, you need a configurable web interface. Such interface helps admin to train and monitor bot.
Cloud-based chatbot building frameworks provide a web interface to configure the parameters, where open-source RASA provides markdown files and python files for the configurations to set up the framework and run it. Recently RASA launched RASA X for debugging and configuration purpose so that can be helpful to manage and configure high-level parameters of RASA framework.
Channel Integration
Once chatbot is built, to integrate the service with the platforms like Facebook messenger, WhatsApp, Slack or so on, is an essential part of the product. Such chatbot building frameworks provide the functionality to integrate the chatbot with any of the conversation platforms. Though to integrate with the custom UI of the chat application, the developer needs to build a middleware to connect to the server.
DialogFlow has supported a large number of integration channels out of the box so you can easily configure access keys and security tokens of the channel in DialoglFow and start using that channel.
Conclusion
In this blog, we have discussed various functionality and challenges of the Chatbot building frameworks that are widely in use by the industries. These frameworks are being used to build the chatbot through a Supervised Learning approach where developer/user needs to provide training statements along with their pre-labeled intents.
The choice of the platform is depending on the requirements, list of features and infrastructure. This comparative analysis can help you to choose a suitable platform for your requirements.