

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 增强数据标注
<a name="sms-data-labeling"></a>

Amazon G SageMaker round Truth 管理将您的数据对象发送给工作人员进行标记。标注每个数据对象的过程都是一个*任务*。工作人员完成每项任务，直到整个标注作业完成。Ground Truth 将任务总数分成较小的*批次*，然后发送给工作人员。前一批次完成后，向工作人员发送新批次的作业。

Ground Truth 提供两种功能来促进提高数据标签的准确率并减少标注数据的总成本：
+ *注释合并*有助于提高数据对象标签的准确率。该功能将多个工作人员的注释任务结果合并为一个高保真标签。
+ *自动数据标注*使用机器学习来自动标注数据的组成部分，而无需将其发送给工作人员。

**Topics**
+ [控制发送给工作人员的数据对象流](sms-batching.md)
+ [注释整合](sms-annotation-consolidation.md)
+ [自动数据标注](sms-automated-labeling.md)
+ [链接标记作业](sms-reusing-data.md)

# 控制发送给工作人员的数据对象流
<a name="sms-batching"></a>

根据您创建的标签作业的类型，Amazon G SageMaker round Truth 会分批或以流式传输方式向工作人员发送数据对象。您可以通过以下方式控制数据对象向工作人员的流动：
+ 对于这两种类型的标注作业，您都可以使用 `MaxConcurrentTaskCount` 以控制标注作业运行的给定时间点所有工作人员可用的数据对象的总数。
+ 对于流式标注作业，您可以通过监控发送到与标注作业相关联的 Amazon SQS 的数据对象数量，来控制流向工作人员的数据对象流。

可通过以下部分了解有关这些选项的更多信息。

