IBM Watson Assistant:如何过滤“其他”消息?

时间:2019-04-18 14:21:49

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

在Google Analytics(分析)>用户对话中,我想过滤出Watson Assistant在对话中无法回答的消息,即当它返回anything_else答复时。

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

2 个答案:

答案 0 :(得分:1)

IBM Watson Assistant在UI的“分析”部分中提供了日志,而IMHO通过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")) '

答案 1 :(得分:1)

anything_else表示未找到意图,或置信度为<0.2。

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