Chatbots: Beyond Hello World
It’s hard to pick up an article on emerging technologies in the retail industry these days without reading something about Chatbots. Over the last few years Chatbots have gone from a fun and entertaining exercise to a must have for companies. Therefore it’s not surprising that a plethora of new business have emerged promising the fulfillment of that dream. However, with that promise comes a lot of misconception of how “quickly” and “easily” companies can enter this market, and it’s easy to get lost in the sales pitch. So one of the ways in which to combat this is to understand what your needs might be and some of the things you should be thinking about as you start to walk down this path.
Enter Hello World!
When programmers are writing in a language for the first time, they will often write what is known as a “Hello World” program. The purpose of this program is to simply output or display the words “Hello World” to the user. It is meant to demonstrate the simplest use case possible for the programmer to create a working example from.
This concept can be easily translated to the technology of Chatbots. With Chatbots, the “Hello World” scenario presents itself in the form of a simple question and answer bot.
Here (left) we have a Chatbot for an online retail company called Matt’s T-Shirts. In this use case, the customer wants to know what Matt’s T-Shirts return policy is. So the transaction is as follows:
- Customer asks a question
- Chatbot gives an answer
Now this may “seem” really complex when you are utilizing the bot because there is a lot going on behind the scenes like Natural Language Processing, and API Calls. But from a pure logic perspective there is not a lot that could go wrong, because ultimately either the bot knows the answer, or it doesn’t. With today’s technologies and Frameworks, this type of scenario is very easy to create and get going, and represents the simplest use case that a Chatbot can run into, thus “Hello World.”
However, once you get past this stage things start to get very complicated, very fast.
Hello World Upgraded to V2
In this example (above), we are taking an online order for a T-Shirt. So the transaction is as follows:
- Customer asks to order a T-Shirt
- Chatbot recognizes that the customer wants to order a T-Shirt and begins asking a series of questions:
- What size are you?
- What color do you want?
- What is your shipping address?
- Are you sure you want to order this?
- What is your credit card information?
With this example we have layered on a whole new level of complexity. Let’s talk about just happy path for a moment. Assuming that everything goes right we have to:
- Keep track of all of the answers in order to be able to create the order at the end of the process.
- Query the backend system to figure out what T-Shirts we currently have available in medium in order to populate the carousel.
- Verify the credit card information
- Send all of the data to the ordering system for processing.
All of this, does not come out of the box, it’s all custom based upon your unique system.
This level of complexity does come with an upside though. Your bot is now able to do a lot more than just answer simple questions. Now your bot is providing real value by allowing the customer to purchase an item through its interface. And as any retailer will tell you, any additional way a customer can purchase your product is always a good thing.
Showing Real Intelligence
As your Chatbot gets more use, you’re going to start seeing a lot of edge cases. Like a child growing into their teenage years, you start to expect more and more from them as they grow in maturity and intelligence. Let’s take the scenario below.
So what happened here (above)? Well like V2 we were taking an order for a T-Shirt when in the middle of the order the customer asked us a question about a return policy. Now if this was a human conversation this would be easy to handle. We would simply tell the customer what our return policy was and go back to taking the order. However, in the context of a Chatbot it’s incredibly hard to do. Because now the bot has to do the following:
- Start taking the order.
- Recognize that in the middle of taking the order the user has asked a question that resides in our FAQ and is not just an incorrect answer to the shipping address question.
- Be able to give the correct answer back to the user about return policies.
- Continue on with taking the order.
Believe it or not this type of use case comes up quite frequently in Chatbot conversations. And if your bot can handle it elegantly it is the thing that will set your bot apart from your competitors.
So how do you avoid Chatbot buyer’s remorse? Well there are a few things that you can do in order to help avoid this.
- Plan out your conversations first. This step can be often the most difficult because people want to be able to jump right into the “cool technology” without first understanding what they want to do with it. I often will advise my clients to draw out the conversation flow in Visio or a Whiteboard first before we start having discussions on tech. The technology is only going to serve to “enhance” your vision, not write one for you.
- Do a few things well, rather than a bunch of things poorly. A lot of the misconceptions about Chatbots are that they are some sort of a golden hammer that is going to be able to do it all. Whereas most of the really great Chatbots that I have seen only do about three things. The difference is that they do those three things flawlessly, which ultimately makes for a much better experience then trying to cram everything into one bot.
- Partner with a product that can grow with you. Chatbots and really AI in general is all about training and growth. Good Artificial Intelligence systems are analyzed, altered and updated given its past experiences, making them that much smarter next time. The same goes for a Chatbot. So in order for your bot to grow you need to pick a platform that can grow with you. That way when you want to introduce a new feature or a custom interface, you aren’t left with a product that falls short.
All in all, picking a Chatbot platform is just like investing in any other technology. You have to know what your needs are before you buy. Therefore it is essential that when you are investigating which Chatbot platform or company to invest in that you understand that Hello World is only the first sentence in you companies book on Chatbots.
Matt Kruczek is the Vice President of Web, Mobile and AI at Tallan. Matt has extensive experience in the software industry and is responsible for creating and maintaining any and all architectures and strategies pertaining to the mobile, web and AI disciplines. He has architected and developed several end-to-end Line of Business applications using a variety of Microsoft Technologies including WCF, WPF, ASP.NET , C#, VB, MVC, SQL Server, Microsoft Bot Framework and Entity Framework.