**Topics**
+ [MaxConcurrentTaskCount 用于控制数据对象的流动](#sms-batching-maxconcurrenttaskcount)
+ [使用 Amazon SQS 控制流式标注作业的数据对象流](#sms-batching-streaming-sqs)

## MaxConcurrentTaskCount 用于控制数据对象的流动
<a name="sms-batching-maxconcurrenttaskcount"></a>

[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount) 定义了工作门户网站任务队列中一次可用的最大数据对象数。如果使用控制台，则此参数设置为 1000。如果使用 `CreateLabelingJob`，则可以将此参数设置为介于 1 和 5000 之间的任意整数（包括 1 和 5000）。

使用以下示例可以更好地了解清单文件中的条目数量，`NumberOfHumanWorkersPerDataObject` 和 `MaxConcurrentTaskCount` 定义工作人员在工作门户用户界面的任务队列中看到的任务。

1. 输入清单文件中有 600 个条目。

1. 对于输入清单文件中的每个条目，您可以使用 `NumberOfHumanWorkersPerDataObject` 来定义为输入清单文件中的条目添加标签的工作人员数量。在此示例中，您将 `NumberOfHumanWorkersPerDataObject` 设置为等于 3。这将为输入清单文件中的每个条目创建 3 个不同的任务。此外，至少要有 3 名不同的工作人员标注对象，才能被标记为成功标注。这样，工作人员总共要完成 1800 个任务（600 x 3）。

1. 您希望工作人员在工作人员门户用户界面的队列中一次只能看到 100 个任务。为此，您需要将 `MaxConcurrentTaskCount` 设置为等于 100。然后，Ground Truth 将在工作人员门户任务队列中填满每位工作人员 100 个任务。

1. 接下来会发生什么取决于您创建的标注作业类型，以及是否是流式标注作业。
   + **流式标注作业**：只要工作人员可用的对象总数等于 `MaxConcurrentTaskCount`，输入清单文件中的所有剩余数据集对象以及使用 Amazon SNS 实时发送的数据集对象都会置于 Amazon SQS 队列中。当工作人员可用的对象总数低于 `MaxConcurrentTaskCount` 减去 `NumberOfHumanWorkersPerDataObject` 时，则使用队列中的新数据对象来创建 `NumberOfHumanWorkersPerDataObject` 个任务，并实时发送给工作人员。
   + **非流式标注作业**：当工作人员完成一组对象的标注时，将向工作人员发送多达 `MaxConcurrentTaskCount` 乘以 `NumberOfHumanWorkersPerDataObject` 数量的新任务。重复此过程，直到输入清单文件中的所有数据对象都被标注为止。

## 使用 Amazon SQS 控制流式标注作业的数据对象流
<a name="sms-batching-streaming-sqs"></a>

创建流式标注作业时，您的账户中会自动创建一个 Amazon SQS 队列。仅当发送给工作人员的对象总数超过 `MaxConcurrentTaskCount` 时，数据对象才会添加到 Amazon SQS 队列。否则，对象将直接发送给工作人员。

您可以使用此队列来管理标注作业的数据对象流。要了解更多信息，请参阅[使用 Amazon SQS 队列管理标注请求](sms-streaming-how-it-works-sqs.md)。

# 注释整合
<a name="sms-annotation-consolidation"></a>

一个*注释*是单个工作人员的标注任务的结果。*注释合并*将两个或更多工作人员的注释合并到数据对象的单个标签中。分配给数据集中每个对象的标签是对标签的真实情况的概率估计。数据集中的每个对象通常具有多个注释，但只有一个或一组标签。

您可以决定数据集中的每个对象应该由多少个工作人员进行注释。工作人员越多，越可以提高标签的准确性，但也会增加标注的成本。要了解有关 Ground Truth 定价的更多信息，请参阅[亚马逊 G SageMaker round Truth 定价](https://aws.amazon.com/sagemaker/groundtruth/pricing/)。

如果您使用 Amazon SageMaker AI 控制台创建标签任务，则以下是可以为对象添加注释的工作人员数量的默认值：
+ 文本分类 – 3 个工作人员
+ 图像分类 – 3 个工作人员
+ 边界框 – 5 个工作人员
+ 语义分割 – 3 个工作人员
+ 指定实体识别 – 3 个工作人员

当您使用 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 操作时，使用 `NumberOfHumanWorkersPerDataObject` 参数设置对每个数据对象进行注释的工作人员数量。您可以使用控制台或 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 操作来覆盖对数据对象进行注释的默认工作人员数量。

Ground Truth 为其每个预定义标注任务提供一个注释合并函数：边界框、图像分类、名称实体识别、语义分割和文本分类。这些函数如下所示：
+ 图像和文本分类的多类注释合并对注释使用[期望最大化](https://en.wikipedia.org/wiki/Expectation-maximization_algorithm)方法的变体。它估计每个工作人员的参数，并使用贝叶斯推理方法，根据每个工作人员的类注释来估计真实类。
+ 边界框注释可合并来自多个工作人员的边界框。该函数根据边界框的 [Jaccard 指数](https://en.wikipedia.org/wiki/Jaccard_index)（或交并比）查找来自不同工作人员的最相似的边界框，并计算它们的平均值。
+ 语义分割注释合并将单个图像中的每个像素视为一个多类分类。该函数将来自工作人员的像素注释视为“投票”，并将平滑函数应用于图像以包含来自周围像素的更多信息。
+ 指定实体识别按照 Jaccard 相似度聚类文本选择，并根据模式计算选择边界；如果模式不明确，则计算中值。标签解析为聚类中具有最多分配的实体标签，通过随机选择来中断绑定。

您可以使用其他算法来合并注释。有关信息，请参阅[创建注释整合功能](consolidation-lambda.md)。

# 创建注释整合功能
<a name="consolidation-lambda"></a>

您可以选择使用自己的注释合并函数来确定标注对象的最终标签。编写函数有很多可能的方法，您采用的方法取决于要合并的注释的性质。广义地说，注释函数查看来自工作人员的注释，衡量它们之间的相似性，然后使用某种形式的概率判断来确定最可能的标签应该是怎样的。

如果要使用其他算法创建注释合并函数，可以在任务输出所指向的 Amazon S3 存储桶的 `[project-name]/annotations/worker-response` 文件夹中找到工作人员响应。

## 评测相似性
<a name="consolidation-assessing"></a>

要评估标签之间的相似性，您可以使用下列策略之一，也可以使用满足您的数据标注需要的策略：
+ 对于由离散、互斥的类别（如多类分类）组成的标签空间，评估相似性的过程可能很简单。离散标签要么匹配，要么不匹配。
+ 对于没有离散值的标签空间（例如，边界框注释），请查找广泛的相似性度量。对于边界框，一个此类度量是 Jaccard 指数。此指数衡量两个框的交并比以评估它们的相似程度。例如，如果具有三个注释，则可以使用一个函数确定哪些注释表示同一对象并且应进行合并。

## 评测最可能的标签
<a name="consolidation-probable-label"></a>

考虑到上述策略之一，对合并的标签表示的内容做出某种概率判断。对于离散、互斥的类别，这一过程可能很简单。最常用的一种实现方法是采用注释之间的大多数投票结果。这种方法将各个注释的权重视为相同。

一些方法尝试评估不同的注释者的准确率，并按照正确性概率比例对其注释进行加权。一个此类示例是期望最大化方法，将在多类注释的默认 Ground Truth 合并函数中使用该方法。

有关创建注释合并函数的更多信息，请参阅[使用自定义标签工作流程处理数据 AWS Lambda](sms-custom-templates-step3.md)。

# 自动数据标注
<a name="sms-automated-labeling"></a>

如果您愿意，Amazon G SageMaker round Truth 可以使用主动学习来自动标记某些内置任务类型的输入数据。*主动学习*是一种机器学习技术，可识别应由您的工作人员标注的数据。在 Ground Truth 中，此功能称为自动数据标注。自动数据标注与只用人工相比，有助于减少标注数据集所需的成本和时间。使用自动标签时，会产生 SageMaker 培训和推理成本。

我们建议在大型数据集上使用自动数据标注，因为主动学习所使用的神经网络需要为每个新数据集提供大量数据。通常情况下，当您提供的数据越多，高精度预测的可能性就越大。只有当自动标注模型中使用的神经网络能够达到可接受的高精度时，才会对数据进行自动标注。因此，对于较大的数据集，能自动标注数据的可能性更大，因为神经网络可以达到足够高的自动标注准确性。自动数据标注最适合有数千个数据对象的情况。自动数据标注允许的最小对象数量为 1250，但我们强烈建议至少提供 5000 个对象。

自动数据标注仅适用于以下 Ground Truth 内置任务类型：
+ [创建映像分类作业（单一标签）](sms-image-classification.md)
+ [利用语义分割识别映像内容](sms-semantic-segmentation.md)
+ 对象检测 ([使用边界框对映像对象进行分类](sms-bounding-box.md))
+ [通过文本分类（单标签）对文本进行分类](sms-text-classification.md)

[流式标注作业](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-streaming-labeling-job.html)不支持自动数据标注。

要了解如何使用自己的模型创建自定义主动学习工作流，请参阅[使用自己的模型设置主动学习工作流](#samurai-automated-labeling-byom)。

输入数据限额适用于自动数据标注作业。请参阅[输入数据限额](input-data-limits.md)，了解有关数据集大小、输入数据大小和分辨率限制的信息。

**注意**  
在生产环境中使用自动标注模型之前，需要对该模型进行优化和/或测试。您可以针对由标注作业生成的数据集来优化模型（或创建并优化您选择的另一个监管式模型），以优化模型的架构和超参数。如果您决定使用该模型进行推理而不进行优化，我们强烈建议您确保在使用 Ground Truth 标注的数据集的代表性子集（例如，随机选择的子集）上评估其准确率，且准确率与您的期望目标匹配。

## 工作原理
<a name="sms-automated-labeling-how-it-works"></a>

创建标注作业时，您可以启用自动数据标注。以下是具体工作方式：

1. Ground Truth 启动自动数据标注作业时，会随机选择输入数据对象的样本，并将其发送给工作人员。如果这些数据对象中有 10% 以上失败，则标注作业将失败。如果标注作业失败，除了查看 Ground Truth 返回的任何错误消息之外，还要检查您的输入数据是否在工作人员用户界面中正确显示、说明是否明确，以及您为工作人员提供了足够的时间来完成任务。

1. 标注的数据返回后，将用于创建训练集和验证集。Ground Truth 使用这些数据集来训练和验证用于自动标注的模型。

1. Ground Truth 运行批量转换作业，同时使用验证的模型对验证数据进行推理。批量推理为验证数据中的每个对象生成置信度得分和质量指标。

1. 自动标注组件将使用这些质量指标和置信度得分来创建*置信度得分阈值*，以确保标注质量。

1. Ground Truth 对数据集中未标注的数据运行批量转换作业，同时使用相同的已验证模型进行推理。这将为每个对象生成置信度得分。

1. Ground Truth 自动标注组件确定在步骤 5 中为每个对象生成的置信度得分是否满足在步骤 4 中确定的所需阈值。如果置信度得分满足阈值，则自动标注的预期质量超过要求的准确性水平，该对象将被视为自动标注。

1. 步骤 6 生成具有置信度得分的未标注数据集。Ground Truth 从此数据集中选择置信度得分较低的数据点并将其发送给工作人员。

1. Ground Truth 使用现有的人工标注数据和来自工作人员的额外标注数据来更新模型。

1. 该过程将重复执行，直到数据集完全标注或满足另一个停止条件。例如，如果达到人工注释预算，自动标注将停止。

前面的步骤会反复进行。选择下表中的每个选项卡，查看对象检测自动标注作业每次迭代过程的示例。这些图像中给定步骤中使用的数据对象的数量（例如 200）特定于此示例。如果需要标注的对象少于 5000 个，则验证集的大小为整个数据集的 20%。如果输入数据集中有超过 5000 个对象，则验证集的大小为整个数据集的 10%。在使用 API 操作 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) 时，您可以通过更改 [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_HumanTaskConfig.html#sagemaker-Type-HumanTaskConfig-MaxConcurrentTaskCount) 的值来控制每次主动学习迭代收集的人工标签数量。使用控制台创建标注作业时，此值设置为 1000。在**主动学习**选项卡下的主动学习流程中，此值设置为 200。

------
#### [ Model Training ]

![\[模型训练过程的示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/sms/auto-labeling/sagemaker-gt-annotate-data-3.png)


------
#### [ Automated Labeling ]

![\[自动标注过程的示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/sms/auto-labeling/sagemaker-gt-annotate-data-4.png)


------
#### [ Active Learning ]

![\[主动学习过程的示例。\]](http://docs.aws.amazon.com/zh_cn/sagemaker/latest/dg/images/sms/auto-labeling/sagemaker-gt-annotate-data-5.png)


------

### 自动标注的准确性
<a name="sms-automated-labeling-accuracy"></a>

*准确性*的定义取决于自动标注使用的内置任务类型。对于所有任务类型，这些准确性要求由 Ground Truth 预先确定，不能手动配置。
+ 对于图像分类和文本分类，Ground Truth 使用逻辑来找到至少对应于 95% 标注准确率的标注预测置信度。这意味着，与人工标注者为这些示例提供的标注相比，Ground Truth 期望自动标注的准确率至少达到 95%。
+ 对于边界框，自动标注图像的预期平均[交并比 (IoU)](https://www.pyimagesearch.com/2016/11/07/intersection-over-union-iou-for-object-detection/) 为 0.6。为了找到平均 IoU，Ground Truth 计算每个类图像上所有预测边界框和缺失边界框的平均 IoU，然后在各个类之间取这些值的平均值。
+ 对于语义分割，自动标注图像的预期平均 IoU 为 0.7。为了找到平均 IoU，Ground Truth 取图像中所有类（不包括背景）的 IoU 值的平均值。

在主动学习的每一次迭代（上表列出的步骤 3-6）中，都会使用人工标注的验证集来找到置信度阈值，从而使自动标注对象的预期准确性满足某些预定义的准确性要求。

## 创建自动数据标注作业（管理控制台）
<a name="sms-create-automated-labeling-console"></a>

要在 A SageMaker I 控制台中创建使用自动标签的标签任务，请按以下步骤操作。

**创建自动数据标注作业（控制台）**

1. 打开 SageMaker 人工智能控制台的 Ground Truth **标签作业**部分:[https://console.aws.amazon.com/sagemaker/groundtruth](https://console.aws.amazon.com/sagemaker/groundtruth).

1. 使用[创建标注作业（控制台）](sms-create-labeling-job-console.md)作为指南，完成**作业概览**和**任务类型**部分。请注意，自定义任务类型不支持自动标注。

1. 在**工作人员**下，选择人力类型。

1. 在同一部分中，选择**启用自动数据标注**。

1. 以[配置边界框工具](sms-getting-started.md#sms-getting-started-step4)此为指导，在章节***Task Type*标签工具**中创建工作人员指令。例如，如果您选择**语义分割**作为标注作业类型，则此部分称为**语义分割标注工具**。

1. 要预览工作人员说明和控制面板，请选择**预览**。

1. 选择**创建**。这将创建并启动标注作业和自动标注流程。

您可以在 SageMaker AI 控制台的**标注作业部分中看到您的标签任务**。输出数据会出现在创建标注作业时指定的 Amazon S3 存储桶中。有关标注作业输出数据的格式和文件结构的更多信息，请参阅[标注作业输出数据](sms-data-output.md)。

## 创建自动数据标注作业 (API)
<a name="sms-create-automated-labeling-api"></a>

要使用 SageMaker API 创建自动数据标注任务，请使用[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)操作的[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html)参数。要了解如何使用 `CreateLabelingJob` 操作启动标注作业，请参阅[创建标注作业 (API)](sms-create-labeling-job-api.md)。

在参数中指定用于自动数据标签的算法的 Amazon 资源名称 (ARN)。[LabelingJobAlgorithmSpecificationArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html#SageMaker-Type-LabelingJobAlgorithmsConfig-LabelingJobAlgorithmSpecificationArn)从自动标注支持的四种 Ground Truth 内置算法中选择一种：
+ [创建映像分类作业（单一标签）](sms-image-classification.md)
+ [利用语义分割识别映像内容](sms-semantic-segmentation.md)
+ 对象检测 ([使用边界框对映像对象进行分类](sms-bounding-box.md)) 
+ [通过文本分类（单标签）对文本进行分类](sms-text-classification.md)

自动数据标注作业完成后，Ground Truth 会返回自动数据标注作业所用模型的 ARN。通过在参数中提供字符串格式的 ARN，可将此模型用作类似自动标记作业类型的起始模型。[InitialActiveLearningModelArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html#SageMaker-Type-LabelingJobAlgorithmsConfig-InitialActiveLearningModelArn)要检索模型的 ARN，请使用类似于以下AWS CLI内容的 AWS Command Line Interface () 命令。

```
# Fetch the mARN of the model trained in the final iteration of the previous labeling job.Ground Truth
pretrained_model_arn = sagemaker_client.describe_labeling_job(LabelingJobName=job_name)['LabelingJobOutput']['FinalActiveLearningModelArn']
```

要加密连接到自动标记的 ML 计算实例的存储卷上的数据，请在`VolumeKmsKeyId`参数中加 AWS Key Management Service 入 (AWS KMS) 密钥。有关 AWS KMS 密钥的信息，请参阅[什么是 AWS 密钥管理服务？](https://docs.aws.amazon.com/kms/latest/developerguide/overview.html) 在《*AWS 密钥管理服务开发人员指南》*中。

有关使用该[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)操作创建自动数据标注作业的示例，请参阅 AI 笔记本实例的 AI 示例，G **roun** d Truth 标签**作业部分中的 **object\$1d** etection\$1tutor** ial 示例。SageMaker SageMaker 要了解如何创建和打开笔记本实例，请参阅[创建 Amazon SageMaker 笔记本实例](howitworks-create-ws.md)。

## 自动数据标注所需的 Amazon EC2 实例
<a name="sms-auto-labeling-ec2"></a>

下表列出了为训练和批量推理作业运行自动数据标注所需的 Amazon Elastic Compute Cloud (Amazon EC2) 实例。


| 自动数据标注作业类型 | 训练实例类型 | 推理实例类型 | 
| --- | --- | --- | 
|  图像分类  |  ml.p3.2xlarge\$1  |  ml.c5.xlarge  | 
|  对象检测（边界框）  |  ml.p3.2xlarge\$1  |  ml.c5.4xlarge  | 
|  文本分类  |  ml.c5.2xlarge  |  ml.m4.xlarge  | 
|  语义分割  |  ml.p3.2xlarge\$1  |  ml.p3.2xlarge\$1  | 

\$1 在亚太地区（孟买）区域 (ap-south-1) 中，改用 ml.p2.8xlarge。

 Ground Truth 管理您用于自动数据标注作业的实例。它根据需要创建、配置和终止实例以执行作业。这些实例不会显示在 Amazon EC2 实例控制面板中。

## 使用自己的模型设置主动学习工作流
<a name="samurai-automated-labeling-byom"></a>

您可以使用自己的算法创建一个主动学习工作流，在该工作流中运行训练和推理，对数据进行自动标注。笔记本 bring\$1your\$1own\$1model\$1for\$1sagemaker\$1labeling\$1workflows\$1with\$1active\$1learning.ipynb 使用 AI 内置算法演示了这一点。 SageMaker [BlazingText](https://docs.aws.amazon.com/sagemaker/latest/dg/blazingtext.html)此笔记本提供了一个 CloudFormation 堆栈，您可以使用该堆栈来执行此工作流程 AWS Step Functions。可以在此[GitHub 存储库](https://github.com/awslabs/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs/bring_your_own_model_for_sagemaker_labeling_workflows_with_active_learning)中找到笔记本和支持文件。

# 链接标记作业
<a name="sms-reusing-data"></a>

Amazon G SageMaker round Truth 可以通过两种方式重复使用以前作业中的数据集：克隆和链接。

*克隆*可以复制之前标注作业的设置，并允许您在设置以运行该作业之前进行其他更改。

*链接*不仅使用之前作业的设置，而且还使用结果。这样，您就可以继续执行未完成的作业，并将标签或数据对象添加到完成的作业中。链接是一种更复杂的操作。

对于数据处理：
+  克隆将以前作业的*输入*清单（带有可选修改）作为新作业的输入清单。
+  链接将以前作业的*输出*清单作为新作业的输入清单。

当您需要执行以下操作时，链接非常有用：
+ 继续执行手动停止的标注作业。
+ 修复问题后，继续执行中途失败的标注作业。
+ 在作业的手动标注部分完成后切换到自动数据标注，反之亦然。
+ 将更多数据对象添加到已完成的作业中，并从此启动作业。
+ 将另一个注释添加到已完成的作业中。例如，您有一组按主题标注的短语，然后想再次运行这组短语，请按主题的隐含受众进行分类。

在 Amazon G SageMaker round Truth 中，您可以使用控制台或 API 配置链式标签作业。

## 重要术语：标签属性名称
<a name="sms-reusing-data-LAN"></a>

*标签属性名称*（API 中的 `LabelAttributeName`）是一个用作键值对的键的字符串，它由工作人员为数据对象分配的标签构成。

以下规则适用于标签属性名称：
+ 它不能以 `-metadata` 结束。
+ `source` 和 `source-ref` 名称是保留的，不能使用这些名称。
+ 对于语义分割标注作业，它必须以 `-ref` 结尾。对于所有其他标注作业，它*不能*以 `-ref` 结束。如果您使用控制台创建任务，Amazon G SageMaker round Truth 会自动附加`-ref`到除语义分段任务之外的所有标签属性名称。
+ 对于链接的标注作业，如果您使用来自原始作业的相同标签属性名称，并将链接的作业配置为使用自动标注，那么如果该作业在任何时候处于自动标注模式，Ground Truth 都会使用来自原始作业的模型。

在输出清单中，标签属性名称类似于下面的内容。

```
  "source-ref": "<S3 URI>",
  "<label attribute name>": {
    "annotations": [{
      "class_id": 0,
      "width": 99,
      "top": 87,
      "height": 62,
      "left": 175
    }],
    "image_size": [{
      "width": 344,
      "depth": 3,
      "height": 234
    }]
  },
  "<label attribute name>-metadata": {
    "job-name": "<job name>",
    "class-map": {
      "0": "<label attribute name>"
    },
    "human-annotated": "yes",
    "objects": [{
      "confidence": 0.09
    }],
    "creation-date": "<timestamp>",
    "type": "groundtruth/object-detection"
  }
```

如果在控制台中创建作业，但没有明确设置标签属性名称值，Ground Truth 会将作业名称作为作业的标签属性名称。

## 启动链接的作业（管理控制台）
<a name="sms-reusing-data-console"></a>

从现有作业列表中选择已停止、失败或已完成的标注作业。这会启用**操作**菜单。

从**操作**菜单中，选择**链接**。

### 作业概述面板
<a name="sms-reusing-data-console-job-panel"></a>

在**作业概览**面板中，新的**作业名称**是根据您从中链接该作业的作业的标题设置的。您可以更改该名称。

您也可以指定与标注作业名称不同的标签属性名称。

如果您从完成的作业中进行链接，标签属性名称将使用您要配置的新作业的名称。要更改名称，请选中该复选框。

如果您从停止或失败的作业中进行链接，标签属性名称将使用您从中链接的作业的名称。可以轻松查看和编辑该值，因为选中了名称复选框。

**属性标签命名注意事项**  
**默认值**使用 Ground Truth 选择的标签属性名称。所有没有数据连接到该标签属性名的数据对象都会被标注。
如果**使用标签属性名称**在清单中不存在，将导致作业处理数据集中的*所有*对象。

在这种情况下，将自动选择**输入数据集位置**以作为链接的作业的输出清单。输入字段不可用，因此，您无法更改该字段。

**将数据对象添加到标注作业**  
您无法指定备用清单文件。请手动编辑以前作业的输出清单以添加新项目，然后再启动链接的作业。Amazon S3 URI 有助于您查找在 Amazon S3 存储桶中存储清单的位置。请从该位置中下载清单文件，在您的电脑上本地编辑该文件，然后上传新版本以替换该文件。确保在编辑期间不会引入错误。我们建议您使用 JSON linter 检查 JSON。许多流行的文本编辑器 IDEs 都有 linter 插件可用。

## 启动链接的作业 (API)
<a name="sms-reusing-data-API"></a>

该过程与使用 `CreateLabelingJob` 设置新的标注作业几乎相同，但有两个主要差别：
+ **清单位置**：并非使用以前作业中的原始清单，`DataSource` 中的 `ManifestS3Uri` 值应指向以前标注作业中的*输出清单* 的 Amazon S3 URI。
+ **标签属性名称：**设置正确的 `LabelAttributeName` 值在此处是非常重要的。这是将标注数据作为值的键值对的键部分。示例使用案例包括：
  + **将新的或更具体的标签添加到完成的作业** – 设置新的标签属性名称。
  + **标注以前作业中的未标注项目** – 使用以前作业中的标签属性名称。

## 使用部分标注的数据集
<a name="sms-reusing-data-newdata"></a>

如果使用已经部分标注的增强清单，您可以获得一些链接好处。选中**标签属性名称**复选框并设置名称，使其与清单中的名称一致。

如果您使用 API，则说明与启动链接作业的说明相同。不过，请务必将清单上传到 Amazon S3 存储桶并使用该清单，而不是使用以前作业中的输出清单。

清单中的**标签属性名称**值必须符合上面讨论的命名注意事项。