我正在尝试 IBM Watson Conversations 中的插槽功能,但遇到了一个我不知道如何解决的问题。
我有一个从用户那里收集大量信息的用例,因此使用 Slots 功能是有意义的。不幸的是,当我添加带有 @sys-number 的 Slot 时,系统不会接受 0 作为有效输入。这个插槽实际上是必需的,但 0 是一个有效值。
任何人都知道如何拥有接受 0 作为值的 @sys-number 类型的必需插槽?
最佳答案
条件@sys-number
实际上是条件 entities['sys-number'].value
的简写语法.当0
发送条件评估为 false
如 0
被视为 false
由 Watson Conversation Service 中的表达式语言评估器提供。现在,在这种情况下,这不是理想的行为。为了防止这种情况发生,可以使用 entities['sys-number']
在将返回 true
的条件下每次@sys-number
实体在输入中被识别。
在插槽中使用它时,可能希望编辑存储在上下文变量中的内容,因为更改条件也会更改存储在变量中的内容。这可以通过 JSON 编辑器完成 - 单击插槽规范旁边的配置插槽齿轮,然后在打开的窗口中单击三个点,打开 JSON 编辑器,然后更改实际存储在由插槽更新的上下文变量中的内容。
这是指向 system entity section in Watson Conversation Service documentation 的链接.
关于ibm-watson - IBM Watson Slots 不接受 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45302644/