3
votes

We are working on as Alexa Skill which references information by a letter+number sequence. For example, we want to ask "Give me the status of item B1".

We have tried several ways to sort out the "B1" in our Alexa intent configuration, but we are getting very inconsistent (and usually wrong) results.

Our latest attempt was to create a "letters" slot and a "numbers" slot and create our invocation such as: give me the status of {letter} {number} but again, we usually get our slots back with no value in the JSON - or often Alexa will send JSON that contains values that are not in our slot definitions. If I say "B1", Alexa might return "viva" or some other random word.

The problem is in Alexa's interpretation of the voice. If we use the test text entry in the developer console, it (usually) works as expected.

Has anyone had success with letter/number combinations like this?

2

2 Answers

1
votes

Ran into similar issues developing a "battleship"-like game: https://www.amazon.com/Josep-Valls-Vargas-Audio-Battleship/dp/B01KJ91K5U/ref=sr_1_3

You are doing it the right way, separate slots for letter and number. Although numbers were usually recognized right, the letters were much more tricky (specially the letter E for some reason). The only thing that worked was to allow users to use arbitrary words and/or a phonetic alphabet. Then in my skill I just slice the first letter of the recognized word.

  "intent": "ShootIntent"
  "slots": [
    {
      "name": "Column",
      "type": "LIST_OF_COLUMNS"
    },
    {
      "name": "Row",
      "type": "AMAZON.NUMBER"
    }
  ],

Then, LIST_OF_COLUMNS is something like: a Adams Alpha b Beta Boston Bravo c Charlie Chi Chicago d Delta Denver e Easy Echo Epsilon f Foxtrot Frank g Gamma George Golf h Henry Hotel i Ida India Iota j John Juliet k Kappa Kilo King l Lambda Lima Lincoln...

In this other similar game I added several alternatives in the sample utterances and added words used within the game: https://www.amazon.com/Josep-Valls-Vargas-Easy-Hangman/dp/B06VY1TK8L/ref=sr_1_2

0
votes

Try using correct Slot type. AMAZON.Number and AMAZON.firstName are two different slot types. Also, you can use SSML for this, to make Alexa speak numbers and words.