Intent History is a powerful tool that introduces a new dimension of insight into how customers are engaging with your Alexa skill. If 10 or more customers have interacted with your skill in a single day, Intent History will provide aggregated and anonymized details about what customers have said and how these requests were handled by your skill’s interaction model. Not only does this information help you understand your customer base and the things they most frequently say to your skill, but you can also use Intent History insights to improve your skill’s interaction model and provide even better user experiences.
You can navigate to your skill’s Intent History under the Build tab in the Alexa Developer Console. The example below shows the type of data you might see for a custom smart home skill that lets customers control the light, temperature, and security settings in their homes.
Each column provides information about the most frequent requests made to this skill:
In the image above, we can see that customers have said “turn on the upstairs lights” to this home automation skill. To the right, we can see this utterance was matched with HIGH confidence to LightsOnIntent. Under the SLOTS column, it shows that the “Location” slot was filled by this utterance. The empty field under Dialog Act indicates this utterance was not part of a Dialog Act. The final column, INTERACTION TYPE, shows that this utterance was interpreted as a Modal request. Find more information about the data available in your Intent History here.
In addition to the Intent History technical documentation, here are five tips for using the UTTERANCE, CONFIDENCE, and RESOLVED INTENT fields to improve your skill’s interaction model.
Before publishing a skill, you should generate robust sample utterances to support different ways customers might engage with your skill. However, it is not always possible to predict the different ways customers might phrase their commands while talking to your skill. You can use Intent History to identify phrases that are not yet present in the skill’s interaction model but would be beneficial to add.
To get started, look for utterances in your Intent History that were matched to incorrect intents, or appear to have been matched with only LOW or MEDIUM confidence. It is likely that these utterances are missing from your skill’s interaction model. Compare these utterances to the sample utterances in your skill’s interaction model to confirm whether or not they are missing. Consider adding any missing utterances to the relevant intents in your skill. This will help ensure they are matched to the proper intent in the future. For example, you can see the user utterance “dim the lights” was matched to LightsOnIntent with MEDIUM confidence:
In order to fulfill the user’s request, the utterance “dim the lights” should have been routed to the skill’s TurnLightsDownIntent. However, this utterance was not originally included as a sample utterance for that intent. To ensure “dim the lights” is matched to the proper intent with HIGH confidence in the future, this utterance should be added as a sample utterance to TurnLightsDownIntent.
In addition to adding specific utterances that appear in your history, consider adding slight variations of those utterances for increased coverage. For instance, the smart home skill in the example above allows customers to specify which room they would like to adjust the light settings for. The {Location} slot supports room values such as “dining room,” “master bedroom,” etc. Because we see “dim the lights” in the skill’s Intent History, we can predict customers will say things like “dim the dining room lights” or “dim the lights in the master bedroom.” To provide coverage for these variants, add utterances such as the following to TurnLightsDownIntent:
dim the lights
dim the {Location} lights
dim the lights in {Location}
Note that some of the utterances in your Intent History may prompt broader considerations about your skill’s conversational design. For example, we want to consider the best way for our skill to respond to a request like “dim the lights,” which does not contain a {Location} value. In this case, we might want to implement a feature like Slot Elicitation to prompt customers about which room they want to dim the lights in. More information about Slot Elicitation is available here.
Carrier phrases are short, generic phrases that customers often say at the beginning or end of their requests to Alexa. Typically, carrier phrases do not impact the overall meaning of a request, but are said naturally, as customers speak to Alexa in casual, conversational ways. They include phrases like, “can you,” “tell me,” or “please,” which might precede a wide range of requests made to custom skills.
Use Intent History to identify carrier phrases that customers are saying while engaging with your skill. For instance, in the example below, you can see that an utterance starting with “can you” is being matched to AMAZON.FallbackIntent:
Because the utterance “can you raise the temperature three degrees” does not have a matching sample utterance in the skill’s model, it is incorrectly being matched to AMAZON.FallbackIntent. As we discussed in tip 1, we want to improve accuracy for this particular request by adding the matching sample utterance to the relevant intent. In this case, we want to add the following utterance to RaiseTemperatureIntent:
can you raise the temperature {Number} degrees
However, if this is the only sample utterance in the skill’s interaction model that begins with the phrase “can you,” all requests that start with “can you” will likely be matched to RaiseTemperatureIntent. For instance, the utterance “can you turn the lights on” may be incorrectly matched to RaiseTemperatureIntent. To avoid all “can you” utterances being matched to RaiseTemperatureIntent, we want to add the pattern of “can you + <request>” to all intents in this skill that could support this pattern. For example, we might want to add the following sample utterances to these intents:
Intent | Sample Utterance |
---|---|
RaiseTemperatureIntent | can you raise the temperature {Number} degrees |
LowerTemperatureIntent | can you lower the temperature {Number} degrees |
LightsOnIntent | can you turn the lights on |
LightsOffIntent | can you turn the lights off |
The utterances in your Intent History rely on automatic speech recognition to convert words into spoken text and enable Alexa to respond. Although Alexa’s ability to recognize human speech is always improving, utterances in your Intent History may sometimes contain misheard words, improperly tokenized forms, or disfluencies in user speech.
Do not incorporate utterances with recognition errors into your interaction model as they appear in your Intent History. Adding utterances containing these errors will increase the likelihood of those errors being recognized in the future—degrading the overall accuracy of your model over time.
Instead of including utterances in the exact form they appear in your history, use your judgment based on how people speak and what your skill can do to interpret what your customers intended to say. Add the utterances as customers likely meant to say them, not necessarily as they appear in your history. For instance, the example below shows the utterance “can you turn the lights on the bedroom” went to AMAZON.FallbackIntent.
Based on our intuitions of how people speak, we know it’s likely that the customer actually intended to say “can you turn the lights on in the bedroom.” This is the form we want to add as a sample utterance to LightsOnIntent in order to improve accuracy of this request in the future. Note that simply adding “can you turn the lights on the bedroom” as it appears in the Intent History will actually make the model more likely to recognize the utterance incorrectly without “in.”
Utterance in Intent History | Utterance Said by User | Sample Utterance to Add |
---|---|---|
can you turn the lights on the bedroom | can you turn the lights on in the bedroom | can you turn the lights on in the {Location} |
Sometimes requests that were not intended for your skill will appear in your intent history. For instance, customers might say “volume up” without realizing that device volume controls cannot be accessed from within a skill. Instead of building out your model to accommodate all non-skill-directed requests in your history, ensure your skill has a graceful backend response for these types of requests when they are routed to FallbackIntent or other catchall intents.
Your intent history does not reveal the exact number of times each utterance was said to your skill. However, utterances appearing at the top of your history occur with higher frequency. Focus on improving the experience for these utterances since they represent more common patterns that will have the highest impact for customers of your skill. Note that utterances appearing at the bottom of the list may have only been said a few times to your skill, and it may not be necessary to modify your interaction model to support less frequent utterances.
By following these tips, you can use your Intent History to improve the accuracy of your skill’s interaction model and provide a better experience for your customers. After adding new sample utterances to your skill, remember to submit your updated model for certification. Once the updates are approved, your new model will be live.
Check out the following links for more information on how to use Intent History:
Bring your big idea to life with Alexa and earn perks through our milestone-based developer promotion. US developers, publish your first Alexa skill and earn a custom Alexa developer t-shirt. Publish a skill for Alexa-enabled devices with screens and earn an Echo Spot. Publish a skill using the Gadgets Skill API and earn a 2-pack of Echo Buttons. If you're not in the US, check out our promotions in Canada, the UK, Germany, Japan, France, Australia, and India. Learn more about our promotion and start building today.