In the past years, we’ve seen an explosion of chat bots across multiple industries. Many times we are asked what can a chat bot do, and how would it benefit our product? In our experience, chat bots need to be tailored specifically to what a client would want otherwise, there is a very generic feeling to these bots (much like calling into an automated call center). So how can we make a bot succeed in an area crowded with thousands of existing bots?
The first key to building a successful chat bot is by making sure the bot is powered by a natural language processing service – whether that is internal or a 3rd party service like wit.ai. This allows users to provide a variety of different questions and phrases while allowing you to focus on the decision-making process. Sometimes we see bots powered by regex expressions, this has a few issues:
Services like wit.ai remove the hassle of parsing and recognizing phrases. They allow you to create story-based decision trees that automatically interpret user input based on the criteria you give it. For example below is a simple “I want to book a hotel” scenario that a chatbot might need to handle.
In the example above, you can see that we will tell wit.ai the user will ask the question “I want to book a hotel in California” and then tell it to extract information from the phrase like “book a hotel,” which is our agenda item, and “California,” which is our location. With this single instruction wit.ai can already accept a wide variety of questions from the user. For example, all of the following would now be supported:
- Can I book a hotel in Miami?
- I want to book a hotel in New York
- I need to book a hotel in Wisconsin
We then tell wit.ai to pass the agenda item and location to our “searchForHotels” function which will return a search result that can be sent back to our user (as seen in the bot response). All of this setup took less than 15 minutes to generate this storyboard on wit.ai.