【问题标题】:AWS Lex - How to get dynamic responses based on existing slotsAWS Lex - 如何根据现有插槽获取动态响应
【发布时间】:2018-02-15 13:49:18
【问题描述】:

我们正在尝试使用 AWS Lex 构建聊天机器人。

思路如下 1) 在介绍文本之后,我们按照 A->B->C 的顺序询问用户的偏好。

上述所有偏好都是我们创建的 Intent 中的插槽。现在,一旦用户填写了 A、B 和 C,我们应该根据偏好显示推荐(响应将是图像、标题和链接的数组,并从 API 动态获取)并且用户需要从中进行选择。我们应该如何进行,因为我可以创建 lamda 但在提供对 lex 的响应时不确定使用哪种类型。如果我们提供 Delegate,它只会指示 Lex 继续前进。这不是实现,因为我们希望用户从推荐中进行选择。

请帮忙

问候 拉加夫

【问题讨论】:

    标签: amazon-web-services amazon-lex


    【解决方案1】:

    你走对了,首先将slots设置为首选项A,B,C。填满这些插槽后,您可以填写 intent 并以 Close 消息的形式向用户显示 response cards
    然后再制定一个意图,负责捕捉用户响应,即他从您之前发送的选项中做出的选择。

    示例:您为用户提供了 3 个选项青铜、白银和黄金。您必须将buttontext 设置为Gold,并将值设置为“我要选择Gold 计划”。您创建的新意图将捕捉这些类型的短语。

    让我知道是否令人困惑。查看this question 以查看response cardsbuttons 的详细信息。

    【讨论】:

    • 好的,我明白了大部分。谢谢。但是不可能为结果创建第 4 个插槽,并且从 elicitslot 我们使用响应卡填充结果,方法是使用在前 3 个插槽 A、B 和 C 中输入的选项的业务逻辑。我的意思是在我们的例子中,一旦选项 C 结束,他需要立即查看基于前 3 个偏好的结果。结果本身也有用户需要从中选择的选项
    • 您绝对可以这样做,但最终可能会出现问题,因为 Lex 在插槽识别方面不是很好(根据我的经验),我们应该减少对插槽的依赖。我写的是一般的做事方式。做事有多种方式,你应该探索并选择最好的方式。 :)
    • 另外,这样可以避免用户在 30 秒内没有做出选择时可能遇到的超时错误。
    猜你喜欢
    • 2018-08-09
    • 2018-09-15
    • 2018-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多