【问题标题】:alexa skill user input for spelling out letters用于拼写字母的 Alexa 技能用户输入
【发布时间】:2016-09-08 18:29:50
【问题描述】:

我希望 Alexa 能够为我的自定义技能接受可变长度的英文字母列表。它将允许用户基于字符串进行搜索。

有两个步骤:

  1. 获得 Alexa 可以理解的单个字母的良好表示
  2. 枚举具有可变字母数的示例话语

首先,一种方法是定义一个自定义插槽,其中包含英文字母的枚举值:

SLOT_LETTER

ay
bee
see
dee
ee
eff
gee
... etc

但这感觉很老套。亚马逊是否支持任何方式来做到这一点,还是有更聪明的方式?

我真的不想使用NATO phonetic(“A-B-C”的“alpha bravo charlie”),因为这是一种糟糕的用户体验,而且很少有人真正了解它们。

对于第二个问题(示例话语),对于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(因为它们是不同的“类型”)?

【问题讨论】:

  • 结果如何?你能发布一个你最终做了什么的答案吗?
  • 老实说,这是一场灾难,我不建议尝试使用 Alexa 构建这样的应用

标签: amazon-web-services alexa alexa-skills-kit alexa-voice-service alexa-skill


【解决方案1】:

没有很好的文档记录,但您可以使用“a.”、“b.”、“c”。等来代表字母,而不是声音。创建一个自定义插槽并将其用作值。这应该适合你。

对于意图,创建一个具有例如五个槽的意图,它们都具有相同的槽类型。根据意图创建五个话语,分别填满一、二、三、四和五个空位。当用户拼写某些内容时,将调用意图。用户未指定的任何槽都将为空。

在一个意图中包含两个不被单词分隔的插槽通常效果不佳。但是试试看。像这样有限的词汇,它可以做得很好。

最后,如果它无法区分,就说“b”。和“v.”,您可以尝试将北约呼叫代码添加到您的列表中。 Alpha、Bravo、Charlie 等。然后,在您的处理过程中,只需为插槽获取任何值的第一个字符。

您可以启用“星道”技能并尝试“将呼号设置为 X Y Z”意图。我在那个技能上做了上面的事情,而且效果很好。

【讨论】:

  • 你是说放“a.”, “b.” (带句点)在自定义槽的中,在同义词中并且在值中有常规的“a”,“b”?
  • @DonCheadle - 我写上述评论时没有同义词。 :-) “一种。”比“a”更具体,我会把它放在正常的插槽中开始。但是对两者都进行试验,看看是否有更好的表现。
  • 那对你有没有过得体的工作?你有更多关于什么有效的信息/截图吗?我不在 Alexa Skills Kit 领域,只是在“Amazon Lex”中,但它是相似的。在我对 Lex 的尝试中,它几乎没有用。
  • 如上,您可以在 Alexa 上试用 Star Lanes 技能,看看它是如何工作的。我一般没有问题。用户在他们的使用中已经相当,呃,“创造性”。请注意,我还添加了 NATO 调用代码,该代码也将采用插槽中的任何值并采用返回的第一个字母。
  • 感谢约瑟夫。不幸的是,我正在与 Amazon Connect IVR 一起在 Amazon Lex(不是 Alexa)中工作。所以我认为我无法访问 Lex 中的“星道”。 stackoverflow.com/questions/64130127/…
【解决方案2】:

我会避免使用这种界面,因为用户可能很难拼写,Alexa 也很难区分字母(可能是 b 或 v)。但是,如果您想尝试这样做,请考虑使用字面量类型并要求以三个或四个为一组的字母。

AV:“现在拼出前四个字母”

用户:“看到是三通”

AV:“您拼写了 C、H、R、T。您想添加更多字母、进行更正还是立即搜索?”

用户:“取消。我就用我那该死的手机。”

【讨论】:

  • 好的,但我的问题是如何同时使用一组字母(自定义插槽变量)和文字 - 你能对此有所了解吗?
  • 我同意@Mike3d0g 关于识别问题的观点。我不相信你不能按照你想要的方式创建插槽。而且,让我添加另一个问题。我越来越多地看到 ASK 返回自定义插槽列表中未定义的值。我有一个只有 7 个项目的音乐播放列表。我可以说出各种其他播放列表名称,它们会在插槽中被识别并返回。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-07-28
  • 2021-02-27
相关资源
最近更新 更多