IBM Cloud Docs
高级分析和日志相关任务

高级分析和日志相关任务

仅限经典体验

此信息适用于经典体验中的对话技能分析。 有关 watsonx Assistant中的分析的信息,请参阅 使用分析来查看整个助手概览

了解可用于访问和分析日志数据的笔记本和应用程序接口。

使用 Jupyter Notebook 进行分析

IBM 创建了 Jupyter 笔记本,可用于分析行为或助手。 Jupyter 笔记本是基于 Web 的交互式计算环境。 您可以运行少量代码来处理数据,并可以立即查看计算的结果。

只能使用具有英语技能的笔记本。

分析笔记本

分析笔记本可用于:

  • IBM Watson® Studio
  • 标准 Python 工具

Watson Studio 提供了可以执行以下操作的环境:

  • 选择分析和可视化数据所需的工具。
  • 清理和塑造数据。
  • 采集流式数据。
  • 创建、训练和部署机器学习模型。

有关更多信息,请参阅 产品文档

watsonx Assistant 持续改进最佳实践指南 介绍了如何充分利用这些笔记本。

将笔记本用于 Watson Studio

提供了以下笔记本:

如果您选择使用Watson Studio笔记本,操作步骤如下:

  1. 创建Watson Studio,创建一个项目,并添加Cloud Object Storage。

  2. 从 Watson Studio 社区中,选择笔记本。

    在开发过程的早期,使用对话技能分析工具watsonx Assistant 笔记本,帮助您入门。 笔记本:

    • 检查训练数据中与每个意图相关的术语,以发现可能表明问题的异常情况,以便您进行研究。
    • 使用您提供的盲测集来计算统计指标(如准确性、精确度、召回率和 F1 )的性能。
    • 提供高级功能,可用于查找常见问题的根源,例如某些句子为何经常被识别错误。

    要了解这款笔记本如何帮助您改善对话,请阅读 对话技巧分析

  3. 部署助手版本并收集对话记录数据后,运行 watsonx Assistant 性能笔记本。

  4. 按照笔记本提供的分步说明,分析日志中对话交流的子集。

    首先运行以下笔记本:

    • 度量:收集专注于覆盖率(助手有足够信心响应用户的频率)和有效性(助手进行响应时,响应是否能满足用户需求)的度量值。

    这些洞察可以通过多种方式进行可视化,这样更容易理解助手中的哪些地方有待改进。

  5. 从效率低下的交谈中导出日志的样本集,然后对其进行分析和注释。

    例如,指示响应是否正确。 如果正确,标记它是否有用。 如果响应不正确,请确定根本原因,例如检测到错误的意向或实体,或者触发了错误的对话节点。 在确定根本原因之后,请指示正确的选择。

  6. 将带有注释的电子表格导入 watsonx Assistant 有效性笔记本。

    • 有效性:对您的日志进行更深入的分析,帮助您了解可以采取哪些措施来改进您的助手。
  7. 使用 对话流分析 watsonx Assistant 笔记本查看您的对话。 该笔记本可以帮助您查明客户最常在哪些对话节点放弃交谈。

    有关此笔记本如何帮助您分析和评估放弃情况的更多信息,请参阅 您知道用户放弃对话的位置和原因吗?

此过程可帮助您了解可以执行哪些步骤来改进助手。

将笔记本用于标准 Python 工具

如果选择使用标准 Python 工具来运行笔记本,那么可以从 GitHub 获取笔记本。

watsonx Assistant 持续改进最佳实践指南 概述了在改进过程的每个阶段应该使用哪种笔记本。

使用日志 API

可以使用 /logs API 来列出用户与助手之间的交谈记录中的事件。 对于使用 v2 /message API创建的对话,请使用实例级终端 列出所有工作区中的日志事件,然后按助理ID进行过滤。 有关更多信息,请参阅 过滤器查询参考

API 会记录仅在对话技能定义的对话中交换的消息。

日志存储天数因服务套餐类型而有所不同。 有关更多信息,请参阅日志限制

对于 Python 脚本,您可以运行它导出日志并将其转换为CSV格式,从 watsonx Assistant GitHub 资料库) 下载 export_logs_py.py 文件。

了解术语

首先,查看Watson Assistant 日志相关的术语定义。

术语
术语 定义
助手 一种应用程序——有时被称为“聊天机器人”——用于实现您的 Watson Assistant 内容。
助手标识 助理的唯一标识符。
Conversation 单个用户发送给您的助理以及您的助理发送回的信息。
对话标识 添加到单个消息呼叫中的唯一标识符,用于将相关的消息交换联系在一起。 使用 V1 Watson Assistant 的应用程序开发人员,可通过在上下文对象的元数据中包含ID,将此值添加到对话中的消息调用中。
客户标识 一个唯一的ID,可用于标记客户数据,以便在客户要求删除其数据时将其删除。
部署标识 Watson Assistant API V1 版本的应用程序开发者与每条用户消息一起传递的唯一标签,用于帮助识别生成该消息的部署环境。
实例 您正在使用 Watson Assistant,凭唯一凭证登录。 一个 Watson Assistant 实例可能包含多个助手。
消息 一条消息是用户向助手发送的单个话语。
技能标识 技能的独有标识符。
用户 用户是与助手进行交互的任何人。
用户标识 一个独特的标签,用于跟踪特定用户的服务使用水平。

用户ID属性 与客户ID属性并不等同,但两者都可以随消息传递。 用户标识 字段用于跟踪用于计费的使用级别。 客户标识 字段用于支持对与用户关联的消息进行标记和后续删除。 客户标识在所有 Watson 服务中以一致的方式使用,并在 X-Watson-Metadata 头中进行指定。 用户ID仅供 Watson Assistant使用,并在每次 /message API调用的上下文对象中传递。

将消息数据与用户关联以进行删除

在某些情况下,您可能希望Watson Assistant完全删除一组用户数据。 使用删除功能时,“概述”度量值不包含那些已删除的消息,导致“对话总数”减少。

准备工作

要删除一个或多个个人的消息,首先需要将消息与每个人的唯一客户标识相关联。 若要通过 /message API发送任何消息,请指定客户ID,并在标题中包含 X-Watson-Metadata: customer_id 属性。 您可以使用 customer_id,通过多个以分号分隔的 field=value 对传递多个客户ID,如下例所示:

curl -X POST -u "apikey:3Df... ...Y7Pc9" \
 --header \
   "Content-Type: application/json" \
   "X-Watson-Metadata: customer_id={first-customer-ID};customer_id={second-customer-ID}" \
 --data "{\"input\":{\"text\":\"hello\"}}" \
 "{url}/v2/assistants/{assistant_id}/sessions/{session_id}/message?version=2019-02-28"

其中,{url} 是实例的相应 URL。 有关更多信息,请参阅 端点 URL

customer_id 字符串不能包含分号 (;) 或等号 (=) 字符。 确保每个Customer ID参数在您的客户中唯一是您的责任。

有关如何删除使用 customer_id 值的消息的指示信息,请参阅 标记和删除 watsonx Assistant 中的数据。