NLU Management

How to manage your Assistant's NLU data.

NLU Management Best Practices

An overview on how to best create, organize, and manage your NLU data in Voiceflow


As you build out your first conversations, you will quickly realize that there are multiple or combination of utterances your end user will say, in order to achieve the same outcome, location or position/part in your conversation. Anticipating every possible response will lead to a messy canvas, and ultimately a frustrated conversation designer.

As conversations get more complex, it's important to manage your conversation paths in an efficient way.

The key for a great conversational experience is to understand the end-users' intentions and extraction of relevant information from that intention, and any associated/relevant action(s) against that information.

Importance of Managing Conversation Logic

Intent-based conversations are less restricted than solely flow-based or linear-path conversations (which can only follow a set conversational path). They can better adapt to a user changing their mind, for example. This means that they can more easily carry out a wider range of tasks and adapt to changing conversation topics.

Efficient management of user intentions, responses, conversation logic and conversation design leads to non-linear and engaging conversation experience with your end-users. This will require and involve the usage of Intents, Entities and conversational logic such as variables.

Intents vs. Entities

Before we dive deeper into managing your conversation model, it's important to set a baseline understanding of the conversational components and fundamentals that will allow you to build dynamic non-linear conversations.

This can be best explained with a conceptual example: “What cake do I buy for my birthday?”

On analyzing the above statement, we can understand two basic things:

  • The person is interested in buying a cake
  • The occasion is a birthday

The former is the Intent, the latter, an Entity. These are the building blocks for most conversation queries. Now, imagine you run a bakery, you might not just be selling cakes; you might also sell muffins, cookies, breads, and much more. In that case, you would want to add two or more Entities with the Intent of buying.

In the graphic above, we can understand that the user’s intention is to access the weather.

To break it down further, let’s define a few terms.

  • Intent - Intention, or purpose of the user in the conversational flow
  • Entity - A data point or value which you can extract from a conversation (and can be slotted into a category/type)
  • Utterance - The input(s)/response that your end-users provide to your conversational experience

Your conversational interface will derive intents and entities from utterances.

The difference between an Intent and Entity is that the intent is the goal that your user has when they’re sending a message to your conversational experience, while the entity is the modifier that your user makes use of to describe their query.

Alternatively, the Intent is an action that the user wants to perform and the Entity is a keyword that you want to be extracted from the user’s utterance.

Note: You can learn more about the Intent Step here.

Therefore, while developing and designing a flexible and dynamic conversation, user/customer intents and entity recognition is crucial.

Other docs in this section