VOGO Voice – Knowledge Base

Creating Custom Slots

Estimated reading time: 4 min

A slot is a placeholder to store variables that represent the different user input values in a sample utterance mapped to a specific intent. In other words, an intent can optionally have arguments called slots which enables the custom skill to decode the sample utterances thereby leveraging the functionality of the skill. VOGO Voice platform allows the creation of custom slots along with access to a set of Global Slots that have predefined that have been trained values from Google and Alexa that cannot be edited. 

This comprehensive user-centric guide will introduce you to the structured step by step process on how to create custom slots by defining slot types, slot values, and synonyms. A subsection of the guide also outlines the concept of key-value pairs with basic guidelines on how to add them in addition to highlighting the purpose they serve with the help of examples.   

Let’s get started. 

Pre-requisites

  • VOGO Voice account: https://www.vogovoice.com/
  • Access rights to the Slot section under Settings
  • Slot type, slot values, and synonyms along with the key-value pairs to be added (optional)

How to create custom slots

Custom slots are tailor-made slots to specify the parameters to represent the information that the custom intent needs to fulfill the user’s request. For every custom slot, we have to define the slot type and its set of values in order to train the language model of the skill to recognize the user input data. 

Here’s walking you through the steps to create a custom slot on VOGO Voice platform 

  1. Log into your VOGO Voice account to be directed to VOGO Voice Management Console (account.vogovoice.com)
  2. Navigate to Settings on the top right-hand corner of the screen and select Slots from the list of tabs displayed.  Settings > Slots
  3. Click on the create New Slot button on the bottom right-hand corner of the screen.

4. In the Add New Slot pop up window that appears you can fill in the fields to define the custom slot type with possible slot values and an optional list of synonyms.

Defining field values

Name: Type an appropriate name for the custom slot type as part of the intent definition. Once the slot is created, the name will be displayed under Custom Slots in the Slot section. 

👍 Note: It is recommended for the name to be uppercase and if using multiple words should be separated by an underscore. Eg: ZODIAC_SIGN  

Value: A slot type corresponds to a class of values that fall into the same category. List a set of possible slot values related to the custom slot type to represent the variables in user input data. For example, if ZODIAC_SIGN is the slot type, the probable slot values will be the 12 different zodiac signs. 

  1. In order to add a new slot value click the ‘+ Value’ button on the top right-hand corner of the Add New Slot pop up window. A new row will appear which enables the user to add slot value along with a field to provide synonyms if required. 
  2. Fill in the value field by typing in the slot value which can be a verb (find, search etc), or a noun in general. 

💡 Tip: Slot values are case insensitive when it pertains to the voice model of the interaction. If they are meant to be displayed on a video-enabled voice-assisted device then define the capitalization of the slot value in the way in which you want it to be displayed on the screen. 

Synonyms: Users often use different words to convey similar meanings. By defining the synonyms for a slot value, the language model of the skill becomes capable of decoding the variants of the slot value which an end-user is likely to use in their utterance. These synonyms are tied to the canonical/primary slot value. When users make requests to the custom skill, it attempts to match the input values in the utterance with the values and synonyms in the custom slot entity you have defined.  1. To add a synonym, type the relevant synonyms in the Synonyms column next to the defined primary slot value. 

💡 Tip: Ensure to press comma (,) after typing every synonym for it to be indexed or saved into the interaction model of the skill. 

👍 Note: Synonyms are optional fields and can be left empty. You are only allowed to use a synonym value once for all slots globally so that it is aware of which one to match with.

In the screenshot given below, a custom slot type called GENRES is defined. Each primary value in the slot type is the name of a genre: ‘comedy’, ‘adventure’, ‘thriller’, and ‘documentary’. For the slot value ‘comedy’ multiple synonyms are defined namely ‘funny’ and ‘humorous’.

Clicking the Delete button to the right of each row will help you to delete/remove the corresponding slot value. 

Key-Value Pair: Key-Value pairs are defined when slots have additional metadata that can be used in association with corresponding slot values. A key-value pair has a set of two linked data items: a key, which is a unique identifier for an item of data denoted by an arbitrary name, and the value, which is either the data that is identified or a pointer to the location of that data.

  1. Clicking the + Value button will generate another grid on the right side of the popup window with a Name and Value column where you can assign the key-value pair if needed. A single slot value can have multiple key-value pairs. 
  2. Click the + button of the Key-Value grid to add the key-value pairs related to a primary slot value. 

The highlighted grid holds the key-value pairs for the slot value American Samoa

5.  Click the Save button after filling in the required fields for the slot type to be indexed into the language model of the skill. The newly created slot types will be displayed under Custom Slots in the Slot section. 

👍 Note: When making changes to any slot values the skill needs to be deployed and if your skill is already public will have to be republished. If you are adding or editing only the Key-Value pairs deploying and publishing is not required.

Deleting a slot type 

If you want to delete a slot type click on the Delete button to the right of the corresponding slot type from Custom Slots list in Slot section. 

👍 Note: Deleting will remove the slot type from all intent slots that use the type. You will need to update those slots to use a different type.   

Tags:
Was this article helpful?
Dislike 0
Previous: Creating Intents
Next: Add Variables