How to handle out of domain utterances in Amazon Alexa
up vote
0
down vote
favorite
I had different intents in the skill, I am using php as service.
Everything is working fine, but if the user ask utterances that are not configured in any of the intents, it must go to the else part.
Eg code is as follows:-
if($EchoReqObj->request->type=="LaunchRequest"){
$text = "Testing launch";
$array = array("version"=>"1.0","response"=>array("outputSpeech"=>array("type"=>"PlainText","text"=>$text),"shouldEndSession"=>false));
echo json_encode($array);
}
else if(getting the intent name){//Do something.}
else{
$text = "In else part";
$array = array("version"=>"1.0","response"=>array("outputSpeech"=>array("type"=>"PlainText","text"=>$text),"shouldEndSession"=>false),"sessionAttributes"=>array("lastSpeech"=>$text));
echo json_encode($array);
}
This is the else
I wrote but it is not getting executed.
alexa alexa-skills-kit alexa-skill alexa-slot
add a comment |
up vote
0
down vote
favorite
I had different intents in the skill, I am using php as service.
Everything is working fine, but if the user ask utterances that are not configured in any of the intents, it must go to the else part.
Eg code is as follows:-
if($EchoReqObj->request->type=="LaunchRequest"){
$text = "Testing launch";
$array = array("version"=>"1.0","response"=>array("outputSpeech"=>array("type"=>"PlainText","text"=>$text),"shouldEndSession"=>false));
echo json_encode($array);
}
else if(getting the intent name){//Do something.}
else{
$text = "In else part";
$array = array("version"=>"1.0","response"=>array("outputSpeech"=>array("type"=>"PlainText","text"=>$text),"shouldEndSession"=>false),"sessionAttributes"=>array("lastSpeech"=>$text));
echo json_encode($array);
}
This is the else
I wrote but it is not getting executed.
alexa alexa-skills-kit alexa-skill alexa-slot
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
I had different intents in the skill, I am using php as service.
Everything is working fine, but if the user ask utterances that are not configured in any of the intents, it must go to the else part.
Eg code is as follows:-
if($EchoReqObj->request->type=="LaunchRequest"){
$text = "Testing launch";
$array = array("version"=>"1.0","response"=>array("outputSpeech"=>array("type"=>"PlainText","text"=>$text),"shouldEndSession"=>false));
echo json_encode($array);
}
else if(getting the intent name){//Do something.}
else{
$text = "In else part";
$array = array("version"=>"1.0","response"=>array("outputSpeech"=>array("type"=>"PlainText","text"=>$text),"shouldEndSession"=>false),"sessionAttributes"=>array("lastSpeech"=>$text));
echo json_encode($array);
}
This is the else
I wrote but it is not getting executed.
alexa alexa-skills-kit alexa-skill alexa-slot
I had different intents in the skill, I am using php as service.
Everything is working fine, but if the user ask utterances that are not configured in any of the intents, it must go to the else part.
Eg code is as follows:-
if($EchoReqObj->request->type=="LaunchRequest"){
$text = "Testing launch";
$array = array("version"=>"1.0","response"=>array("outputSpeech"=>array("type"=>"PlainText","text"=>$text),"shouldEndSession"=>false));
echo json_encode($array);
}
else if(getting the intent name){//Do something.}
else{
$text = "In else part";
$array = array("version"=>"1.0","response"=>array("outputSpeech"=>array("type"=>"PlainText","text"=>$text),"shouldEndSession"=>false),"sessionAttributes"=>array("lastSpeech"=>$text));
echo json_encode($array);
}
This is the else
I wrote but it is not getting executed.
alexa alexa-skills-kit alexa-skill alexa-slot
alexa alexa-skills-kit alexa-skill alexa-slot
edited Nov 22 at 9:35
Cicil Thomas
2,97311428
2,97311428
asked Nov 19 at 20:19
b PRASANTH
46
46
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
accepted
Alexa always tries to maps to the closest intent no matter what the user input is. You won't get an IntentRequest
without an intent. So if you have five intents, Alexa will try to match all user utterances to one of these five skill's intents.
Your else part executes when Alexa triggers an intent which haven't handled. From your example code a SessionEndedRequest
might go into your else part. But if you are trying to handle out-of-domain utterances you have to use AMAZON.Fallback
intent and handle it in your backend.
AMAZON.FallbackIntent
If you want to handle out-of-domain requests, or gibberish, or unexpected utterances, or when a user says something that doesn’t map to any intents in your skill you have to use predefined AMAZON.FallbackIntent
. This intent uses an out-of-domain model generated based on your interaction model and provides a fallback for user utterances that do not match any of your skill's intents.
More on AMAZON.FallbackIntent
here
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
accepted
Alexa always tries to maps to the closest intent no matter what the user input is. You won't get an IntentRequest
without an intent. So if you have five intents, Alexa will try to match all user utterances to one of these five skill's intents.
Your else part executes when Alexa triggers an intent which haven't handled. From your example code a SessionEndedRequest
might go into your else part. But if you are trying to handle out-of-domain utterances you have to use AMAZON.Fallback
intent and handle it in your backend.
AMAZON.FallbackIntent
If you want to handle out-of-domain requests, or gibberish, or unexpected utterances, or when a user says something that doesn’t map to any intents in your skill you have to use predefined AMAZON.FallbackIntent
. This intent uses an out-of-domain model generated based on your interaction model and provides a fallback for user utterances that do not match any of your skill's intents.
More on AMAZON.FallbackIntent
here
add a comment |
up vote
1
down vote
accepted
Alexa always tries to maps to the closest intent no matter what the user input is. You won't get an IntentRequest
without an intent. So if you have five intents, Alexa will try to match all user utterances to one of these five skill's intents.
Your else part executes when Alexa triggers an intent which haven't handled. From your example code a SessionEndedRequest
might go into your else part. But if you are trying to handle out-of-domain utterances you have to use AMAZON.Fallback
intent and handle it in your backend.
AMAZON.FallbackIntent
If you want to handle out-of-domain requests, or gibberish, or unexpected utterances, or when a user says something that doesn’t map to any intents in your skill you have to use predefined AMAZON.FallbackIntent
. This intent uses an out-of-domain model generated based on your interaction model and provides a fallback for user utterances that do not match any of your skill's intents.
More on AMAZON.FallbackIntent
here
add a comment |
up vote
1
down vote
accepted
up vote
1
down vote
accepted
Alexa always tries to maps to the closest intent no matter what the user input is. You won't get an IntentRequest
without an intent. So if you have five intents, Alexa will try to match all user utterances to one of these five skill's intents.
Your else part executes when Alexa triggers an intent which haven't handled. From your example code a SessionEndedRequest
might go into your else part. But if you are trying to handle out-of-domain utterances you have to use AMAZON.Fallback
intent and handle it in your backend.
AMAZON.FallbackIntent
If you want to handle out-of-domain requests, or gibberish, or unexpected utterances, or when a user says something that doesn’t map to any intents in your skill you have to use predefined AMAZON.FallbackIntent
. This intent uses an out-of-domain model generated based on your interaction model and provides a fallback for user utterances that do not match any of your skill's intents.
More on AMAZON.FallbackIntent
here
Alexa always tries to maps to the closest intent no matter what the user input is. You won't get an IntentRequest
without an intent. So if you have five intents, Alexa will try to match all user utterances to one of these five skill's intents.
Your else part executes when Alexa triggers an intent which haven't handled. From your example code a SessionEndedRequest
might go into your else part. But if you are trying to handle out-of-domain utterances you have to use AMAZON.Fallback
intent and handle it in your backend.
AMAZON.FallbackIntent
If you want to handle out-of-domain requests, or gibberish, or unexpected utterances, or when a user says something that doesn’t map to any intents in your skill you have to use predefined AMAZON.FallbackIntent
. This intent uses an out-of-domain model generated based on your interaction model and provides a fallback for user utterances that do not match any of your skill's intents.
More on AMAZON.FallbackIntent
here
answered Nov 20 at 7:55
Cicil Thomas
2,97311428
2,97311428
add a comment |
add a comment |
Thanks for contributing an answer to Stack Overflow!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Some of your past answers have not been well-received, and you're in danger of being blocked from answering.
Please pay close attention to the following guidance:
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fstackoverflow.com%2fquestions%2f53382038%2fhow-to-handle-out-of-domain-utterances-in-amazon-alexa%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown