IBM Watson Conversation:如何捕获和检索变量中的值列表

时间:2017-07-27 10:12:33

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

我有一个对话框,用户可以在其中输入一个或多个国家/地区名称。 如何从定义的实体中检索值以存储响应。

示例: 实体:国家

  

问题:你去哪儿了?
   答:非洲,泰国和   中国。

如何在列表实体中捕获这3个值?

4 个答案:

答案 0 :(得分:1)

Henrik是对的,只是为了补充一点, 如果你做的话,他所说的会将它们归还给阵列

"countries": "<? entities['sys-location'] .toString() ?>"

您将获得以逗号分隔的已返回位置列表。

答案 1 :(得分:0)

系统实体中的@sys-location实体从对话中提取位置。 (注意:确保您已打开该实体,如下所示)

enter image description here

您现在可以看到该位置已从对话中提取

enter image description here

答案 2 :(得分:0)

您可以使用system entity for locations, @sys-location。您需要为工作区启用该功能。请参阅向导以获取实体创建。

在要在列表中捕获输入的对话框节点中,您可以将这些国家/地区分配到context variable。切换到JSON编辑器以编辑变量。然后做一些事情:

"context": {
    "countries": "<? entities['sys-location'] ?>"
  },

请参阅我的collection of examples for context processing了解相似内容。

答案 3 :(得分:0)

非常简单。使用

"countries": "@sys-location.values"

它将以数组形式列出所有@ sys-location值。