我希望Alexa能够接受我的自定义技能的可变长度英文字母列表。它将允许用户基于字符串进行搜索。
这有两个步骤:
首先,一种方法是定义一个自定义槽,其中包含英文字母的枚举值:
SLOT_LETTER
ay
bee
see
dee
ee
eff
gee
... etc
但这感觉很糟糕。亚马逊是否支持任何方式做到这一点,还是有更聪明的方式?
我真的不想使用NATO phonetic(" alpha bravo charlie" for" AB-C")因为它是一个糟糕的用户体验和很少有人真正了解他们。
对于第二个问题(样本话语),对于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}
但我不认为亚马逊会让你使用自定义插槽定义一个可变长度的LITERAL(因为它们不同"类型")?
答案 0 :(得分:7)
它没有很好的记录,但你可以使用“a。”,“b。”,“c。”等代表字母,而不是声音。创建自定义插槽并将其用作值。这应该是你的插槽。
对于意图,创建一个意图,例如,五个插槽,所有插槽都具有相同的插槽类型。根据意图创建五个话语,填充一个,两个,三个,四个和五个插槽。当用户拼写某些内容时,将调用该意图。用户未指定的任何插槽都将为空。
在一个意图中没有用单词分隔的两个插槽通常表现不佳。但试试吧,看看。对于像这样的受限制的词汇,它可以做得很好。
最后,如果它难以区分,比如说“b”。和“v。”,您可以尝试将NATO呼叫代码添加到列表中。 Alpha,Bravo,Charlie等。然后,在你的处理过程中,只需获取插槽中任何值的第一个字符。
您可以启用“星际车道”技能并尝试“将呼号设置为X Y Z”。我在上述技能中做了以上工作并且效果相当不错。
答案 1 :(得分:0)
我会避免使用这种界面,因为用户很难拼写东西,而且Alexa很难区分字母(或许是b或v)。但是如果你想尝试这个,可以考虑使用文字类型并以三或四组的形式询问字母。
AV:"现在拼写前四个字母"
用户:"看到你是发球台"
AV:"你拼写了C,H,R,T。你想添加更多的字母,进行修正或现在搜索吗?"
用户:"取消。我只是用我该死的手机。"