上传对话数据

对话数据以转录(智能回复)和转录加注解数据(总结)的形式接受。您可以选择性地使用 Agent Assist 提供的对话数据和演示模型来测试功能或集成,而无需提供您自己的数据。为了在运行时使用智能回复和总结功能,您必须提供自己的对话数据。

本页面将指导您完成使用公开数据集以及设置数据格式以上传到 Cloud Storage 所需的步骤。您必须以 JSON 格式的文本文件形式提供对话数据。

智能回复数据格式

智能回复可以与任何 Agent Assist 功能搭配使用,也可以作为独立功能使用。如需实现智能回复,您必须向 Agent Assist 提供对话数据。

Agent Assist 提供了可用于训练模型的示例对话数据,以及演示模型和许可名单。您可以使用这些资源来创建对话配置文件并测试功能,而无需提供自己的数据。如果您提供自己的数据,则必须采用指定格式

使用智能回复示例对话数据

示例对话数据集派生自外部来源,并存储在 Google Cloud Storage 存储桶中。数据包含涉及六个领域的面向任务的对话:“预订”“餐厅”“酒店”“景点”“出租车”和“火车”。如需使用此数据集训练您自己的模型,请按照相关步骤使用 Agent Assist 控制台创建对话数据集。在对话数据字段中,输入 gs://smart_messaging_integration_test_data/*.json 以使用测试数据集。如果您要直接调用 API 而不是使用控制台,则可以通过将 API 指向上述 Cloud Storage 存储桶来创建对话数据集。

使用演示智能回复模型和许可名单

如需使用控制台测试演示智能回复模型和许可名单(无需数据集),请前往 Agent Assist 控制台,然后点击“智能回复”功能下的开始按钮。 控制台教程提供了使用您自己的数据、提供的数据或演示模型的选项。

如果您直接调用 API 而不是使用控制台,则可以在以下位置找到模型和许可名单:

  • 模型:projects/ccai-shared-external/conversationModels/c671dd72c5e4656f
  • 许可名单:projects/ccai-shared-external/knowledgeBases/smart_messaging_kb/documents/NzU1MDYzOTkxNzU0MjQwODE5Mg

如需测试功能,我们建议您首先使用以下最终用户消息来触发响应:

  • “您能找到一个位于东部比较贵的住宿地点吗?”
  • “我正在寻找一家比较贵的餐厅,供应泰国食物。”
  • “您好,我需要一家酒店,在剑桥以北,可提供免费 Wi-Fi。”

总结数据格式

总结功能可以与任何 Agent Assist 功能结合使用,也可以作为独立功能使用。如需实现总结功能,您必须向 Agent Assist 提供包含注释的对话数据。注解是关联的对话转写内容的摘要。注释用于训练模型,您可以使用该模型在每次与最终用户对话结束后为代理生成摘要。

使用示例总结对话数据和演示模型

Agent Assist 还提供带注释的对话数据样本,可用于训练模型。如果您想在格式化自己的数据集之前测试总结功能,建议您选择此选项。测试数据集位于以下 Cloud Storage 存储桶中:gs://summarization_integration_test_data/data。如果您使用示例数据,则可以使用控制台API 训练总结模型。在数据集 URI 字段中输入 gs://summarization_integration_test_data/data/* 以使用示例数据集。

如需测试演示版总结模型(无需数据集),请前往 Agent Assist 控制台,然后点击“总结”功能下的开始按钮。控制台教程提供了使用您自己的数据、提供的数据或演示模型的选项。

设置注释格式

Agent Assist 总结自定义模型使用对话数据集进行训练。对话数据集包含您自己上传的转录和注解数据。

在开始上传数据之前,您必须确保每个对话转录内容都采用 JSON 格式,具有关联的注解,并且存储在 Google Cloud Storage 存储桶中。

如需创建注释,请将预期 keyvalue 字符串添加到与数据集中的每个对话关联的 annotation 字段中。为获得最佳效果,注解训练数据应遵循以下准则:

  1. 建议的最小训练注释数量为 1000。强制执行的最小值是 100。
  2. 训练数据不应包含个人身份信息。
  3. 注释不应包含任何有关性别、种族或年龄的信息。
  4. 注释不得使用有害或亵渎性语言。
  5. 注释不应包含任何无法从相应对话转录中推断出的信息。
  6. 每条注解最多可包含 3 个部分。您可以自行选择版块名称。
  7. 注释应使用正确的拼写和语法。

