Watson Conversation Service 使用 slots with operators
Watson Conversation Service using slots with operators
我在某些情况下使用槽,其中一种情况我需要检查槽是否识别实体或上下文变量。
为此,我将 @myEntity || $MyVar
写入 "Check" 列,并将 $MyVar
写入 "Save it as" 列。
问题是,当 WCS 进入这个插槽时,我的变量 $MyVar
被填充为 ||
作为前缀,导致 || ValueFromMyVar
.
我没有发现任何在插槽上使用变量的限制,也没有发现关于运算符使用的限制'|| &&'。
我可以使用这些运算符作为锁定检查条件吗?
如果没有限制,为什么我会得到错误的值?
示例屏幕:
简短的回答是您上面的方法行不通。插槽不处理条件,因为它试图匹配一个值。
您还在检查一个变量,如果它有一个值,就会将值放回自身。
如果这是您的预期操作,那么您可以使用多个槽重载该变量。例如。
这将获取当前值(如果存在)并将其保留在变量中。否则它将查看是否输入了实体,然后将其分配给变量。
这也适用于意图,但不适用于条件。
免责声明: 这是观察到的行为,但我没有找到相关文档。根据它返回给我的开发情况,这可能是副作用,也可能是功能。
我在某些情况下使用槽,其中一种情况我需要检查槽是否识别实体或上下文变量。
为此,我将 @myEntity || $MyVar
写入 "Check" 列,并将 $MyVar
写入 "Save it as" 列。
问题是,当 WCS 进入这个插槽时,我的变量 $MyVar
被填充为 ||
作为前缀,导致 || ValueFromMyVar
.
我没有发现任何在插槽上使用变量的限制,也没有发现关于运算符使用的限制'|| &&'。
我可以使用这些运算符作为锁定检查条件吗?
如果没有限制,为什么我会得到错误的值?
示例屏幕:
简短的回答是您上面的方法行不通。插槽不处理条件,因为它试图匹配一个值。
您还在检查一个变量,如果它有一个值,就会将值放回自身。
如果这是您的预期操作,那么您可以使用多个槽重载该变量。例如。
这将获取当前值(如果存在)并将其保留在变量中。否则它将查看是否输入了实体,然后将其分配给变量。
这也适用于意图,但不适用于条件。
免责声明: 这是观察到的行为,但我没有找到相关文档。根据它返回给我的开发情况,这可能是副作用,也可能是功能。