Machine Learning Intents

Description

Intents are collections of identified user intents (e.g. what does the user want).

The user input is scored against all example sentences and Cognigy AI will identify the Intent with the highest score as the Intent for this input if it is above the configured thresholds.

To get started with ML Intents, also refer to the How to work with ML intents in Cognigy guide.

Training

The Intent icon in the flow editor left menu will have a red exclamation point when training is required. Flows that are only processed as an attached flow do not need to be individually trained (the exclamation mark can be ignored) as the training of the attaching flow will pull in the intents of the attached flows and the training will be done there. Flows that are used separately with intent mapping need to be trained.

Cognigy NLU requires pre-training of the intent mapping model.

To train your model go to the Intents tab in your Flow Editor and click the blue TRAIN INTENTS button.

A spinner indicates training is in progress. While new models are trained the latest version of your flow will fall back to the most recently trained model.

Successful training is indicated with a green notification. Note training may fail, this will be indicated by a red error notification. Expand the error message to learn more, for example, you may have to add more example sentence training data to complete training successfully.

The following actions also trigger the need to train the intents (the red exclamation point in the intents icon will appear):

  • creating, editing and deleting an intent
  • attaching a Lexicon
  • editing a Lexicon
  • attaching and detaching a Flow

Properties

Each Intent has the following properties

PropertyDescription
Intent NameUnique name of the Intent
Confirmation SentenceA sentence to ask the user if the Intent has been identified with a score in the reconfirmation threshold
Example SentencesA set of example sentences for this Intent

Example Sentences


Each Intent can have any number of example sentences attached to it. These sentences should be a broad range of possible user inputs for the Intent. Read our Best Practices for creating intents.

If you have configured Lexicons with similar items (e.g. pizza = FOOD and cake = FOOD), you don't need to enter similar sentences for both. The system will generalize the sentence for you as I want to order FOOD.

ML Intents: Example SentencesML Intents: Example Sentences

ML Intents: Example Sentences

Tags and Synonyms


You can use any Slots from attached Lexicons in your Intents.

Simply press the '[' key and type in the name of the Slot Tag. Valid Slot Tags in attached Lexicons will be highlighted in Blue

ML Intents: Tag HighlightingML Intents: Tag Highlighting

ML Intents: Tag Highlighting

❗️

Tag-only sentences supported before Cognigy 3.4.2

In versions prior to Cognigy 3.4.2: Do not add example sentences that only contain tags! This is currently not supported and will result in an error during intent training on

Synonyms you provide in attached Lexicons are used at score and train time to improve accuracy.

📘

Pro Tip: use synonyms to translate rare words

Provide understandable, common synonyms for rare words. Cognigy's Natural Language Understanding will be able to better make sense of rare words if you translate them to common utterances. E.g., a specific brand name such as "PremiumPayID" could be provided with the synonym "credit card" and Cognigy will understand its connection to payments where it would otherwise be an unknown word.

Note that Slot Tags and Synonyms for intents must be attached in the same flow. This means when training with attached flows: intents in attached flows use the lexicons of their attached flows, not the lexicons of the parent Flow.

🚧

Do not overuse tags

For small word groups which mean the same thing it more effective to use only synonyms. Tags are appropriate for a large number of words collected in one concept, such as first names or country codes.

📘

Exact tag replaced matching algorithm

Example and input utterances that match exactly save for Keyphrase(s) which share the same Tag automatically receive a score of 0.95

To illustrate:

The input "I want a pizza" will match an example sentence "I want a burger" directly with score 0.95 if "pizza" and "burger" are Keyphrases in an attached Lexicon that share the same Tag.

Note the direct comparison is limited to the very first Tag in a Lexicon only for efficiency reasons.

Built-In Slots


Built-in Slots are detected automatically. If you use an email or number in your example sentence, this will be handled automatically in Cognigy's NLU pipeline. You may not provide explicit tags for built-in Slots in your example sentences.

Thresholds


Intents can fall into one of three thresholds:

  • Confirmed
    The Intent has a score higher than the confirmation threshold and is considered "confirmed"

  • Reconfirmation Needed
    The Intent has a score higher than the reconfirmation threshold, but lower than the confirmation threshold and must be reconfirmed by the system

  • Not found
    The Intent has a score lower than the reconfirmation threshold and isn't considered a valid result for this input

You can change these thresholds in Project settings .

❗️

Confirmation Sentence

In case you haven't defined a confirmation sentence for your Machine Learning intent the reconfirmation threshold is used to confirm an intent.

So the reconfirmation threshold is used in two different ways depending on the existence of a confirmation sentence:

  • With confirmation sentence: the reconfirmation threshold triggers the reconfirmation sentence
  • Without confirmation sentence: the reconfirmation threshold confirms the input

Reconfirmations


If an Intent has been marked as Reconfirmation Needed and it is the highest found Intent, Cognigy AI will ask the user the question set in the Confirmation Sentence property for the Intent. If the user confirms the question with a positive answer, Cognigy AI will remember the answer for this user and not ask the user again.

📘

How Reconfirmation Works

  • User: "I want to order a snack"
  • Cognigy AI scores the Intent orderPizza with 0.7
  • Cognigy AI: "Do you mean you want to order a pizza?"
  • User: "Yes"
  • Cognigy AI executes the sentence as if the user had said "I want to order pizza", plus remembers the confirmation for the future
ML Intents: Confirmation SentenceML Intents: Confirmation Sentence

ML Intents: Confirmation Sentence

Learned Sentences


If a certain number of users confirm the sentence (configured in Flow property intentMapper.learnNewExampleSentencesThreshold), the sentence will become an official example sentence under this Intent.

NLU Versions

You may select different NLU versions in the NLU version dropdown in the Settings.

Cognigy's NLU is versioned so that improvements in the underlying technology can be deployed in a predictable manner.

The table below lists the currently available NLU versions:

Machine Learning Model

Stable

  • Recommended for production use

Cutting Edge

  • Receive the latest improvements to our NLU algorithms

Cognigy NLU 1.0

  • Supports Negated Intents
  • No pre-training required

Deprecated: please migrate to Stable or Cutting Edge!

Cognigy NLU 1.0

❗️

Deprecation Warning

Cognigy NLU 1.0 is depreacted and will be removed from the product in the future! Please migrate to Stable or Cutting Edge.


What’s Next

Continue learning about States or jump to the How to work with ML Intents in Cognigy guide:

Did this page help you?