在Watson Conversation

时间:2017-10-03 20:21:24

标签: json conditional ibm-watson watson-conversation

我正在使用Watson Conversation并尝试有条件地设置上下文变量。

在回答我们提出的问题时,有人说"是的,"有人说"不,"有些人说'不,但我的丈夫已经" (或一些类似的变化)。我有实体@other_person,承认"丈夫" (和妻子,朋友等)。

我想要做的是设置一个上下文变量$提及者如果他们提到另一个人则为true,否则设置为false。
到目前为止,我有这个,但它没有工作,我无法弄明白。我还没有找到关于此的好文档,所以我可能会离开。

"context": {
  "mentionother": "(@other_person==null ? false : true)"
}

任何人都可以在这里提供一些帮助,并且/或者告诉我在哪里寻找更好的文档吗?我实际上并不是100%确定要查看的语言;我想我已经读到这是Java,但我没有实践,所以不积极。

2 个答案:

答案 0 :(得分:1)

条件变量的工作原理如下:

变量x =(表达式)?值为true:如果为false则为值

试试这个: “(@ other_person == null)?false:true”

既然你不确定你在json旁边使用的是什么我不是100%肯定的,这是有效的。

来源:https://www.tutorialspoint.com/java/java_basic_operators.htm

答案 1 :(得分:1)

在这种情况下,@ R。蒂默是对的。但是你需要在<? ?>内设置条件,所以基本上是这样的:

{
  "context": {
    "otherPerson": "<? (@other_person==null)? false : true ?>"
  },
  "output": {
    "text": {
      "values": [
        "Now you can see $otherPerson true or false"
      ],
      "selection_policy": "sequential"
    }
  }
}

请考虑标记R. Timmer的答案,我只是补充了他的答案。