为了保证你的技能顺利的执行,比较好的标准是为每个意图提供三十个,或者更多的表达方式,甚至对于一些很简洁的意图,也需要提供足够的表达方式。你不需要做到百分之百的覆盖,但是例子越多越好。同时,计划在迭代中持续增加表达方式以便不断的提升技能的体验。 增加多样化表达方式的一些技巧 当用户说:“我要制定一个行程。”Alexa接下来需要收集到的信息包括出发地,到达地,旅行时间,旅行的方式。 这是一个和家人朋友玩角色扮演的绝好机会,通过这种对话扮演,你可以得到多种多样的对话方式。 (1)one-shot方式 考虑用户一次性说出所有信息的表达方式。
(2)部分信息的方式 考虑用户一般会给你较少的信息。这一点至关重要,因为用户很少会一次性把所有信息都提供给你。
定义槽 一句话中可变的部分就是槽(slot),比如说城市名称或者日期。槽在任务-信息型(task-and information-focused)的技能中非常常见。你需要设计表达方式中的槽,并且从内置目录中给槽位匹配赋值,或者自己给槽位赋值。 在下面的例子中{to city}和{traveldate}就是槽: “I’d like to go to {toCity}” “book a trip for {travelDate}” “plan a vacation to {toCity}” 使用内置槽值 使用亚马逊提供的内置槽值可以节省更多时间并且更加准确。为了适配你的技能,你也可以去自定义扩展一些内置的槽值(slot values)。比如说,要增加一个本地区域名称库,你可以扩展AMAZON.US_CITY去添加所有的本地城市和城镇名称。了解更多,请参看 slot values you can extend 。 严格的审查槽值 虽然搜集、复制、粘贴槽值表这种事是比较容易的,但一定要确保认真的审核和编辑这些内容。错误的槽值会带来技能的逻辑错误,并且给用户带来破坏性的体验,你需要注意以下几种情况: 确保排除掉重复的槽值 避免包含与槽位无关的词汇 注意不要拼写错误或有标点格式上的错误:因为槽值可能会包含一些缩略符号,比如“child’s play”【译者注:这种情况中文一般是没有的】,保证编辑文档的时候选择正确的标点格式,参看supported punctuation。 (责任编辑:admin) |