Questions answering

Train your bot to handle Small Talk and Frequently Asked Questions

The question answering feature of NativeChat is helpful for solving two use cases:

  • handling small talk
  • answering frequently asked questions

When the bot detects that the user is asking about a question that it has been trained with, it can answer directly without aborting the current conversation (or starting a new one).

Here is quick (3:43 min) video demo of question answering is configured and works.

Uses

Small Talk

Bot responding to small talk example.

When people speak to each other (and to bots) they often say things that don’t have important meaning but are there to avoid silence, polite or just keep the conversation going.

The most frequent example is that many times after a person’s conversation with the bot ends (they’ve booked a doctor appointment, and the bot confirmed), that person thanks the bot or says good bye as they would normally do with another human being. It would be inappropriate for the bot to reply with the “I don’t understand” or the default welcome message as if the conversation is starting all over again.

The expected reaction from the bot is to respond appropriately and then wait silently until the user makes a new request. For example, if the user says “goodbye”, the bot should reply “goodbye” or “see you” and stop the conversation.

Frequently Asked Questions

There is a real value in training your bot to answer frequently asked questions that would otherwise require a human to respond to.

Like for example, users might ask “What are your working hours?”, or “What is your phone number?”. The answers for these are pretty straightforward and do not require collecting additional information.

When you’ve trained your bot with questions and answers, each time during a conversation when the bot detects that the user is asking about a question it will display the answer and then continue with the conversation flow.

Configuration

To train your bot to answer questions go to the bot’s Training section and click on the Question answering.

You will see all the categories of questions that the bot is trained with.

Categories

By default there is the built-in Small Talk category, but you can add as many categories as you need. The categories help you organize your question and answers sets if they become a large number, or if they cover different topics (e.g. Pricing, Shipping, Support.)

Import / Export

You can import multiple questions at once from an Excel .csv (comma separated value) or .json file. See exporting CSV from Excel article.

Your CSV file needs to have 3 columns:

  • question
  • system label
  • answer

The system label is used to match the multiple variations of the questions and their answers.

Download and check the sample CSV file and the sample JSON file. See description of the available

Question properties

For every question that you train the bot there are several properties that need to be configured:

Question

Provide one or few examples of how your users can ask the same thing. For example, the user can ask “What are your working hours?”, “Do you work on Sundays?”, “When do you start working?” and the bot can respond with “We are open Monday till Friday, from 9am to 6pm.” to all of these questions.

Group name

A short name for the question. Used to match the multiple variations of the questions and their answers when importing. Because one question can have bot multiple question expressions and multiple answer variations the group name is used to label these pairs.

A good label for the questions examples above could be “working hours” as it short but descriptive.

Answer

A set of possible answers, the bot will choose one randomly. Only one is required.

Voice answer (optional)

For voice channels (like Alexa) you can provide a separate answer that sounds better when spoken out vs. how it looks on screen. You can use SSML (Speech Synthesis Markup Language) to add voice specific formatting like pauses, different tone and pitch levels, etc.. Check the Amazon SSML documentation for supported features.

Example SSML marked message:

I already told you I
<emphasis level="strong">really like</emphasis>
that person.

Next steps

Once you are ready with the configuration, make sure to test your questions training quality.