Chatbot Platforms Review
Microsoft’s Bot Framework
View Microsoft’s Bot Framework Website Here
The Bot Framework created by Microsoft provides a platform where developers can build, test and publish their own bots, using frameworks like Express and Restify. Microsoft’s Bot framework provides a set of technical tools for the developer to use, rather than a graphical tool set. These toolsets are comprised of the following, a Bot Builder SDK, Bot Connector, Developer Portal, Bot directory and an emulator for the developer to use to test their bot with.
The framework also comes with the ability to use supervised learning techniques through the use of Microsoft’s Language Understanding Intelligence System (LUIS), which is a machine learning solution with a language knowledge layer. LUIS allows developers to create, browse and modify existing machine learning projects to make use of them in their chatbot code with the ability to store the projects in a JSON file format. Once the supervised learning system is implemented, it is advised to train the chatbot using excel or .csv files instead of relying just on the machine learning techniques due to the fact that in the early stages of deployment the machine learning won’t have gathered enough data to be reliably trusted to answer questions correctly.
Figure 3. Microsoft’s Bot Framework Emulator. 
View Pandorabots Website Here
Pandorabots is an online service that lets developers build, host and deploy chatbots. Pandorabots makes use of the Artificial Intelligence Mark-up Language (AIML), which is the open standard for creating chatbots and offers two sets of tools for a developer to use when creating a chatbot. Pandorabots offers the use of “Artificial Intelligence as a Service”, which provides API access to its hosting platform and its “Pandorabots Playground”, a free integrated development environment for building chatbots. Pandorabots offers tutorials to help developers start development on their chatbots as well as the ability to view and download conversation logs to use during their chatbots development.
Figure 4. Pandorabots AIML creation. Developers can modify the behaviour and the understanding of their chatbots by using the AIML editor. 
View Wit’s Website Here
Wit is a chatbot development platform which allows the developers to easily create text or voice based bots that humans can chat with. Wit provides a hybrid chatbot development platform by using both a graphical user interface, when creating and training the chatbot, and the use of the developers preferred programming platform to handle the implementation of “actions”. Wit has three main features; they are Understanding, Actions and Stories. Understanding is where the developer can train their chatbot on its ability to extract entities, which are data types which can have many values within. The Actions feature allows the developer to create and maintain actions that are used within their chatbot using a Node.js client, some of the actions can be; validating entities and checking if some entities are missing, resolving entities, storing or removing keys used in contexts in the stories feature and the performing of the action. The Stories feature is where the developer creates and trains their chatbots, Wit provides a graphical user interface and has the ability to build a variety of chatbots, ranging from slot-based bots to flow-based bots.
Figure 5. Wit’s Understand feature. Trains the chatbot to understand the various language used by users in conversations. 
View Api.ai Website Here
Api.ai is a service that allows developers to build speech-to-text, natural language processing, artificially intelligent systems that can be trained with the developers own custom functionality. Api.ai have a range of existing knowledge bases that other systems that were built with Api.ai can automatically understand, they are known as “Domains”. Api.ai makes use of machine learning techniques to let the platform learn from examples provided by developers and conversations it has with the end user to continuously improve user experience.
API.ai has a vast library of connections with many popular messaging, virtual assistants and IOT platforms so that chatbots can be easily integrated into any of these services by developers. API.ai also has a collection of demos and tutorials which help developers understand the platform with examples on how to create and train a sample chatbot and how to make use of the API.
Figure 6. APi.ai Intent panel. Determines what kind of user request should be understood and what actionable data those requests should be converted. 
Links, Articles & Attribution can be found over the page.