Welcome to our conversational guide on definition, types, and methods for recognising, resolving, and collecting slot values during natural conversations. Feel free to read the contents of this guide in order or jump straight to the section that sparks your interest. Here's a list of topics covered in this guide:
- Definition of Slot
- Types of Slots
- Definition of Slot Value Recognition
- How Slot Value Recognition Works
- Effectiveness of Slot Value Recognition
- Definition of Slot Value Resolution
- How Slot Value Resolution Works
- Identifying Slots for an Intent
- Conclusion
What’s a Slot?
Slots are parameters that represent pieces of information that are required to proceed to the next step in the conversation. Conversational bots elicit valid values by asking questions using one or more sentences called prompts. Every intent can require zero or more of them.
What Are the Types of Slots?
Slot types define categories of slots conversational bots use to extract relevant information from utterances. Slots that represent common values are called generic slots, and slots specific to a particular use case are called custom slots.
What Are Generic Slots?
Generic slots represent common types of information and encapsulate the logic for extracting and resolving them from utterances. They include the following types useful in many conversational scenarios:
- Alpha-Numeric
- City
- Country
- Date
- Duration
- Email Address
- First Name
- Last Name
- Number
- Percentage
- Phone Number
- State
- Street Name
- Time
- UK Postal Code
What’s an Alpha-Numeric Slot?
The alpha-numeric slot recognises inputs consisting of alphabetical characters, such as “TQ”, numeric characters, such as “341”, and any combination of both. It supports spelling styles, such as spell-by-letter and spell-by-word, which can improve speech recognition accuracy in audio conversations.
What’s a City Slot?
The city slot recognises common variations of local and global city names, such as “London”, “New York”, “Paris”, or “San Francisco”. It enables collecting these and other official city names from unstructured text.
What’s a Country Slot?
The country slot identifies all the countries from around the world, such as “The United States of America”, “United Kingdom”, or “France”, and enables collecting these values and other common variations from users’ answers.
What’s a Date Slot?
The date slot converts words that represent dates, such as “today”, “tomorrow”, or “June”, into an ISO-8601 date format. The current year is used by default when the user doesn’t specify the year in their utterance.
What’s a Duration Slot?
The duration slot converts phrases indicating durations, such as “twenty minutes” or “half an hour”, into a numeric representation based on the ISO-8601 duration format that can be better understood and handled by the conversational bot.
What’s an Email Address Slot?
The email address slot recognises words representing email addresses in the name@domain format. It supports spelling styles, such as spell-by-letter and spell-by-word, which can improve speech recognition accuracy in audio conversations.
What’s a First Name Slot?
The first name slot recognises commonly used first names, both formal and informal. To improve the speech recognition accuracy of the names that sound similar but spell differently, it’s beneficial to specify an appropriate spelling style, such as spell-by-letter or spell-by-word.
What’s a Last Name Slot?
The last name slot identifies common last names. Improving speech recognition accuracy of surnames that sound similar but spell differently often requires selecting either spell-by-letter or spell-by-word spelling style.
What’s a Number Slot?
A number slot converts words representing numbers into their numerical values, including decimal numbers, such as “three” into a digit “3”, “one hundred twenty three point four five” into “123.45”, and “minus twelve” into “-12”.
What’s a Percentage Slot?
The percentage slot converts words, numbers and percentage symbols into a numeric value with a percentage sign (%). When the user provides a number without a percentage sign or the word “percent”, the slot type is resolved to a number.
What’s a Phone Number Slot?
The phone number slot converts the numbers or words representing a phone number into a correct format without punctuation. It supports international numbers with or without the leading (+) sign and local phone number formats.
What’s a State Slot?
The state slot identifies the names of commonly recognised geographical or political regions within countries, such as “Wales”, “North Carolina”, or “Bavaria”.
What’s a Street Name Slot?
The street name slot identifies the names of streets in a specific street address without the building name or house number, such as “Alverstone Gardens”, “Oxford Street”, or “Rodeo Drive”.
What’s a Time Slot?
Time slot converts phrases representing time, such as “four thirty in the morning” or “four thirty a m” into a time value in an ISO-8601 time format “4:30”. It also includes resolutions for ambiguous times, such as “10 o’clock”, which can mean either “10:00” or ”22:00”.
What’s a UK Postal Code Slot?
UK postal code slot is an extension of an alpha-numeric slot type that recognises and converts UK post codes (including British overseas territories) to a standard format, including the space in the proper location, but it doesn’t check their validity.
Why Are Generic Slots Important?
Generic slot types save time and improve slot recognition accuracy by allowing the selection of an appropriate slot type from a predefined list, which is suitable for many conversation scenarios without having to define it from scratch every single time.
What Are Custom Slots?
A custom slot type represents a list of appropriate values for the slot, which hasn’t been defined in the generic slots and can be used to extract them from the user utterances. For example, a custom slot type that represents a list of available colours might include “red”, “green”, and “grey”.
Why Are Custom Slots Important?
There are situations in which generic slot types aren't capable of collecting relevant information for a specific use case. Recognising product names, serial numbers, or other uncommon data types requires collecting them via custom slots.
What Is Slot Value Recognition?
Slot value recognition is a process that uses sample slot values to train the machine learning model that extracts relevant values or their synonyms from utterances and enables reasoning about the user input, making decisions, and controlling the flow of conversations.
How Does Slot Value Recognition Work?
Slot value recognition processes natural language to extract slot values from utterances. It leverages machine learning models trained to recognise associations between entities, their types and typical locations in sentences to achieve this goal. Here’s a list of steps involved:
How to Prepare Data for Training a Slot Value Recognition Model?
Training a machine learning model to recognise slot values successfully requires providing a diverse set of sample utterances that precisely label all the relevant entities in the context of sentences used in real-life scenarios.
How to Train a Slot Value Recognition Model?
Training a slot value recognition model requires selecting an appropriate machine learning algorithm and teaching it by showing a list of examples with correctly annotated entities in sample utterances.
How to Run a Slot Value Recogniser?
Once trained, a slot value recogniser model can leverage its capabilities learned from annotated examples to automatically recognise entities and extract slot values from any number of new utterances in real-time.
How Effective Is Slot Value Recognition?
The number and quality of sample utterances with annotated entities that represent real scenarios are paramount to achieving good slot value recognition results. When provided with quality data, slot value recognition models deliver good results. However, imprecise or incomplete annotations or supplying only a few examples can lead to poor outcomes.
How to Improve Slot Value Recognition?
A step that precedes slot value recognition and can impact its effectiveness is speech recognition. Any difficulties in correctly recognising spoken words can lead to problems extracting slot values from utterances, but the following methods help to mitigate potential issues:
How to Use Spelling Styles to Improve Slot Value Recognition?
Some slot types, such as alpha-numeric, email address, first and last name, or UK postal code, can sometimes be ambiguous or difficult to pronounce and understand even for human beings. Enabling spell-by-letter or spell-by-word spelling styles can significantly improve slot value recognition of these slot types.
How to Use Conversation History to Improve Slot Value Recognition?
Slot values used by the user in the past can be an excellent source of information about their preferences and significantly improve slot value recognition. Boosting values recognised correctly in the past conversations instead of other words, and phrases increase their chances of being matched before other terms that might sound similar but aren't relevant.
How to Use Custom Vocabulary to Improve Slot Value Recognition?
Using custom slot values as domain-specific vocabularies, such as product or service names, order numbers, or specialised terms, can improve slot recognition in audio conversations when a voice bot needs to extract the value for a custom slot from spoken utterance.
What’s Slot Value Resolution?
Slot value resolution defines rules for unifying all the possible variations of how users might supply the same slot value for the intent variable in their utterances into a single, canonical representation, known as an entity.
How Are Slot Values Resolved?
For generic slot types, slot value resolution depends on the specific slot type. Custom slots rely on a list of predefined identifiers, canonical values and their synonyms. Determining how to resolve the values relies on selecting one of the following methods of slot value resolution.
What Are the Methods of Slot Value Resolution?
In some cases, there are almost infinite ways to phrase a thing, and a conversational bot should generalise from examples to expand slot values and resolve all of them. Others, however, require restricting the possibilities to a human-controlled list of values. Each of these situations requires a different approach.
How Does Restricting Slot Values Work?
Restricting slot values to a specific list requires providing all the possible alternative ways of phrasing the same slot manually. This method of slot value resolution enables matching only predefined entities and their synonyms and ignores all the other values.
What Are the Advantages of Restricting Slot Values?
Limiting the possible slot values to a predefined list is beneficial in scenarios where it’s relatively easy to enumerate all the possible values and their synonyms, and no other variations are allowed.
What Are the Disadvantages of Restricting Slot Values?
Restricting slot values might not be the best choice when there’s a virtually unlimited number of possible values since trying to list all of them might be challenging and ineffective. Expanding slot values in these situations yields better results.
How Does Expanding Slot Values Work?
Expanding slot values uses a list of sample values to train the machine learning model. This method of slot value resolution generalises from the examples to create a comprehensive list of values considered similar and enables matching all of them, not only the ones provided.
What Are the Advantages of Expanding Slot Values?
Sometimes there is a virtually infinite number of potential slot values. Instead of trying to enumerate all of them, relying on a machine learning model to generalise from the examples and expand the list of slot values yields better results in these situations.
What Are the Disadvantages of Expanding Slot Values?
Expanding slot values relies on a machine learning model to make decisions about the similarity of the value provided by the user to the examples used for its training, which can sometimes lead to undesirable results.
Why Is Slot Value Resolution Important?
Users can phrase the same thing using different words, for example, “visit”, “consultation”, or “session”, to refer to their upcoming appointment, and resolving them into a canonical form helps to unify all the possible phrases and handle different values in the same way.
What’s an Entity?
An entity is a textual reference to a unique name of a real-world object, such as people, places, organisations, branded products, measurements, dates, currencies, quantities, and titles of creative work.
How to Identify Slots for an Intent?
Identifying slots and their types for a particular intent requires thinking about and listing all the information needed for the fulfilment and deciding whether a conversational bot should collect single or multiple values in a slot.
When to Collect Single Value in a Slot?
Typical situations require collecting a single value for a slot, like names, dates, and product or service names, among others, are uniquely identifiable pieces of information that enable the fulfilment of a particular customer or business intent.
When to Collect Multiple Values in a Slot?
While a typical slot captures a single piece of information, some intents might require collecting multiple values of the same parameter in a list. For example, a customer might specify any number of pizza toppings, and a conversational bot should collect all of them.
How to Collect Multiple Values in a Slot?
Capturing multiple values requires creating a custom slot type that can recognise many values of the same parameter separated by commas or conjunction "and" and resolve them in a way that collocates all of them as a list under a single slot value.
Conclusion
Slots are one of the fundamental building blocks of conversational experiences. The ability to correctly recognise and resolve them enables conversational bots to collect different types of information during natural conversations, which is a prerequisite for further reasoning and controlling the flow of conversations.