0

例如“给我看一张埃菲尔铁塔的图片”......所以我希望将埃菲尔铁塔存储在变量中。那就是我想要存储“of”之后的任何单词。这个怎么做?. 提前致谢。

4

2 回答 2

1

执行此操作的简单方法是创建一个包含 Eiffel Tower 等值的实体。然后您可以将其存储在任何上下文变量中。

{
  "context": {
    "xyz":"@Place"
  },
  "output": {}
}

这里 Place 是您的实体。您可以在任何地方使用您的上下文变量。

于 2018-02-21T11:02:51.330 回答
0

您可以使用正则表达式从用户输入中捕获实体值。要捕获of之后的一两个词,of ([a-z]+\s*[a-z]+)请用作正则表达式。正则表达式在 WCS 中称为模式。以下是定义的外观:

使用正则表达式进行实体识别

然后使用以下命令将用户所说的内容保存到上下文变量中:

{
  "context": {
    "thing": "<? @thing.groups[1] ?>"
  }
}

要对其进行测试,您可以在答案中使用上下文变量,例如:

{
  "output": {
    "text": {
      "values": [
        "Getting a picture of $thing"
      ]
    }
  }
}

可以在以下位置找到更多信息:https ://console.bluemix.net/docs/services/conversation/entities.html#defining-entities

于 2018-02-26T16:36:41.383 回答