This reference architecture describes how to build an enterprise-grade conversational bot (chatbot) using the Azure Bot Framework. Each bot is different, but there are some common patterns, workflows, and technologies to be aware of. Especially for a bot to serve enterprise workloads, there are many design considerations beyond just the core functionality. This article covers the most essential design aspects, and introduces the tools needed to build a robust, secure, and actively learning bot.
If your interaction with a conversational bot is through a specific menu (where you interact through buttons but the bot does not understand natural language input), chances are you are talking to a bot with structured questions and responses. This type of bot is usually applied on messenger platforms for marketing purposes. They are great at conducting surveys, generating leads, and sending daily content pieces or newsletters.
This is great for the consumer because they don't need to leave the environment of Facebook to get access to the content they want, and it's hugely beneficial to Politico, as they're able to push on-demand content through to an increasingly engaged audience - oh, and they can also learn a bunch of interesting things about their audience in the process (I'll get to this shortly).
Note — If the plan is to build the sample conversations from the scratch, then one recommended way is to use an approach called interactive learning. We will not go into the details of the interactive learning here, but to put it in simple terms and as the name suggests, it is a user interface application that will prompt the user to input the user request and then the dialogue manager model will come up with its top choices for predicting the best next_action, prompting the user again to confirm on its priority of learned choices. The model uses this feedback to refine its predictions for next time (This is like a reinforcement learning technique wherein the model is rewarded for its correct predictions).
One of the first stepping stones to this future are AI-powered messaging solutions, or conversational bots. A conversational bot is a computer program that works automatically and is skilled in communicating through various digital media—including intelligent virtual agents, organizations' apps, organizations' websites, social platforms and messenger platforms. Users can interact with such bots, using voice or text, to access information, complete tasks or execute transactions.
Web site: From Russia With Love. PDF. 2007-12-09. Psychologist and Scientific American: Mind contributing editor Robert Epstein reports how he was initially fooled by a chatterbot posing as an attractive girl in a personal ad he answered on a dating website. In the ad, the girl portrayed herself as being in Southern California and then soon revealed, in poor English, that she was actually in Russia. He became suspicious after a couple of months of email exchanges, sent her an email test of gibberish, and she still replied in general terms. The dating website is not named. Scientific American: Mind, October–November 2007, page 16–17, "From Russia With Love: How I got fooled (and somewhat humiliated) by a computer". Also available online.
As with many 'organic' channels, the relative reach of your audience tends to decline over time due to a variety of factors. In email's case, it can be the over-exposure to marketing emails and moves from email providers to filter out promotional content; with other channels it can be the platform itself. Back in 2014 I wrote about how "Facebook's Likes Don't Matter Anymore" in relation to the declining organic reach of Facebook pages. Last year alone the organic reach of publishers on Facebook fell by a further 52%.
Furthermore, major banks today are facing increasing pressure to remain competitive as challenger banks and fintech startups crowd the industry. As a result, these banks should consider implementing chatbots wherever human employees are performing basic and time-consuming tasks. This would cut down on salary and benefit costs, improve back-office efficiency, and deliver better customer care.
In a traditional application, the user interface (UI) is a series of screens. A single app or website can use one or more screens as needed to exchange information with the user. Most applications start with a main screen where users initially land and provide navigation that leads to other screens for various functions like starting a new order, browsing products, or looking for help.