Intentions are what the user wants to get when communicating with the bot. The purpose / meaning of his appeal to the bot, what problem he wants to solve or what exactly he wants to know.
Intentions are used when teaching NLU, they are grouped into lists, and they are also training examples in the form of various text at once.
For example, the phrases "I want to buy a yellow vacuum cleaner in installments", "I'm thinking about a robot vacuum cleaner", "I have 20 thousand, and I'm considering updating a washing machine or buying a robot vacuum cleaner" refer to the intention of "Buying household appliances".
All training examples must be unique. It is not allowed to use very similar training examples in different intentions. This will lead to errors in the recognition of intentions, because it will be difficult for the NLU to determine what kind of intention is meant, the semantic boundaries between intentions will be blurred.
For proper operation of the NLU, it is recommended not to use single words /phrases in training examples. Such phrases should be no more than 10-20% of the total number of phrases in the intent.
In training phrases, it is important to use a variety of words/phrases, synonyms and contexts for them. The more options, the richer and closer they are to people's real phrases, the better and more holistic the NLU will "understand" each intention.
For example, the phrases "pay" or "pay by card" in the intent "How to pay by card". The context will be examples of the type "how to pay", "I want to pay with a card", "can I pay", "I would like to pay with a card", "do you accept payment with a card" or even "do you accept a card".
It is recommended to specify at least 30 training examples, as well as to avoid significant inequality in the number of training examples between different intentions. For example, there are 500 or more examples in a pair of intentions, and only 30-50 in the rest. Ignoring these recommendations can lead to unstable agent operation and significant fluctuations in the accuracy of intent recognition with each new training.
If the subject area of the agent is very complex, it is recommended to thoughtfully fill each intention with a large number of examples (from 200 or more), as close as possible to the real phrases of clients. You can use phrases from direct transcription of dialogue recordings, but in this case you should avoid "garbage" phrases (too long and watery).
Create simple and clear intentions, avoiding unnecessary complexity and length. Instead of one big intention, divide it into more specific ones. For example, the intention of "buying goods" is too abstract, it would be better to use "buying household appliances", "buying electronics" or even "buying large-sized household appliances", "buying small-sized household appliances", etc.
To improve the stability of the agent's work, you can enter a special "garbage" intent, where to add simple words without context, errors and unnecessary phrases that are often found in conversations. It is better to do this after the initial launch of the agent, analyzing its work with real users and analyzing errors. This intention needs to be handled separately in the bot script, providing for the desired behavior (asking or repeating the question in a different formulation, for example).