如何处理 Amazon Alexa 中的域外话语
How to handle out of domain utterances in Amazon Alexa
我在技能上有不同的意图,我正在使用 php 作为服务。
一切正常,但如果用户询问未在任何意图中配置的话语,则必须转到 else 部分。
例如代码如下:-
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);
}
这是我写的 else
但它没有被执行。
Alexa 始终尝试映射到最接近的意图,无论用户输入是什么。没有意图,你不会得到 IntentRequest
。因此,如果您有五个意图,Alexa 将尝试将所有用户话语与这五个技能的意图之一相匹配。
当 Alexa 触发尚未处理的意图时,您的其他部分将执行。从您的示例代码中, SessionEndedRequest
可能会进入您的其他部分。但是如果你试图处理域外的话语,你必须使用 AMAZON.Fallback
意图并在你的后端处理它。
AMAZON.FallbackIntent
如果您想处理域外请求、乱码或意想不到的话语,或者当用户说出的内容与您的技能中的任何意图不符时,您必须使用预定义的 AMAZON.FallbackIntent
.此意图使用基于您的交互模型生成的域外模型,并为与您的任何技能意图不匹配的用户话语提供回退。
更多关于 AMAZON.FallbackIntent
here
我在技能上有不同的意图,我正在使用 php 作为服务。 一切正常,但如果用户询问未在任何意图中配置的话语,则必须转到 else 部分。
例如代码如下:-
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);
}
这是我写的 else
但它没有被执行。
Alexa 始终尝试映射到最接近的意图,无论用户输入是什么。没有意图,你不会得到 IntentRequest
。因此,如果您有五个意图,Alexa 将尝试将所有用户话语与这五个技能的意图之一相匹配。
当 Alexa 触发尚未处理的意图时,您的其他部分将执行。从您的示例代码中, SessionEndedRequest
可能会进入您的其他部分。但是如果你试图处理域外的话语,你必须使用 AMAZON.Fallback
意图并在你的后端处理它。
AMAZON.FallbackIntent
如果您想处理域外请求、乱码或意想不到的话语,或者当用户说出的内容与您的技能中的任何意图不符时,您必须使用预定义的 AMAZON.FallbackIntent
.此意图使用基于您的交互模型生成的域外模型,并为与您的任何技能意图不匹配的用户话语提供回退。
更多关于 AMAZON.FallbackIntent
here