Default Intent Match
An Intent Match Skill is a sub-type of the Default Skill Type.
This type of Skill is executed when all of the following requirements are met:
- A project's Base Corpus is unable to fulfil the user's request, and responds with a NO_MATCH response AND;
- All other Default Skills with higher priority did not handle the request AND;
- The user input matches one of the
intents
defined for this Skill.
Changes to a Skill Definition's intents
field must be manually processed for the intents
to be matched correctly.
Please contact Soul Machines Support for help with registering or updating your Intent Match Skill.
Common use cases
An Intent Match Skill can provide responses for a specific set of user intents. This Skill type is ideal for providing reusable modules of conversation that may be suitable for a variety of different Digital People, for example:
- Jokes Skill to handle all user intents related to "tell a joke" or "say something funny".
- Personal Chitchat to handle any personal questions about the Digital Person, such as their name or hobbies.
Implementation requirements
An Intent Match Skill only receives user input when one of its intents
is matched by the internal Soul Machines NLU (Natural Language Understanding) server.
The Skill may be written using a supported third-party NLP Platform, or using the Skills SDK.
The intents
provided in the Skill Definition are only used to determine if a Skill should be given an opportunity to respond to a user input. The Skill is not provided information about which intent was matched. It must implement its own form of intent matching to determine how to respond to the user input.
Implementation requirements for a Intent Match Skill:
- It must provide
intents
in the Skill Definition. - It must implement its own intent matching internally.
- It must respond if executed.
- It may respond with a NO_MATCH response if it is unable to handle the user input.
Creating an Intent Match Skill
An Intent Match Skill can be created using your preferred method:
- Visually using one of the supported Conversation Providers
- Programmatically using the Skills SDK
Registering an Intent Match Skill
It is recommended to use the Skill's description
field to explain which user intents would be matched by your Skill.
You should clearly state any recommendations to help users avoid intent matching conflicts, for example by accidentally handling the same intents in their Base Corpus, thereby not giving your Skill a chance to respond.
Listing the handled intents also helps project creators understand which Skills may be used together, and whether the priority order may be important for the Skills they select.
Example Skill Definition for an Intent Match Skill:
{
"name": "My Skill",
"summary": "skill summary here",
"description": "",
// ... other skill properties
"config": {
"skillType": "DEFAULT",
"matchType": "INTENT",
"intents": [
{
"name": "QUESTION",
"samples": ["How are you?", "How's it going?"]
}
]
}
}