10 Simple Tips on Bot Strategy and Design

Here’s what we’ve learned about how to build good bots.

Synthetic
Chatbots Magazine

--

Synthetic Meetup on voice and cha- all about guided navigation vs NLP in chatbots

Simplifying the Process of Building Bots

At our recent bots, ai & messaging meetup we talked through our thoughts on simplifying the bot strategy and design process — from objectives to conversation trees and beyond. Here is a roundup of our latest thoughts on designing and building effective messaging applications, bots and more.

1. Define the Objectives for Both Publisher and User

The first step in the bot planning process is deciding what the bot will do for the bot’s creator, and what it will do for the bot’s users. There’s no point in making something no-one will want to use, and no point in making something that does nothing for your business.

Publisher’s objectives could include;

  • Generate sales
  • Provide better customer service
  • Drive traffic to website
  • Build a CRM channel
  • Or (this is a common one at the moment) innovate test & learn.

User objectives could include;

  • Novel experience
  • Easier access to information,
  • Quick help/support,
  • Entertainment,
  • Or problem solving.

So define both sets of objectives clearly and look for how these could overlap within a messaging application.

2. Define Your Domain

With your objectives in place, it’s time to think about what topics your chatbot will know about, and how deep it’s knowledge will go. We refer to this as the bot’s ‘Domain’.

T shaped bots — understand how broad and deep your application should be based on user data

How broad is the area of expertise? Taking a generic ‘room booking’ bot. Are we dealing with booking any kind of accommodation anywhere in the world? Or just hotel rooms anywhere in the world? Or just hotel rooms in London?

Alongside the ‘how wide?’ question, there’s the ‘how deep?’ question. Is our room booking bot going to try to be aware of every hotel room in London? Or just the rooms our client is selling?

Ultimately, infinite depth is possible by linking out to the internet, so what you need to think about is ‘how much do we deliver within the bot?’, and ‘at that point do journeys end, or do we link out to allow users to continue to dive into the topic’?

The answers to these questions are generally obvious for functional/transactional bots, and need a little more thought for information/content-led bots.

3. Determine Where to Use Rails vs. NLP

Rails are preset conversation paths that move sequentially through stages, with clear signposting and buttons for the available options.

Content → Option A B or C → Content → Option A B or C

NLP (Natural Language Processing) is syntactical analysis of free text input to determine intent, and delivering the relevant content or action.

It’s NLP that determines that;
“I want to find a room in Athens next week” includes;

  • Intent to book a hotel room
  • the location of that room is Athens
  • the room is needed in the following week.

A typical NLP system would need to ask ‘Athens, Georgia or Athens, Greece?’ and clarify the exact dates that ‘next week’ refers to. Then it’s got what it needs to go and query a database of available rooms.

“Rails vs NLP is a false dichotomy” — Rui Teimao, co- founder Fastbot.io

In practice, almost any chatbot will require both a set of clear, signposted branches/pathways/user journeys AND some element of keyword- and keyphrase-based response.

Rails or NLP — the wrong question?

Rails are important signposts that help users avoid the tyranny of choice that comes with free text input.

Even without NLP, keyword input is useful for manipulating data. E.g. using ‘cheapest’, ‘most popular’, ‘nearest’ to filter a presented data set.

Responses to ‘small talk’ keywords and phrases are also important — always make sure you know how to respond to ‘hello’ (and its many variants), ‘help’, ‘I want to talk to a human’, ‘tell me a joke’, ‘how are you?’, standard emoji and stickers, images.

Part of the skill of chatbot design is to identify when to use rails and when to use NLP.

4. Map Out your Conversation Tree, Keyword Responses and Data Sources

Avoid wobbly bots. Make sure the 3 key legs are planned properly

These are the three pillars of bot content planning. Miss any out from your planning and your bot is likely to fall over.

  • Conversation tree is a map of all user journeys and content outputs.
  • Keyword response is the definition of how the bot will respond to keyword inputs
  • Data sources are the datbases, files and repositories containing information and content that will be delivered through the bot.

Keep up to date with bots, ai & messaging news

