How to improve my chatbot’s accuracy?

Question

Why does my bot always give the wrong answer? How do I make it smarter?

Answer

Possible reasons for chatbot’s improper responses:

  1. Incorrect setup for bot’s rules.

  2. Poor dialogue design.

  3. False predictions by NLU model.

The following guide may effectively improve the bot’s performance.

Method 1: Fixing Chatbot’s Rules

For example, in the message of “Response to requesting delivery”, if you falsely set the rule with “Asking about price” intent instead of “Requesting about delivery” intent, no matter how well you train your model, the response will always be incorrect.

Before you publish your bot, double check if you set the rule for each message correctly.

Method 2: Optimizing Dialogue Messages

Since anything can be expressed in various ways, if you design an overly specific response for a certain dialogue, the bot may respond incoherently. We suggest you read through the following guide and make adjustments for your dialogue design.

1. Use general responses instead of yes-no responses

For certain occasions, customers may ask questions that can be answered either generally or with a simple “yes” or “no”. A more general response will allow your bot to provide the needed answer under a broader range of questions.

[ EXAMPLE ] A question about business hours can be formatted in two ways: “Are you open on Sunday?” and “What day are you closed?” In this case, simply answering “no” would be a bad response. Alternatively, a more flexible answer would be “We are open from 10am to 10pm from Monday to Saturday. We are closed on Sunday”.

2. Combining messages

For matters that have similar nature, we advise you creating a single message with which the robot can handle all possible questions regarding the same matter.

Method 3: Improve Chatbot’s NLU Understanding

If your bot answers the wrong thing because of inaccurate intent prediction, you can improve your NLU by following the guide below.

1. Improve utterances

You can increase the number of utterances and diversify them with different sentence patterns or other vocabulary. For more information, please visit (3) Create Intents and Utterances.

2. Adjusting intent structures

You can combine similar intents together for the bot to answer ambiguous questions. For other questions that the bot still cannot understand or answer correctly, you can add more intents to handle them.

[ Example 1 ] Utterance 1: [Do you sell bananas?]

Utterance 2: [Do you sell apples?]

Utterance 3: [Do you sell oranges?]

Since the structure of the three utterances is very similar, they can be combined to one utterance as “Do you sell {{fruit}}?”

3. Use entities when applicable

You can utilize “entities” and combine various utterances with similar sentence structure in one utterance only. In other words, if several utterances share similar structure and differentiate only in certain vocabularies, you can consider using entities to replace the vocabularies.

If the only differences between several utterances are the differences in vocabulary, you can consider using entity directly.

Reminder: If you adjust any utterances / intents / entities, you need to click “Train” in order to keep the NLU model updated.