IBM Watson Assistant:无法从对话框JSON访问已定义的实体

时间:2018-06-07 01:16:15

标签: dialog ibm-watson watson-conversation

我使用名为@ClientStates的GUI创建了一个实体,并添加了客户支持的状态列表。

我需要查看用户输入的状态是否在@ClientStates中,如果是,则打印出一些信息。

我知道这可以通过创建一个检查匹配的对话节点来完成,但是可以在节点内使用JSON吗?例如:

{
  "output": {
    "text": {
      "values": [
         "<? @ClientStates.contains($State)? 'Yes' : 'No ?>"
       ],
      "selection_policy": "sequential"
    }
  }
}

似乎&#39;是&#39;如果保存在上下文变量$ State中的用户输入是@ClientStates中的状态之一,并且&#39; No&#39;如果不是,应该打印。但是,唯一的输出是“No&#39;任何输入。

此外,我希望以下代码在@ClientStates中打印状态列表,但它根本不提供任何输出。

{
  "output": {
    "text": {
      "values": [
         "<? @ClientStates ?>"
       ],
      "selection_policy": "sequential"
    }
  }
}

为什么我无法从对话框JSON中访问预定义的实体@ClientStates?

1 个答案:

答案 0 :(得分:0)

您只能在输入的一部分中访问对话框中的实体。 第二件事是没有必要使用&#39;包含&#39;用于检查输入是否包含此实体。

使用:

<? @ClientStates ? 'Yes' : 'No ?>