Amazon Alexa: slot types

Can any one tell me the slot type of the intent which can have long sentences in the English(India) Language? In English(US) I use AMAZON.StreetAddress for this purpose. Thanks.

Upvotes: 1

Views: 376

Answers (2)

Rob Accardi
Rob Accardi

Reputation: 51

I've been using AMAZON.Person. My sample utterance is simply {prompt} where "prompt" is the name of my slot. This allows me to provide a fairly long prompt (257 characters in a test I just performed) that does not need to conform to any particular pattern.

By the way, the answer provided by @entpnerd references a blog article. That article has moved to https://developer.amazon.com/en-US/blogs/alexa/post/Tx3IHSFQSUF3RQP/why-a-custom-slot-is-the-literal-solutio

Upvotes: 0

Jon Thoms
Jon Thoms

Reputation: 10797

Consider using a custom slot type. According to Amazon, use of the Amazon.LITERAL type is discouraged, and a custom slot type is recommended instead. Usually for custom slot types, you specify a set of sample values. However, based on your use case, it sounds like you want a match that is as close as possible to just catching all possible inputs, which is Scenario #3 from this Amazon Alexa blog article. As the article's content for the "Catch All" scenario mentions:

If you use the same training data that you would have used for LITERAL, you’ll get the same results.

IMO, of special importance is the last paragraph regarding Scenario #3.

If you’re still not getting the results, trying setting the CatchAll values to around twenty 2 to 8 word random phrases (from a random word generator – be really random). When the user says something that matches your other utterances, those intents will still be sent. When it doesn’t match any of those, it will fall to the CatchAll slot. If you go this route, you’re going to lose accuracy because you’re not taking full advantage of Alexa’s NLP so you’ll need to test heavily.

Hope that helps.

Upvotes: 1

Related Questions