Today we're expanding support for FallbackIntent (previously available in all English locales and German locales) to all variants of the Japanese, French, Spanish and Italian locales. Additionally we're expanding AMAZON.PhoneNumber (Beta) and AMAZON.Ordinal (Beta) built-in slot types to all locales.
If you're an Alexa skill developer you probably know by now that the more effort you put in providing a comprehensive set of sample utterances in your skill intents the better the results you'll get to understand customer requests (if you want more info please check out our best practices).
Customers will often state requests in a way that your skill does not expect. We refer to these types of requests as “out-of-domain requests.” The AMAZON.FallbackIntent allows Alexa skills to gracefully handle unexpected requests when a customer says something that doesn’t map to any intents with high confidence. This is part of the Alexa Skills Kit (ASK) built-in library.
The addition of FallbackIntent to a skill's interaction model provides benefits for both skill builders and users. For skill users, FallbackIntent can help to better route these out-of-domain requests, and allow the skill to provide a more relevant response to the user. For skill developers using the Intent Request History API, you will now see these common out-of-domain requests under a FallbackIntent category, which can help you easily separate out requests that should be covered in your skill's model, explore new features and common requests that users may be expecting from your skill, and fine-tune the out-of-domain model as necessary.
The following is an example of how the fallback intent works:
User: Alexa, open Plan My Trip
Alexa: Let's plan a trip. Where did you want to go?
User: What's the weather in Chicago? (This utterance does not match any of the intents in Plan my Trip.)
Since Alexa cannot match this utterance to an intent with confidence, Alexa sends the skill AMAZON.FallbackIntent.
Alexa: The Plan My Trip skill can't help with that, but I can help you look up flights and plan trips to other places. Where would you like to go? (The response includes the skill's name to help re-orient the user.)
When added to a skill, AMAZON.FallbackIntent automatically evaluates the skill’s existing intents and samples using Alexa machine learning, and creates an out-of-domain model specific to that skill. AMAZON.FallbackIntent can also be extended with additional samples, allowing developers to fine tune the out-of-domain model if they wish. The FallbackIntent triggers when a customer request has the highest hypothesis mapping to AMAZON.FallbackIntent. In other words, the user's spoken input cannot be matched with confidence to any of the other intents in the skill. The skill back-end then receives an AMAZON.FallbackIntent request, and can respond with helpful instructions or guidance.
The out-of-domain model for AMAZON.FallbackIntent is automatically generated from the skill's model, and a template of sample data from multiple existing sources. The out-of-domain model is re-generated with every model build, automatically incorporating changes to other intents (so it evolves with your skill as you improve your voice interaction model).
You can update your Alexa skill's interaction model in the Alexa developer console to include the AMAZON.FallbackIntent, and then add an intent handler to your backend or AWS Lambda function. You can now do this for all variants of the Japanese, French, Spanish and Italian locales.
You will need to provide a handler in your back-end that can give your customer an appropriate response when they trigger the FallbackIntent. The FallbackIntentHandler is usually a prompt to let the user know that they asked for something your skill does not do, followed by guidance back to your skill's functionality. Your prompt should also remind the user that they are interacting with your skill. Here's an example using our Node.js SDK:
Implement the AMAZON.FallbackIntent into your skill today in order to respond to unexpected user requests more gracefully. Read the technical documentation for more information.
The ability use built-in slot types to capture phone numbers and ordinal numeric values has now been extended to all supported Alexa locales.
AMAZON.PhoneNumber (Beta) converts the numbers or words that represent a phone number into a string format without punctuation and supports international, national and local phone number formats. This is useful when collecting a phone number from your customers.
AMAZON.Ordinal (Beta) converts words representing ordinal numbers into digits (like "third" into 3) and is useful across multiple use cases such as selecting elements via voice. This allows users to interact more seamlessly with visual components on a device screen. For instance, the Ordinal intent can provide additional support for list selection (e.g. "pick the second one", "choose the fourth item")
Incorporate both slot types in the Alexa developer console by choosing them in the Alexa's built-in slot type library, now available in all supported Alexa locales in Beta.
For more information, check out the following resources: