DEV Community

Anna Boyko
Anna Boyko

Posted on • Originally published at romexsoft.com

How to Build a Useful Chatbot

Anyone who wonders what’s all the “hype” about chat robots only needs to experience Siri once. This is the Apple iPhone personal assistant who will answer questions from “What is the weather in Hong Kong today?” to “Where is the nearest gas station?” Siri also has entertainment value for those who want a bit of a joke to start or end a grueling day. A question such as, “Where is the best place to bury a body?” will get an answer like, “Oh dear, you’re not into that again are you?” or “Try a gorge or a river.” While this humor is a fun diversion, the real purpose of Siri is to conduct searches and answer more serious questions.

The point is this: If you plan to build a chatbot, don’t do it just because it is the latest thing and you think you have to get on board. Build one because it will bring a useful experience to those you anticipate using it.

What is Chatbot, Anyway?

If you have a web-based business, you have to think about chatbots. While there is a lot of “hype” around them right now, the bottom line is your competitors are getting on board, and you should too.

Throughout 2015, for example, 1.4 billion people engaged with chatbots to get questions answered, to resolve issues through customer service, etc. While numbers for 2016 are not in, the trend is obvious. More and more businesses are now using AI programs, in the form of chatbots, to engage their customers and keep them satisfied and coming back.

Startups are making a step forward and introduced conversation-powered products as a standalone solution. X.ai is a smart personal assistance to schedule your meetings; LISA is a multi-language sales assistant that will help you craft better replies to prospects and Do Not Pay is an online British robo lawyer that will answer your piercing questions.

In a nutshell, a chatbot is just a computer program, but the difference between it and other programs that require users to interact visually, it mimics human conversation, either through text or audio. Instead of clicking through to locate information on your site, users can find what they need by asking your chatbot.

And if you incorporate AI, machine learning, your chatbot can get smarter the longer it is in use. It can learn from former conversations and become more effective as time goes on.

Chatbots are now in common use by such brands as Uber, Sephora, Kik, and more. And more and more smaller businesses are incorporating them to engage customers at a higher level. They become, in essence, great marketing tools, if a business knows how to use them right.

Consider just one example. H&M has a chatbot that asks questions of potential customers – what colors they like, what styles they like, etc., and then makes suggestions for clothing items that customer might prefer.

H&M chatbot

This can be far more convenient than a customer slugging through a catalog of images. In just this one way, combining conversation with AI intelligence can actually result in sales.

How to Build a Useful Chatbot

Before you get into how to make a bot, you have some important decisions to make. Begin by defining the purpose of your bot.

Taco Bell, for example, wanted a chat bot that would take customer orders for pickup and make menu items suggestions based upon customers’ behaviors. Tacobot has a single use and is based upon dialogue that a bot developer has had written out – hard coding.

Tacobot

If, on the other hand, you have AI conversation in mind, your task is far more complex, because it will require a massive amount of data so that your system can learn on its own. This will involve contracting out development, because chances are you or your business developers do not know how to create artificial intelligence, and, if they do, there is so much room for error.

Consider Tay, the conversation bot developed by Microsoft to converse with millennials on Twitter. Not long into this endeavor, Tay began spewing the sexist and racist language that she had been fed by users.

Tay, bot developed by Microsoft

That’s where machine learning went wrong. Tay had to be taken down, of course, and even after re-tooling her, she was not effective. Another point showing that programming bots might be more tricky than you think.

Wireframe Your Dialogue

If you are going to build a bot with a single-use purpose, which is what most businesses will do, you will need wireframe out of all the conversations and all possible options for a response to an inquiry or request.

This is a complex task. Even once the conversations are programmed in, there will be continual tweaking – you will never get it completely right the first time through. Bot building will require rather continuous maintenance. Focus on conversation blocks (sort of like the tabs on a website), and build out from there.

Choosing Chatbot Software

If you plan to create your own chatbot, there are several hosting services with open-source software. Pandorabots, for example, has its “Playground,” which is free for developers and provides the basic tools to make your own bot, and additional tools that are fee-based, if you want to get more sophisticated and create an AI bot.

