上传对话数据

对话数据以转录(智能回复)和转录加注解数据(总结)的形式接受。为了在运行时使用智能回复和总结功能,您必须提供自己的对话数据。

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

智能回复数据格式

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

总结数据格式

总结功能可以与任何 Agent Assist 功能搭配使用,也可以单独使用。如需实现总结功能,您必须向 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 快速入门中的说明创建存储分区并上传文件。