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.
Chatbots succeed when a clear understanding of user intent drives development of both the chatbot logic and the end-user interaction. As part of your scoping process, define the intentions of potential users. What goals will they express in their input? For example, will users want to buy an airline ticket, figure out whether a medical procedure is covered by their insurance plan or determine whether they need to bring their computer in for repair?
Ultimately, only time will tell how effective the likes of Facebook Messenger will become in the long term. As more and more companies look to use chatbots within the platform, the greater the frequency of messages that individual users will receive. This could result in Facebook (and other messaging platforms) placing stricter restrictions on usage, but until then I'd recommend testing as much as possible.
“Major shifts on large platforms should be seen as an opportunities for distribution. That said, we need to be careful not to judge the very early prototypes too harshly as the platforms are far from complete. I believe Facebook’s recent launch is the beginning of a new application platform for micro application experiences. The fundamental idea is that customers will interact with just enough UI, whether conversational and/or widgets, to be delighted by a service/brand with immediate access to a rich profile and without the complexities of installing a native app, all fueled by mature advertising products. It’s potentially a massive opportunity.” — Aaron Batalion, Partner at Lightspeed Venture Partners
NanoRep is a customer service bot that guides customers throughout their entire journey. It handles any issues that may arise no matter if a customer wants to book a flight or track an order. NanoRep isn’t limited to predefined scripts, unlike many other customer service chatbots. And it delivers context-based answers. Its Contextual-Answers solution lets the chatbot provide real-time responses based on:
Next, identify the data sources that will enable the bot to interact intelligently with users. As mentioned earlier, these data sources could contain structured, semi-structured, or unstructured data sets. When you're getting started, a good approach is to make a one-off copy of the data to a central store, such as Cosmos DB or Azure Storage. As you progress, you should create an automated data ingestion pipeline to keep this data current. Options for an automated ingestion pipeline include Data Factory, Functions, and Logic Apps. Depending on the data stores and the schemas, you might use a combination of these approaches.
By 2022, task-oriented dialog agents/chatbots will take your coffee order, help with tech support problems, and recommend restaurants on your travel. They will be effective, if boring. What do I see beyond 2022? I have no idea. Amara’s law says that we tend to overestimate technology in the short term while underestimating it in the long run. I hope I am right about the short term but wrong about AI in 2022 and beyond! Who would object against a Starbucks barista-bot that can chat about weather and crack a good joke?
“I’ve seen a lot of hyperbole around bots as the new apps, but I don’t know if I believe that,” said Prashant Sridharan, Twitter’s global director of developer relations. “I don’t think we’re going to see this mass exodus of people stopping building apps and going to build bots. I think they’re going to build bots in addition to the app that they have or the service they provide.”
If you visit a Singapore government website in the near future, chances are you’ll be using a chatbot to access the services you need, as part of the country’s Smart Nation initiative. In Australia, Deakin University students now access campus services using its ‘Genie’ virtual assistant platform, made up of chatbots, artificial intelligence (AI), voice recognition and predictive analytics.
Say you want to build a bot that tells the current temperature. The dialog for the bot only needs coding to recognize and report the requested location and temperature. To do this, the bot needs to pull data from the API of the local weather service, based on the user’s location, and to send that data back to the user—basically, a few lines of templatable code and you’re done.
Back to our earlier example, if a bot doesn’t know the word trousers and a user corrects the input to pants, the bot will remember the connection between those two words in the future. The more words and connections that a bot is exposed to, the smarter it gets. This process is similar to that of human learning. Our capacity for memory and synthesis is part of what makes us unique, and we’re teaching our best tricks to bots.
In business-to-business environments, chatbots are commonly scripted and used to respond to frequently asked questions or perform simple, repetitive calls to action. In sales, for example, a chatbot may be a quick way for sales reps to get phone numbers. Chatbots can also be used in service departments, assisting service agents in answering repetitive requests. For example, a service rep might provide the chatbot with an order number and ask when the order was shipped. Generally, once a conversation gets too complex for a chatbot, the call or text window will be transferred to a human service agent.
On the other hand, early adoption can be somewhat of a curse. In 2011, many companies and individuals, myself included, invested a lot of time and money into Google+, dubbed to be bigger than Facebook at the time. They acquired over 10 million new users within the first two weeks of launch and things were looking positive. Many companies doubled-down on growing a community within the platform, hopeful of using it as a new and growing acquisition channel, but things didn't exactly pan out that way.
Conversational bots work in a similar way as an employee manning a customer care desk. When a customer asks for assistance, the conversational bot is the medium responding. If a customer asks the question, “What time does your store close on Friday?” the conversational bot would respond the same as a human would, based on the information available. “Our store closes at 5pm on Friday.”
In the early 90’s, the Turing test, which allows determining the possibility of thinking by computers, was developed. It consists in the following. A person talks to both the person and the computer. The goal is to find out who his interlocutor is — a person or a machine. This test is carried out in our days and many conversational programs have coped with it successfully.
Natural Language Processing (NLP) is the technological process in which computers derive meaning from natural human inputs. NLP-Based Conversational Bots are machine learning bots that exploit the power of artificial intelligence, which gives them a “learning brain.” These types of conversational bots have the ability to understand natural language, and do not require specific instructions to respond to questions as observed in types of chatbots such as Scripted and Structured Conversational Bots.
From any point in the conversation, the bot needs to know where to go next. If a user writes, “I’m looking for new pants,” the bot might ask, “For a man or woman?” The user may type, “For a woman.” Does the bot then ask about size, style, brand, or color? What if one of those modifiers was already specified in the query? The possibilities are endless, and every one of them has to be mapped with rules.
[In] artificial intelligence ... machines are made to behave in wondrous ways, often sufficient to dazzle even the most experienced observer. But once a particular program is unmasked, once its inner workings are explained ... its magic crumbles away; it stands revealed as a mere collection of procedures ... The observer says to himself "I could have written that". With that thought he moves the program in question from the shelf marked "intelligent", to that reserved for curios ... The object of this paper is to cause just such a re-evaluation of the program about to be "explained". Few programs ever needed it more.