【问题标题】:How to trigger multiple Intent in Webhook api.ai?如何在 Webhook api.ai 中触发多个 Intent?
【发布时间】:2018-07-19 14:14:03
【问题描述】:

我正在开发一个 api.ai 机器人,它将在数据库中搜索供应商名称。

a ) 如果供应商存在 -> 提供用户名 -> 提供密码

b) 如果供应商不存在 -> (添加供应商 -> 是 ) 或 (添加供应商 -> 否)

我有一个 webhook 正在检查供应商是否存在于数据库中。

机器人场景:(示例)

案例1:

User: Do Alpha exist as a vendor?
Bot: yes, Alpha exist in Database. Please Provide User Name.
User: abc@gmail.com
Bot: Please Provide Password?
User: abcdef
Bot : Welcome

案例 2:

User: Do Beta exist as a vendor ?
Bot: No Beta is not a vendor. Do you want to Register?

Case 1:
       User: Yes
       Bot: Please fill this Form.
Case 2:
       User: No
       Bot: Is there any other way I can help

我想通了一件事,我必须使用输出上下文来触发意图。但是在这种复杂的情况下我该怎么做呢?以及如何使用输出上下文调用多个来跟进意图?

我可能使用了不好的方法,有没有其他方法可以解决这个问题?

我确实有一个后续问题。

  • 当我们将履行响应传回对话流时。机器人控制台上的响应打印将是默认文本响应,我怎样才能让“fulfillmentText”成为响应。

谢谢各位。这是后续 Intent 场景。

【问题讨论】:

  • 你能改写你的问题吗?目前尚不清楚提供用户名/密码的目的是什么
  • 最好将场景写成 Bot 响应: 用户响应: Bot .....
  • @AbhinavTyagi 我已经放了对话的例子,你现在可以检查一下吗。

标签: actions-on-google dialogflow-es


【解决方案1】:

这并不复杂,因为收集用户名/密码有两个意图,所以你做错了。

试试下面的方法

当您检测到您的供应商存在时 - 在 webhook 中设置上下文,例如“vendor-present

当供应商不存在时 - 在 webhook 中设置上下文,例如“vendor-new

使用 lifespan(上下文左侧的数字)设置上下文的生命周期或有效性。

为现有供应商创建一个单独的意图 - 说“供应商数据收集”以收集用户名和密码。在 Dialogflow 中将输入上下文设置为“vendor-present”。在这里,您将以相同的意图将这些作为参数收集(见下图)。将这些参数标记为“必需”,以便您的机器人必须收集它们。使用提示部分将您的回答问题用于收集诸如“请提供用户名”之类的信息。

如果供应商不存在,请使用现有意图并在 Dialogflow 中将输入上下文设置为“vendor-new”。

现在,有几件事需要注意 - 可以使用系统实体 @sys.given-name 收集用户名参数。但对于非美式/英文名称,它不是很准确。我不确定这是否有所改善。其次,没有系统实体来收集密码,所以需要将实体设置为@sys.any,在webhook中,需要自己使用正则提取密码。顺便说一句 - 你不应该分享密码!

希望这对您有所帮助!

【讨论】:

  • 我应该在哪里让机器人问我“请提供用户名”。
  • 查看图片.. 使用参数右侧的提示。你可以把响应放在那里。或者,如果使用 webhook,请启用插槽归档并从 webhook 发送响应。
  • 我还必须从 webhook 发送回复,“供应商存在于数据库中”,然后问后续问题“请提供用户名”,我该怎么做?
  • 添加寿命也 "outputContexts":[ { "name":"Vendor-Present", "lifespanCount":5, "parameters":{ "param":"param value" } } ]
  • 嗨,这是我作为履行响应发回的内容:return{ "fulfillmentText":speech, "source":"Check_Vendor", "outputContexts": [{ "name": "Vendor-Present", "parameters": {}, }], } 我得到:Webhook 调用失败。错误:Webhook 响应为空。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2017-11-28
  • 1970-01-01
  • 2018-12-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多