Logging. Log user conversations with the bot, including the underlying performance metrics and any errors. These logs will prove invaluable for debugging issues, understanding user interactions, and improving the system. Different data stores might be appropriate for different types of logs. For example, consider Application Insights for web logs, Cosmos DB for conversations, and Azure Storage for large payloads. See Write directly to Azure Storage.
Authentication. Users start by authenticating themselves using whatever mechanism is provided by their channel of communication with the bot. The bot framework supports many communication channels, including Cortana, Microsoft Teams, Facebook Messenger, Kik, and Slack. For a list of channels, see Connect a bot to channels. When you create a bot with Azure Bot Service, the Web Chat channel is automatically configured. This channel allows users to interact with your bot directly in a web page. You can also connect the bot to a custom app by using the Direct Line channel. The user's identity is used to provide role-based access control, as well as to serve personalized content.
Being an early adopter of a new channel can provide enormous benefits, but that comes with equally high risks. This is amplified within marketplaces like Amazon. Early adopters within Amazon's marketplace were able to focus on building a solid base of reviews for their products - a primary ranking signal - which meant that they'd create huge barriers to entry for competitors (namely because they were always showing up in the search results before them).
Conversational bots can help a business’s customers with difficult transactions, plus collect data and give recommendations. For example, a conversational bot integrated to an airline’s website can answer questions regarding flight availability, rebook tickets, fees and suggest add-ons like hotels. Though a conversational bot may not be able to finish the exchanges, it could still be able to gather preliminary data and pass it on to the next available customer care agent. In both cases, the airline will save considerable time in its call center.
Facebook Messenger chat bots are a way to communicate with the companies and services that you use directly through Messenger. The goal of chat bots is to minimize the time you would spend waiting on hold or sifting through automated phone menus. By using keywords and short phrases, you can get information and perform tasks all through the Messenger app. For example, you could use bots to purchase clothing, or check the weather by asking the bot questions. Bot selection is limited, but more are being added all the time. You can also interact with bots using the Facebook website.
Foreseeing immense potential, businesses are starting to invest heavily in the burgeoning bot economy. A number of brands and publishers have already deployed bots on messaging and collaboration channels, including HP, 1-800-Flowers, and CNN. While the bot revolution is still in the early phase, many believe 2016 will be the year these conversational interactions take off.
How far are we from building systems with commonsense? One often-heard answer is: not in the near future, while the realistic answer is: we don’t know. Last year, I spent some time trying to build a system that can do better than an information retrieval baseline in taking fourth-grade science exam (which still has a ways to go to gain a passing score of 65%). I failed hard. Here’s an example to get a sense of the difficulty of these questions.
There are different approaches and tools that you can use to develop a chatbot. Depending on the use case you want to address, some chatbot technologies are more appropriate than others. In order to achieve the desired results, the combination of different AI forms such as natural language processing, machine learning and semantic understanding may be the best option.
Chatbots have come a long way since then. They are built on AI technologies, including deep learning, natural language processing and machine learning algorithms, and require massive amounts of data. The more an end user interacts with the bot, the better voice recognition becomes at predicting what the appropriate response is when communicating with an end user.
Interface designers have come to appreciate that humans' readiness to interpret computer output as genuinely conversational—even when it is actually based on rather simple pattern-matching—can be exploited for useful purposes. Most people prefer to engage with programs that are human-like, and this gives chatbot-style techniques a potentially useful role in interactive systems that need to elicit information from users, as long as that information is relatively straightforward and falls into predictable categories. Thus, for example, online help systems can usefully employ chatbot techniques to identify the area of help that users require, potentially providing a "friendlier" interface than a more formal search or menu system. This sort of usage holds the prospect of moving chatbot technology from Weizenbaum's "shelf ... reserved for curios" to that marked "genuinely useful computational methods".