Computers interacting with people by voices, without keyboards
This is a hands-on introduction to chatbots by various vendors.
amazonregistry.com/bot lists development tools:
- Amazon Lex
- Microsoft Bot Framework
Chat bots provide a conversational user interface where short messages are exchanged via text or voice interactions.
Academics have identified two types of dialog systems:
- Goal-oriented, and
- General conversation (using “generative” and “selective” models)
Some refer to Chatbots as “chatterbots” because they simulate the conversation or “chatter” of a human being. A user can ask a chatbot a question or make a command, and the chatbot responds or performs the requested action.
The computer’s fluency is made possible by recent advances in AI. Machine Learning algorithms are used to “learn” based on many previous real conversations to train it. Because Machine Learning models take into account all past history, chatbots can become better than people.
Companies working on chatbots:
- Google Dialogflow
- Microsoft Bot Framework to Bot Services
- Amazon’s Lex chat bot
- Wit.ai acquired by Facebook
- Salesforce Live Bot (Recast)
- SAP Conversational AI
IBM Watson Assistant
- BotPress like WordPress
- BotMan for PHP
- Rasa Stack NLU in-house
- Botsify for human agent handover
- Flow XO
Use case examples
Perhaps the world’s first chatbot is ELIZA developed by Joseph Weizenbaum at MIT. It used an early implementation of natural language processing (NLP), communicating through text rather than spoken language like Alexa. And it was not capable of learning from conversations with humans.
XiaoIce, a chatbot Microsoft launched in China, “has more than 200 million users, has engaged in 30 billion conversations, and has an average conversation length of 23 turns, which averages out to about half an hour, achieving human parity at translation from Chinese to English. Japan-based Rinna and the US-based Zo)
The Dominos Pizza chatbot app takes users through ordering, without a keyboard.
Google’s Dialogflow is a flexible tool to build omni-channel chatbots with less coding. It supports all major messaging channels: Facebook Messenger, Slack, Skype, Kik, Line, Telegram, Twitter, Viber etc. And it supports Natural Language Processing in 20+ languages working on more than 400M+ Google Assistant devices.
Dialogflow integrates well to custom apps due to its REST API of Google Actions.
Microsoft Bot Framework
It’s very easy for developers to connect the Bot Builder SDK with any Natural Language Understanding (NLU) services. Bot Builder SDK on Github has many code samples for developers to get started.
Microsoft’s Azure Bot services
This is an enhanced version of instructions here
- Log into your Azure portal
- Search for a Bot Service.
New to see a choice of an Azure Bot Service Bot:
- Web App Bot is deployed to an Azure App Service Web App
- Bot Channel Registration to host wherever you want
- Functions Bot are deployed to an Azure Functions App.
- Select “Web App Bot”.
- Click Create
- Bot name needs to unique among all (not just to you).
- The princing page says you get 10,000 messages per month free on Premium channels.
Alternately, use the Bot Framework Emulator
The Bot Framework supports RIA (Rich Attachments).
Microsoft’s Connector service translates Channel JSON to Bot activities.
C# apps are created using Visual Studio 2015 on, with Visual Studio Extentions updated.
Botkit is an opensource NodeJs based SDK framework recently acquired by Microsoft. BotKit is hosted on your own server. Botkit also provides a web chat plugin embeded on websites. Botkit is the leading developer tool for building chatbots, apps and custom integrations for major messaging platforms: Slack, Cisco Webex, Cisco Jabber, Microsoft Teams, Facebook Messenger Twilio SMS, Twilio IPM, Microsoft Bot Framework, Google Hangouts Chat.
BotKit can be easily used with all the major NLP platforms.
How it works
Chatbots use an encoder and a decoder.
A neural conversational model - speaker embeddings.
cosine similarity function
This is one of a series on AI, Machine Learning, Deep Learning, Robotics, and Analytics:
- AI Ecosystem
- Machine Learning
- Microsoft’s AI
- Microsoft’s Azure Machine Learning Algorithms
- Microsoft’s Azure Machine Learning tutorial
- Python installation
- Image Processing
- Tessaract OCR using OpenCV
- Multiple Regression calculation and visualization using Excel and Machine Learning
- Tableau Data Visualization