Amazon Echo Utterance Expander

71totqPMcaL._SL210_QL95_BG0,0,0,0_FMpng_If you find this tool useful or interesting, please take a moment to try Find the Puppy, an entry into the Amazon Alexa Skills Challenge: Kids. A positive rating if you like it would be appreciated. There’s a full post on its development if you’d like to read more.

This tool will help you enumerate the sample utterances that your Amazon Echo app will recognize for your intents. For a full discussion and examples, see the post about Defining Utterances for the Alexa Skills Kit.

Instructions
Enter one or more lines to be expanded here, then click Expand. Copy the result and paste it into the Sample Utterances field in your Amazon Developer Console.

For example

(Hello/Goodbye), (World/Alexa)

Expands to

Goodbye, Alexa
Goodbye, World
Hello, Alexa
Hello, World
Input

Format as JSON

Expanded Utterances

16 comments

  1. GetAbout (About/Quote/get price for) {(A.D.T/Adobe/Actavis/Ace/Accenture/AbbVie/Abbott/Abbott Labs/three M)|stock}

    I am unable to complete this apparently due to the “.” field. There maybe other issues, but this one I can document for sure.

      1. I have additional suggestions based on my certification feedback. Example: I have a list of 500 things I need to add, I would like to randomize them it with phrases. you can PM using the email address provided. I have done it Excel, but it is still a pain.

        Example

        GetCity (Information for the City of/about city of/city info for) {(boston/new york/n. y. c./chicago/seattle)|city}

        instead of a full expansion set, provide an option to randomize it to 1,2 or N times. N = what you do today. if 1 for example, each slot would be used once with a random utterance. if 2, each slot would be used 2 times randomly. And again, N = what you do today which is full expansion.

        the limit is 200K, it would be good to state the full size of the utterance, and alert if exceeds 200K. I am close to the limit now, based on the required certification tasks.

        thank you for making this available. Hope others use it.

  2. Oh, this is an excellent tool! Great work! Does anyone know if Alexa simply ignores (/Please/Thank you) anyway??

  3. Really loving your utterance expander tool and great work in putting it all together and available for everyone to use online without any installation whatsoever.

    I am blown away by the number of utterances generated for the intents I have provided, many more than I have included in any of my published skills so far and I look forward to adding these additional utterances to these already published skills and re-submit them for certification to make them even easier for users.

    Thanks again for all of your work in putting together this great app, it is much appreciated and also thanks for writing this blog where you have a lot of cool things such as: Popping 700 Balloons, Robotic Trash Truck, etc and I look forward to seeing what you will post next.

  4. This is such a great tool. It’s a must-use for any Alexa developer. The fact this is not offered by Amazon in the developer dashboard boggles my mind. Thank you so much for creating and sharing it.

  5. Is there a way to use this for reordering input. For example:

    Movies in {CityName} Playing between {TimeOne} and {TimeTwo} Rated {Rating}

    Would expand to:
    Movies Rated {Rating} in {CityName} Playing Between {TimeOne} and {TimeTwo}
    Movies Rated {Rating} Playing Between {TimeOne} and {TimeTwo} in {CityName}
    etc.

    1. Hi Travis,

      The code doesn’t currently have a feature to do that, but it’s a good idea. I’ll see if I can work it into a future update.

  6. Hi Chris,

    Thank you for publishing this – its a fantastic time saver and very easy to use. I wonder if you might consider one addition. I work in the JSON version of the model so could you allow a check box that quotes and commas the list so it can be pasted straight into the model.json?

    Many thanks

    1. Hi Bruce,

      Great idea! I’ve gone ahead and added that feature. Let me know if you find it useful.

  7. is there a limit to nesting parenthesis? At three levels, it just seems to ignore the inner ones.
    This:
    (((current/recent/pending/) (animal/vegetable/) (order/return))/((current/recent/pending/) (animal/vegetable/) (account/) (order/return)))
    Outputs this:
    ((current/recent/pending/) (animal/vegetable/) (account/) (order/return))
    ((current/recent/pending/) (animal/vegetable/) (order/return))

    instead of expanding the inner parenthesis.

    Great tool used it many times!!!

    1. Joe,

      Thanks for your note! There’s no limit to the number of levels for nested parentheses, but you found a problem if it ever hits a set of parenthesis with only a single option. This part of your input:
      ((current/recent/pending/) (animal/vegetable/) (order/return))
      only has one option. All the “/” delimiters are within nested parentheses.

      I consider this a bug, though, and appreciate you for finding it. I’ve improved the code, so it should now work as you expect.

Leave a Reply to Chris Cancel reply

Your email address will not be published. Required fields are marked *