1. Home
  2. Get started
  3. How to create good intents for your Chatbot?

How to create good intents for your Chatbot?

If you are reading this article it means that you have already worked on the platform and want to make your Bot more efficient in detecting your clients needs when talking to the Bot.

If you don’t know what a NLP Engine is or are unfamiliar with Intents please refer to Timothée’s article: Discover what is an intent

For starters here are a few basic principles 👩‍🏫

  • Semantic diversity
  • Balanced number of intent formulations
  • Use entities for endless variations of intentions

How to write good intent phrases ? 💡

How many formulations per intents?

It’s important to have a balanced number of formulations per intents. A minimum of 5 or 6 formulations is required per intent but you can add as many as you like as long as all the intents have a balanced number of phrases in each of them ⚖️
Don’t forget that the Bot learns what you feed him, so the more you will give it intent formulations, and the more he will be precise.

Don’t forget: If two intents are similar and one has more intent formulations than the other the engine will promote the answer of the intent with the most formulations.

The same goes in the way you write your intent formulations, if you use a certain type of wording, try and repeat the wording in all the intent phrases you think it would be used. 

Here is an example with two intents :

Reimbursement intent
I want to be reimbursed
I would like to be reimbursed
How can I be reimbursed 

Closing account intent
I want to
close my account
I would like to close my account
How can I close my account

Should I train the bot with short or long phrases ?

Well it depends on what are the type of phrases your user’s use if you think your user’s will use short phrases try  short phrases. If they use long phrases try long phrases 😉

📯 Note : The bot will only understand one intent per phrase. He won’t understand “I want to be reimbursed, close my account  and a nice cup of hot chocolate with vanilla chantilly please”.

What about spelling mistakes ? 

The NLP should be able to manage minor spelling mistakes

The Clustaar platform handles a few languages,  queries are sent to the NLP engine without accents nor upper and lower cases, so it is not necessary to write the same wording by varying them. It is the same for  feminine/masculine and singular/plural words.

How does the priority of intentions work?   📈

Priority always outweighs matching probabilities when recognizing intentions.

When an intent is detected, the most likely intention is always matched unless an intention has a higher priority.

Imagine we have two intentions:

“You’re super nice” with normal priority and matching method in NLP.
“Nice” with high priority and matching method in Contains.
If the user says “you’re super nice”, the second intention will take over the first one. Whereas if both intentions have the same priority, the first intent will match.

1️⃣   

Low priority

2️⃣ 

Medium priority

3️⃣ 

High priority


What you can do when creating a bot is set the smalltalk (i.e hello, yes, no) priority level to low. Those are formulations that, even if they are present in the sentence, must pass after others. 

For example:

“Hello you, I would like to change my password”

We want to be sure that it will always be the “password forgotten” intent that will be chosen and never the “hello” intent. This can be secured by setting a lower priority on “hello”.

How to use entities? 💬

If you don’t know what are entities please refer yourself to Timothée’s article right here.

Entities have a great purpose : They avoid writing exactly the same sentence with an important word that changes to describe the same concept. 

Exemple :

@payment_option: payment option, payment method, credit card, cc, debit card, card, cash
@change: change, update, switch, modify, edit

I want to @change my @payment_option
how do I @change @payment_option
I’d like to @change my @payment_option
Can I @change my @payment_option
How to @change my @payment_option
Is there a way to @change my @payment_option 

🎁 Bonus Tip 🎁

You can use use the “Analyze” function on the top right of the Clustaar WebChat Stream in the platform to see your intent scoring : 

To see more concrete examples of good formulations, visit this article

Was this article helpful?

Related Articles

Need Support?
Can’t find the answer you’re looking for? Don’t worry we’re here to help!
More help

Leave a Comment