Skip to main content

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:

  1. A project's Base Corpus is unable to fulfil the user's request, and responds with a NO_MATCH response AND;
  2. All other Default Skills with higher priority did not handle the request AND;
  3. The user input matches one of the intents defined for this Skill.
caution

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:

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:

skill-definition.json
{
"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?"]
}
]
}
}