Understand Name-free Interactions

When Alexa receives a request from a customer without a skill name, such as "Alexa, play relaxing sounds with crickets," Alexa looks for skills that might fulfill the request. Alexa determines the best choice among eligible skills and hands the request to the skill. To provide a signal for Alexa to consider when routing name free requests and enable customers to launch your skill and intents without knowing or having to remember the skill’s name, consider adding Name Free Interactions (NFI) container to the skill.

Name-free Interactions (NFI) Self-Service toolkit is an update to the Name Free Skill Interaction Public Beta program announced in 2018 that enables Alexa customers to invoke skills using name-free utterances in addition to the standard invocation phrases. Name Free Interaction allows customers to:

  • Enables customers to naturally interact with Alexa skills and reduce friction when customers can’t remember how to invoke a skill or use incorrect invocation phrases.
  • Considers personalization signals based on skill usage history to appropriately route customer’s name free request to skills they have interacted before.
  • Improves name free requests routing decision based on direct and indirect customer feedback to ensure customers get high quality experience.

The new toolkit is available for all English locales (en-US, en-GB, en-IN, en-CA, and en-AU) supported by Alexa. It provides self-service methods to specify name-free ingress points to your skill by identifying specific intents, skill launch phrases and intent launch phrases in the interaction model and test invocation of your skill using name-free search requests in the simulation environment. The intents you identify help Alexa learn how to route name free utterances to your skill. Developers can update their interaction model for NFI using the Developer Console JSON Editor, as well as from APIs via SMAPI and CLI.

NFI Toolkit and CanFulfillIntentRequest (CFIR)

canFulfillIntentRequest is an interface that helps to ensure that Alexa only directs to your skill customer requests, questions, and statements that are a good match for your skill given the context of the user at run-time. For information on how to implement CFIR, see Implement CanFulfillIntentRequest for Name-free Interaction. Available in public beta for en-US locale and in private beta for other English locales.

In the new NFI toolkit, CanFulfillIntentRequest (CFIR) is recommended, yet OPTIONAL. Implementing CFIR is useful in cases where the skill needs to reject a request (via “NO” as response) dynamically at run-time to provide a better customer experience.

It is advisable to implement CFIR with “No” response for requests highlighted in “Frequent Utterances for Name-Free Interactions” in invocations dashboard and low confidence utterances in intent history, if your skill cannot handle them. Alexa will use your ‘No’ responses as a strong signal to not route requests to your skill at specific times to ensure an optimal customer experience and it is expected to improve skill quality.

For example, a skill that plays sleep sounds. If the skill cannot handle “white noise” as slot value for a user request play white noise sound, then it should return “No” in CFIR response. Another example, if the skill’s business logic determines that it cannot complete the request then it should return “No” in CFIR response. For a skill that does food delivery. If the skill recognizes both the type of food ordered and delivery address, but if the food delivery service backing the skill is unable to deliver food in expected time window, it should return “No” in CFIR response.

Using the NFI Toolkit in preview

Follow these simple steps to use NFI Toolkit using the Developer Console, SMAPI or CLI.

  1. Your skill will be eligible to use the NFI Toolkit if it supports en-* locale, has been previously published as a live skill and has established a history of high quality and customer engagement. To see if your skill is eligible, you can navigate to the Skill Launch Phrases and Intent Launch phrases tab in the Developer Console or check eligibility via SMAPI or CLI by using the "deployupdate-model" command.
  2. Add Name Free Container : Update your skills Interaction Model with nameFreeInteraction Container and select the intents, skill launch phrases and intent launch phrases within the InteractionModel that can be ingress points for Name-Free utterances for your skill
  3. Build Model: After you update the namefreeInteraction Container, initiate an Interaction Model build.
  4. Test Name-free Interaction for Intent Launch Phrases in isolation (en-US only): After a successful model build, you can use the new ‘NFI_ISOLATED_SIMULATION’ feature in the Skill Simulation API to test if your skill is invoked with name free utterances. In Isolation means the simulation tool will only consider intents in your skill when testing with name-free utterances in development stage. You may observe different outcomes in production because Alexa considers a variety of signals when routing name-free requests.
  5. Submit for Certification: Once you finalize the changes to the skill, you can use the existing Submit Skill APIs. In Preview, Amazon will manually review the interaction model updates in order to certify and publish the skill. Upon publication, the name-free interaction model begins learning how to route traffic to your skill and intents. With the recurring training of Alexa machine learning and artificial intelligence, it might take up to eight weeks for Alexa to route name-free interaction utterances to your skills. [OPTIONAL] Implement CFIR: For use-cases where the skill needs to reject an intent dynamically at run-time you can consider implementing CFIR to provide a better customer experience Please note, the customer experience for these name-free utterances after the skill is live will depend on other skills providing similar experiences. Alexa considers all the candidate skills along with other factors to select the best way to fulfill the customer's request.

About Skill and Intent Launch phrases

Skill launch Phrases are an optional new way to teach Alexa how an end-customer might invoke your skill as a modal launch, along with the standard invocation pattern of “Alexa, open ”. For example, “Alexa, Open Tasty Recipes Skill” you might have something like “can you give me a tasty recipe”.

