从 Watson 对话对话框返回所有实体值



我正在一个对话框中使用 Watson Conversation。我想在数组上下文变量中返回一个实体的所有值。

以下作品

{
"context": {
    "toppings_array":["@toppings[0]","@toppings[1]"] works.
    ...
}

我想找到一个通用解决方案,例如

{
"context": {
    "toppings_array":["@toppings"]
    ...
}

上面的示例将toppings_array值设置为实体的第一个元素(例如 @toppings[0](。

感谢。

您可以执行以下操作:

{
"context": {
    "toppings_array": "<? entities['toppings'] ?>"
    ...
}

你最终会得到这样的东西:

[
  {
    "entity": "toppings",
    "location": [
      4,
      13
    ],
    "value": "pepperoni",
    "confidence": 1
  },
  {
    "entity": "toppings",
    "location": [
      14,
      23
    ],
    "value": "sprinkles",
    "confidence": 1
  }
]

只需使用 @ Topping.values 即可。它将在上下文变量中以数组的形式返回所有值。

最新更新