【问题标题】:How can I save a data in Watson Conversation?如何在 Watson Conversation 中保存数据?
【发布时间】:2018-03-02 00:01:35
【问题描述】:

我需要在 Watson Conversation 中保存一个数据,例如:

-Watson 说:你好,告诉我你的名字

-我说:我叫艾萨克

-Watson 说:好的,Isaac,晚安!**

如何保存此值?当他认出艾萨克的名字时,没有告诉华生这么说。只需保留“名称”的数据并显示它。并且能够使用我在其他节点中保留 Isaac 名称的变量

非常感谢!

【问题讨论】:

    标签: javascript node.js watson-conversation watson


    【解决方案1】:

    在这种情况下,您可以在 Watson Conversation 中使用 context variables 或 @sys-person(检查 Supported languages)来执行此操作。

    带有正则表达式的上下文变量:

    为了获得name 值,您需要使用正则表达式从用户输入中提取。并将其设置在您想要显示用户名的所有节点中,例如。

    {
      "context": {
        "name": "<? input.text.extract('yourRegextoExtractName')?>"
      },
      "output": {
        "text": {
          "values": [
            "Hi $name, how do you do?"
          ],
          "selection_policy": "sequential"
        }
      }
    }
    

    请注意,我使用syntax 来设置上下文变量:$name。因此,只需在所有要显示名称的节点中放置相同的语法来设置名称上下文变量。

    @sys-person - 系统实体。

    您还可以激活@sys-person System 实体,并使用我的示例在下面保存日期。请注意,目前是测试版。

    对于使用@sys-person,激活于:实体-> 系统实体-> @sys-person,查看我的图像另一个激​​活系统实体:

    您的对话条件将类似于:

    结果:

    • @sys-personSupported languages;
    • 尝试验证上下文变量在 this link 中的工作方式,以及如何在 WCS here 中使用正则表达式。
    • 尝试通过 Watson Conversation 了解有关 Expression language methods 的更多信息。
    • 验证正则表达式的工作原理 (Regex) here

    【讨论】:

    • 也许添加一个 sys-person 的例子。
    • 编辑 @sys-person 示例 Simon;哈哈:)
    • 与@SayuriMizuguchi 提到的一样,对于提到的问题,最好使用Slots 功能,我们可以提供sys-person 实体。会话服务会自动将提及的名称保存到上下文对象中,这样我们就不需要在会话节点的 JSON 响应的配置对象中手动提及。
    猜你喜欢
    • 1970-01-01
    • 2018-07-21
    • 1970-01-01
    • 1970-01-01
    • 2017-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多