lol*_*ter 3 amazon-web-services alexa alexa-skill alexa-skills-kit alexa-voice-service
我希望Alexa能够接受我的自定义技能的可变长度的英文字母列表.它将允许用户基于字符串进行搜索.
这有两个步骤:
首先,一种方法是定义一个自定义槽,其中包含英文字母的枚举值:
SLOT_LETTER
ay
bee
see
dee
ee
eff
gee
... etc
Run Code Online (Sandbox Code Playgroud)
但这感觉很糟糕.亚马逊是否支持任何方式来实现这一目标,还是有更聪明的方式?
我真的不想使用北约语音("阿尔法布拉沃查理"用于"ABC"),因为它是一种糟糕的用户体验,很少有人真正了解它们.
对于第二个问题(示例话语),因为AMAZON.LITERAL我想定义类似的东西:
SpellIntent find me things starting with {first second|SLOT_LETTER}
SpellIntent find me things starting with {first second third|SLOT_LETTER}
SpellIntent find me things starting with {first second third fourth|SLOT_LETTER}
Run Code Online (Sandbox Code Playgroud)
但我不认为亚马逊会让你使用自定义插槽定义一个可变长度的LITERAL(因为它们是不同的"类型")?
它没有很好的记录,但你可以使用"a.","b.","c." 等代表字母,而不是声音.创建自定义插槽并将其用作值.这应该是你的插槽.
对于意图,创建一个意图,例如,五个插槽,所有插槽都具有相同的插槽类型.根据意图创建五个话语,填充一个,两个,三个,四个和五个插槽.当用户拼写某些内容时,将调用该意图.用户未指定的任何插槽都将为null.
在一个意图中没有用单词分隔的两个槽通常不能很好地执行.但试试吧,看看.对于像这样的受限制的词汇,它可以做得很好.
最后,如果它难以区分,比如说"b".和"v.",您可以尝试将NATO呼叫代码添加到列表中.Alpha,Bravo,Charlie等.然后,在你的处理过程中,只需获取插槽中任何值的第一个字符.
您可以启用"Star Lanes"技能并尝试"将呼叫标志设置为XY Z"意图.我在上述技能中做到了以上并且效果相当好.
| 归档时间: |
|
| 查看次数: |
3805 次 |
| 最近记录: |