人类的对话是基于当前的背景进行的,语义的理解和信息提取并不是件简单的事情。您需要仔细和认真地设计Alexa和用户之间的对话,一个优秀的语音交互允许用户可以用多种方式表达意思
会话界面流程是由用户开始,Alexa再进行响应。对于很多人来说,这是全新的交互形式,所以请确保你的设计能让用户明白参与对话的方式
思考用户使用你的产品体验和感受,确定你产品的目的,脚本,布局的流程,然后再继续设计意图和对话
意图是用户想要通过产品实现的目的,比如制定出游计划,讲笑话,攻击怪兽等等。
不要觉得用户会完全按照你预期的方式表达,比如用户可能会说“计划旅行”,也可能说“计划去夏威夷度假”,为了确保你的产品能更好理解意图,请提供范围更广的句子、短语、单词来应对人们可能的表达方式
必备的技能包括取消、停止、提供帮助,对于这些和其他常见的意图,如重复,播放和下一个,使用内置的意图库。内置意图已经被配置,以便Alexa可以识别相应的话语。例如,有了帮助的意图,你不需要指定一个人可能要求帮助的方式。如果您的技能需要对人们可能会说的其他事情做出反应,您还可以扩展内置意图。
话语是用户对Alexa说的话,话语由关键词、自然语音如填充词,信息槽组成。设计语音体验的一个最重要的方面是定义人们可能会说的范围。
为了有助于保证良好的体验,请提供完整的命令,确保你能覆盖的尽可能完整,包括微妙的变化甚至发音错误。
一次性:一次性短语完全满足激活一个意图所需的信息,他们可以用来开始一个技能,也可以在一个技能内使用
不完整的信息:用户经常发出的命令或请求,是不完整的变量,这可能会导致多回合对话收集其他信息
有时,Alexa只发出一个请求,用户可能会回答多个信息,如果Alexa询问出发日期,用户可能会回答日期和出发地,甚至包括其他信息,如目的地和活动目的,却可能忽略了Alexa所需要的日期
有时候,当人们知道Alexa有什么错误或者他们改变主意时,他们会进行更正。例如,用户可能会说“不”或“我说”,然后才是有效的话语。你需要做好相应的应对机制
为了确保你的产品体验好,一个好的标准是每个意图包含30句或更多的话语作为表达方式。我们不可能100%覆盖所有表达方式,但是例子越多体验会越好。另外,要有不断添加话语或表达方式的计划。
假设用户说“我想计划一次旅行”,那么Alexa需要收集目的地城市,抵达城市,旅行日期和活动。这是一个很好的机会,请家人或朋友玩游戏,以便模拟对话
插槽允许人们指定话语的可变部分,例如对话里的城市或日期。插槽在以任务和信息为重点的技能中很常见。设计插槽如何以话语显示,然后从内置目录中选择插槽值或提供您自己的插槽值。
在下列的例子中,{toCity} and {travelDate} 就是槽:
“I’d like to go to {toCity}”
“book a trip for {travelDate}”
“plan a vacation to {toCity}”
使用内置的槽值,可以节省时间和提高效率。你也可以对内置的槽值进行扩展。例如,对于本地区域,您可以扩展AMAZON.US_CITY以包括所有的本地城镇。
尽管槽值查找、复制黏贴起来很方便,但仍要认真检查。不正确的插槽值会在技能逻辑中产生错误并中断用户体验。注意以下几点:
确保消除不必要的重复值
避免包含无关的单词
拼写错误或不正确的标点符号
来源:肥寒,微信公众号:chanpingdog,成都软件开发