Invoking a Skill

Invoking a Skill

Luma Virtual Agent provides a powerful mechanism to recognize and trigger the appropriate skill in response to a user's query. The mechanism defines how a skill developer can train Luma to identify the skill and extract information from user responses in the skill.

Intent-Based (Semantic) Skills

Intent-Based Skills are designed to rely on the power of AI to determine the most appropriate skill to invoke. Rather than depending on a fixed list of phrases or keywords, these skills use Classification Details to identify skill’s intent based on natural language. This method is flexible and adaptive to variations in how users phrase their requests, making it ideal for scaling Luma functionality in environments with dynamic or complex needs.

To ensure consistent and accurate invocation, skill developers must thoughtfully define each classification element, following recommended best practices for clarity, structure, and intent.

Defining Classification Details

At the core of Intent-Based Skills are three primary classification components that determine how the skill is identified and invoked. The skill developer should define these values and ensure that the information is in the correct format:

  • Purpose: This is a concise, high-level statement that defines what the skill is designed to do. It describes what the skill is designed for and provides context to the AI engine so it can compare user inputs against the intended outcome of the skill.

    Best Practices:

    • Focus on the skill’s primary goal or outcome from the user’s perspective.

    • Use simple, natural language that clearly expresses the action or help the skill provides.

    • Avoid technical jargon; instead, describe what the skill accomplishes in plain terms.

  • Trigger Criteria: It defines the specific conditions under which the skill should be invoked. These are positive indicators—phrases, keywords, or contextual cues used by Luma to activate this skill.

    Best Practices:

    • Focus on user intents, actions, or phrases that reflect when the skill should run.

    • Avoid negative criteria. List actionable inputs, common expressions, or phrases users might use.

    • Structure conditions using simple language that aligns with real-world user phrasing.

  • Exclusion Criteria: These are conditions that help prevent the skill from being triggered inappropriately. These are negative conditions—contexts or phrases where the skill should not be triggered. They act as filters to refine the accuracy of skill selection and reduce the chance of misclassification when multiple skills have overlapping purposes. These prevent false positives and ensure more precise skill invocation.

    Best Practices:

    • Begin statements with phrases like “Do not trigger when…” to make exclusions explicit.

    • Focus on edge cases, irrelevant scenarios, or overlapping topics that may confuse Luma.

    • Avoid repeating trigger phrases here; instead, concentrate on clarifying the boundary of relevance for the skill.

Together, these classification elements enable Luma’s NLP engine to evaluate incoming user messages and dynamically determine which skill is the best fit, even when user input is vague, unstructured, or varies in phrasing.

Editing Classification Details

Visual Designer Skills

For skills created using the Visual Designer interface, follow the below step to review and update the Classification Details:

  1. Navigate to Start Step of the skill’s workflow. From here, skill developers can:

    1. Manually edit the Purpose, Trigger Criteria, and Exclusion Criteria to fine-tune how the skill should be matched.

    2. Use the Regenerate using AI option to refresh or rephrase the classification content. This allows Luma to automatically update the classification logic based on the existing details.

  2. If at any point the classification information is modified but needs to be discarded, users can click on the Restore button to revert the classification details back to the last published version. This provides an easy way to undo unintended changes without disrupting the live skill.

    image-20250520-150114.png

Classic Designer

In the Classic Designer interface, these classification details are available under the Invocation tab of the skill. Follow the below step to review and update the Classification Details:

  1. Navigate to Skill Details--> Invocation Details tab.

  2. Click on Edit. Here, skill developers can:

    1. Manually edit the Purpose, Trigger Criteria, and Exclusion Criteria.

    2. Use the Regenerate using AI option to refresh or rephrase the classification content. This allows Luma to automatically update the classification logic based on the existing details.

  3. If at any point the classification information is modified but needs to be discarded, users can click on the Restore button to revert the classification details back to the last published version. This provides an easy way to undo unintended changes without disrupting the live skill.

    image-20250520-151107.png

Entity Extraction and Attribute Handling

One of the major advantages of Intent-Based Skills is that they do not require manual tagging of attributes to extract information from user inputs. Instead, Luma uses Natural Language Entity Recognition (NER) to intelligently extract information from user inputs without requiring manual tagging. This advanced AI-driven capability identifies entities directly from whatever the user says, whether in a structured or unstructured format, and maps them to the appropriate attributes within the system.

