Natural Language Understanding is at the core of advanced Virtual Agents. Cognigy.AI features an industry leading NLU engine called Cognigy NLU.
Intent Mapping is at the core of the NLU engine and the process uses machine learning to match the user's utterance to the defined intents.
Want to learn how to use Intents?
Head over to Train your Virtual Agent to recognize Intents in the Help Center.
Intents can be created right within the Intents section of the NLU tab and can be fed with training data in the form of example sentences. These example sentences should include a certain degree of variation for the model to work well. The following image shows an example intent library within the intent creation menu:
Machine learning models work best with comparable amount of information on all intent classes. That is, ideally all intents have a similar amount of example sentence and are clearly separable in terms of content. While it is able to deal with imperfect input, it always helps if you make the job for the machine easier.
Make sure you do not have intents that are only a single word or sentence without useful information. Such intents may reduce the overall efficacy of the model.
As soon as the model is trained, Cognigy NLU is able to provide feedback regarding the model's performance. This is shown using different colors, with green being good, orange being sub-optimal and red being bad. Additional information is given on mouse-hover.
Number of example sentences
Intents must have at least five example sentences in order to train the NLU.
Intent Entrypoints can be used to alter the Entrypoint in the Flow after the NLU is executed. The three options are:
Automatically set the Entrypoint.
Execute from START in this flow
Executes the Flow using the Start Node.
Execute from a Node in this flow
Executes the flow starting from a specific Node.
Intents can be configured with direct output (answers) in the form of so-called Default Replies. Default Replies are integrated Say and can be configured with channel-specific output.
Intents can be configured with a number of advanced options.
Tags can be used to categorize Intents, which makes it easier to manage them.
Cognigy NLU comes with a self-learning mechanism that works by configuring Confirmation Sentences. Whenever an Intent score falls within a (configurable) range - let's say 0,4 - 0,6, the Confirmation Sentence is triggered and shown to the user. If the user confirms the Intent, the Intent will be triggered and the NLU will remember the specific utterance for the particular user. In case many more users confirm the same utterance, the NLU will add the utterance to the Intent's training sentences.
Self Learning Virtual Agents
Use Confirmation Sentences to let the NLU automatically ask for user feedback, leading to self-improving Virtual Agents.
Adding Reconfirmation Sentences
Read more about how reconfirmation works on our Machine Learning Intents page.
The Intent Options Menu can be selected by clicking on the three dots next to the Create Intent button. The menu provides a number of options.
Upload Intents CSV or JSON File
This option lets you upload Intent collection in either CSV or JSON format.
Intents can be downloaded in CSV and JSON formats as well.
Create 'Reject Intent"
Reject Intents can be used to explicitly filter out certain utterances. A Reject Intent can be used in case certain user utterances should not be registered as an Intent.
Delete All Intents
This option can be used to batch-delete all intents in a given Flow.
Cognigy NLU can take into account additional Flows and Lexicons whenever they are attached.
Whenever a Flow with Intents is attached to another Flow, the Intents in that Attached Flow are taken into account when training the NLU model. This is a practical way of combining different Intent collections into a bigger model.
Be careful with attaching Flows
Whenever a Flow is attached to another Flow, the Intents of both Flows are combined into a single model. This may lead to unexpected results.
Lexicons need to be attached to a Flow in order for a Flow to be able to detect its Keyphrases. Make sure to retrain the model whenever you attach or detach resources.
States can be used to deliberately block certain Intents. This can help with edge-cases or very large Intent collections.
Refer to State for more information.
Slot Fillers allow for advanced Slot filling with very little effort. They can be configured with a certain Type of Slot and are executed whenever the NLU is executed (typically with every input). Slot Fillers automatically copy found Slots to the Context object, meaning that they can be filled using a number of subsequent user utterances. When combined with Question Nodes, this allows for a very natural information gathering mechanism since it allows users to "over answer".
Suppose we want to gather three pieces of information:
We would configure appropriate Slot Fillers for these pieces of information:
If we now add matching Question Nodes, we get following Flow:
Make sure to configure the Question Nodes with the "Skip if Answer exists in Context" selected, as this is where the Slot Filler results are stored.
The Flow is now ready to take different kinds of utterances and automatically ask for the missing information.
"I would like a T-Shirt in XL" --> [missing email] --> "What is your email?".
"I would like a T-Shirt in XL, and my email is [email protected]" --> Flow completed.
Updated 9 days ago