Creating a Chatbot: A UX Designer's Firsthand Experience

Apr 24, 2017 | 1458 Views

Since Facebook introduced chatbots to its messaging platform last year, there's been widespread enthusiasm for bots that schedule flights, book hotel rooms or order Ubers for you‚??-‚??this in the same app that you use to chat with your friends.

Chatbots and AI have been around for a while (look at what China's leading messaging app WeChat has accomplished) but the fact that Facebook chose to launch this feature recently could mean that this technology is finally mature enough for mainstream adoption, at least in the Western world.

My chance to create a chatbot

With things changing so fast in the tech scene and designers struggling to stay informed on the latest trends, I was absolutely delighted to see a hackathon for chatbots on Eventbrite. What better way to learn about chatbots and AI than to mingle with developers and build one? I immediately signed up.

This particular hackathon was sponsored by Recime, an all-in-one backend infrastructure for chatbots. Most developers at the event used Recime to set up their bots.

In this article, I'd like to focus on the design aspects of chatbots. In case you want to integrate it to your web service or a messaging app, consider Recime, an all-in-one backend infrastructure for chatbots, who happened to sponsor the hackathon.

Chatbot 101

If you haven't played with a chatbot before, check out the ones on Product Hunt. They range from quirky bots that impersonate Donald Trump to more functional bots that diagnose medical symptoms.

To truly appreciate chatbots, you need to understand what makes them so powerful. Well yes...they're intelligent, "artificially", but what does that really mean? Specifically, they have the ability to understand human language and context, and respond accordingly, which leads us to natural language processing.

Natural Language Processing (NLP)

Chatbots understand what we say by passing our text through an NLP engine, such as IBM Watson, which uses its gargantuan database to deduce the meaning of a sentence.

The point of NLP is not to interpret sentences word-for-word but to extract the intent behind the message. For example, someone asking, "Is it raining in London?" could have the same intent as "What is the weather like in London?" Treating both questions with the same intent, a bot would respond to the two questions with London's weather conditions.

Keeping context is the bot's ability to remember and combine intents across several sentences in a conversation. Let's say the bot in the last example responded with "It's sunny with a couple of light showers during the day." If then you ask, "How many degrees?" the bot would assume the context of weather and output today's temperature.

Introducing the Don't-Worry-Mum bot

Our team decided to create a bot that would take care of mum's nagging messages and keep her at bay‚??-‚??worry-free. Two developers would build the framework for the bot. Another designer and I would determine how it interacts with the world.

We used Facebook's to design and train our chatbot. A good alternative is Google's, which we later found to have a more intuitive interface.

Designing the

To ensure our bot was nag-proof, we considered interactions between a mother and her son, boiling them down to 12 major scenarios which you can see listed on the left panel as Stories.

The next step was to generate questions and answers for each of the 12 Stories. Questions were marked with an Intent and paired with a response from the bot. Remember that NLP does not interpret sentences word-for-word, so any questions with a similar meaning would also trigger the same response.

Source: Chatbot News Daily