Api.ai (recently acquired by Google) allows creating simple chatbots for messenger platforms such as Facebook, Slack, etc. Additionally, they have extensive APIs and documentation with pre-made conversation for different domains e.g. bookings, weather, flight schedules etc. If you wonder how to create a bot for a website, that’s a comprehensive platform to start from.

Of course, these sources are not the complete answer. In the end, the efficacy of a bot is your input.

Choosing an Outsource Provider

This is the choice of many businesses who are new to chatbot development. It makes sense, if there is a real purpose for chatbots for work or for users of products or services who want more information or who would use a CRM chat bot to resolve issues or problems.

Outsourcing to developers, who have significantly more experience, and who can build using AI intelligence you want, can be the best option for a chatbot for you.
More read about best countries to outsource software development.

In fact, if you have ever had to call customer service departments of a major company, perhaps your cable provider, you know the difference between a good chatbot and the one that cannot seem to understand your problem. You can easily understand why chatbots matter to CRM and why their careful development is so important.

At Romexsoft, we suggest creating a bot that is not just helpful but actually contributes to your revenue growth. As part of our Big Data as a Service package, we can proactively teach a bot to make highly personal product suggestions to the user and leverage the data insights already available at your disposal.

Map Out The Initial Chatbot Design

Remember that the goal of a chatbot is to personalize your brand to users and to create a great UX services– one that is easy and enjoyable. You are trying to recreate human interactions as closely as possible, so the conversation does not “feel” stilted and robotic.

Here are some tips as you craft the types of interactions you want between your bot and your users.

Be casual and keep dialogue simple. Surely you have a customer persona. Spend time observing, listening, and researching the style and specific vocabulary/phrase terms that your typical customer uses. Millennials and senior citizens have very different language syntaxes – honor those styles.

Think of your bot as a sales clerk – a friendly helpful one. You are going for that same experience because this is your chance to extend relationships with your users.

Keep in mind that you will continually have new users who may also be new to chatbots. There is no menu and links, so you will need to prompt the user – have the bot introduce him/herself quickly and provide some type of CTA – “Hi, I’m your personal shopping assistant. You can ask me questions by typing them in or by tapping on the microphone and speaking them. Let’s get started. How can I help you?”

Additionally, offer ways to connect the user to a human assistance when things just don’t work out with a bot.

Give some example questions a user might ask. This will often relieve some of the anxiety for new users and help you refine the acceptable user inputs. You can start with a few pre-suggested text bubbles a user can choose from.

The conversation flow will be critical, so your bot will need to distinguish among question types. As you formulate the questions that your typical user will have, classify them into categories - are questions asking for facts? Are they “yes or no” types? This will help to determine the response language.

Offer hints to users. “What type of jeans are you looking for? We have a boot cut, straight leg, and skinny.” Avoid rhetorical or open-ended questions as those will create unnecessary confusions and answering those won’t make your bot look intelligent.  

Your bot should always repeat the user response. “Got it. You want to look at boot cut jeans. We have lightweight or heavy denim. Which do you prefer?”

Add some wit and humor, especially when a user asks an off-topic question just for fun. When Siri is asked where to hide a dead body, she has humorous comebacks and just “feels” more human. You can have a few witty responses for these types of questions – let your users have a bit of fun.

When users get comfortable with the basics of your bot, prompt them to explore more features that you have. If you have a food ordering bot, for example, and a user is easily placing an order for pickup, speak to additional features – “Hey, if you have a party coming up soon, check out our catering menu and place your order in advance – for pickup or delivery – your choice.”

Remember – and this cannot be repeated enough – your chatbot is designed for a personalized customer experience. That happens when the conversation flow is familiar, simple, casual, and includes some humor.

Though some may consider chatbots no more than the latest “fad,” the research demonstrates that they are becoming a preferred method for customers/users to get the information they need and to resolve the issues they have. In fact, the future of user interfaces for web apps might be completely conversation. Even despite the unpleasant setback with Tay, Microsoft still went as far as claiming that the operating system of the future isn’t Windows, it’s “conversation as a platform”.

If you want to explore the opportunities of Java application development for your business, get in touch with Romexsoft!

Written by Romexsoft on  January 30, 2017

Top comments (0)