首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >强制响应来自特定的自定义插槽,重复

强制响应来自特定的自定义插槽,重复
EN

Stack Overflow用户
提问于 2017-05-29 21:09:18
回答 2查看 608关注 0票数 0

我试图写一种“小测验”技巧,就像许多其他已经存在的技能一样,但我希望用户能够给出实际的答案,而不是"a/b/c“或"1/2/3”。所以谈话会是这样的:

  • 哪颗行星离太阳最近:水星还是金星?
  • 用户:Mercury
  • 亚历克莎:没错!你有一分。科维特、凯迪拉克和雪佛兰是哪家公司生产的?
  • 用户:Chevrolet
  • 亚历克莎:没错!你有两点。乔治·华盛顿的假牙是用什么做的?木头还是象牙?

...etc...

因为每个问题都有自己的答案集,我很乐意为每个问题创建一个自定义插槽类型,所以我将有一个LIST_Q1_ANSWERS插槽的["Mercury", "Venus"]和一个LIST_Q2_ANSWERS插槽的["Cadillac", "Chevrolet"],这一切都很好。然而,我不知道如何告诉我的技能,答案应该来自这个特定的定制插槽。

当然,我可以为每个问题创建一个特定的Intent,所以我创建了Q1Intent,我启动了一个对话框,并且我创建了一个Q1Intent。然而,这是行不通的,因为在我对他们填写所需的LIST_Q1_ANSWERS插槽的答复中,我必须说“正确”,并问下一个问题,这意味着我必须Elicit Q2Intent.这是不允许的,我必须先结束对话,然后开始一个新的对话。(这样谈话就会说“哪个星球.”“水星”“正确!你想要下一个问题吗?”“是的”“好的,哪个公司.”这是不好的。)

我可能把事情搞得太复杂了。也许有一种更简单的方法来模拟我想要的语音界面。当然,我可以在一个大的定制槽中定义所有不同的答案,然后只有一个AnswerIntent,但是人们可以回答Chevrolet关于行星的问题,这是很愚蠢的。(我知道我必须处理任何问题的答案,而不仅仅是插槽中的答案,但我倾向于从插槽中选择答案,这就是插槽的作用。)

那我该怎么做呢?对话是行不通的,我不认为。

EN

回答 2

Stack Overflow用户

发布于 2017-05-30 00:33:42

这是一个非常合理的要求,海事组织,但这仍然不可能与亚历克莎。对于其他的bot/AI平台,您可以指定一个上下文,使其能够将用户的响应与您的技能意图的子集相匹配(我认为通常只有1 )。

下面是一个流行的Alexa特性请求,它得到了相同的信息:

允许根据应用程序状态暂时禁用意图/语句

https://forums.developer.amazon.com/content/idea/40045/allow-temporarily-disabling-intentsutterances-base.html

票数 1
EN

Stack Overflow用户

发布于 2017-05-30 11:19:13

是的,我相信你完全可以做你想做的事。我在“谁先上?”棒球小品技能方面做了一些类似的事情。

可能还有许多其他方法可以实现这一点,但我采取了以下方法:

  1. 为每个用户响应创建一个意图。例如,在上面的例子中,你说过“水银”和“雪佛兰”都是意图。
  2. 在会话对象中向前传递信息。可以使用数据库,但是在这种情况下会话工作得很好。此信息将允许您的意图处理程序识别所询问的问题。如果每个答案都是唯一的,这并不是必要的,但它允许多个问题有相同的答案。例如,也许“水银”的答案是对“命名行星”和“为液态金属命名”这两个问题的答案。
  3. 由于可能有更多不正确的答案比正确的答案,使用插槽对不正确的答案可能是有意义的。或者,您可以将不匹配的意图处理为不正确的答案,并使用会话中传递的问题ID来标识哪个问题是不正确的。
  4. 可以以编程方式将响应字符串组合在一起。因此,如果答案是正确的,在前面加上“正确的,下一个问题是”到下一个问题的开头,你的技能说。

我希望这能给你一个如何进行的想法。和亚历克莎有很多可能。有时候我们只需要有创意。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44250316

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档