在 Watson Conversation 中有条件地设置上下文

Conditionally set a context in Watson Conversation

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

在回答我们提出的问题时,有些人说 "yes,",有些人说 "no,",有些人说 "no, but my husband has"(或一些类似的变体)。我有识别 "husband"(和妻子、朋友等)的实体 @other_person。

我想做的是,如果他们提到另一个人,则将上下文变量 $mentionother 设置为 true,否则设置为 false。
到目前为止,我有这个,但它不起作用,我不能'不太明白。我没能找到这方面的好文档,所以我可能离题太远了。

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

任何人都可以在这里提供一些帮助,and/or告诉我在哪里可以找到更好的文档吗?
实际上我不是 100% 确定要看什么语言;我想我读过这是 Java 但我没有练习所以不是积极的。

条件变量是这样工作的:

变量 x =(表达式)?真值:假值

试试这个: “(@other_person==null)?假:真”

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

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

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

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

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