Intents and Intent Launch Phrases: The nameFreeInteraction container allows you to identify which intents are natural ingress points (or invocation points) for your skill. Where end users might currently need to say “Alexa, open Tasty Recipes Skill and give me a recipe for meatballs”, you can indicate to Alexa that your getRecipe intent is a natural ingress point, and provide common natural phrases that would be used to deep-link into this intent such as simply, “give me a tasty recipe for meatballs”. The phrases provided in the nfi container give you the mechanism to indicate which sample utterances/use cases are of the highest importance so that Alexa can weight these utterances among the rest. Note: slots are not supported for skill or intent launch phrases within the nameFreeInteraction container, however the sample utterances you provide in your interaction model that contain slots will still be used for training data.

Dos and Don’ts for optimizing your Interaction Model for NFI

DON’T request location access or permissions for the skill or intent to respond to the name free-requests. We’ve noticed high friction rates when routing name-free requests to intents that require location access and other permissions. In order for your skill or intent to be optimal for answering name-free requests, it should be designed in a way that would be a positive CX for any new user dropped into your sandbox.

DON’T Include slots in the skill launch or intent launch sample utterances.

DO: Be sure that the sample utterances for your NFI intents support the Name-free Interaction outside of the Skill

Some skills will require some optimization to utterances in order to better train the new system. Until now, your VUI may be trained with utterances that perform in the context of being “in the skill”, as such one word utterances and some phrases are not ideal for helping Alexa match requests from users outside of your skill to your NFI intents.

The most important rule is to design intents with a list of sample utterances that captures key words and phrases that can invoke the skill in a name- free manner. Keep your utterances specific to your skills use-cases and avoid targeting generic utterances. The Alexa ML/AI models are designed in part to route traffic to skills with a high correlation between skill functionality and target utterances.

Guidelines

To help ensure that Alexa directs to your skill only those customer requests, questions, or statements that can be supported by the skill, build sample utterances that capture your skill’s functionality. Provide sample utterances that you predict customers can use to interact with the skill naturally. For a better user experience, provide a large variety of sample utterances written in different forms. For example, name-free utterances for a horoscope skill might include:

  • "What is the horoscope for gemini?"
  • "Today’s horoscope"
  • "I want to know my horoscope"
  • "What does my star sign say?"

Name-free interaction sample utterances must meet the following requirements: Variety: You should provide a good variety of sample utterances to offer unique interactions to customers.

If your skill can handle specific use cases, make sure to include those in your sample utterances. For instance, customers would be interested to know if a weather forecast skill can answer "what is the fishing forecast for lake chelan" or "how should I dress tomorrow" or "give me today's allergy forecast".

Sample utterances should accurately reflect skill capabilities. Make sure to avoid generic sample utterances that conflict with other use cases. For example, a sound skill should avoid adding the utterance “turn on fireplace” in the interaction model because other customers may use that utterance to turn on the actual fireplace or to turn on the fireplace light. A more accurate choice for a name-free interaction with a sleep sound skill is “turn on fireplace sound" or "turn on fireplace noise” since it is more relevant to the skill's capabilities. You should build sample utterances that capture your brand, which will not only reduce use case conflicts for bad CX but also increase skill awareness for customers. You can include part or full skill name or recognizable branding in the utterances. For example, ‘acme quiz’.

Unlike named-invocation where you provide only one launch phrase, create a list of highly relevant sample utterances that are similar to your launch phrase. For example, a ‘adam’s awesome workout’ skill may have "adam’s awesome workout" as its launch phrase, but the developer can add other sample utterances like "work out for thirty minutes", "daily awesome workout", "adam’s awesome cardio workout", "adam’s awesome ten minute exercise" etc.

Complete utterance: You should avoid one token and generic sample utterances that can be interpreted in multiple ways. Keep the following best practices in mind: Build your sample utterances to be specific to your intent's use cases. For instance, ‘cancer’ can be interpreted as a disease or a star sign. If the skill is for horoscope, you should make sure to disambiguate by adding context. For example, use ‘cancer horoscope’ and ‘horoscope for cancer’ and 'give me cancer horoscope'.

In order to foster a linguistically-natural interaction, build sample utterances that include both an object and a verb. For example, "horoscope" wouldn't be a good sample utterance because the full interaction would be similar to a user saying "Alexa, horoscope". A better alternative would be "give me today's horoscope".

Your slot values should provide accurate slot entries with regard to intent response. For example, the developer of an animal sounds skill should add all supported animal types for the slot value {animal} instead of only listing cat and dog.

Number of utterances: If your intent has only one to a few sample utterances this is not enough to train Alexa on how to map name-free utterances to your intents. We recommend you try to have 10 sample utterances per ingress point in your interaction model including your 5 intent launch phrases.

Consider the following examples of bad and good name-free interaction utterances:

Sub-optimal name-free interaction utterances

Utterance is too generic:

  • "Quiz"
  • "Cancer"
  • "Horoscope"
  • "Today in Seattle"
  • "Math"

Utterance lacks a verb:

  • "New language"
  • "Number six"

Utterance lacks an object:

  • "Let's start"
  • "Play"

Optimal name-free interaction utterances

Utterance has a clear verb and object pair:

  • "I want to play math quiz"
  • "Begin my 30 minute workout routine"
  • "Give me today's horoscope"
  • "Teach me Spanish with Spanish skill"

Utterance provides specific requests:

  • "Fishing forecast for lake Tahoe"
  • "How should I dress for tomorrow?"
  • "Give me today's horoscope for libra"
  • "Play ted talk about leadership"
  • "I want to play acme quiz"

Next, get started using one of the following interfaces for NFI Toolkit: