Node.js 创建Q&;的最佳实践是什么;Alexa应用程序?
我想做一个简单的问答Alexa应用程序,类似于Alexa的定制问答蓝图应用程序。我不想使用蓝图,因为我需要额外的功能。创建Alexa应用程序的最佳实践是什么?我应该为每个问题创建一个单独的意图,还是应该以某种方式使用话语 您应该检查Alexa对话框界面,该界面允许您进行问答或测验Node.js 创建Q&;的最佳实践是什么;Alexa应用程序?,node.js,aws-lambda,alexa,alexa-skills-kit,alexa-skill,Node.js,Aws Lambda,Alexa,Alexa Skills Kit,Alexa Skill,我想做一个简单的问答Alexa应用程序,类似于Alexa的定制问答蓝图应用程序。我不想使用蓝图,因为我需要额外的功能。创建Alexa应用程序的最佳实践是什么?我应该为每个问题创建一个单独的意图,还是应该以某种方式使用话语 您应该检查Alexa对话框界面,该界面允许您进行问答或测验 最佳方式取决于问题的内容和提问方式 1。如果问题结构简单 考虑这些例子: what is a black hole define supernova tell me about milkyway what is a d
最佳方式取决于问题的内容和提问方式 1。如果问题结构简单
考虑这些例子:
what is a black hole
define supernova
tell me about milkyway
what is a dwarf star
然后,可以按照如下意图对其进行配置:
what is a {space}
define {space}
tell me about {space}
what is the {unit} of {item}
{unit} to boil {item}
{unit} of eyes of a {item}
what is the {unit} of an {item}
还有狭缝黑洞,超新星,米尔基韦,矮恒星。
通过时隙值,您可以了解问题所在并作出回答。由于Alexa还将用配置值以外的值填充插槽,因此您将能够容纳更多遵循此句子结构的问题
2。如果问题结构有点复杂
what is the temperature of sun
temperature to boil water
number of eyes of a spider
what is the weight of an elephant
然后,可以按照如下意图对其进行配置:
what is a {space}
define {space}
tell me about {space}
what is the {unit} of {item}
{unit} to boil {item}
{unit} of eyes of a {item}
what is the {unit} of an {item}
这里,
通过插槽的正确验证您将能够向用户提供正确答案
此外,如果用户部分地提出问题,您将能够提供建议
例:
现在,您知道用户询问了有关温度的问题,但是项
缺失,因此您可以这样回复
"Sorry I didn't understand. Do you want to know the temperature of the sun?"
3。如果问题的结构完全不同
How to deal with an annoying neighbor
What are the types of man made debris in space
Recommend few good Nickelback songs
Can I jump out of a running train
如果你的问题是这样的,完全是随机结构的,你可以把注意力集中在问题的某些关键词或外壳上,并将它们分组。即使您无法对它们进行分组,也要找出必填字段或必填词
IntentA: How to deal with an annoying {person}
IntentB: What are the types of man made {item} in {place}
IntentC: Recommend few good {person} songs
IntentD: Can I {action} out of a running {vehicle}
在这里使用slot的优点是,即使用户提出了部分问题并触发了相关的意图,您也能够识别它并用答案/建议或错误消息进行回复
例:
如果您在没有强制插槽的情况下进行了配置,您的后端将专注于触发的意图,并将以正确的答案(太空中的人造碎片)进行响应,在这种情况下,这对用户没有任何意义
现在,通过正确使用插槽和验证,您可以发现,您的后端收到的不是无效的碎片,而是“芒果”
。因此,您可以回复建议或错误消息,如
"Sorry, I don't know that. Do you want to know about the man made debris found in space"
分组问题将帮助您稍后轻松添加其他类似问题。如果很难分组,每个问题可以使用一个意图。但是,如果您想避免上述情况,请记住使用插槽对其进行验证
命名问题意图时,请使用前缀。这可能有助于根据后端设计对后端代码中的处理程序进行分组。这不是强制性的,只是一个建议
摘要:
具有相似结构的分组问题
适当使用插槽并对其进行验证
尽可能使用预定义的插槽
不要仅仅依赖意图,因为如果意图是最接近的匹配项,则可以映射意图。但这个问题可能完全不同,也可能毫无意义。因此,适当地使用插槽并验证它们
如果可能,为部分问题提供建议
彻底测试,确保它不会破坏你的互动模式
非常好的解释-感谢您的详细回答和对该特定主题的一些见解!很好的解释,不介意我把它作为参考书签。
"Sorry, I don't know that. Do you want to know about the man made debris found in space"