How To Build Awesome Bots
The Best Bots Do The Work For You
Lately, chat bots have been all the rage – no matter what services you provide, chances are that you have already launched, or are in the process of, launching a bot based version of your service. Everyone is doing it – companies from the largest tech and commerce retailers like Google and Amazon already have fairly advanced audio agents (Google Assistant and Amazon Echo), and there are tons of non-audio agents, coming from both Facebook and many much smaller companies. According to Chatbots.org, there are over 1200 chatbots out there on the internet. We’ve got everything from virtual friends to money management or help for immigrants to complete their visas.
But I can tell you right now, you are probably doing it wrong.
For a chatbot to be useful, it can’t simply be a text or audio chat interface on your current service. Unless your service is a very simple one, which requires a very light touch, then a chat bot interface is actually a lot more clunky. Just layering a chat bot into your current process is simply narrowing the choices down to such a tiny number, how can you decide which is relevant. Layering a chat bot over your service is like searching Google by only clicking “I’m Feeling Lucky” for every search.
How many of us automatically click on the very first result when we search Google? Very few, I’d say. I believe that one of the most powerful features of Google and other vertical search engines, like Kayak, is that it doesn’t give you a single best choice, it gives you a small set of best choices based on your criteria, which you can choose from yourself. IMHO, we need the power to be able to visually filter the smaller set of choices ourselves, allowing our human cognitive abilities to make the final choice.
How does this work with a chat bot? I tried it myself with my Amazon Echo the other say, asking for Thai restaurants in the area. Echo went to Yelp (or some other service) and recited the first 5 closest Thai restaurants, or were they the best in order by rating? Who knows? Where did Echo get the info from? How did it know what to tell me? Right now, it has no context, it has no idea what I like, what my preferences are, etc. Even if it knew that – how can I trust that it will give me a list of names which will appeal to me? It simply overlaid the chat bot ability on a normal web search. If I were to do this on a screen, it would take me second to visually filter and sort the results and rapidly come up with the best choice.
With a chat bot interface, in order for the bot to capture this level of filtering, it would require a long drawn out conversation which may help you set filters and sorting, but then those filters would need to be changed again if you wanted something different. Even if the bot had the some of the contextual data in order to pick the right one for you, the chat bot interface would once again have to ask you questions in order to filter your choices down to the best choice.
A useful chat bot requires a completely new proactive paradigm. It requires that the chatbot does the following every time a request is made:
- Develop (or update) the customer’s profile based on harvesting your social media communications and preferences
- Leveraging contextual data which applies to the current situation
- Reviewing any applicable advertising and determining if the advertising is relevant to the customer’s request
- Mapping all of the above against the customer’s current request and finally…
- Returning the absolute best single result, based on all of the above
- Iterating through more results via some simple guidance from the customer
We can’t simply slap a chat bot interface on top of what we are doing now and expect it to be useful. We need to highly process the results in order to provide the customer with the right result. This may require time, which means that the chatbot may have to go way and come back with the best result. Right now, if a chatbot can’t respond right away, it’s a failure. This is the wrong model.
We already have a great model for chat bots: agents, like travel agents. Here’s an example:
Remember how we used to book travel? We would pick up the phone and call a travel agent. They would ask us a few questions, then go away and come back later with the perfect trip at the perfect price. If you’d used that travel agent before, they would know your preferences. The more that you use that agent, and give him feedback, the more accurate and perfect the next trip will be. Travel today requires that we all act as agents, without the deep knowledge which an agent can use in order to build the perfect trip at the perfect price.
We need to replicate the model by developing an agent which can act in the same way a human agent would. Instead of rapid fire, web style immediate response, we need to revise the paradigm to allow chat bots to go away, think and sort all of the options out there, then return with the perfect response. If you think about it, it’s a more human response. Ideally, the response may even include human elements, such as those which could come from a service like Mechanical Turk. The bot needs time to learn and understand the customer’s true requirements in context, in order to truly provide the best result.
Even better, truly useful chat bots won’t simply lie in wait for you to ask them to do things, they will proactively detect your presence, your preferences, what you may wish to do, and initiate the conversations, which will make them much more highly complex, but also much more useful at the same time.
But that’s next – let’s focus on first developing more useful, educated initial responses using the model above – and your chat bot will be miles ahead of everything else out there.