【问题标题】:How can I reprompt the question for a slot if I only want synonyms如果我只想要同义词,如何重新提示问题
【发布时间】:2019-09-11 07:28:11
【问题描述】:

我正在使用 Alexa 技能来获取有关酒店列表的一些信息。我有一个意图,有四个位置(客户姓名、酒店名称、到达日期和离开日期),它们都是必需的。作为酒店的名称,我有四个值(每个值有两个或三个同义词)。我不关心酒店的确切名称,但如果用户给出的值与这四个不同,我希望 alexa 再次询问酒店的名称。

我尝试过“是否需要此插槽来实现意图?-YES”、“此插槽是否需要确认?-”(因为我不需要需要四个确认)和“此意图是否需要确认?-YES”最后要求确认四个数据。

我使用 https://s3.amazonaws.com/webappvui/skillcode/v2/index.html 生成 aws-lambda 代码

在用户给出正确的酒店名称之前,我如何才能几乎无限地重新提出问题?现在酒店的名称可以是任何东西,我知道最后如何在确认消息中询问它,但我想在询问用户之前知道信息不正确。

谢谢

【问题讨论】:

    标签: alexa alexa-skills-kit alexa-slot


    【解决方案1】:

    正如你所说,你需要

    是否需要此插槽来实现意图? - 是的

    但是您缺少 Validations 部分中的配置


    有一个选项可以创建验证规则



    如果您正确定义了插槽,那么接受插槽值和同义词的规则应该可以解决您的问题。

    如果规则不接受答案,您还必须在此处写下 Alexa 应如何再次请求插槽。

    【讨论】:

      【解决方案2】:

      解决这种情况的几种方法。取决于您的用例。

      A.在开发者控制台中开启 Auto Delegate 这将使 Alexa 自动确定并完成对话的每个步骤。

      然后根据您的意图,您可以编辑对话框以根据需要制作插槽。

      B.另一种方法是在代码中处理对话管理。使用 Elicitslot 指令

      http://ask-sdk-node-typedoc.s3-website-us-east-1.amazonaws.com/classes/responsebuilder.html#addelicitslotdirective

      【讨论】:

      • 我已经启用了自动委托,但即使它不在我想要的酒店类型值列表中,它也会存储该值。我不明白第二个选项。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-16
      • 2011-05-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多