The values are extracted from :

  • Information provided by the user in the initial request.

  • Values provided by the user during the conversation, even if they aren’t structured answers.

Luma automatically populates all the attributes that are part of the skill (as user prompts) and the predefined tenant-level Generic Entities, during a conversation:

  1. Common Entities:
    These are tenant-level attributes that are always extracted from the user's input, regardless of which skill is being executed. Even if a Common Entity is not explicitly part of the current skill, Luma will still attempt to identify and populate it. This ensures consistent data capture across interactions. Refer to Common Entities for more information.

  2. Skill-Level Attributes (User Prompts):
    These are global attributes used within the skill to collect specific information from the end user during execution. When a user prompt is associated with a global attribute in the skill, Luma attempts to extract the value using NER, avoiding explicitly asking the user, making conversations smoother and more efficient.

By using NER to recognize and populate both Common and skill-specific attributes, Luma significantly reduces manual effort during skill development, accelerates go-live timelines, and enhances the overall user experience by automatically understanding and acting on user intent with minimal prompting.

  • Luma uses the Attribute description to gain additional context about the type of value that should be resolved to the attribute. If an attribute is not being extracted as expected, consider enhancing the description with more details or examples. A well-defined description can significantly improve the accuracy of entity extraction.

  • For extraction, the global attribute must be used in the skill in the prompt step or added to the Common entities. NER does not extract value for a local attribute.

Phrase-Based Skills

Phrase-Based Skills represent a manual and controlled approach to skill invocation. These skills are triggered based on specific user phrases that are manually added and trained within the skill’s configuration. This approach provides a straightforward and predictable method of invocation, especially in cases where the user input is expected to be consistent or when the skill logic is relatively simple.

User Phrases and Training

User Phrases are a set of phrases used to train the bot’s Natural Language Processing (NLP) engine. Users Phrases are often referred to as utterances when discussing NLP. Phrases help the bot link the skill to the different ways a user asks for that skill. It is important to create phrases for how technical and non-technical users will ask for a skill. For example, a user may say "book meeting room" or "reserve conference room". Each of these is a different and valid way to trigger the same skill. It is recommended that you talk to different users and ask them how they would ask for skill so that you can build better phrases and make your bot more effective.

An Administrator and developer can define how the skill can be invoked by a user in the channel so that multiple ways of invoking the skill is allowed. In addition to the existing user phrases, the user can also be able to invoke the skill using the command which will bypass the NLP component for the skill identification. As a power user of skill, for the Developers, Support agents, and Administrators, who deal with the Skill Builder on a day-to-day basis, typing the entire user phrase can be time-consuming. Moreover, each user phrase undergoes the translation process through the NLP, which again delays the process to execute a skill. To quickly initiate the skill, Command is available along with the User Phrases. This approach will bypass the NLP and directly execute the required skill and eventually save time and effort.

The invocation type includes the following sections. A Skill can be invoked by using both, the User Phrases as well as Commands.

  • User Phrases- a Skill can be invoked through the traditional approach using User Phrases.

  • Command- a Skill can also be invoked using the Commands as shown in the image below.
    When you select the Command checkbox, the Skill Identifier is automatically populated as a Command in the Command section.

    • The command must be in the format //command name.

    • The command must be at least 8 characters and cannot contain numbers or special characters. Spaces are allowed.

    • If the Skill is marked as a Sub-skill, the Invocation Type section is disabled.

    • Select the 'Display in Suggested Skills' checkbox if you want this Skill to be listed as Suggested Skills.

It is mandatory to include at least 2 user phrases. Well-trained skills should have 25 or more phrases.

Example:

For "What is the guest WiFi network password" skill, in the User Phrases section, enter every expression a user in your organization may type when asking for the guest WiFi password. Let us specify the following Phrases:

  • guest network password

  • guest wifi network name

  • visitor wifi access

  • Guest WiFi Password

  • Guest Network Password

  • password for guests

  • Password for WiFi

  • WiFi Password

  • The NLP engine is case-insensitive. Therefore the case of the characters in the phrases are ignored.

  • Click the delete icon to remove a phrase.

Training Visual Designer Skills

