培训

您的代理经过训练后,Dialogflow 会使用您的训练数据专门该代理构建机器学习模型。此训练数据主要由意图、意图训练短语和代理中引用的实体组成;实际上可将其用作机器学习数据标签。但是,代理模型是使用参数提示响应、代理设置以及与代理关联的许多其他数据构建的。

每次更改代理时,都应确保代理经过训练,然后再尝试使用。训练可能会自动或手动执行,具体取决于您的代理设置。

您还可以使用训练工具来分析、导入和导出实际对话数据,以及改进训练数据。

草稿代理自动训练

默认情况下,每次通过控制台更新并保存代理时,系统将自动为草稿代理执行代理训练。弹出式对话框将显示此训练的状态。

但是,使用 API 更新代理不会触发自动训练。

草稿代理手动训练

您可以更新代理机器学习设置,以停用草稿代理的自动训练。

如果您的代理具有 780 个以上的意图,或者您已停用自动训练设置,则必须手动执行训练:

要从控制台手动训练代理,请点击机器学习设置中的训练按钮。

如需使用 API 手动训练代理,请对代理类型调用 train 方法。

代理版本自动训练

每当创建新的代理版本时,系统都会自动训练新的代理版本。

如需通过控制台创建新的代理版本,请点击“环境”标签页中的发布版本按钮。

如需使用 API 创建新的代理版本,请调用版本类型create 方法以创建新的代理版本。

训练工具

训练工具用于查看代理与最终用户进行的对话,以及改进您的训练数据。使用此工具,您可以执行以下操作:

  • 查看实际对话以及为每轮对话匹配的意图。
  • 将这些对话中的最终用户表述添加到最初匹配的意图、不同的意图或后备意图的训练短语中。
  • 导入您通过实际对话准备或捕获的对话数据。

该工具使用代理历史记录数据来加载对话,因此必须启用日志记录才能使用该工具。训练工具仅显示最终用户表述。如需查看代理和最终用户对话数据,请参阅更完整的代理历史记录。

如需打开训练工具,请执行以下操作:

  1. 转到 Dialogflow ES 控制台
  2. 在左侧边栏菜单顶部附近选择您的代理。
  3. 点击左侧边栏菜单中的训练

对话列表

当您打开该工具时,它会显示对话列表。这是按时间倒序排列的近期对话列表。该列表中的每行都提供了对话摘要。 下表介绍了每个界面元素:

界面元素 说明
对话 对话中的第一句最终用户表述。
日期 对话发生或导入的日期。
将某一对话用于更新训练数据(如下所述)时,该行的状态指示器会显示一个绿色对勾标记。

训练视图

点击对话列表中的某行后,系统会在训练视图中打开相应对话。训练视图会显示对话回合列表,并提供用于将这些数据添加到训练数据中的控制措施。

在修改显示的数据或点击右侧的任务按钮时,您将创建排队等待保存的训练数据更新任务。完成任务创建后,点击批准按钮,以执行所有加入队列的任务并更新代理的模型。

训练视图屏幕截图

下表介绍了每个界面元素:

界面元素 说明
日期 对话发生或导入的日期。
请求数 会话的行数。
无匹配 没有意图匹配的行数。
用户表述 行的最终用户表述。
意图 对话发生时与此行匹配的意图。您可以点击链接,将关联的意图更改为新的或现有的意图。
将任务加入队列,以将行的最终用户表述作为训练短语添加到当前选定的意图中。当任务加入队列时,图标会变为绿色。
将任务加入队列,以将行的最终用户表述作为训练短语添加到默认后备意图中。这将创建一个反例。当任务加入队列时,图标会变为橙色。
将任务加入队列,以删除行。当任务加入队列时,图标会变为红色。
批准 针对所有行执行已加入队列的任务。

注释

在训练视图中查看对话时,最终用户表述会将匹配的实体显示为突出显示的注释。如需添加或修改注释,请执行以下操作:

  1. 点击相应注释或选择要添加注释的字词。
  2. 从菜单中选择现有实体。

注释屏幕截图

导入对话

您可以将已准备或捕获的对话数据文件导入训练工具。导入对话可用于改进现有代理。如需上传会话,请点击页面顶部的上传按钮。然后,您可以分析此数据以添加到训练数据中(如上所述)。

下面介绍了文件内容格式、其限制和结果:

  • 每个上传的文件都会在训练工具中生成一个对话。
  • 请求不会发送到检测意图 API,因此不会激活任何上下文,也不会匹配任何意图。
  • 单个文本文件或 zip 归档文件(最多可包含 10 个文本文件)。
  • 一次上传大小不得超过 3 MB。
  • 这些文件应仅包含以换行符分隔的最终用户表述。
  • 理想情况下,文件应仅包含可用作训练短语的数据。
  • 最终用户表述的顺序并不重要。

下面是一个示例文件:

I want information about my account.
What is my checking account balance?
How do I transfer money to my savings account?

限制

训练工具仅在 global 区域可用。

最佳做法

在开发的各个阶段都使用训练工具

在代理开发的各个阶段都使用训练工具,并在每个阶段优化训练数据:

  • 在将代理发布到生产环境之前,先向一小部分用户进行测试。
  • 在将代理发布到生产环境后不久,检查实际对话是否按预期运行。
  • 每当对代理进行重大更改时,请检查新更改是否按预期运行。
  • 定期针对生产环境中的代理运行该工具,以执行常规分析。

导入质量数据

以下内容通常可以作为有用的数据来源:

  • 客户与客服人员的对话日志。
  • 在线客户服务对话(电子邮件、论坛、常见问题解答)。
  • 客户在社交媒体上咨询的问题。

您应该避免以下类型的数据:

  • 较长形式的非对话型最终用户表述。
  • 与代理中的任何意图无关的最终用户表述。
  • 非最终用户话语的日志(例如,客服人员的回复)。