We have been receiving a lot of interest lately from our clients regarding Chatbots, so this blog is written just for you.
Chatbots are on the rise enjoying their renaissance. For a long time, they were considered a niche or specialist subject, but now they are mainstream. Many of the world's top brands and companies are using them to power their services and as part of their outreach and marketing campaigns to engage their customers. Part of what makes the story of this technology's rise fascinating is that it does not begin and end with the technology itself, although the proliferation of Machine Learning and Natural Language Processing techniques is certainly interesting in their own right. Rather, Chatbots are situated right at the center of the trends that are changing the technological and business landscape as we know it.
What Are Chatbots?
A Chatbot is an application that automatically responds to messages from users. Chatbots can be rules-based or AI-based depending on their design and application. Cloud technologies and increasingly accessible artificial intelligence and machine learning techniques have led to a spike in Chatbot's interest from businesses.
Rules-based Chatbots take messages from humans and decide how to respond according to a pre-set, limited set of rules. This type of Chatbot tech has been around for years and is still popular today. Are Chatbots AI programs as well? Let’s see.
Conversational AI vs. Chatbot
Do Chatbots need to use AI and Machine Learning to be effective? The answer is that it depends, as not all solutions rely on AI or ML to power their Chatbots, but the idea of using Natural Language Processing (NLP) to be able to understand text or speech from users is the dominant paradigm. While Chatbot solutions that do not include NLP are certainly still viable for many use cases, the gulf between solutions that include it and those that don't are only widening in capabilities.
Artificial intelligence solutions have allowed Chatbots to evolve into more useful tools over the past few years.
What is an AI Chatbot?
At a basic level, an AI Chatbot is a Chatbot using artificial intelligence to be able to process the text given to it by a user. One thing to remember is that although they can be extremely engaging, Chatbots aren't able to converse like humans. IBM's Deep Blue supercomputer was able to beat World Chess Champion Gary Kasparov at chess in 1996, so computers can "do" chess and be very successful at it. But, whether a computer can play chess depends very much of the definition of "play." Similarly, Chatbots can "do" or "perform" conversation, even "perform" understanding by noticing patterns in speech.
What is generally understood by AI is some type of computer or program that can perform actions, like playing or conversing. Humans do this naturally, but it is tough for computers to grasp given that their "thinking" is extremely literal and linear.
Modern AI-powered Chatbots can execute these kinds of human performances by using statistics and probability as an "input", to apply the "meanings" given to it by its human designers to the text given to it by its human user.
Natural Language Programming and Machine Learning Algorithms Used in Chatbots
The key to allowing computers to understand "Natural Language" is taking text which the computer is not able to understand and first processing it into something it can work with. Computers are best at dealing with numbers, so effectively that is exactly what happens, AI Chatbot algorithms literally transform a series of words into a series of numbers. This is called "Vectorization" because we end up with a series or "vector" of numbers. To give an example, the most popular way of accomplishing this is to start with a dictionary, which can represent the set of all words that our Machine Learning algorithm knows about, or is relevant to us. Let's say our dictionary looks a little like this:
["hello", "I", "who", "what", "great", "ok"]
and we want to vectorize some text that looks like this: "Hello, there I am doing great, really great."
Our vector would come out looking something like this:
(1, 1, 0, 0, 2, 0)
What this gives us is a pattern that we can then analyze and compare to other patterns made with the same process. Let's say that we want to decide or "classify" this text is positive or negative, having two greats in there might tip us off, but it's not enough. So, what we do is collect as many quality samples as we can get our hands on that a human has marked positive, or that we are very confident about and use those as the basis for comparison. We can then build a statistical model where, although the computer still doesn't know what a particular piece of text "means", it can apply a label to it with a quantifiable degree of confidence depending on how similar or different it is to all of the vectors it has seen in the past. When the vectors are longer, they contain more information to compare and predictions can then be more detailed. But the most important part is having enough information to make statistically relevant comparisons. In this case, we only have two very broad labels, but what if it has to be much more subtle than this? There may be more labels, and they overlap in the type of language that they use. In this case, more information would be needed to make relatively small differences in the vector patterns to stand out.
How to Make an AI Chatbot
When it comes to making an intelligent Chatbot using deep learning, the first step is to take a step back and think carefully about its use case and audience, as this helps make any number of decisions further on down the line. There are quite a few solutions available, and in a lot of cases Chatbots are a company's first experience with AI and Machine Learning, resulting in choices being made, even before sitting down to build your bot. So, having a clear vision of what you are trying to accomplish will be invaluable in helping to navigate these decisions. With that said, it is also difficult to know what you are looking for unless you are already experienced with what's possible and available! But here are a few questions to help you out:
What kind of Chatbot do you intend to build? Is it Business-to-Business or Business-to-Consumer? Or possibly internal i.e. Business-to-Employee? This will make it easier to decide what platform is best suited for your Chatbot. If you are targeting consumers then you may want your Chatbot to operate on a platform like Facebook messenger, for internal it may be installed on an internal website portal, or use Slack or MS Teams to have members communicate with it.
Will there be a voice component? What about visual components? Voice interfaces are amazing for certain use cases, for example, virtual assistant roles like Alexa or Siri. Having a hands-free way to accomplish tasks is amazing when you are on the move, or in the home or office. However, if we look at Chatbots on a spectrum between those that are all text-based and those which blend conversational and visual components, those that lean on the far text-based side of this spectrum will lean on NLP that much more, and more time and care will have to be taken in designing the dialog than those which can fall back on images and buttons to supplement their design. Chatbots which feature minimal NLP usage is almost always on the far-right hand of the spectrum while Voice-based are on the left. When executed well they can be a liberating experience for users, but they can also constrain design decisions.
Do you have a favored cloud-service provider? There are other solutions on the market that are not cloud-based, especially in the Digital Marketing space. But even these normally operate on a PaaS or SaaS model. Often they will not be as sophisticated as those offered by the major cloud service providers, and are usually very constrained in the Platforms or "Channels" that they support; usually, they will support at least Facebook, but few offer much more than that.
Concerning the major cloud-service providers there is IBM Watson, Dialogflow on Google's GCP, MS Bot Service with LUIS on Azure, and Lex on AWS. All of these are good options, although they have their relative strengths and weaknesses regarding AI Chatbot features. If you are a completely free agent, you may want to shop around and try one or more out before you settle on a platform. But if you are already heavily invested in one of these cloud providers for your other infrastructure it is somewhat unlikely that you will find that it is worth it to integrate another provider into the mix.
Once you have thought about these questions and conducted a little research, it is a good idea to do one final exercise before committing to a stack or platform. Writing simple example dialogs to refine your Chatbot idea is one of the best ways to refine a good chatbot idea. You can use either document or simply use pen and paper to compose short dialogs kind of like scripts imagining possible interactions between your Chatbot and your intended user.
You may not have committed to a solution yet but by now you should have a general idea of:
- what type of messaging platform you may be using?
- How do you want to interact with your audience?
- who is the user?
- what are they trying to accomplish?
- in broad strokes, you should have a better idea of what is practical and possible using the Chatbot tooling you are thinking about selecting.
Look at the "happy path," or what you think a successful interaction will look like, but also think about what happens if something different comes up in conversation. Think about how to handle the exceptions, as well as any help messages you might need to communicate all the context that the user might need in an interaction.
When you start your development, this is very heavily dependent on the actual tooling which is available for your platform or solution. It will be different if you go with LUIS, Lex, Dialogflow, Watson, or another solution. Building a Chatbot will require some amount of investment and experience in learning the ins and outs of the platform and the method used in building a chatbot. However, most solutions have excellent documentation, tutorials, and resources that exist on youtube and elsewhere into how to go about it.
In our biased opinion – the best way to make an AI Chatbot is to trust your AI Chatbot development to the experts at NITCO.
Why Are Chatbots Important for Businesses?
Many of you are already familiar with some of the uses of Chatbots or Virtual Assistants like Siri, Alexa, and Google Assistant which are now common enough to be household names. But these are by no means the only solutions.
Chatbots are popping up on Websites, answering common questions, offering support, and driving sales leads. They are also a part of every messenger program from Slack, Facebook Messenger, and WhatsApp just to name a few. Did you know that the same Chatbots that talk to people using voice, or on messaging platforms can even communicate over more traditional mediums like SMS or email as well?
Chatbot Applications in Business
Besides communicating over a wide range of platforms, Chatbots can communicate with backend applications and services such as Web or Mobile applications and can and perform any action they can do. For example, you can ask a Chatbot the status of an AP invoice without having to log in to an application and conducting a search. You can log or search for the status of a service help ticket or sales order. You can ask a Chatbot to complete a government form for you from a shipping transaction in your ERP system.
With such a broad range of platforms and nearly endless possibilities in terms of function, the word Chatbot sometimes seems like it evades definition--what do Chatbots do? But asking what Chatbots do is a little like asking: “what does the Internet do?” or “what does mobile do?”
When we are talking about Chatbots in a broad general way like this, it might be better to think of Chatbots as “Conversational Interfaces.” What an interface does is allow a user a means to easily engage with a service.
A Desktop Web application and a mobile application might offer users access to the same service, but they have different properties and different strengths. For example, long documents might be harder to read on a phone than in a desktop browser, but phones are more portable and much more convenient.
One of the main benefits of chatbots is that instead of having to install and open a whole new application, or navigate to a Website in a browser, Chatbots “live” inside the messaging apps and social media platforms that users already spend most of their time using. Since they also operate along with the same principles as people use to communicate with each other, users never have to learn to use an unfamiliar app or interface, they all use the same “universal interface” we have spent our whole lives learning to use effectively.
We may soon see the design applications for a chat in the same way we design for Web or Mobile right now. In the next few years, we may see companies and products become "Conversational First” or even “Conversational Only”, the way we see “Mobile First” and “Mobile Only” right now.
AI Chatbot Examples
The best way to get a sense of what is possible with AI Chatbot technology is through examples.
Chatbots excel in areas like customer service, onboarding, and FAQ type scenarios. These patterns suit Chatbot usage in government extraordinarily well.
Other major use cases are in marketing and brand engagement. Major brands like Starbucks, Sephora, and Domino’s pizza use Chatbots as a way of creating a dialog with consumers directly.
EMMA - Government Bot for Department of Homeland Security
In the same vein, the Department of Homeland Security has EMMA, which assists the department in answering queries about services offered by the department. Significantly, this bot can operate in English and Spanish and is estimated to handle around one million interactions monthly.
Sephora - Reservation Assistant and Color Match
Major makeup retailer Sephora operates more than one chat-based service through Kik, which is a social messaging app popular with their target demographic. One provides a way for consumers to easily book appointments with beauty specialists in-store, while the other operates as a form of augmented reality allowing users to upload photos to find products with matching colors.
Sephora’s approach is very typical of brands which wish to use Chatbots in the business to consumer role. Chatbots are functional and may guide consumers through a practical workflow, but in addition to providing a service, a great deal of attention is paid to creating an experience with their customers. Customer engagement is key.
Starbucks - MyBarista
In the same way, Starbucks also operates a Chatbot both through its native mobile application but also as a "skill" as part of the Alexa platform. The MyBarista bot allows customers to place orders through the app for pickup in-store. Users can place their orders from the comfort of their own home using voice, or hands-free from their vehicle and have their drink waiting for them by the time they arrive.
There is also an interesting synergy between Chatbots and other kinds of automation. This means that by designing services such as to-go ordering, appointment booking with automation, and efficiency in mind Chatbots are perhaps the most complementary platform available for making an already nearly frictionless system easier to use.
Uber and Lyft - Seamless Ridesharing
You can also see this at play in both the largest ride-sharing apps. Already automated and seamless to order through their native mobile applications, Chatbots can use the same API or backend service to perform the same function with even more convenience. In Uber's case, this is restricted to Facebook messenger but extends to Alexa and Slack in the case of Lyft.
Imagine ordering a ride using voice while getting ready to go out, or in Slack right, before you leave the office: you dash off a quick update to your colleague or boss, and in the same application you order yourself a ride.
From Our NITCO Experience
We at NITCO are completely fascinated by finding new uses for this technology and have helped our customers to visualize this in important ways as well. Plus, having built a framework and several examples we can use the experience we have accrued, as well as code, to cut down on development time.
Logistics - Robotic Process Automation Integration
Our most recent Chatbot-related project was a Proof of Concept we created for a major logistics company. As part of the shipping process, operators for this company would have to get information about a shipment from an internal source and input these details into another external governmental regulatory Website in advance of the shipment.
Having to replicate data by hand across multiple systems is not fun and tends to be time-consuming and error-prone. So, we were able to demonstrate that the process could be automated safely and effectively and that the process could be made user-friendly by allowing users to control an RPA Robot process via chat. This is called Intelligent Process Automation, or IPA.
Accounting - Customer Service and Help Ticketing
Many accounting processes make terrific candidates for automation, one of the best examples of this is ticketing and support. Having to answer questions about the status of vendor payments can take up a significant portion of accountants’ valuable time, even more so when there are issues and disputes.
To that end, we outlined a solution that would allow their partners and vendors to query the status of payments and request clarification if payments were delayed, or the status was unclear. Depending on the security requirements of your organization, you can make this external to your vendors for self-service or keep internally to support your employees with ready answers to vendors on their invoices.
IT - NITCO’s Ticketing Service
At NITCO, we want to remain agile and responsive by being as flexible as possible, so in addition to our other means of communication, we wanted to have a Chatbot that would be available 24/7 and able to handle any number of requests. With that in mind, we tweaked our ticketing and support process to support the processing of support tickets in JIRA and built a Chatbot to be able to interact with JIRA's REST API.
In this way, customers can check on the status of a ticket they raise with us at any time. This eliminates waiting for a representative to become available, even outside of regular hours, in addition to raising and having common questions answered.
On the NITCO Horizon
We plan to use this same Chatbot at NITCO for our government clients to request software quotes online based on our previous approved pricing sheets.
We are also going to try it out during one of our project testing iterations as a front end to Jira Xray. Leave it to NITCO to have fun along the way.
NITCO's AI Services Can Help Your Organization Improve Efficiency with Chatbots
NITCO, Inc. has the expertise to help with any number of aspects in your digital transformation journey, including Chatbots. We have the expertise necessary to design, build, and deploy useful Chatbots with several application integrations, including Robotic Process Automation.
Contact us today with any inquiries you might have about this exciting new field.