对话数据以转录(智能回复)和转录加注解数据(总结)的形式接受。您可以选择性地使用 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 存储桶中。
如需创建注释,请将预期 key
和 value
字符串添加到与数据集中的每个对话关联的 annotation
字段中。为获得最佳效果,注解训练数据应遵循以下准则:
- 建议的最小训练注释数量为 1000。强制执行的最小值是 100。
- 训练数据不应包含个人身份信息。
- 注释不应包含任何有关性别、种族或年龄的信息。
- 注释不得使用有害或亵渎性语言。
- 注释不应包含任何无法从相应对话转录中推断出的信息。
- 每条注解最多可包含 3 个部分。您可以自行选择版块名称。
- 注释应使用正确的拼写和语法。
以下示例展示了包含关联注解的对话转写的格式:
{ "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 快速入门中的说明创建存储分区并上传文件。