【问题标题】:IBM Watson Assistant: How can I filter messages for "anything else"?IBM Watson Assistant:我如何过滤“任何其他”的消息?
【发布时间】:2019-04-18 14:21:49
【问题描述】:

在分析 > 用户对话中,我想过滤掉我的 Watson Assistant 在其对话中无法回答的消息,即当它返回 any_else 回复时。

但由于 anything_else 既不是意图也不是实体,因此我无法在 UI 中通过它过滤消息。因此,是否可以通过助手的回复过滤消息,就像您可以使用用户语句一样?这样我就可以过滤掉每次助手回答“我不明白”的时候。

【问题讨论】:

    标签: ibm-cloud ibm-watson watson-assistant


    【解决方案1】:

    IBM Watson Assistant 在其 UI 的分析部分提供日志,恕我直言,功能更强大,通过 REST API with filter expressions。使用该 API,您可以下载所有日志并“离线”过滤或应用一些表达式。我建议阅读有关 how to query the "other" fields 的文档,其中包括用户响应。

    我使用 V1 和 V2 API 编写了Python tools for Watson Assistant。 V1 工具可以下载或查询日志。一种选择是下载所有可用日志,然后使用 jq 过滤它们。

    python wctool.py -logs -config config.json.event -id 28ac4bcb-2aae-41aa-87ac-2e6074e1356a > logs201904.out
    

    这为您提供了有关访问了哪些节点的信息:

    cat logs201904.out | jq -r '.logs | .[]
           | .response.output.nodes_visited   '
    

    过滤访问“任何其他”的日志记录:

    cat logs201904.out | jq -r '.logs | .[] | .response | select( 
        .output.nodes_visited[] | contains("Anything else")) '
    

    【讨论】:

      【解决方案2】:

      anything_else 表示未找到意图,或者置信度

      过滤寻找意图 = [],或第一个意图的置信度低于 20%

      【讨论】:

        猜你喜欢
        • 2019-06-01
        • 2019-07-27
        • 1970-01-01
        • 2019-08-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-10-28
        • 1970-01-01
        相关资源
        最近更新 更多