Enhance Speech Recognition of Your Alexa Skills with Phrase Slots and AMAZON.SearchQuery

Amit Jotwani Feb 14, 2018
Share:
News Build Dialog Management
Blog_Header_Post_Img

Today we are excited to announce a new category of slot types in the Alexa Skills Kit called phrases. Phrase slots allow you to improve speech recognition accuracy for your skill, and provide a more natural user experience. With phrase slots, you don’t need to provide an exhaustive list of potential values for your slot. You can use phrase slots when you cannot predict all possible values the user might say, or when there may not be an identifiable pattern that can be captured by a custom slot.

The first slot available in this category is AMAZON.SearchQuery, which is specifically tuned for words and phrases that a customer might use when searching for information. Skills that incorporate short messages, comments, search queries, and other short free-form text can now leverage this phrase slot. For example, if you are building a skill that names the film when a user quotes a famous movie line.

Improve Recognition of User Words and Phrases

AMAZON.SearchQuery phrase slots join a growing collection of slot types in the Alexa Skills Kit, all designed to improve recognition of commonly used words and phrases. In general, use the AMAZON.SearchQuery slot type to capture less-predictable input that makes up the search query, such as questions or keywords like "how far away is mars," or "restaurants near me.” However, if you expect a fixed set of values, or can define most of your expected values in a list, you will have better accuracy with a custom or built-in list type slot

Let’s say you have a skill that can search a movie database, or query a knowledge base. With the AMAZON.SearchQuery slot type, a user can ask “what’s the movie where they say ‘you can’t handle the truth’.” You can receive the query “you can’t handle the truth” in the intent request, and directly use it to search your database, or call an API. Another example would be a dialog where Alexa prompts the user with a question like “what events are you interested in?” You can then use AMAZON.SearchQuery to receive the user’s response to “outdoor concerts in Chicago this summer” as text. This new built-in slot is optimized to search terms and phrasing.

Here’s an example intent schema for a skill using the AMAZON.SearchQuery slot type:

Copied to clipboard
{

  "languageModel": {

    "types": [

      {

        "name": "AMAZON.SearchQuery",

        "values": []

      }

    ],

    "intents": [

      {

        "name": "AMAZON.CancelIntent",

        "samples": []

      },

      {

        "name": "AMAZON.HelpIntent",

        "samples": []

      },

      {

        "name": "AMAZON.StopIntent",

        "samples": []

      },

      {

        "name": "SearchIntent",

        "samples": [

          "search for {Query}",

          "find out {Query}",

          "search for {Query} near me"

        ],

        "slots": [

          {

            "name": "Query",

            "type": "AMAZON.SearchQuery"

          }

        ]

      }

    ],

    "invocationName": "Movie lookup"

  }

}

The AMAZON.SearchQuery slot is available for developers building skills for the US, UK, India, Germany, Australia, Canada, and Japan. Click here to learn more about phrase slots.

Start Using Built-In Slots

Get started with AMAZON.SearchQuery slot and other built-in slots with the following resources:

Build Engaging Skills, Earn Money with Alexa Developer Rewards

Every month, developers can earn money for eligible skills that drive some of the highest customer engagement. Developers can increase their level of skill engagement and potentially earn more by improving their skill, building more skills, and making their skills available in the US, UK, and Germany. Learn more about our rewards program and start building today.

- Amit (@amit)