How to handle out of domain utterances in Amazon Alexa
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 |
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 |
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 '18 at 9:35
Cicil Thomas
3,18521431
3,18521431
asked Nov 19 '18 at 20:19
b PRASANTHb PRASANTH
126
126
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
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 |
Your Answer
StackExchange.ifUsing("editor", function () {
StackExchange.using("externalEditor", function () {
StackExchange.using("snippets", function () {
StackExchange.snippets.init();
});
});
}, "code-snippets");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "1"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: true,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: 10,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
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
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
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 |
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 |
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 '18 at 7:55
Cicil ThomasCicil Thomas
3,18521431
3,18521431
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.
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