高级分析和日志相关任务
仅限经典体验
此信息适用于经典体验中的对话技能分析。 有关 watsonx Assistant中的分析的信息,请参阅 使用分析来查看整个助手概览。
了解可用于访问和分析日志数据的笔记本和应用程序接口。
使用 Jupyter Notebook 进行分析
IBM 创建了 Jupyter 笔记本,可用于分析行为或助手。 Jupyter 笔记本是基于 Web 的交互式计算环境。 您可以运行少量代码来处理数据,并可以立即查看计算的结果。
只能使用具有英语技能的笔记本。
分析笔记本
分析笔记本可用于:
- IBM Watson® Studio
- 标准 Python 工具
Watson Studio 提供了可以执行以下操作的环境:
- 选择分析和可视化数据所需的工具。
- 清理和塑造数据。
- 采集流式数据。
- 创建、训练和部署机器学习模型。
有关更多信息,请参阅 产品文档。
watsonx Assistant 持续改进最佳实践指南 介绍了如何充分利用这些笔记本。
将笔记本用于 Watson Studio
提供了以下笔记本:
如果您选择使用Watson Studio笔记本,操作步骤如下:
-
创建Watson Studio,创建一个项目,并添加Cloud Object Storage。
-
从 Watson Studio 社区中,选择笔记本。
在开发过程的早期,使用对话技能分析工具watsonx Assistant 笔记本,帮助您入门。 笔记本:
- 检查训练数据中与每个意图相关的术语,以发现可能表明问题的异常情况,以便您进行研究。
- 使用您提供的盲测集来计算统计指标(如准确性、精确度、召回率和 F1 )的性能。
- 提供高级功能,可用于查找常见问题的根源,例如某些句子为何经常被识别错误。
要了解这款笔记本如何帮助您改善对话,请阅读 对话技巧分析。
-
部署助手版本并收集对话记录数据后,运行 watsonx Assistant 性能笔记本。
-
按照笔记本提供的分步说明,分析日志中对话交流的子集。
首先运行以下笔记本:
- 度量:收集专注于覆盖率(助手有足够信心响应用户的频率)和有效性(助手进行响应时,响应是否能满足用户需求)的度量值。
这些洞察可以通过多种方式进行可视化,这样更容易理解助手中的哪些地方有待改进。
-
从效率低下的交谈中导出日志的样本集,然后对其进行分析和注释。
例如,指示响应是否正确。 如果正确,标记它是否有用。 如果响应不正确,请确定根本原因,例如检测到错误的意向或实体,或者触发了错误的对话节点。 在确定根本原因之后,请指示正确的选择。
-
将带有注释的电子表格导入 watsonx Assistant 有效性笔记本。
- 有效性:对您的日志进行更深入的分析,帮助您了解可以采取哪些措施来改进您的助手。
-
使用 对话流分析 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 中的数据。