【问题标题】:Allow AWS Lex to accept any user input允许 AWS Lex 接受任何用户输入
【发布时间】:2017-06-07 17:31:43
【问题描述】:

我正在构建一个聊天机器人,它会向用户提出一个问题,并提供多种可能的回答,例如:

机器人:“你想让你的用户简介说什么?”

UserA:“我叫 Bob。#chatbots 很酷!!!”

用户B:“123”

我希望 Lex 几乎可以接受任何用户响应。目前,如果用户响应与现有槽不兼容,它将不断重复相同的问题。

是否有一个内置的插槽,或者有一种方法可以构建一个这样的自定义插槽?

【问题讨论】:

  • 如果是,你的问题解决了吗,那么请告诉我如何@jeffD23

标签: amazon-web-services aws-lambda chatbot amazon-lex


【解决方案1】:

Lambda initialization and validation hook 中,您可以调用elicit slot 以获取整个用户响应作为参数。

查看一些示例 Lex lambda 函数,了解如何使用 elicit slot 的示例。

【讨论】:

  • 可以举任何例子@Milk
【解决方案2】:

您可以创建一个没有任何意图值的槽并取消选中所需的复选框。然后在Lambda initialization and validation hook 中,只需从event['inputTranscript'] 获取用户的输入并将该值分配给插槽。

希望对你有帮助。

【讨论】:

  • @surajrawat 这可能对你有帮助
【解决方案3】:

Lex 没有AMAZON.SearchQuery,但解决它的一种方法是在 SlotType 枚举中包含许多不同的值,就像在由 CloudFormation 堆栈从 blog post 创建的 Lex 机器人中所做的那样。本例中的自定义槽类型有 81 个枚举值,包括 -

  • “正在为我的职业生涯提供支持”
  • “1234567890”
  • “二”
  • “C”
  • “e”
  • “开始测验”
  • “退出”

此机器人案例中的槽值用于在 Elasticsearch 实例中进行搜索。

您可以尝试遵循该路径。自定义slot type can have unto 10,000 enumerated values。另请注意,必须启用“扩展值”选项。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-06
    • 1970-01-01
    • 2018-05-28
    • 2021-02-08
    • 2019-07-30
    • 1970-01-01
    相关资源
    最近更新 更多