5. Creating Your Conversation Trees with Mind Mapping Software

Conversation trees map out all the user journeys through the conversation.

They are the chat bot equivalent of programming flow charts, mapping each step of a user journey from welcome message to final outputs.

Currently, there’s no chatbot-specific design software. We have found that mind mapping works well for creation (we use Xmind).

As trees get complex, these flows can become unwieldy documents, but they are supremely useful for communicating to colleagues and clients exactly how the bot will function, long before there’s a prototype to play with.

Simple bot workflow —we find mind mapping software works well

But you don’t have to use mind mapping. We have received briefs with complex flows visualise in Powerpoint.

Some of the current bot building platforms (e.g. Converse.ai) offer drag & drop visual building tools.

If you’re working with one of those platforms, that may be sufficient for you and might save some time. But like any journey through new territory, we find it is always useful to have a map of the journey to refer to.

Also, a standalone, platform-independent design process may allow you to move your logic from platform to platform more easily.

6. List the Keywords and Phrases You Will Respond To, and How

We have found three levels of working with text input in bots

Basic keywords
Specific keywords or phrases that navigate users to a specific location in the conversation tree. EG ‘help’ jumps straight to a help content block, that outlines all the principle keywords and actions.

Another example is the collection of ‘small talk’ phrases — stock responses to common conversational phrases like ‘hello’, ‘how are you today?’, ‘i love you’, ‘do you want to f*** w** **?’ and the many other phrases that are commonly entered into all chatbots.

Data manipulation keywords
Using keywords to carry out data set manipulations like filtering and reordering. For example in a product recommendation carousel with 4 t-shirts. “cheapest” replaces the current set with the 4 cheapest t-shirts. “popular” replaces it with the 4 best-selling t-shirts. “grey” updates the carousel to only include grey t-shirts. etc

AI, Domains & intents
Textual analysis of input phrases to identify the message’s intent and determine the appropriate response. Requires plugging an NLP platform (eg IBM Watson, API.ai) into your technology stack, and on-platform coding and configuration.

7. Data Specifications

Almost any useful chatbot will need to connect to data. During the design process, outline in as much detail as possible:

  • Where your data is coming from (bot-specific databases, existing owned databases, 3rd party APIs etc)
  • The format each of these delivers in
  • The queries underlying each dynamic component
  • Relationships between the different datasets

Where’s the data coming from? In what format? What are the queries underlying each dynamic message?

8. Contact Strategy

At a minimum, you will need to let people know the bot exists to get users. Beyond this initial promotion, you will also have an opportunity to broadcast messages to users of your bot. And you can provide subscriptions.

Within Facebook Messenger, policy changes mean ongoing contact strategy for your bot is important.

What subscription options will you offer, where will you offer them and how will you offer them?

`Keep on top of notification and broadcast changes

In Facebook Messenger, you have 24 hours from last interaction to broadcast to your bot users. So what’s your 23.59 contact strategy, to encourage re-engagement and ideally subscription?

Broadcast restrictions are likely to be an area of interest to Facebook, so make sure you’re following their developer blog, keep up with policy changes and have a compliant strategy.

For more help: Chatbots and Facebook: the Best Way To Advertise

9. Test and Iterate in Bot

Real world testing is vital. Make sure your project plan has a test rollout to a closed group before you go live — staff, superusers, friends, customer panel.

Capture last comment and failed responses to tune your matrix of keywords and phrases.

Test in bot to get responses to creative questions

You will learn a lot about user expectations during this testing phases. You will also learn some new swear words.

10. That’s it.

If you found this useful, please hit the applause below — be great if others could see it too.

For more, look into The Bot Lifecycle

If you’d like some help to profit from the opportunities in messaging, bots and ai. drop us a line at hello@thesynthetic.co

Synthetic is a new agency focused helping clients and partners win where emerging technology meets mass adoption — A.I, messaging, apps, voice, web and more. Head over to www.syntheticagency.co for a chat

👏👏Clap below to recommend this article to others👏👏

--

--

The A.I agency. Helping businesses with voice experiences, chat and emerging tech in the new normal.