Intents
Intents are a collection of expressions that are all used to express a specific request. You chatbot may have multiple intents to express different requests such as 'room reservation', 'vacancy check' and so on. Intents creation is directly counted to your account capabilities but will be counted only when you publish. As long as your chatbot stays in preview or draft you are free to create as many intents as you like.
To create a new intent click on the Add Intent button on the Intents page. Once your new intent has been created clicking on it will redirect you to the expressions creation page. If you have multiple intents and expressions you may also quickly import them.
Once your intent is defined, just click on the intent row to access the expressions views.
Main Intent Properties
Name
This is the name of the intent. It can be any name you like.
Key
This value is used only on platforms where intents may be used to represent builtin or default intents. In any other case, it can be anything you like.
Description
This is the description of the intent. It can be anything you like.
Language
You can specify here the language that will be used by the NLP engine when training the expressions. Selecting the correct language may dramatically improve training results as many terms and words are automatically stemmed to a more common form, increasing confidence and detection percentage.
The current supported languages are: English, Spanish, Italian, German and French.
Context
Context is used to automatically filter intents detection based on the context of a previous expression. Let's consider the following chat:
This is a very typical example of a non-contextual chat: when the second question is asked by the user, the chatbot has lost the context (which is room services) and replies vaguely with a typical bot answer. Using Xenioo NLP, you can build intents with context and intents that activate only on very specific contexts so that your chatbot is capable of sustaining a meaningful conversation.
In our example above, we could have a general room services intent setting a "Room Service" context and a general "Room Services" intent that activates only on if "Room Service" context is set. By doing so, the conversation can be easily adjusted to handle something like this:
The chatbot above brings a much smoother exchange with the user, resulting in a better conversational experience.
A bot not staying in context is bad but of course, also a bot always staying in context is equally bad. Again, imagine a conversation like this:
As you can see, the conversation is going nowhere. This is because this time the bot has no way of leaving its current context. Again, Xenioo intents can be configured to automatically leave context after a number of "out of context messages" so that our chatbot can successfully react to these changes.
The settings below can be used to configure how your intent reacts to context changes.
Value
This is the context value set by this intent. Usually each intent sets its own context with some intents not setting any but also multiple intents can set the same context.
Context Filter
In this area you can specify one or more context values that will act as a filter for this intent activation. If this area is empty this intent will be activated by any expression match that reaches the configured confidence.
Context Expiration
This is the number of times an out of context answer may happen before the current context is erased and reset to nothing. By default the reset context number count is zero which means that context is reset as soon as an out of context answer is received.
Topic
While your chatbot dialog capabilities grow, you may face issues like false positives or near confidence when a user express an intent that can lead to different topics. Let have a look at the following conversation:
As you can read, the chatbot reply is not really correct...and not really wrong. It may be possible that the user just wanted to setup the network but also that none of the initial setup steps has been followed.
To handle these dialog states, Xenioo NLP uses Topics. Using Topics you can assign to any intent a generic topic and minimum viable confidence and Xenioo will be able to detect, group and display to your user all the intents that have matched the expression.
As you can see, the bot had two possible topics and gave the user an option for both. Once configured, it can be handled automatically by Xenioo and ultimately translates to a much better experience.
Each detected topic will automatically increase the value of the conversation_topics runtime variable. Use this variable to see if a topics summary may be useful to your user.
Topic Title
This is the text that will be displayed by the NLP Topics Action if the confidence reaches the Propose Confidence value.
Propose Confidence
This is the confidence percent above which the topic will be added to the detected topics list.
Conversation
Using the conversation section of the intent settings you can configure your intent to generally activate without using any kind of behavior or global bot operations.
Activation
This setting shows the type of activation used for this intent.
Confidence
This is the minimum required confidence to be met by the engine to trigger the activation modes.
Priority
Using this setting you can change the order of activation when multiple expressions may trigger automatically. Take for example these two expressions:
Both these expressions may end up triggering their respective intent but of course, you would prefer to have the hotel search triggered and not just reply something like this:
To avoid a situation like the one above, you can just assign to the Salutations intent a lower priority than to Hotel Search. As a result, Xenioo will trigger Salutations only if there isn't any Hotel Search triggered.
Behaviour
This is the behaviour where the conversation will be automatically redirected when Automatic Redirection is selected.
Interaction
This is the interaction where the conversation will be automatically redirected when Automatic Redirection is selected.
Reply Text
This is the text that will be sent to the user when Immediate Reply is selected. Like in any other text, Dynamic variable parsing can be used here.
Can Bypass Input State
Enabling this option will allow the automatic activation to override any currently blocking input and activate the associated flow.
Changing the flow during a blocking question will fully skip the question. Use the Bookmark action to allow your users to eventually go back to the question.
Further Reading
Last updated