我正在使用Watson Conversation并尝试有条件地设置上下文变量。
在回答我们提出的问题时,有人说"是的,"有人说"不,"有些人说'不,但我的丈夫已经" (或一些类似的变化)。我有实体@other_person,承认"丈夫" (和妻子,朋友等)。
我想要做的是设置一个上下文变量$提及者如果他们提到另一个人则为true,否则设置为false。
到目前为止,我有这个,但它没有工作,我无法弄明白。我还没有找到关于此的好文档,所以我可能会离开。
"context": {
"mentionother": "(@other_person==null ? false : true)"
}
任何人都可以在这里提供一些帮助,并且/或者告诉我在哪里寻找更好的文档吗?我实际上并不是100%确定要查看的语言;我想我已经读到这是Java,但我没有实践,所以不积极。
答案 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的答案,我只是补充了他的答案。