Watson Conversation:检查上下文变量是否存在?

时间:2018-02-05 06:38:08

标签: ibm-cloud ibm-watson chatbot watson-conversation

我在对话节点中使用IBM Watson Conversation service和插槽。在响应中,我想返回用槽收集的上下文变量的值。但是,我无法确定该变量是否存在,因为用户可能已取消输入过程,并且因为该变量是可选的。如何根据检查确定存在并采取行动?

使用此

<? $myVariable ?>

在变量不存在时给出错误。

1 个答案:

答案 0 :(得分:3)

Conversation service uses Spring Expression Language (SpEL)处理其响应中的变量和条件。可以应用特殊检查。我从这个useful collection of use cases

中取了示例
"<? context.myVariable? 'Great. I have the following: '+context.myVariable+'.' : 
'No information present' ?>"

您可以通过context后跟变量名访问上下文变量。问号(?)检查是否存在。在变量存在的情况下采取第一个响应,否则采用第二个响应。冒号(:)分隔两个答案选项。

在上面的示例中,答案是&#34; Great. I have the following: VALUE&#34;或&#34; No information present&#34;。