我想用文本形式捕捉用户对Alexa所说的任何内容。究竟是怎么'Alexa,西蒙说......'有效。有人可以暗示如何实现这种意图吗?
我查看了this,this和this,但建议的答案对我不起作用,而且还没有具体的“接受”答案。
只要指定了样本话语(即字面上的硬编码),LITERAL槽类型就可以工作。就像上面提到的答案一样,我试图通过提供400多种可能的话语组合来“训练”,希望它能以某种方式找出其余的组合。但是,没有骰子。
我的输入可能是随机的'TBD-2019-UK','17_TBD_UK_Leicester','17_TBD_UK_Leicester 1','18_TBD_UK_Leicester 2','芝加哥IL美国'等等。这是一年一度的随机组合,城市,州,国家,一些其他关键文本没有特定的顺序(让我们暂时忽略特殊字符)。即使样本话语中指定了'芝加哥IL美国',LITERAL也无法自动捕获像匹兹堡PA美国这样的东西,除非它也是硬编码的。我无法想出所有可能的排列和年份,城市,州,国家和其他一些关键数据点的组合(......因为这听起来不切实际/荒谬)。
另外,用户可以添加更多值。所以它需要聪明且充满活力。
问题是,如果找不到与话语匹配的意图,而不是返回用户的语音文本,我的Alexa就是没有做任何事情。它没有做任何事情就走了。有什么想法吗?
答案 0 :(得分:2)
亚马逊的Alexa服务并非专为听写而设计。这是开发者布道者的一贯回应。所以,很简单,你不能做你想做的事:捕捉各种各样的自由形式的演讲。
有多种方法可以“欺骗”Alexa创建一个“通用插槽”,我假设这些链接在谈论。但是,因为它超出了Alexa的设计参数,所以它们永远不会像你发现的那样表现良好。
对于您的用例,我建议您将输入分解为多个交换。不要使用一次性调用,而是使用对话框。例如:
U: Alexa, open spiffy skill
A: Welcome to spiffy skill. I'd love to do something spiffy for you,
but I need some information. You can give it to me by saying city,
year, state, or country followed by what you want me to look up.
U: City Cincinatti
A: OK, Got city Cincinatti. I need more information to be spiffy. How
Year?
U: Year 2010
A: OK, I've got Cincinatti, 2010. Should I look that up, or do you have
more info?
U: Look it up.
A: Got it. So for Cincinatti, 2010 ...