NLU
NLU is an acronym for natural-language understanding. It is a part of natural-language processing (NLP) Also called NLP, this process understands human speech or text and responds with human-like language. that deals specifically with machine reading comprehension. It is the part of Bot Builder that allows your bot
A software application that handles customer interactions in place of a live human agent. to understand what your consumers are saying in conversations so it can provide the most helpful response.
The NLU section of Bot Builder allows you to create and manage the configurations that build your bot's NLU capabilities. These are entities and intents. These concepts build your training data and make your bot smarter.

Concept | Definition | Example | What the Bot Does |
---|---|---|---|
![]() Utterance |
Anything a contact says in an interaction. Sometimes called a message. |
"I lost my password." "What is my balance?" "Are you a bot?" |
The bot uses Natural Language Understanding (NLU) to analyze each contact utterance to determine its meaning, or intent. |
![]() Intent |
What the contact wants to communicate or accomplish. Every message the contact sends has an intent. |
"I lost my password" has the intent of "reset password". "Hello" has the intent of "greeting". |
The bot analyzes a contact's message using NLU |
![]() Entity |
A defined piece of information in a contact's message. | Person or product name, phone number, account number, location, and so on. | The bot uses NLU to identify entities in a contact's message. Entities help the bot understand what the contact's message means. |
![]() Slot |
An entity extracted from a contact's message and saved for use in bot responses. Similar to a variable. | Creating a slot for contact name lets the bot use that name in responses during an interaction, making it more personal. | When configured to do so, the bot extracts an entity from a contact message and saves it in a slot. You can have the bot use this information later in the conversation. |
![]() Rule |
Defines a bot's response to messages that don't change meaning with context. |
|
Rules are one of two ways you can configure how the bot responds to an intent. Rules are useful for certain kinds of intents, but not all intents. |
![]() Story |
Trains a bot to handle an interaction based on message intent and conversational context. | In an interaction about a forgotten password, the bot would respond to, "How do I do that?" in one way. If the interaction were about creating a new account, the response would be quite different even though in both cases the contact is using the same words with the same intent—to get more information. | Stories are the second of two ways you can configure how the bot responds to an intent. Stories teach the bot how to use the context of the conversation to respond appropriately. |
![]() Bot Action |
Anything a bot says or does while handling an interaction. |
In an interaction about a forgotten password, the bot responds by sending the link to the password reset FAQ on the website. When a contact expresses frustration, such as "I don't understand! It's not working!!!" the bot responds with "I'm sorry. Would you like me to transfer you to a human agent?" When the contact says yes, the bot initiates the transfer. |
Actions are the options you have when defining how you want the bot to respond to each intent. They give you the flexibility to configure each response to achieve the outcome that meets the contact's needs. |
Best Practices for NLU Training Data
- Always opt for quality over quantity. It's okay to start with a small data set and build it over time as you gather more high-quality examples.
- Use examples from real-world conversations. This ensures that the data you use is realistic. It comes from things real contacts have said.
- Don't use tools that auto-generate data and claim to train your bot
A software application that handles customer interactions in place of a live human agent. faster. They often produce examples that don't reflect what contacts really say. They also can result in a bot that loses its ability to generalize. Over time, the bot reaches a point where it only recognizes phrases it's seen before.
- Do not use the same training data for more than one intent. If you re-used training data, the bot won't be able to reliably determine the intent in live interactions with contacts.
- Remain flexible and willing to adjust intents and stories over time. As you review conversation data, you may discover that what you thought was two separate intents are really shades of the same, more general intent. Or you may find that an intent is too broad, and you must break it down into more distinct intents.
- Add new training examples only if they will help.
- Do not add new training examples that are very similar to existing examples. If the bot correctly predicts the intent with a high confidence for an utterance, it doesn't help the bot to add additional similar examples.
- Do add more training examples of utterances the bot has previously predicted incorrectly or with low confidence.