0
votes

I am trying to make a mock interview skill on Alexa where the skill asks the user a question for example: "tell me about your background and experiences".

The user would give an answer, and when the user is done answering, he/she can say "next question" to get the next question.

So "next question" is really the only intent the app is waiting to hear. The problem is when the user is giving an answer for example:

"My name is Bob, I am from New York, I studied biology, etc.",

the session is still live, and Alexa obviously doesn't understand the intent so AMAZON.FallbackIntent gets triggered.

Is there a way to just return an empty string when AMAZON.FallbackIntent gets called so the mock interview session doesn't get disrupted?

Thank you!

1

1 Answers

0
votes

It sounds like you need to control the session and constrain the user.

IMO Alexa has a lot of trouble with long user utterances. The problem really stems from the interaction model and the unpredictability of what a user will say. This blog post sheds some light on VUI issues (https://medium.com/hackernoon/lessons-learned-moving-from-web-to-voice-development-35daa1d301db). tl;dr - you have to maintain state and context.

One approach you can take is to ask the user specific questions. "What is your name?" should map to one intent and update the session/persistence with the slot value. Then you respond with the next question you want the user to answer(i.e. "Where do you live", "what university did you attend") , having another intent ready to handle that slot value. You have to realize that users can say anything at any point in your Alexa Skill session and your skill has to handle it.

Here's an Amazon Developer blog post that can help you better understand dialog management and slot confirmation: https://developer.amazon.com/blogs/alexa/post/3a23c045-b568-4a6a-8a8c-fd5511a08053/build-advanced-alexa-skills-confirm-what-customers-want-with-dialog-management