【问题标题】:Watson Assistant: Problem with extracting value for pattern entityWatson Assistant:提取模式实体值的问题
【发布时间】:2019-05-28 08:08:27
【问题描述】:

我正在尝试从 Watson Assistant 的 json 响应中获取模式实体的第一个组匹配的值。该模式是一个简单的正则表达式来识别数字序列:([0-9]+)

json 响应如下所示:

    "entity": "ID",
    "location": [
      18,
      23
    ],
    "value": "id",
    "confidence": 1.0,
    "groups": [
      {
        "group": "group_0",
        "location": [
          18,
          23
        ]
      }
    ]
  },
  {
    "entity": "sys-number",
    "location": [
      18,
      23
    ],
    "value": "12345",
    "confidence": 1.0,
    "metadata": {
      "numeric_value": 12345.0
    }
  }
]

因此,组匹配正常,但字段“值”填充了实体配置中的字符串文字。我希望在那里找到实际值(这是下一个实体的值字段,sys-number)。

我需要如何更改配置,以便将值按原样包含在值字段(或其他位置)中,这样我就不必使用位置值从文本字符串中提取实体?有可能吗? 非常感谢

干杯, 马丁

【问题讨论】:

  • 你在哪里执行正则表达式?为什么不使用 JSON 路径表达式?
  • 正则表达式是您在 Watson 助手设置中配置实体模式的方式。我并不是说我使用 Regex 来解析 Json。

标签: regex ibm-cloud entity watson-assistant


【解决方案1】:

要访问基于模式的实体的值,您可以使用 <? @entity_name.literal ?><? @entity_name.groups[0] ?> - 如果捕获的组更多。您可以在文档中找到更多信息:https://cloud.ibm.com/docs/services/assistant?topic=assistant-entities

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-08-24
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多