以下示例展示了包含关联注解的对话转写的格式:

{
  "entries": [
    {
      "text": "How can I help?",
      "role": "AGENT"
    },
    {
      "text": "I cannot login",
      "role": "CUSTOMER"
    },
    {
      "text": "Ok, let me confirm. Are you experiencing issues accessing your account",
      "role": "AGENT"
    },
    {
      "text": "Yes",
      "role": "CUSTOMER"
    },
    {
      "text": "Got it. Do you still have access to the registered email for the account",
      "role": "AGENT"
    },
    {
      "text": "Yes",
      "role": "AGENT"
    },
    {
      "text": "I have sent an email with reset steps. You can follow the instructions in the email to reset your login password",
      "role": "AGENT"
    },
    {
      "text": "That's nice",
      "role": "CUSTOMER"
    },
    {
      "text": "Is there anything else I can help",
      "role": "AGENT"
    },
    {
      "text": "No that's all",
      "role": "CUSTOMER"
    },
    {
      "text": "Thanks for calling. You have a nice day",
      "role": "AGENT"
    }
  ],
  "conversation_info": {
    "annotations": [
      {
        "annotation": {
          "conversation_summarization_suggestion": {
            "text_sections": [
              {
                "key": "Situation",
                "value": "Customer was unable to login to account"
              },
              {
                "key": "Action",
                "value": "Agent sent an email with password reset instructions"
              },
              {
                "key": "Outcome",
                "value": "Problem was resolved"
              }
            ]
          }
        }
      }
    ]
  }
}

对话转录数据

文本会话数据必须以 JSON 格式文件提供,其中每个文件包含单个对话的数据。下文介绍了必需的 JSON 格式。

对话

对话数据的顶级对象。

字段 类型 说明
conversation_info ConversationInfo { } 可选。对话的元数据。
entries Entry [ ] 必需。按时间顺序排序的对话消息。

ConversationInfo

对话的元数据。

字段 类型 说明
类别 Category [ ] 可选。对话数据的自定义类别。

类别

对话数据类别。如果您提供包含对话数据的类别,则这些类别将用于标识对话中的主题。如果您没有提供类别,系统将根据内容自动对对话进行分类。

字段 类型 说明
display_name 字符串 必需。类别的显示名。

条目

单个对话消息的数据。

字段 类型 说明
text 字符串 必需。此对话消息的文本。 所有文本都应大写。如果文本中的所有字母均为大写或小写,则模型质量可能会受到显著影响。如果此字段留空,将返回错误。
user_id 整数 可选。标识对话参与者的数字。每个参与者应该有一个 user_id,并在他们参与多个对话时重复使用。
角色 字符串 必需。对话参与者角色。“AGENT”或“CUSTOMER”之一。
start_timestamp_usec 整数 如果对话仅用于常见问题解答辅助、文章建议和总结,则为可选;否则为必需。此轮对话开始时的时间戳(以微秒为单位)。

示例

以下示例展示了对话数据文件。

{
  "conversation_info":{
    "categories":[
      {
        "display_name":"Category 1"
      }
    ]
  },
  "entries": [
    {
      "start_timestamp_usec": 1000000,
      "text": "Hello, I'm calling in regards to ...",
      "role": "CUSTOMER",
      "user_id": 1
    },
    {
      "start_timestamp_usec": 5000000,
      "text": "Yes, I can answer your question ...",
      "role": "AGENT",
      "user_id": 2
    },
    ...
  ]
}

将对话上传到 Cloud Storage

您必须在 Google Cloud Platform 项目包含的 Cloud Storage 存储桶中提供对话数据。创建存储桶时,请注意以下几点:

  • 务必选择用于 Dialogflow 的 Google Cloud Platform 项目。
  • 使用 Standard 存储类别
  • 存储分区位置设置为离您最近的位置。您在提供对话数据时需要使用位置 ID(例如 us-west1),因此请记下您的选择。
  • 在提供对话数据时,您还需要使用存储桶名称。

按照 Cloud Storage 快速入门中的说明创建存储分区并上传文件。