Finding the needle in the haystack: Bots to the rescue?
Finding the needle in the haystack – Bots to the rescue?
My eight year old who was working on a project for her class came running to me saying, “Mom, I have a problem with Google. It just gives me so many options. Why can’t it give me just the one answer I need?”
We are moving into an era of micro-learning. We don’t want to read to find the answer. We just want the answer.
In Come the Bots
Ever gone to a website and have a pop-up asking you if you need help? That’s probably a virtual assistant or bot. There are tons of them around. There are bots that can look up flight schedules or book restaurants for you. Then there are bots that will look up the weather for you every day and send it to you without you having to even look it up! They are convenient and answer the questions we have, when we have them.
It’s like having your own assistant and talking to her to get the help you need.
Facebook announced their bot messenger platform in April 2016. Within a span of four months, they had about 11,000 bots developed. Everybody wants to make one or use one! Can the documentation community benefit from this new boom?
Welcoming Bots to the Tech Docs World
For those familiar with XML/DITA, you’ll agree with me that somehow, delivering DITA content through bots seems to be a natural progression.
- DITA content is topic based
Each well written topic answers just one question. So, it logically maps to the information the bot needs to provide an answer to the user.
- DITA topics are also richly tagged
Everything in DITA is tagged consistently. Authors can even mark specific sections of the content for a specific audience or platform. It’s easy to mark out content for the bot.
Not a Piece of Cake. Yet.
Although it looks straight forward, there are a couple of challenges.
- Anticipating the conversation:
Unlike publishing a book or an article where there is no user interaction, with bots there is an actual conversation. A user can ask the bot a question and follow it up with another related question. We need to be able to anticipate the conversation to keep it controlled and plan for occasions where the user still manages to throw a curveball.
- Training the bot:
The ability to have a direct conversation with the user provides a unique opportunity and challenge. We can now track the kinds of questions a user may ask more accurately than ever before. But it also means that the bot needs to be trained well enough to understand the user’s question and respond accurately. Questions with no answers need to be addressed soon.
Where do we start?
- Define the purpose of the bot:
It’s important to have a very specific definition of the kind of problem you hope the bot can solve for the user. Without a proper problem definition, it’s hard to map the conversation flow. For example, your bot should make it easier for the user to check the details of an error.
- Create a persona for the bot:
For a bot to be successful, the interaction between a bot and your user should be a one-on-one conversation with an assistant. While you don’t want to make the user believe that the bot is an actual person, the response should have a consistent delivery format and style for the user to accept it.
- Identify user intents
Coming from Tech docs, we are used to task analysis. We look at a product or feature and then analyze the tasks the user needs to perform in order to use the product or feature effectively. The intent is pretty much the same; it is a task that the user needs help with. For example, you could have a task for each error code that the user may encounter while installing or configuring a software.
- Define the conversation flow:
To provide the user with the best solution, we really need more information. For example, the solution to a problem with a specific error code could vary based on the Operating System the user has or the version of the software they are using. It’s important that the bot gets the information from the user before providing the response. Using a mind mapping or prototyping tool to map out these conversations is helpful. Tools like BotFrame are useful to help visualize and design such conversations.
- Select the bot platform and build:
The bot platform is essentially the brain behind the bot. You build out your conversation flows in the bot platform, train the bot to understand the intents, and tell it how to respond to that question. The bot platform can query a website to respond or have answers built in. There are many platforms available – API.ai, IBM Watson, BotWiki, BotKit. Select a platform that best suits your needs and budgets!
- Mark content for the bot:
All the tagging we do in XML/DITA comes handy! Depending on what your bot is doing, add metadata that will make it easy for the bot to find your content.
- Train, Analyze, and Train:
It’s a continuous process – define the tasks, create the content, train the bot, analyze and retrain the bot!