One of the great promises of AI (artificial intelligence) is to provide intuitive, useful interactions between humans and machines. Recent advances in AI technology have some proclaiming that intelligent bots can provide the most valuable form of these interactions.
In this post, I’ll introduce some of the most important concepts of bots, particularly information chatbots built using the Microsoft Bot Framework. I’ll cover some of the most common use scenarios, and the business value those provide, as well as provide some examples of how bots work, and how to get started with your own bot.
First … what is a bot?
A bot is a software application programmed to perform automated tasks, like answering questions in a chat user interface, based on programmed rules or artificial intelligence. In Microsoft’s words: “Bots provide an experience that feels less like using a computer and more like dealing with a person – or at least an intelligent robot. Users converse with a bot using text, interactive cards, and speech. A bot interaction can be a quick question and answer, or it can be a sophisticated conversation that intelligently provides access to services.”
Example of a chatbot in Microsoft’s Azure test UI
Why you should consider a bot for your business
I don’t mean to prey on your FOMO (fear of missing out), but according to global research giant Gartner’s 2019 CIO survey there’s been a 270% increase in the number of companies that have adopted AI in the last 4 years. And, as the tech analysts at ZDNet note, global AI-derived business value is projected to grow over 60% this year (in addition to last year’s estimated 70% growth).
Gartner’s survey also states, “If you are a CIO and your organization doesn’t use AI, chances are high that your competitors do, and this should be a concern.” If you are like most companies that have yet to develop an AI strategy, you may be wondering, “But what problems can I solve with AI, and how do I start?” From my practical experience working with 3Cloud clients, simply navigating the terms surrounding AI – like machine learning and deep learning – can be very confusing, let alone actually employing AI.
In addition to understanding the concepts behind AI and how it works, other barriers to getting started include difficulty finding a business case, lack of leadership support, competing (non-AI) projects, and lack of data science talent/technology. These are all significant challenges. For the reasons I’ll outline below, I think bots can be a great way to break through these barriers and get started with AI.
1. Bots can solve important business problems
Automation can improve quality of service and customer engagement: Many organizations have repetitive tasks that are of relatively low value, such as answering a high volume of frequently asked questions, reviewing and validating forms, reporting account information, and processing simple transactions, like making service appointments. Bots can automate these types of tasks, so they don’t require human intervention. It’s true this automation could reduce the need for some jobs, but in my experience with clients, it’s more likely to re-direct and focus existing human resources on more complex, high-value activities. The benefit to businesses is accurate, consistent answers to common questions, while tougher problems get the human touch!
Another exciting feature of bots is the potential for automated outreach or intervention at important moments of customer interaction. Bots can be programmed to nudge – or provide “interventions that steer someone toward a better decision without taking away their choice.” In higher education, nudges from a bot might gently remind applicants they have just one more step to complete their application, then provide a link to a form. Or, when a student asks how to drop a class, the bot can reply with facts about how dropping classes can often lead to delayed graduation, but still offer the choice to drop the class.
These industry examples really showcase how AI is improving the customer experience:
In health care: The Cincinnati Children’s Hospital is using a digital concierge chatbot to help parents pilot their way through its large campus, look up wait times at its urgent care centers, get real-time updates on procedures, obtain parking passes, and discover ways to entertain their kids. All of this reduces strain on families and enables better patient care.
In higher education: 3Cloud is building an information chatbot for the New York Institute of Technology to provide a unified starting place for searching diverse knowledge bases. Answers to frequently asked questions – such as how to get transcripts, obtain application and enrollment status, or access student services like counseling and financial aid – are currently located across many documents and web pages associated with their various departments. The bot will provide “one-stop shopping” for answers about the school, not only for current students, but faculty, alumni, prospects, and the general public. The bot is one part of an aggressive university AI strategy to extend and improve student outreach and boost enrollment.
In financial services: Chatbots are also helping bank customers access account balances, alerts, credit report scores, and personalized product recommendations. Bots that do all of this can offer more speed and convenience than a traditional bank website or a help call center. The combination of utility and speed in an easy-to-use conversational interface is strengthening the connection between financial institutions and their customers. You can read more about how some of the largest banks in the world are using bots and AI in this article.
2. Bots offer AI without the expensive AI development time and costs
One of the more exciting developments in AI are Artificial Intelligence as a Service tools. These pre-built, sophisticated models solve some of the most common and valuable AI use cases – like natural language processing (NLP), speech recognition, image recognition, and more. As recently as a year or two ago, if you wanted these tools you needed an expensive data scientist and/or programmer, and months, or years, to build a custom solution. Now cloud providers like Microsoft provide these in affordable, scalable services that take just minutes to deploy. What’s even cooler about these services is that they can easily be embedded in bots or other applications. I like the way Microsoft talks about this integration on its bot site: “Give your bot some super powers. Go beyond a great conversationalist to a bot that can recognize a user in photos, moderate content, make smart recommendations, translate language, and more. Cognitive Services enable your bot to see, hear, and interpret in more human ways.”
One of the key AI services that can be used in Microsoft bots is language understanding, or LUIS. LUIS takes regular language phrases – things that people would naturally say or type, (passed from the bot UI) – and extracts the most important elements, such as the user’s intent and key items. To use the LUIS application, you provide sample phrases to train the service what to look for. Different intents are essentially different named actions for a bot to take.
An example phrase in the higher ed context might be, “I’d like my grade in math.” The intent is “get grade” and the entity could be “course” – in this case, the value for the “course” entity would be “math.” Once LUIS determines the important elements in a phrase, they are used in business logic. In this example, a student’s math grade is retrieved from a grade database and returned via the bot. The developers of the children’s hospital bot cited LUIS as a valuable component: “By leveraging the Microsoft Bot code and LUIS, we didn’t have to worry about building out a language model, maintaining it, and training it.”
3. Bots use tools and technology already familiar to most IT organizations
Building intelligent bots might sound difficult, but it’s probably very similar to other applications your organization already builds and maintains. In fact, it might be even easier. Bots are really web applications that send and receive messages through APIs (application programming interfaces). If you build a bot on the Microsoft Bot Framework, you can choose a .NET or JavaScript SDK (or let your data scientists loose with the Python SDK!) The hard-working people at Microsoft made sure these toolkits come with great templates, tools, and tutorials. A great place to start for developers is the BotBuilder home page on GitHub and the MS Virtual Assistant solution accelerator. Here’s a sample architecture:
As mentioned in the previous section, you don’t have to code your own “intelligence” into an AI-based bot – you can just use an AI service. However, I think a good bot-development team should include an AI practitioner, in addition to a traditional developer, to facilitate and maximize the use of services. Someone who has worked with natural language models and/or regular expressions, especially in business applications, can be valuable in building a good bot. This doesn’t have to be a data scientist – it could be data engineer or architect who likes to dabble in data science on the side (we have lots of these at 3Cloud!)
That’s a lot of talk about bots.
Thanks for reading! For more information on bots, please check out our upcoming webinar!