【问题标题】:How to make a long pause in Watson Assistant?如何在 Watson Assistant 中长时间停顿?
【发布时间】:2019-05-29 11:48:14
【问题描述】:

我正在使用 IBM Watson Assistant 来创建聊天机器人。我正在使用带有意图、实体和对话流|树的 Web 界面(我不知道它是如何调用的,我只是称它为 Web 界面)。

我希望对话框中有一个节点等待 100 秒,然后向用户发送另一条消息,但前提是用户没有在其间发送另一条消息。我可以在节点中添加暂停,但最多只能暂停 10 秒。当然,我可以在一个节点中按顺序添加多个这样的暂停,但这不是很好的风格。如果用户在这 100 秒内没有发送消息,我该如何解决这个问题而不是等待 100 秒,然后才发送消息?

此外,我的聊天机器人中有一个非常线性的流程(对话树中的一个大分支)。如果与聊天机器人的对话超过 10 分钟,我想停止它并跳出分支。我可以通过存储对话开始时的当前时间来解决它,然后如果时间差大于 10 分钟,则检查每个节点,如果是,则跳出。但这又不是好的风格。我怎样才能更优雅地解决这个问题?

【问题讨论】:

    标签: ibm-watson watson-conversation


    【解决方案1】:

    很遗憾,Watson Assistant 不提供此功能。但是我们有很多方法可以做到这一点,因为 Watson 是一个 API,例如,我们拥有创建自定义代码的所有后端。

    您可以使用最后一个请求 /message 并创建一个 setInterval,如果传递的时间比上一个请求到 /message 的时间多,则添加一些条件,并发送一些您想要的消息。

    if(inputTiming > 100000) { 
      response.output.text = 'Hey, are you there?';
      return response
    }
    

    【讨论】:

    • 我将直接将我的聊天机器人嵌入到 facebook messenger 中,无需中间件。如何将您的方法整合到 Watson Assistant 中的对话节点中?我不知道如何在那里使用javascript。
    • 当然可以。您可以集成多个API!您将执行that 之类的操作,并在您的 Node 后端使用我制作的示例。我回答的一个问题,你可以关注here和官方教程here
    • Obs.:您可以使用任何可以在后端执行 http 请求的语言。但我确实建议将Watson Developer Cloud 与许多用于 Watson 服务的官方示例一起使用。
    • 谢谢小百合。也许我会使用 Skype 而不是 Facebook Messenger。但我认为对于 Skype,我可以按照本教程进行操作:developer.ibm.com/recipes/tutorials/…。这是正确的吗?
    • 此外,我更喜欢 Java 或 Python 而不是 Javascript,但我认为 Node.js 只有 javascript 是可能的,我没有找到您为 Java 或 Python 链接的相同教程。但最后,Javascript应该也可以,因为我不会用太多。
    【解决方案2】:

    使用最新的 Watson Assistant,您可以执行以下操作 - { “时间”:5000, “打字”:是的, “response_type”:“暂停” },

    【讨论】:

    • 但只有 10 秒的暂停
    • 如何使用暂停。当我添加暂停时,我听不到它们......(困惑)
    猜你喜欢
    • 1970-01-01
    • 2012-10-15
    • 2021-08-12
    • 2014-08-15
    • 1970-01-01
    • 2020-08-27
    • 2012-12-12
    • 1970-01-01
    • 2020-05-05
    相关资源
    最近更新 更多