For skills created using the Visual Designer interface, follow the steps below to review and update the Classification Details:

  1. Navigate to Start Step of the skill’s workflow.

  2. Add User Phrases. By default, two phrases are added by default to the skill based on Skill name and description.

    1. Toggle the switch to Enable User Phrases for the Skill.

    2. Add the user phrases.

  3. You can also tag a word in one of the user phrases and link it to an attribute. To do so, double-click on the word and link to an attribute. If the user phrase is used, the attribute will be automatically filled with the tagged word. For more information, refer to Invoking a Skill | 2.3 Attribute Tagging for Entity Extraction .

  4. Add the command for the skill.

    1. Toggle the switch to enable the command for the Skill.

    2. Add the command.

Training Classic Designer

In the Classic Designer interface, these classification details are available under the Invocation tab of the skill. Follow the below step to train the skill:

  1. Navigate to Skill Details--> Invocation Details tab.

  2. To add phrases to your skill start typing in the Enter possible User Phrases text box in the User Phrases section. To add your phrase to the skill, press Enter/Return. Enter all the different ways you think users will ask for this skill.

image-20240821-072833.png

Attribute Tagging for Entity Extraction

Tag Attributes to User Phrases

A developer or administrator can tag a word in a user phrase and link it to an attribute. This can be done in two ways

  1. NLP extraction 

  2. Entity extraction  

NLP extraction  

This method is used when the data type is TEXT. Here the value from the user's phrase is stored in an attribute and will skip any mandatory prompts for that value. This provides a better experience for the user and makes the conversation more intelligent. The NLP engine can extract Text type attributes when their NLP Extraction Method is set to Value or Pattern. 

For better understanding please refer Create Attributes

The following is an example of a Tickets Approaching sla Skill with several instances of attribute tagging. Based on the attributes tagged in the phrase the NLP engine can skip one or more of the prompts in the skill.

  • In the User Phrases section of a skill, double-click a word or highlight a group of consecutive words in a user phrase that you want to tag to an attribute.
    The list of text type attributes with NLP extraction will show in a drop-down.

  • On selecting the required attribute, the words appear as the Tagged Value.

  • If the Attribute is set to Value in the NLP Extraction Method, you need to select what the tagged value should resolve to and store in the actual Attribute.

  • Use the Resolved Value drop-down to select the value.

    • If the Tagged Value of the skill is one of the Synonyms available in the attribute, then the corresponding Values appear for selection in the Resolved Value drop-down list.

    • If the Tagged Value of the skill has only one Synonym available in the attribute, then that value automatically appears as the Resolved Value in the skill. For example, if the Tagged Value for the attribute Application has only one value - SAP, then SAP automatically appears as the Resolved Value in the skill.

    • If the Tagged Value does not belong to any of the existing resolved values - SAP, Oracle, and Power BI, then you need to update the value and synonym values of the attribute, application.

Entity extraction 

Entity Extraction occurs for attributes with datatype EMAIL, NUMBER, or TIME. The extraction of the value is provided by the user even before the attribute is prompted. Need to mention the above line explicitly. If the attribute is prompted then the value provided by the user in a valid format is considered to be the value for the attribute.

When the entered Data type is EMAIL, NUMBER, or TIME, the entity extraction occurs. The value from the user's phrase will be automatically assigned to the attribute and the bot will skip any mandatory prompts for that value.

The values are assigned to the attribute in the sequence defined in the Conversation flow. 

For Example :

 If the user enters two phone numbers, then the first value will be assigned to the first attribute and the second value to the second attribute by skipping the mandatory prompts 

If the user enters one phone number and one email address, then the values will be assigned to their corresponding attributes by skipping the mandatory prompts

The user can also enter multiple values of EMAIL, NUMBER, and TIME. For all these 3 data types, the values from the user's phrase will be automatically assigned to their corresponding attributes and will skip any mandatory prompts.

Standard Formats for Date and Time

Date and Time can be specified as today, Monday, Feb 18, the 1st of March, last week, a quarter to noon, 11:45 am, three months ago, next 3 weeks, Thanksgiving, Mother’s Day, from 9:30 - 11:00 on Thursday, the day before labor day 2020, etc.

Best Training practice for NLP Extraction

The bot must be fed with more examples to address user requests more efficiently.

© 2019 Serviceaide 1-650-206-8988 http://www.serviceaide.com info@serviceaide.com