

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# ラベル付けジョブの作成
<a name="sms-create-labeling-job"></a>

Amazon SageMaker AI コンソールでラベル付けジョブを作成し、任意の言語で AWS SDK を使用して を実行できます`CreateLabelingJob`。ラベル付けジョブが作成されたら、[CloudWatch](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-monitor-cloud-watch.html) を使用して、ワーカーメトリクス (プライベートワークフォースの場合) とラベル付けジョブのステータスを追跡できます。

ラベル付けジョブを作成する前に、必要に応じて次のページを確認することをお勧めします。
+ 入力データは、コンソールでの自動データ設定か、コンソール内または `CreateLabelingJob` API 使用時に入力マニフェストファイルを使用して指定できます。自動データセットアップについては、「[ラベル付けジョブのデータ設定を自動化する](sms-console-create-manifest-file.md)」を参照してください。入力マニフェストファイルを作成する方法については、「[入力マニフェストファイル](sms-input-data-input-manifest.md)」を参照してください。
+ ジョブ入力データクォータのラベル付けを確認します。[入力データのクォータ](input-data-limits.md)。

タスクタイプを選択したら、このページのトピックを使用して、ラベル付けジョブの作成方法について学習します。

Ground Truth を初めて使用する場合は、まず「[開始方法: Ground Truth を使用して境界ボックスラベル付けジョブを作成する](sms-getting-started.md)」のデモをひととおり確認することをお勧めします。

**重要**  
Ground Truth には、ラベル付けジョブ入力イメージデータを含むすべての S3 バケットに CORS ポリシーがアタッチされている必要があります。詳細については[入力イメージデータの CORS 要件](sms-cors-update.md)を参照してください。

**Topics**
+ [組み込みタスクタイプ](sms-task-types.md)
+ [指示書ページの作成](sms-creating-instruction-pages.md)
+ [ラベル付けジョブの作成 (コンソール)](sms-create-labeling-job-console.md)
+ [ラベル付けジョブを作成 (API)](sms-create-labeling-job-api.md)
+ [ストリーミングラベル付けジョブを作成する](sms-streaming-create-job.md)
+ [ラベルカテゴリとフレーム属性参照を含むラベル付けカテゴリ設定ファイル](sms-label-cat-config-attributes.md)

# 組み込みタスクタイプ
<a name="sms-task-types"></a>

Amazon SageMaker Ground Truth には、いくつかの組み込みタスクタイプがあります。Ground Truth には、組み込みタスクタイプのワーカータスクテンプレートが用意されています。さらに、一部の組み込みタスクタイプでは [データのラベル付けの自動化](sms-automated-labeling.md) をサポートします。以下のトピックでは、各組み込みタスクタイプについて説明し、Ground Truth でコンソールに用意されているワーカータスクテンプレートのデモを示します。これらのタスクタイプのいずれかを使用してコンソールでラベル付けジョブを作成するには、タスクタイプのページを選択します。


****  

| ラベルイメージ | テキストにラベル付けする | 動画と動画フレームにラベル付けする | 3D 点群のラベル付け | 
| --- | --- | --- | --- | 
|  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/sms-task-types.html)  |  [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/sms-task-types.html)  | 

**注記**  
各動画フレームと 3D 点群のタスクタイプには、以前のラベル付けジョブのラベルを検証および調整するために使用する*調整*タスクタイプがあります。上の動画オフレームまたは 3D 点群のタスクタイプページを選択して、そのタスクタイプを使用して作成されたラベルを調整する方法を学習します。

# 指示書ページの作成
<a name="sms-creating-instruction-pages"></a>

ラベル付けジョブのカスタム指示書を作成して、タスクの完了におけるワーカーの精度を向上します。コンソールで提供されているデフォルトの指示書を変更できます。または、独自に指示書を作成することができます。この指示書は、ラベル付けタスクが完了したページでワーカーに表示されます。

指示書は次の 2 種類あります。
+ *短い指示書* - ワーカーがタスクを完了した同じウェブページに表示される指示書。これらの指示書は、オブジェクトにラベルを付ける適切な方法をワーカーに対して表示するため、簡単に参照できるようにする必要があります。
+ *詳細な指示書* - ワーカーがタスクを完了したページにオーバーレイするダイアログボックスで 表示される指示書。オブジェクトにラベルを付ける際のエッジケースやその他の難しい状況を示す複数の例を含めた、タスク完了のための詳細な指示書を提供することをお勧めします。

ラベル付けジョブを作成している場合は、コンソールで指示書を作成します。タスクの既存の指示書を使って開始し、エディタを使用して、ラベル付けジョブに合わせて修正します。

**注記**  
ラベル付けジョブを作成すると、自動的に開始されるため、ワーカー向け指示書を変更できなくなります。ワーカー向け指示書を変更する必要がある場合は、新しいジョブを作成する前に、作成したラベル付けジョブを停止して複製し、ワーカー向け指示書を変更します。  
ラベル付けジョブを選択してから、**[Action]** (アクション) メニューの **[Clone]** (クローン) を選択して、コンソールでラベル付けジョブのクローンを作成できます。  
Amazon SageMaker API または任意の Amazon SageMaker SDK を使用してラベル付けジョブをクローンするには、ワーカー向け指示書を変更した後、元のジョブと同じ仕様で `CreateLabelingJob` オペレーションに対して新しいリクエストを作成します。

3D 点群と動画フレームのラベル付けジョブでは、ワーカー向け指示書をラベルカテゴリ設定ファイルに追加できます。単一の文字列を使用して指示書を作成することも、HTML マークアップを追加して指示書の外観をカスタマイズしたり、画像を追加したりすることもできます。指示書に含める画像はすべて公開されているものであることを確認してください。また、Amazon S3 に指示書がある場合、ワーカーが閲覧できるように読み取りアクセス権を持っていることを確認してください。ラベルカテゴリ設定ファイルの詳細については、「[ラベルカテゴリとフレーム属性参照を含むラベル付けカテゴリ設定ファイル](sms-label-cat-config-attributes.md)」を参照してください。

## 短い指示書
<a name="sms-creating-quick-instructions"></a>

短い指示書は、ワーカーがデータオブジェクトにラベルを付けるために使用する同じウェブページに表示されます。例えば、以下は境界ボックスタスクの編集ページです。短い指示書のパネルが左側に表示されます。

![\[\]](http://docs.aws.amazon.com/ja_jp/sagemaker/latest/dg/images/sms-instructions-10.png)


ワーカーが短い指示書を数秒間しか確認しないことに留意してください。ワーカーは、情報をすばやくスキャンして理解できる必要があります。どのような場合でも、タスクの完了にかかる時間よりも、短い時間で指示書を理解できる必要があります。次の点に注意してください。
+ 指示書は明快でシンプルである必要があります。
+ 百聞は一見にしかずです。ワーカーがすぐに理解できるタスクのシンプルな図を作成します。
+ 言葉を使用する必要がある場合は、短い簡潔な例を使用します。
+ 短い指示書は、詳細な指示書よりも重要です。

Amazon SageMaker Ground Truth コンソールでは、短い指示書を作成できるよう、エディタを提供しています。プレースホルダーテキストとイメージをタスクの指示書と置き換えます。**[プレビュー]** を選択して、ワーカーのタスクページをプレビューします。プレビューは新しいウィンドウで開きます。ウィンドウが表示されるよう、必ずポップアップブロックをオフにしてください。

## 詳細な指示書
<a name="sms-creating-full-instructions"></a>

ワーカーがデータオブジェクトにラベルを付けるページをオーバーレイするダイアログボックスで、ワーカー向けに指示書を追加することができます。詳細な指示書を使用して、より複雑なタスクを説明し、エッジケースやその他のさまざまなオブジェクトにラベルを付ける適切な方法をワーカーに対して表示します。

Ground Truth コンソールのエディタを使用して、詳細な指示書を作成できます。クイック指示書と同様、以下に注意してください。
+ ワーカーがタスクを完了するには、最初の数回、詳細な指示を必要とします。ワーカーが持つ*必要がある*すべての情報がクイック指示書に含まれています。
+ 一見は百聞にしかずです。
+ テキストは簡潔である必要があります。
+ 詳細な指示書は、短い指示書を補完するものであるべきです。短い指示書に表示される情報を繰り返す必要はありません。

Ground Truth コンソールでは、詳細な指示書を作成できるよう、エディタを提供しています。プレースホルダーテキストとイメージをタスクの指示書と置き換えます。**[プレビュー]** を選択して、詳細な指示ページをプレビューします。プレビューは新しいウィンドウで開きます。ウィンドウが表示されるよう、必ずポップアップブロックをオフにしてください。

## 指示書にサンプル画像を追加する
<a name="sms-using-s3-images"></a>

画像はワーカーに役立つ例を示します。一般公開されている画像を指示書に追加するには:
+ 指示書のエディタ内で画像が表示される位置にカーソルを置きます。
+ エディタのツールバーの画像アイコンをクリックします。
+ 画像の URL を入力します。

Amazon S3 の指示書の画像が一般公開されていない場合は、次の手順を実行します。
+ 画像の URL として、`{{ 'https://s3.amazonaws.com/your-bucket-name/image-file-name' | grant_read_access }}` と入力します。
+ これにより、存続期間の短いワンタイムアクセスコードが追加されイメージ URL がレンダリングされ、ワーカーのブラウザに表示されるようになります。壊れた画像アイコンが指示書のエディタに表示されますが、ツールをプレビューすると、レンダリングされたプレビューに画像が表示されます。

# ラベル付けジョブの作成 (コンソール)
<a name="sms-create-labeling-job-console"></a>

Amazon SageMaker AI コンソールを使用して、Ground Truth の組み込みタスクタイプとカスタムラベル付けワークフローのすべてに対してラベル付けジョブを作成できます。組み込みのタスクタイプの場合は、[タスクタイプのページ](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)とあわせてこのページを使用することをお勧めします。各タスクタイプのページには、そのタスクタイプを使用したラベル付けジョブの作成に関する具体的な詳細が記載されています。

SageMaker AI コンソールでラベル付けジョブを作成するには、以下を指定する必要があります。
+ Amazon S3 の入力マニフェストファイル。入力データセットを Amazon S3 に配置し、Ground Truth コンソールを使用してマニフェストファイルを自動的に生成できます（3D 点群ラベル付けジョブではサポートされていません）。

  入力マニフェストファイルを手動で作成することもできます。この方法の詳細は、「[入力データ](sms-data-input.md)」を参照してください。
+ 出力データを格納する Amazon S3 バケット。
+ Amazon S3 のリソースへのアクセス許可と SageMaker AI の実行ポリシーがアタッチされた IAM ロール。一般的なソリューションとして、管理ポリシー AmazonSageMakerFullAccess を IAM ロールにアタッチして、`sagemaker` をバケット名に含めることができます。

  より詳細なポリシーについては、「[Ground Truth を使用するための IAM アクセス権限を割り当てる](sms-security-permission.md)」を参照してください。

  3D 点群タスクタイプには、セキュリティに関する追加の考慮事項があります。[詳細はこちら](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-point-cloud-general-information.html#sms-security-permission-3d-point-cloud)。
+ 作業チーム。Amazon Mechanical Turk のワーカー、ベンダー、または独自のプライベートワーカーで構成されるワークフォースから作業チームを作成します。詳細については、「[ワークフォース](sms-workforce-management.md)」を参照してください。

  3D 点群または動画フレームのラベル付けジョブに Mechanical Turk のワークフォースを使用することはできません。
+ カスタムラベル付けワークフローを使用する場合は、ワーカータスクテンプレートを Amazon S3 に保存し、そのテンプレートに Amazon S3 URI を指定する必要があります。詳細については、「[カスタムワーカータスクテンプレートの作成](sms-custom-templates-step2.md)」を参照してください。
+ (オプション) SageMaker AI でデフォルトの Amazon S3 サービスAWS KMSキーの代わりに独自の暗号化キーを使用してラベル付けジョブの出力をAWS KMS暗号化する場合は、キー ARN。
+ (オプション) ラベル付けジョブに使用するデータセットの既存のラベル。ワーカーがラベルの調整、または承認および却下を行えるようにする場合は、このオプションを使用します。
+ 調整または検証のラベル付けジョブを作成する場合は、Amazon S3 に、調整または検証するラベルを含む出力マニフェストファイルが必要です。このオプションは、境界ボックスとセマンティックセグメンテーションイメージのラベル付けジョブと、3D 点群および動画フレームラベル付けジョブでのみサポートされます。[ラベルの検証と調整](sms-verification-data.md) の指示を使用して、検証または調整ラベル付けジョブを作成することをお勧めします。

**重要**  
Amazon S3 の作業チーム、入力マニフェストファイル、出力バケット、およびその他のリソースは、ラベル付けジョブの作成に使用するのと同じAWSリージョンに存在する必要があります。

SageMaker AI コンソールを使用してラベル付けジョブを作成する場合は、ワーカー向け指示書とラベルを Ground Truth が提供するワーカー UI に追加します。コンソールでラベル付けジョブを作成するときに、ワーカー UI のプレビューと操作ができます。ワーカー UI のプレビューは、「[組み込みタスクタイプ](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)」ページでも確認できます。

**ラベル付けジョブを作成するには (コンソール)**

1. SageMaker AI コンソール ([https://console.aws.amazon.com/sagemaker/](https://console.aws.amazon.com/sagemaker/)) にサインインします。

1. 左のナビゲーションペインで、**[ラベル付けジョブ]** を選択します。

1. [**ラベル付けジョブ**] ページで、**[ラベル付けジョブを作成]** を選択します。

1. [**ジョブ名**] に、ラベル付けジョブの名前を入力します。

1. (オプション) キーを使用してラベルを識別する場合は、**[ラベル付けジョブ名とは異なるラベル属性名を指定したいです]** を選択します。このオプションを選択しない場合、前のステップで指定したラベル付けジョブ名を使用して、出力マニフェストファイル内のラベルを識別します。

1. データ設定を選択して、入力データセットと Ground Truth 間の接続を作成します。
   + **自動データセットアップ**の場合、次を実行します。
     + 画像、テキスト、動画クリップのラベル付けジョブについては、「[ラベル付けジョブのデータ設定を自動化する](sms-console-create-manifest-file.md)」の指示に従います。
     + 動画フレームのラベル付けジョブについては、「[動画フレーム入力データを自動設定する](sms-video-automated-data-setup.md)」の指示に従います。
   + **手動データセットアップ**の場合、次を実行します。
     + **[Input dataset location]** (入力データセットの場所) に、入力マニフェストファイルのある Amazon S3 の場所を指定します。例えば、入力マニフェストファイル manifest.json が **example-bucket** にある場合は、**s3: //example-bucket/manifest.json** と入力します。
     + **[Output dataset location]** (出力データセットの場所) に、Ground Truth でラベル付けジョブの出力データを格納するAmazon S3 の場所を指定します。

1. **[IAM ロール]** で、既存の IAM ロールを選択するか、上で指定した出力 S3 バケットに書き込むための Amazon S3 のリソースへのアクセス許可を持ち、SageMaker AI の実行ポリシーがアタッチされた、IAM ロールを作成します。

1. (オプション) **追加設定**では、ワーカーがラベル付けするデータセットの量と、SageMaker AI が暗号化キーを使用してラベル付けジョブの出力データをAWS KMS暗号化するかどうかを指定できます。出力データを暗号化するには、前のステップで指定した IAM ロールに必要なAWS KMSアクセス許可がアタッチされている必要があります。詳細については、[Ground Truth を使用するための IAM アクセス権限を割り当てる](sms-security-permission.md)を参照してください。

1. **[Task type]** (タスクタイプ) セクションの **[Task category]** (タスクカテゴリ) で、ドロップダウンメニューを使用してタスクカテゴリを選択します。

1. **[タスク選択]** で、タスクタイプを選択します。

1. (オプション) ラベル付けジョブにタグを指定すると、後でラベル付けジョブをコンソールで見つけやすくなります。

1. [**次へ**] を選択します。

1. **[ワーカー]** セクションで、使用するワークフォースのタイプを選択します。ワークフォースオプションの詳細については、「[ワークフォース](sms-workforce-management.md)」を参照してください。

1. (オプション) ワークフォースを選択したら、**[タスクのタイムアウト]** を指定します。これは、ワーカーがタスクに取り組むことのできる最大時間です。

   3D 点群注釈タスクの場合、デフォルトのタスクのタイムアウトは 3 日です。テキストと画像の分類、ラベル検証のラベル付けジョブの場合、デフォルトのタイムアウトは 5 分です。その他すべてのラベルリングジョブの場合、デフォルトのタイムアウトは 60 分です。

1. (オプション) 境界ボックス、セマンティックセグメンテーション、動画フレーム、3D 点群タスクタイプで、ワーカーが確認または調整する入力データセットのラベルを表示する場合は、**[Display existing labels]** (既存のラベルを表示) を選択します。

   境界ボックスジョブとセマンティックセグメンテーションのラベル付けジョブでは、調整ラベル付けジョブが作成されます。

   3D 点群と動画フレームのラベル付けジョブの場合は、次の手順を実行します。
   + **[Adjustment]** (調整) をクリックして、調整ラベル付けジョブを作成します。このオプションを選択すると新しいラベルを追加できますが、前のジョブから既存のラベルを削除または編集することはできません。必要に応じて、ワーカーが編集するラベルカテゴリ属性とフレーム属性を選択できます。属性を編集可能にする場合は、その属性で **[Allow workers to edit this attribute]** (ワーカーにこの属性の編集を許可する) チェックボックスをオンにします。

     必要に応じて、ラベルカテゴリとフレーム属性を追加できます。
   + **[Verification]** (検証) をクリックして、検証ラベル付けジョブを作成します。このオプションを選択すると、前のジョブから既存のラベルを追加、変更、または削除することはできません。必要に応じて、ワーカーが編集するラベルカテゴリ属性とフレーム属性を選択できます。属性を編集可能にする場合は、その属性で **[Allow workers to edit this attribute]** (ワーカーにこの属性の編集を許可する) チェックボックスをオンにします。

     ワーカーが確認するラベルに新しいラベルカテゴリ属性を追加するか、1 つ以上のフレーム属性を追加して、ワーカーがフレーム全体に関する情報を提供できるようにすることをお勧めします。

    詳細については、「[ラベルの検証と調整](sms-verification-data.md)」を参照してください。

1. ワーカーの UI を設定します。
   + [組み込みのタスクタイプ](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)を使用している場合は、ワーカー向け指示書とラベルを指定します。
     + イメージ分類とテキストの分類 (単一ラベルとマルチラベル) では、少なくとも 2 つのラベルカテゴリを指定する必要があります。その他の組み込みのタスクタイプについては、少なくとも 1 つのラベルカテゴリを指定する必要があります。
     + (オプション) 3D 点群または動画フレームのラベル付けジョブを作成する場合、ラベルカテゴリ属性 (3D 点群のセマンティックセグメンテーションではサポートされていません) とフレーム属性を指定できます。ラベルカテゴリ属性は、1 つのラベルまたはラベルに割り当てることができます。フレーム属性は、各点群または動画フレームワーカーラベルに表示されます。詳細について、3D 点群は [ワーカーユーザーインターフェイス (UI)](sms-point-cloud-general-information.md#sms-point-cloud-worker-task-ui) を、動画フレームは [ワーカーユーザーインターフェイス (UI)](sms-video-overview.md#sms-video-worker-task-ui) を参照してください。
     + (オプション) ワーカーがタスクを完了しやすいよう、**追加指示**を追加します。
   + カスタムラベル付けワークフローを作成する場合は、次の操作を行う必要があります。
     + コードボックスに[カスタムテンプレート](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-custom-templates-step2.html)と入力します。カスタムテンプレートは、HTML、Liquid テンプレート言語、事前構築された ウェブコンポーネントを組み合わせて作成できます。必要に応じて、ドロップダウンメニューからベーステンプレートを選択して開始することもできます。
     + 注釈前と注釈後の Lambda 関数を指定します。これらの 関数の作成方法については、「[を使用したカスタムラベル付けワークフローでのデータの処理 AWS Lambda](sms-custom-templates-step3.md)」を参照してください。

1. (オプション) **[See preview]** (プレビューを表示) を選択して、ワーカー向け指示書とラベルをプレビューし、ワーカー UI を操作できます。プレビューを生成する前に、ブラウザのポップアップブロックが無効になっていることを確認してください。

1. **[Create]** (作成) を選択します。

ラベル付けジョブが正常に作成されると、**[ラベル付けジョブ]** ページにリダイレクトされます。作成したラベル付けジョブのステータスは **[進行中]** になります。ワーカーがタスクを完了するにつれて、このステータスは徐々に更新されます。すべてのタスクが正常に完了すると、ステータスは **[完了済み]** に変わります。

ラベル付けジョブの作成中に問題が発生した場合、ステータスは **[失敗]** に変わります。

ジョブの詳細を表示するには、ラベル付けジョブ名を選択します。

## 次のステップ
<a name="sms-create-labeling-job-console-next-steps"></a>

ラベル付けジョブのステータスが **[Completed]** (完了済み) に変わったら、そのラベル付けジョブの作成時に指定した Amazon S3 バケットの出力データを表示できます。出力データの形式の詳細については、「[ラベル付けジョブの出力データ](sms-data-output.md)」を参照してください。

# ラベル付けジョブを作成 (API)
<a name="sms-create-labeling-job-api"></a>

Amazon 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/dg/sms-task-types.html)を参照してください。永続的に実行されるラベル付けジョブであるストリーミングラベル付けジョブを作成する方法については、「[ストリーミングラベル付けジョブを作成する](sms-streaming-create-job.md)」を参照してください。

`CreateLabelingJob` オペレーションを使用するには、以下が必要です。
+ Amazon S3 のワーカータスクテンプレート (`UiTemplateS3Uri`) またはヒューマンタスク UI ARN (`[HumanTaskUiArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UiConfig.html#sagemaker-Type-UiConfig-HumanTaskUiArn)`) 。
  + 3D 点群ジョブ、動画オブジェクトの検出と追跡ジョブ、NER ジョブでは、タスクタイプの `HumanTaskUiArn` に示されている ARN を使用します。
  + 3D 点群タスク以外の組み込みタスクタイプを使用している場合は、いずれかの構築済みテンプレートにワーカーの指示を追加し、テンプレートを S3 バケットに保存できます (拡張子 .html または .liquid を使用)。[タスクタイプページ](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-task-types.html)で構築済みテンプレートを見つけます。
  + カスタムのラベル付けワークフローを使用する場合は、カスタムテンプレートを作成してそのテンプレートを S3 バケットに保存することができます。カスタムのワーカーテンプレートを作成する方法については、「[カスタムワーカータスクテンプレートの作成](sms-custom-templates-step2.md)」を参照してください。テンプレートのカスタマイズに使用できるカスタムの HTML 要素については、「[Crowd HTML 要素のリファレンス](sms-ui-template-reference.md)」を参照してください。さまざまなラベル付けタスクのデモ用テンプレートのリポジトリについては、「[Amazon SageMaker Ground Truth サンプルタスク UI](https://github.com/aws-samples/amazon-sagemaker-ground-truth-task-uis)」を参照してください。
+ Amazon S3 で入力データを指定する入力マニフェストファイル。`ManifestS3Uri` で、入力マニフェストファイル場所を指定します。入力マニフェストの作成については、「[入力データ](sms-data-input.md)」を参照してください。ストリーミングラベル付けジョブを作成する場合、これは任意です。ストリーミングラベル付けジョブを作成するには、「[ストリーミングラベル付けジョブを作成する](sms-streaming-create-job.md)」を参照してください。
+ 出力データを格納する Amazon S3 バケット。このバケットを指定し、必要に応じて、`S3OutputPath` でプレフィックスを指定します。
+ ラベルカテゴリ設定ファイル。各ラベルカテゴリ名は一意である必要があります。`LabelCategoryConfigS3Uri` パラメータを使用して、Amazon S3 のこのファイルの場所を指定します。このファイルの形式とラベルのカテゴリは、使用するタスクタイプによって異なります。
  + イメージ分類とテキストの分類 (単一ラベルとマルチラベル) では、少なくとも 2 つのラベルカテゴリを指定する必要があります。他のすべてのタスクタイプでは、必要なラベルカテゴリの最小数は 1 です。
  + 固有表現認識タスクの場合は、このファイルにワーカーの指示を指定する必要があります。詳細と例については、「[ラベルカテゴリ設定ファイルにワーカー向け指示書を指定する](sms-named-entity-recg.md#worker-instructions-ner)」を参照してください。
  + 3D 点群と同dがフレームタスクタイプの場合は、[ラベルカテゴリとフレーム属性参照を含むラベル付けカテゴリ設定ファイル](sms-label-cat-config-attributes.md) の形式を使用します。
  + 他のすべての組み込みタスクタイプおよびカスタムタスクの場合、ラベルカテゴリ設定ファイルは、次の形式の JSON ファイルである必要があります。`label_1`、`label_2`、`...`、`label_n` をラベルカテゴリに置き換えて、使用するラベルを特定します。

    ```
    {
        "document-version": "2018-11-28",
        "labels": [
            {"label": "label_1"},
            {"label": "label_2"},
            ...
            {"label": "label_n"}
        ]
    }
    ```
+ [AmazonSageMakerGroundTruthExecution](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AmazonSageMakerGroundTruthExecution) マネージド IAM ポリシーがアタッチされ、S3 バケットへのアクセス許可を持つ AWS Identity and Access Management (IAM) ロール。このロールを `RoleArn` で指定します。このポリシーの詳細については、「[Ground Truth で IAM 管理ポリシーを使用する](sms-security-permissions-get-started.md)」を参照してください。より詳細なアクセス許可が必要な場合は、「[Ground Truth を使用するための IAM アクセス権限を割り当てる](sms-security-permission.md)」を参照してください。

  入力バケット名または出力バケット名に `sagemaker` が含まれていない場合は、`CreateLabelingJob` オペレーションに渡されるロールに次のようなポリシーをアタッチできます。

------
#### [ JSON ]

****  

  ```
  {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
          {
              "Effect": "Allow",
              "Action": [
                  "s3:GetObject"
              ],
              "Resource": [
                  "arn:aws:s3:::my_input_bucket/*"
              ]
          },
          {
              "Effect": "Allow",
              "Action": [
                  "s3:PutObject"
              ],
              "Resource": [
                  "arn:aws:s3:::my_output_bucket/*"
              ]
          }
      ]
  }
  ```

------
+ 入力および出力データを処理するための、注釈前および注釈後 (または注釈統合) AWS Lambda 関数 Amazon リソースネーム (ARN)。
  + Lambda 関数は、組み込みタスクタイプごとに各 AWS リージョンで事前定義されています。リージョンの注釈前 Lambda ARN を検索するには、「[PreHumanTaskLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_HumanTaskConfig.html#SageMaker-Type-HumanTaskConfig-PreHumanTaskLambdaArn)」 を参照してください。リージョンの注釈統合 Lambda ARN を確認するには、「[AnnotationConsolidationLambdaArn](https://docs.aws.amazon.com/sagemaker/latest/dg/API_AnnotationConsolidationConfig.html#SageMaker-Type-AnnotationConsolidationConfig-AnnotationConsolidationLambdaArn)」を参照してください。
  + カスタムラベル付けワークフローの場合は、カスタムの注釈前と注釈後の Lambda ARN を指定する必要があります。これらの Lambda 関数の作成方法については、「[を使用したカスタムラベル付けワークフローでのデータの処理 AWS Lambda](sms-custom-templates-step3.md)」を参照してください。
+ `WorkteamArn` で指定した作業チームの ARN。ベンダーのワークフォースをサブスクライブしたり、プライベートワークチームを作成したりすると、作業チーム ARN を受け取ります。動画フレームまたは点群タスクタイプのラベル付けジョブを作成する場合は、 Amazon Mechanical Turk ワークフォースを使用できません。その他すべてのタスクタイプで、Mechanical Turk ワークフォースを使用するには、次の ARN を使用します。を、ラベル付けジョブの作成に使用している AWS リージョン*`region`*に置き換えます。

  ` arn:aws:sagemaker:region:394669845002:workteam/public-crowd/default`

  [Amazon Mechanical Turk ワークフォース](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html)を使用する場合は、`InputConfig` の `DataAttributes` にある `ContentClassifiers` パラメータを使用して、コンテンツに個人を特定できる情報やアダルトコンテンツが含まれていないことを宣言します。

  Ground Truth では、Mechanical Turk ワークフォースを使用する場合に、入力データに個人を特定できる情報 (PII) を含めることは*できません*。Mechanical Turk を使用し、`FreeOfPersonallyIdentifiableInformation` フラグを使用して入力データに PII がないことを指定しない場合、ラベル付けジョブは失敗します。`FreeOfAdultContent` フラグを使用して、入力データにアダルトコンテンツが含まれていないことを宣言します。アダルトコンテンツが含まれている場合、SageMaker AI はタスクを表示できる Amazon Mechanical Turk ワーカーを制限する場合があります。

  ワークチームとワークフォースの詳細については、「[ワークフォース](sms-workforce-management.md)」を参照してください。
+ Mechanical Turk ワークフォースを使用する場合は、`PublicWorkforceTaskPrice` で 1 つのタスクを実行するためにワーカーに支払う価格を指定する必要があります。
+ タスクを設定するには、`TaskDescription` と `TaskTitle` を使用して、それぞれにタスクの説明とタイトルを指定する必要があります。必要に応じ、ワーカーが個々のタスクで作業しなければならない時間 (`TaskTimeLimitInSeconds`) と、ワーカーポータルに残っていて、ワーカーが作業できるタスクの時間 (`TaskAvailabilityLifetimeInSeconds`)を制御する時間制限を指定できます。
+ (オプション) [一部のタスクタイプ](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-annotation-consolidation.html)では、`NumberOfHumanWorkersPerDataObject` パラメータに 1 より大きい数値を入力することによって、1 つのデータオブジェクトに複数のワーカーがラベルを付けることができます。注釈統合の詳細については、「[注釈統合](sms-annotation-consolidation.md)」を参照してください。
+ （オプション）自動データラベリングジョブを作成するには、`LabelingJobAlgorithmsConfig` の [LabelingJobAlgorithmSpecificationArn](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_LabelingJobAlgorithmsConfig.html) に示されているいずれかの ARN を指定します。この ARN は、自動データラベリングジョブで使用されるアルゴリズムを特定します。この ARN に関連付けられているタスクタイプは、指定した `PreHumanTaskLambdaArn` と `AnnotationConsolidationLambdaArn` に一致する必要があります。自動データラベリングは、イメージの分類、境界ボックス、セマンティックセグメンテーション、テキスト分類のタスクタイプでサポートされています。自動データラベリングに許容される最小のオブジェクト数は 1,250 ですが、少なくとも 5,000 個のオブジェクトを指定することを強くお勧めします。自動データラベリングジョブの詳細については、「[データのラベル付けの自動化](sms-automated-labeling.md)」を参照してください。
+ （オプション）条件を満たす場合、ラベル付けジョブを停止する [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#API_CreateLabelingJob_RequestSyntax](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#API_CreateLabelingJob_RequestSyntax) を指定できます。停止条件を使用して、ラベル付けジョブのコストを制御できます。

## 例
<a name="sms-create-labeling-job-api-examples"></a>

次のコード例では、`CreateLabelingJob` を使用してラベル付けジョブを作成する方法を示します。これらのノートブックの例は、GitHub の [SageMaker AI サンプルリポジトリ](https://github.com/aws/amazon-sagemaker-examples/tree/master/ground_truth_labeling_jobs)でも確認できます。

------
#### [ AWS SDK for Python (Boto3) ]

以下は、米国東部 (バージニア北部) リージョンで、プライベートワークフォースを使用して組み込みタスクタイプのラベル付けジョブを作成する [AWS Python SDK (Boto3) リクエスト](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job)の例です。*赤色の斜体テキスト*を、ラベル付けジョブのリソースと仕様に置き換えます。

```
response = client.create_labeling_job(
    LabelingJobName="example-labeling-job",
    LabelAttributeName="label",
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': "s3://bucket/path/manifest-with-input-data.json"
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                "FreeOfPersonallyIdentifiableInformation"|"FreeOfAdultContent",
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': "s3://bucket/path/file-to-store-output-data",
        'KmsKeyId': "string"
    },
    RoleArn="arn:aws:iam::*:role/*",
    LabelCategoryConfigS3Uri="s3://bucket/path/label-categories.json",
    StoppingConditions={
        'MaxHumanLabeledObjectCount': 123,
        'MaxPercentageOfInputDatasetLabeled': 123
    },
    HumanTaskConfig={
        'WorkteamArn': "arn:aws:sagemaker:region:*:workteam/private-crowd/*",
        'UiConfig': {
            'UiTemplateS3Uri': "s3://bucket/path/custom-worker-task-template.html"
        },
        'PreHumanTaskLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        'TaskKeywords': [
            "Images",
            "Classification",
            "Multi-label"
        ],
        'TaskTitle': "Multi-label image classification task",
        'TaskDescription': "Select all labels that apply to the images shown",
        'NumberOfHumanWorkersPerDataObject': 1,
        'TaskTimeLimitInSeconds': 3600,
        'TaskAvailabilityLifetimeInSeconds': 21600,
        'MaxConcurrentTaskCount': 1000,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': "arn:aws:lambda:us-east-1:432418664414:function:ACS-"
        },
    Tags=[
        {
            'Key': "string",
            'Value': "string"
        },
    ]
)
```

------
#### [ AWS CLI ]

以下は、Amazon Mechanical Turk AWS ワークフォースを使用して、米国東部 (バージニア北部) リージョンで組み込みタスクタイプのラベル付けジョブを作成する CLI リクエストの例です。 [https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-management-public.html)詳細については、*[AWS CLI コマンドリファレンス](https://docs.aws.amazon.com/cli/latest/reference/)*の「[start-human-loop](https://docs.aws.amazon.com/cli/latest/reference/sagemaker/create-labeling-job.html)」を参照してください。*赤色の斜体テキスト*を、ラベル付けジョブのリソースと仕様に置き換えます。

```
$ aws --region us-east-1 sagemaker create-labeling-job \
--labeling-job-name "example-labeling-job" \
--label-attribute-name "label" \
--role-arn "arn:aws:iam::account-id:role/role-name" \
--input-config '{
        "DataAttributes": {
            "ContentClassifiers": [
                "FreeOfPersonallyIdentifiableInformation",
                "FreeOfAdultContent"
            ]
        },
        "DataSource": {
            "S3DataSource": {
                "ManifestS3Uri": "s3://bucket/path/manifest-with-input-data.json"
            }
        }
    }' \
--output-config '{
        "KmsKeyId": "",
        "S3OutputPath": "s3://bucket/path/file-to-store-output-data"
    }' \
--human-task-config '{
        "AnnotationConsolidationConfig": {
            "AnnotationConsolidationLambdaArn": "arn:aws:lambda:us-east-1:432418664414:function:ACS-"
        },
        "TaskAvailabilityLifetimeInSeconds": 21600,
        "TaskTimeLimitInSeconds": 3600,
        "NumberOfHumanWorkersPerDataObject": 1,
        "PreHumanTaskLambdaArn":  "arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype",
        "WorkteamArn": "arn:aws:sagemaker:us-east-1:394669845002:workteam/public-crowd/default",
        "PublicWorkforceTaskPrice": {
            "AmountInUsd": {
                "Dollars": 0,
                "TenthFractionsOfACent": 6,
                "Cents": 3
            }
        },
        "TaskDescription": "Select all labels that apply to the images shown",
        "MaxConcurrentTaskCount": 1000,
        "TaskTitle": "Multi-label image classification task",,
        "TaskKeywords": [
            "Images",
            "Classification",
            "Multi-label"
        ],
        "UiConfig": {
            "UiTemplateS3Uri": "s3://bucket/path/custom-worker-task-template.html"
        }
    }'
```

------

このオペレーションの詳細については、「[CreateLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html)」を参照してください。他の言語固有の SDK を使用する方法については、`CreateLabelingJobs` トピックの「[以下の資料も参照してください](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateLabelingJob.html#API_CreateLabelingJob_SeeAlso)」を参照してください。

# ストリーミングラベル付けジョブを作成する
<a name="sms-streaming-create-job"></a>

ストリーミングラベル付けジョブを使用すると、継続的に実行されているストリーミングラベル付けジョブに、個々のデータオブジェクトをリアルタイムで送信できます。ストリーミングラベル付けジョブを作成するには、[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html) リクエストの作成時に `InputConfig` パラメータに Amazon SNS の*入力トピック* ARN (`SnsTopicArn`) を指定します。ラベルデータをリアルタイムで受信する場合、必要に応じて、Amazon SNS *出力トピック*も作成し、`OutputConfig` でそれを指定できます。

**重要**  
Ground Truth ストリーミングラベル付けジョブを初めて使用する場合は、ストリーミングラベル付けジョブを作成する前に「[Ground Truth ストリーミングラベル付けジョブ](sms-streaming-labeling-job.md)」を確認することをお勧めします。Ground Truth ストリーミングラベル付けジョブは SageMaker API を通じてのみサポートされます。

次のセクションを使用して、ストリーミングラベル付けジョブの作成に必要かつ使用できるリソースを作成します。
+ Ground Truth ストリーミングラベル付けジョブに必要なアクセス許可を持つ SNS トピックを作成する方法については、「[データラベリングに Amazon SNS トピックを使用する](sms-create-sns-input-topic.md)」の手順に従ってください。SNS トピックは、ラベル付けジョブと同じ AWS リージョンで作成する必要があります。
+ ラベル付けタスクが完了するたびに、指定されたエンドポイントでラベル付けタスクの出力データを受信するようにエンドポイントを設定する方法については、「[エンドポイントを Amazon SNS 出力トピックにサブスクライブする](sms-create-sns-input-topic.md#sms-streaming-subscribe-output-topic)」を参照してください。
+ Amazon SNS 入力トピックに通知を送信するように Amazon S3 バケットを設定する方法については、「[ラベル付けジョブで定義された Amazon SNS に基づいて Amazon S3 ベースのバケットイベント通知を作成する](sms-streaming-s3-setup.md)」を参照してください。
+ 必要に応じて、ラベル付けジョブが開始されたらすぐに、ラベル付けするデータオブジェクトを入力マニフェストに追加します。詳細については、「[マニフェストファイルを作成する (オプション)](sms-streaming-manifest.md)」を参照してください。
+ IAM ロール、Amazon S3 バケット、ワーカータスクテンプレート、ラベルカテゴリなど、ラベル付けジョブを作成するために必要なその他のリソースがあります。これらは、ラベル付けジョブの作成に関する Ground Truth のドキュメントで説明されています。詳細については、「[ラベル付けジョブの作成](sms-create-labeling-job.md)」を参照してください。
**重要**  
ラベル付けジョブを作成する際、IAM 実行ロールを指定する必要があります。 AWS 管理ポリシー **AmazonSageMakerGroundTruthExecution** をこのロールにアタッチして、ラベル付けジョブを実行するために必要なアクセス許可があることを確認します。

ストリーミングラベル付けジョブを作成するリクエストを送信すると、ラベル付けジョブの状態は `Initializing` になります。ラベル付けジョブがアクティブになると、状態は `InProgress` に変わります。ラベル付けジョブの状態が `Initializing` である間は、新しいデータオブジェクトをラベル付けジョブに送信したり、停止したりしないでください。状態が `InProgress` に変わったら、Amazon SNS と Amazon S3 設定を使用して、新しいデータオブジェクトの送信を開始できます。

**Topics**
+ [データラベリングに Amazon SNS トピックを使用する](sms-create-sns-input-topic.md)
+ [ラベル付けジョブで定義された Amazon SNS に基づいて Amazon S3 ベースのバケットイベント通知を作成する](sms-streaming-s3-setup.md)
+ [マニフェストファイルを作成する (オプション)](sms-streaming-manifest.md)
+ [SageMaker API を使用してストリーミングラベル付けジョブを作成する](sms-streaming-create-labeling-job-api.md)
+ [ストリーミングラベル付けジョブを停止する](sms-streaming-stop-labeling-job.md)

# データラベリングに Amazon SNS トピックを使用する
<a name="sms-create-sns-input-topic"></a>

ストリーミングラベル付けジョブを作成するには、Amazon SNS 入力を作成する必要があります。必要に応じて、Amazon SNS 出力トピックを指定できます。

ストリーミングラベル付けジョブで使用する Amazon SNS トピックを作成するときは、トピックの Amazon リソースネーム (ARN) を書き留めます。ラベル付けジョブを作成するときの ARN は、`InputConfig` と `OutputConfig` の `SnsTopicArn` パラメータの入力値になります。

## 入力トピックを作成する
<a name="sms-streaming-input-topic"></a>

入力トピックは、新しいデータオブジェクトを Ground Truth に送信する際に使用されます。入力トピックの作成方法の詳細については、Amazon Simple Notification Service デベロッパーガイドの「[Amazon SNS トピックの作成](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)」を参照してください。

入力トピック ARN を書き留め、それを`InputConfig` の `CreateLabelingJob`パラメータ `SnsTopicArn` の入力として使用します。

## 出力トピックを作成する
<a name="sms-streaming-output-topic"></a>

出力トピックを指定すると、データオブジェクトがラベル付けされたときに通知を送信するために使用されます。トピックを作成するときに、暗号化キーを追加するオプションがあります。このオプションを使用して、 AWS Key Management Service カスタマーマネージドキーをトピックに追加し、ラベル付けジョブの出力データを出力トピックに発行する前に暗号化します。

出力トピックを作成するには、Amazon Simple Notification Service デベロッパーガイドの「[Amazon SNS トピックの作成](https://docs.aws.amazon.com/sns/latest/dg/sns-create-topic.html)」の手順に従います。

暗号化を追加する場合は、トピックに追加のアクセス許可をアタッチする必要があります。詳細については、「[出力トピックに暗号化を追加する (オプション)](#sms-streaming-encryption)」を参照してください。

**重要**  
コンソールでトピックを作成するときに、カスタマーマネージド型キーを出力トピックに追加するために、**(Default) alias/aws/sns** オプションを使用しないでください。作成したカスタマーマネージド型キーを選択します。

入力トピック ARN を書き留め、それを`OutputConfig` の `CreateLabelingJob`パラメータ `SnsTopicArn` に使用します。

### 出力トピックに暗号化を追加する (オプション)
<a name="sms-streaming-encryption"></a>

出力トピックに発行されたメッセージを暗号化するには、 AWS KMS カスタマーマネージド型キーをトピックに提供する必要があります。次のポリシーを変更し、それをカスタマーマネージド型キーに追加して、出力トピックに公開する前に出力データを暗号化する許可を Ground Truth に付与します。

*`<account_id>`* をトピックの作成に使用しているアカウント ID に置き換えます。 AWS アカウント ID を検索する方法については、[AWS 「アカウント ID の検索](https://docs.aws.amazon.com/IAM/latest/UserGuide/console_account-alias.html#FindingYourAWSId)」を参照してください。

------
#### [ JSON ]

****  

```
{
    "Id": "key-console-policy",
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "Enable IAM User Permissions",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:root"
            },
            "Action": "kms:*",
            "Resource": "*"
        },
        {
            "Sid": "Allow access for Key Administrators",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::111122223333:role/Admin"
            },
            "Action": [
                "kms:Create*",
                "kms:Describe*",
                "kms:Enable*",
                "kms:List*",
                "kms:Put*",
                "kms:Update*",
                "kms:Revoke*",
                "kms:Disable*",
                "kms:Get*",
                "kms:Delete*",
                "kms:TagResource",
                "kms:UntagResource",
                "kms:ScheduleKeyDeletion",
                "kms:CancelKeyDeletion"
            ],
            "Resource": "*"
        }
    ]
}
```

------

さらに、次のポリシーを変更して、ラベル付けジョブの作成に使用する実行ロール (`RoleArn` の入力値) に追加する必要があります。

*`<account_id>`* をトピックの作成に使用しているアカウント ID に置き換えます。*`<region>`* をラベル付けジョブの作成に使用している AWS のリージョンに置き換えます。`<key_id>` を、カスタマーマネージド型キー ID に置き換えます。

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "sid1",
            "Effect": "Allow",
            "Action": [
                "kms:Decrypt",
                "kms:GenerateDataKey"
            ],
            "Resource": "arn:aws:kms:us-east-1:111122223333:key/your_key_id"
        }
    ]
}
```

------

キーの作成と保護の詳細については、「 AWS Key Management Service デベロッパーガイド」の[「キーの作成](https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html)」と[「キーポリシーの使用](https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html)」を参照してください。

## エンドポイントを Amazon SNS 出力トピックにサブスクライブする
<a name="sms-streaming-subscribe-output-topic"></a>

ワーカーが Ground Truth ストリーミングラベル付けジョブからラベル付けジョブタスクを完了すると、Ground Truth は出力トピックを使用して、指定した 1 つ以上のエンドポイントに出力データを発行します。ワーカーがラベル付けタスクを完了したときに通知を受け取るには、エンドポイントを Amazon SNS 出力トピックにサブスクライブする必要があります。

エンドポイントを出力トピックに追加する方法の詳細については、*Amazon Simple Notification Service デベロッパーガイド*の「[Amazon SNS トピックへサブスクライブする](https://docs.aws.amazon.com/sns/latest/dg/sns-create-subscribe-endpoint-to-topic.html)」を参照してください。

これらのエンドポイントに発行される出力データ形式の詳細については、「[ラベル付けジョブの出力データ](sms-data-output.md)」を参照してください。

**重要**  
Amazon SNS 出力トピックにエンドポイントをサブスクライブしない場合、新しいデータオブジェクトがラベル付けされたときに通知は届きません。

# ラベル付けジョブで定義された Amazon SNS に基づいて Amazon S3 ベースのバケットイベント通知を作成する
<a name="sms-streaming-s3-setup"></a>

Amazon S3 バケットの変更、イベント通知は、Amazon S3 コンソール、API、言語固有の AWS SDKs、または のいずれかで有効になります AWS Command Line Interface。イベントでは、`CreateLabelingJob` リクエストの際に `InputConfig` パラメータで指定したのと同じ Amazon SNS 入力トピック ARN (`SnsTopicArn`) を使用する必要があります。

**Amazon S3 バケット通知と入力データを同じ Amazon S3 バケットにすることはできません**  
イベント通知を作成するときは、`OutputConfig` パラメータで `S3OutputPath` として指定したのと同じ Amazon S3 の場所を使用しないでください。2 つのバケットをリンクすると、不要なデータオブジェクトが Ground Truth によってラベル付けのために処理される可能性があります。

Amazon SNS トピックに送信するイベントの種類はユーザーが判断します。[オブジェクト作成イベント](https://docs.aws.amazon.com/AmazonS3/latest/user-guide/enable-event-notifications.html#enable-event-notifications-types)を送信すると、Ground Truth がラベル付けジョブを作成します。

Amazon SNS 入力トピックに送信されるイベント構造は、[イベントメッセージ構造](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html)と同じ構造を使用してフォーマットされた JSON メッセージである必要があります。

Amazon S3 コンソール、 AWS SDK for .NET、 AWS および SDK for Java を使用して Amazon S3 バケットのイベント通知を設定する方法の例を確認するには、*Amazon Simple Storage Service ユーザーガイド*の[「Walkthrough: Configure a bucket for notifications (SNS topic or SQS queue)](https://docs.aws.amazon.com/AmazonS3/latest/dev/ways-to-add-notification-config-to-bucket.html)」を参照してください。

Amazon EventBridge 通知はネイティブではサポートされていません。EventBridge ベースの通知を使用するには、[イベントメッセージ構造](https://docs.aws.amazon.com/AmazonS3/latest/dev/notification-content-structure.html)で使用される JSON 形式と一致するように出力形式を更新する必要があります。

# マニフェストファイルを作成する (オプション)
<a name="sms-streaming-manifest"></a>

ストリーミングラベル付けジョブを作成する場合、`CreateLabelingJob` の `ManifestS3Uri` で指定した入力マニフェストファイルにオブジェクト (イメージやテキストなど) を追加できる 1 回限りのオプションがあります。ストリーミングラベル付けジョブが開始された場合、オブジェクトの総数が `MaxConcurrentTaskCount` を超えると、これらのオブジェクトはワーカーに送信されるか Amazon SQS キューに追加されます。ワーカーがラベル付けタスクを完了すると、結果は、ラベル付けジョブを作成する際に指定した Amazon S3 パスに定期的に追加されます。出力データは、出力トピックをサブスクライブする任意のエンドポイントに送信されます。

ラベル付けする初期オブジェクトを提供する場合は、これらのオブジェクトを特定するマニフェストファイルを作成し、AmazonS3 に配置します。`InputConfig` 内の `ManifestS3Uri` で、このマニフェストファイルの S3 URI を指定します。

マニフェストファイルのフォーマット方法については、「[入力データ](sms-data-input.md)」を参照してください。SageMaker AI コンソールを使用してマニフェストファイルを自動的に生成するには (3D 点群タスクタイプではサポートされません)、「[ラベル付けジョブのデータ設定を自動化する](sms-console-create-manifest-file.md)」を参照してください。

# SageMaker API を使用してストリーミングラベル付けジョブを作成する
<a name="sms-streaming-create-labeling-job-api"></a>

以下は、米国東部 (バージニア北部) リージョンで、組み込みタスクタイプのラベル付けジョブを開始するのに使用できる [AWS Python SDK (Boto3) リクエスト](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/sagemaker.html#SageMaker.Client.create_labeling_job)の例です。以下の各パラメータの詳細については、「[https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html)」を参照してください。この API と関連する言語固有の SDK を使用してラベル付けジョブを作成する方法については、「[ラベル付けジョブを作成する (API)](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-create-labeling-job-api.html)」を参照してください。

この例では、以下のパラメータに注意します。
+ `SnsDataSource`- このパラメータは、`InputConfig` と `OutputConfig` に表示され、Amazon SNS トピックの入力と出力をそれぞれ特定するために使用されます。ストリーミングラベル付けジョブを作成するには、Amazon SNS 入力トピックを指定する必要があります。必要に応じて、Amazon SNS 出力トピックも指定できます。
+ `S3DataSource` - このパラメータはオプションです。ラベル付けジョブの開始と同時にラベル付けするデータオブジェクトの入力マニフェストファイルを含める場合は、このパラメータを使用します。
+ [https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-StoppingConditions](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-StoppingConditions) — ストリーミングラベル付けジョブを作成する場合、このパラメータは無視されます。ストリーミングラベル付けジョブの停止の詳細については、「[ストリーミングラベル付けジョブを停止する](sms-streaming-stop-labeling-job.md)」を参照してください。
+ ストリーミングラベル付けジョブは、自動データラベリングをサポートしていません。`LabelingJobAlgorithmsConfig` パラメータは含めないでください。

```
response = client.create_labeling_job(
    LabelingJobName= 'example-labeling-job',
    LabelAttributeName='label',
    InputConfig={
        'DataSource': {
            'S3DataSource': {
                'ManifestS3Uri': 's3://bucket/path/manifest-with-input-data.json'
            },
            'SnsDataSource': {
                'SnsTopicArn': 'arn:aws:sns:us-east-1:123456789012:your-sns-input-topic'
            }
        },
        'DataAttributes': {
            'ContentClassifiers': [
                'FreeOfPersonallyIdentifiableInformation'|'FreeOfAdultContent',
            ]
        }
    },
    OutputConfig={
        'S3OutputPath': 's3://bucket/path/file-to-store-output-data',
        'KmsKeyId': 'string',
        'SnsTopicArn': 'arn:aws:sns:us-east-1:123456789012:your-sns-output-topic'
    },
    RoleArn='arn:aws:iam::*:role/*',
    LabelCategoryConfigS3Uri='s3://bucket/path/label-categories.json',
    HumanTaskConfig={
        'WorkteamArn': 'arn:aws:sagemaker:us-east-1:*:workteam/private-crowd/*',
        'UiConfig': {
            'UiTemplateS3Uri': 's3://bucket/path/custom-worker-task-template.html'
        },
        'PreHumanTaskLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:PRE-tasktype',
        'TaskKeywords': [
            'Example key word',
        ],
        'TaskTitle': 'Multi-label image classification task',
        'TaskDescription': 'Select all labels that apply to the images shown',
        'NumberOfHumanWorkersPerDataObject': 123,
        'TaskTimeLimitInSeconds': 123,
        'TaskAvailabilityLifetimeInSeconds': 123,
        'MaxConcurrentTaskCount': 123,
        'AnnotationConsolidationConfig': {
            'AnnotationConsolidationLambdaArn': 'arn:aws:lambda:us-east-1:432418664414:function:ACS-tasktype'
            }
        },
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ]
)
```

# ストリーミングラベル付けジョブを停止する
<a name="sms-streaming-stop-labeling-job"></a>

[StopLabelingJob](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_StopLabelingJob.html) オペレーションを使用して、ストリーミングラベル付けジョブを手動で停止できます。

ラベル付けジョブが 10 日以上アイドル状態のままである場合は、Ground Truth によって自動的に停止されます。このコンテキストでは、Amazon SNS 入力トピックにオブジェクトが送信されず、ラベル付けを待機しているオブジェクトが Amazon SQS キューに残っていない場合、ラベル付けジョブは*アイドル状態*であると見なされます。例えば、Amazon SNS 入力トピックにデータオブジェクトが供給されておらず、ラベル付けジョブに供給されたすべてのオブジェクトが既にラベル付けされている場合、GroundTruth はタイマーを開始します。タイマーの開始後、10 日以内にアイテムが受け取られない場合、ラベル付けジョブは停止します。

ラベル付けジョブが停止すると、Ground Truth はジョブリソースのラベル付けをクリーンアップする間、そのステータスは `STOPPING` になり、Amazon SQS キューから Amazon SNS トピックのサブスクライブを解除します。このキューには未処理のデータオブジェクトが含まれている可能性があるため、Amazon SQS が Ground Truth によって削除されることは*ありません*。Amazon SQS で追加料金が発生しないようにするには、キューを手動で削除する必要があります。詳細については、「[Amazon SQS の料金](https://aws.amazon.com/sqs/pricing/)」を参照してください。

# ラベルカテゴリとフレーム属性参照を含むラベル付けカテゴリ設定ファイル
<a name="sms-label-cat-config-attributes"></a>

Amazon SageMaker API オペレーション `CreateLabelingJob` を使用して、3D 点群または動画フレームのラベル付けジョブを作成する場合、ラベルカテゴリ設定ファイルを使用して、ラベルとワーカー向け指示書を指定します。必要に応じて、ラベルカテゴリ属性ファイルに以下を指定することもできます。
+ 動画フレームと 3D 点群のオブジェクト追跡とオブジェクト検出タスクタイプの*ラベルカテゴリ属性*を指定できます。ワーカーは 1 つ以上の属性を使用して、そのオブジェクトに関する詳細情報を提供できます。例えば、*occluded* 属性を使用して、オブジェクトが部分的に遮られたときをワーカーが識別できるようにすることができます。`categoryAttributes` パラメータを使用して 1 つのラベルにラベルカテゴリ属性を指定することも、`categoryGlobalAttributes` パラメータを使用してすべてのラベルにラベルカテゴリ属性を指定することもできます。
+ `frameAttributes` を使用して、動画フレームと 3D 点群のオブジェクト追跡とオブジェクト検出タスクタイプの*フレーム属性*を提供できます。フレーム属性を作成すると、ワーカータスクの各フレームまたは点群に表示されます。動画フレームラベル付けジョブでは、これらは、ワーカーが動画フレーム全体に割り当てる属性です。3D 点群のラベル付けジョブでは、これらの属性は 1 つの点群に適用されます。フレーム属性を使用して、ワーカーが特定のフレームまたは点群内のシーンに関する詳細情報を提供できるようにします。
+ 動画フレームラベル付けジョブでは、ラベルカテゴリ設定ファイルを使用して、ワーカーに送信されるタスクタイプ (境界ボックス、ポリライン、ポリゴン、または特徴点) を指定します。

ワーカーによるラベルカテゴリ属性とフレーム属性の値の指定は、任意です。

**重要**  
`auditLabelAttributeName` でラベル属性名を指定する必要があるのは、ラベルを検証または調整するために監査ジョブを実行する場合のみです。このパラメータを使用して、ワーカーに調整させる注釈を作成したラベル付けジョブで使用した [LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName) を入力します。コンソールでラベル付けジョブを作成するときにラベル属性名を指定していない場合は、ジョブの**名前**が LabelAttributeName として使用されます。

次のトピックでは、さまざまな種類のラベル付けジョブのラベルカテゴリ設定ファイルの例を示します。また、カテゴリ設定ファイルのスキーマとクォータについても説明します。

**Topics**
+ [例: 3D 点群ラベル付けジョブのラベルカテゴリ設定ファイル](#sms-label-cat-config-attributes-3d-pc)
+ [例: 動画フレームラベル付けジョブのラベルカテゴリ設定ファイル](#sms-label-cat-config-attributes-vid-frame)
+ [ラベルカテゴリ設定ファイルスキーマ](#sms-label-cat-config-attributes-schema)
+ [ラベルとラベルカテゴリの属性クォータ](#sms-point-cloud-label-cat-limits)

## 例: 3D 点群ラベル付けジョブのラベルカテゴリ設定ファイル
<a name="sms-label-cat-config-attributes-3d-pc"></a>

以降のトピックでは、オブジェクト検出、オブジェクト追跡、セマンティックセグメンテーション、調整、検証ラベル付けジョブの 3D 点群ラベルカテゴリ設定ファイルの例を説明します。

**Topics**
+ [例: 3D 点群オブジェクト追跡とオブジェクト検出](#example-3d-point-cloud-object)
+ [例: 3D 点群セマンティックセグメンテーション](#example-3d-point-cloud-semantic)
+ [例: 3D 点群の調整](#example-3d-point-cloud-adjustment)
+ [例: 3D 点群の検証](#example-3d-point-cloud-verification)

### 例: 3D 点群オブジェクト追跡とオブジェクト検出
<a name="example-3d-point-cloud-object"></a>

以下は、3D 点群オブジェクト検出またはオブジェクト追跡のラベル付けジョブのラベルカテゴリ属性を含むラベルカテゴリ設定ファイルの例です。この例には、ラベル付けジョブに送信されたすべての点群に追加される 2 つのフレーム属性が含まれています。`Car` ラベルには 4 つのラベルカテゴリ属性、`X`、`Y`、`Z`、グローバル属性の `W` が含まれます。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"],
            "isRequired":true 
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"]
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"}
}
```

### 例: 3D 点群セマンティックセグメンテーション
<a name="example-3d-point-cloud-semantic"></a>

以下は、3D 点群セマンティックセグメンテーションのラベル付けジョブのラベルカテゴリ構成ファイルの例です。

ラベルカテゴリ属性は、3D 点群セマンティックセグメンテーションタスクタイプについてサポートされていません。フレーム属性がサポートされています。セマンティックセグメンテーションラベル付けジョブにラベルカテゴリ属性を指定した場合、それらは無視されます。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "labels": [
        {
            "label": "Car",
        },
        {
            "label": "Pedestrian",
        },
        {
            "label": "Cyclist",
        }
    ],
    "instructions": {"shortInstruction":"Select the appropriate label and paint all objects in the point cloud that it applies to the same color", "fullInstruction":"<html markup>"}
}
```

### 例: 3D 点群の調整
<a name="example-3d-point-cloud-adjustment"></a>

次に、3D 点群オブジェクト検出またはオブジェクト追跡調整ラベル付けジョブのラベル付けジョブのラベルカテゴリ設定ファイルの例を示します。3D 点群セマンティックセグメンテーション調整ラベル付けジョブの場合、`categoryGlobalAttributes` と `categoryAttributes` はサポートされていません。

`auditLabelAttributeName` を含めて、調整ラベル付けジョブの作成に使用する、以前のラベル付けジョブのラベル属性名を指定する必要があります。必要に応じて、`editsAllowed` パラメータを使用して、ラベルまたはフレーム属性を編集できるかどうかを指定できます。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"none",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"any",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"any",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

### 例: 3D 点群の検証
<a name="example-3d-point-cloud-verification"></a>

次に、3D 点群オブジェクト検出またはオブジェクト追跡検証のラベル付けジョブに使用するラベルカテゴリ設定ファイルの例を示します。3D 点群セマンティックセグメンテーション検証ラベル付けジョブの場合、`categoryGlobalAttributes` と `categoryAttributes` はサポートされていません。

`auditLabelAttributeName` を含めて、検証ラベル付けジョブの作成に使用する、以前のラベル付けジョブのラベル属性名を指定する必要があります。さらに、`editsAllowed` パラメータを使用して、ラベルを編集できないように指定します。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"any", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"any", 
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"none", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buzz", "biz"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"none", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"none"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum":["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "instructions": {"shortInstruction":"Draw a tight Cuboid", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label verification jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

## 例: 動画フレームラベル付けジョブのラベルカテゴリ設定ファイル
<a name="sms-label-cat-config-attributes-vid-frame"></a>

使用するワーカーとタスクタイプで使用できる注釈ツールは、`annotationType` に指定した値によって異なります。例えば、ワーカーが特徴点を使用して、複数のフレームにわたって特定のオブジェクトのポーズの変化を追跡できるようにするには、`annotationType` に `Keypoint` を指定します。注釈タイプを指定しない場合、デフォルトでは `BoundingBox` が使用されます。

以降のトピックでは、動画フレームカテゴリ設定ファイルの例を説明します。

**Topics**
+ [例: 動画フレームのキーポイント](#example-video-frame-keypoint)
+ [例: 動画フレームの調整](#example-video-frame-adjustment)
+ [例: 動画フレームの検証](#example-video-frame-verification)

### 例: 動画フレームのキーポイント
<a name="example-video-frame-keypoint"></a>

次に、ラベルカテゴリ属性を持つ動画フレームの特徴点ラベルカテゴリ設定ファイルの例を示します。この例では、ラベル付けジョブに送信されるすべてのフレームに追加される 2 つのフレーム属性が含まれています。`Car` ラベルには 4 つのラベルカテゴリ属性、`X`、`Y`、`Z`、グローバル属性の `W` が含まれます。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"]
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                }
            ]
        },
        {
            "label": "Pedestrian",
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"}
}
```

### 例: 動画フレームの調整
<a name="example-video-frame-adjustment"></a>

次に、動画フレーム調整のラベル付けジョブに使用できるラベルカテゴリ設定ファイルの例を示します。

`auditLabelAttributeName` を含めて、検証ラベル付けジョブの作成に使用する、以前のラベル付けジョブのラベル属性名を指定する必要があります。必要に応じて、`editsAllowed` パラメータを使用し、ラベル、ラベルカテゴリ属性、またはフレーム属性を編集できるかどうかを指定します。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"none", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"any", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"any", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"any"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

### 例: 動画フレームの検証
<a name="example-video-frame-verification"></a>

次に、動画フレームラベル付けジョブのラベルカテゴリ設定ファイルの例を示します。

`auditLabelAttributeName` を含めて、検証ラベル付けジョブの作成に使用する、以前のラベル付けジョブのラベル属性名を指定する必要があります。さらに、`editsAllowed` パラメータを使用して、ラベルを編集できないように指定します。

```
{
    "documentVersion": "2020-03-01",
    "frameAttributes": [
        {
            "name":"count players",
            "editsAllowed":"none", 
            "description":"How many players to you see in the scene?",
            "type":"number"
        },
        {
            "name":"select one",
            "editsAllowed":"any", 
            "description":"describe the scene",
            "type":"string",
            "enum":["clear","blurry"]
        },   
    ],
    "categoryGlobalAttributes": [
        {
            "name":"W",
            "editsAllowed":"none", 
            "description":"label-attributes-for-all-labels",
            "type":"string",
            "enum": ["foo", "buz", "buz2"]
        }
    ],
    "labels": [
        {
            "label": "Car",
            "editsAllowed":"none", 
            "categoryAttributes": [
                {
                    "name":"X",
                    "description":"enter a number",
                    "type":"number",
                    "editsAllowed":"any"
                },
                {
                    "name":"Y",
                    "description":"select an option",
                    "type":"string",
                    "enum": ["y1", "y2"],
                    "editsAllowed":"any"
                },
                {
                    "name":"Z",
                    "description":"submit a free-form response",
                    "type":"string",
                    "editsAllowed":"none"
                }
            ]
        },
        {
            "label": "Pedestrian",
            "editsAllowed":"none", 
            "categoryAttributes": [...]
        }
    ],
    "annotationType":"Keypoint",
    "instructions": {"shortInstruction":"add example short instructions here", "fullInstruction":"<html markup>"},
    // include auditLabelAttributeName for label adjustment jobs
    "auditLabelAttributeName": "myPrevJobLabelAttributeName"
}
```

## ラベルカテゴリ設定ファイルスキーマ
<a name="sms-label-cat-config-attributes-schema"></a>

次の表に、ラベルカテゴリ設定ファイルに含めることができる要素と、含める必要がある要素を示します。

**注記**  
パラメータ `annotationType` は、動画フレームラベル付けジョブでのみサポートされています。


****  

|  [Parameter] (パラメータ)  |  [Required] (必須)  |  使用できる値  |  説明  | 
| --- | --- | --- | --- | 
| frameAttributes |  いいえ  |  JSON オブジェクトのリスト。 **各 JSON オブジェクトの必須パラメータ:** `name`, `type`, `description` `type` が `"number"` の場合、`minimum` と `maximum` は必須です。 **各 JSON オブジェクトの任意パラメータ:** `enum`, `editsAllowed`, `isRequired`  | このパラメータを使用して、ラベル付けジョブ内のすべてのフレームまたは 3D 点群に適用されるフレーム属性を作成します。詳細については、このセクションの 3 番目の表を参照してください。 | 
| categoryGlobalAttributes |  いいえ  |  JSON オブジェクトのリスト。 **各 JSON オブジェクトの必須パラメータ:** `name`, `type` `type` が `"number"` の場合、`minimum` と `maximum` は必須です。 **各 JSON オブジェクトの任意パラメータ:** `description`, `enum`, `editsAllowed`, `isRequired`   | このパラメータを使用して、`labels` で指定したすべてのラベルに適用されるラベルカテゴリ属性を作成します。詳細については、このセクションの 3 番目の表を参照してください。 | 
| labels |  はい  |  最大 30 個の JSON オブジェクトのリスト **各 JSON オブジェクトの必須パラメータ:** `label` **各 JSON オブジェクトの任意パラメータ:** `categoryAttributes`, `editsAllowed`  |  ラベルまたはクラスを指定するには、このパラメータを使用します。クラスごとに 1 つずつ `label` を追加します。 ラベルカテゴリ属性をラベルに追加するには、そのラベルに `categoryAttributes` を追加します。 `editsAllowed` を使用して、調整ラベル付けジョブでラベルを編集可能にするかどうかを指定します。検証ラベル付けジョブの場合は、`editsAllowed` を `"none"` に設定します。 詳細については、以下のテーブルを参照してください。  | 
| annotationType（動画フレームラベル付けジョブでのみサポートされます）  |  いいえ   |  String **使用できるパラメータ:** `BoundingBox`, `Polyline`, `Polygon`, `Keypoint` **デフォルト:** `BoundingBox`  |  これを使用して、動画フレームラベル付けジョブのタスクタイプを指定します。例えば、ポリゴン動画フレームオブジェクト検出タスクでは、`Polygon` を選択します。 動画フレームラベル付けジョブを作成するときに `annotationType` を指定しない場合、Ground Truth はデフォルトで `BoundingBox` を使用します。  | 
| instructions |  いいえ  | JSON オブジェクト各 JSON オブジェクトの必須パラメータ:`"shortInstruction"`, `"fullInstruction"` |  このパラメータを使用して、ワーカーがタスクを完了するためのワーカー向け指示書を追加します。ワーカー向け指示書の詳細については、「[ワーカー指示書](sms-point-cloud-general-information.md#sms-point-cloud-worker-instructions-general)」を参照してください。 短い指示書は 255 文字未満、長い指示書は 2,048 文字未満である必要があります。 詳細については、「[指示書ページの作成](sms-creating-instruction-pages.md)」を参照してください。  | 
| auditLabelAttributeName |  調整と検証のタスクタイプで必須  |  String  |  注釈を調整するラベル付けジョブで使用する [LabelAttributeName](https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateLabelingJob.html#sagemaker-CreateLabelingJob-request-LabelAttributeName) を入力します。 このパラメータは、動画フレームと 3D 点群のオブジェクト検出、オブジェクト追跡、または 3D 点群セマンティックセグメンテーションの調整ジョブを作成する場合にのみ使用します。  | 

### ラベルオブジェクトスキーマ
<a name="sms-labels-schema"></a>

次の表に、`Labels` のリスト作成に使用できるパラメータと使用すべきパラメータを示します。各パラメータは JSON オブジェクトに含める必要があります。


****  

| [Parameter] (パラメータ) | [Required] (必須) | 使用できる値 | [Description] (説明) | 
| --- | --- | --- | --- | 
| label |  はい  |  String  |  ワーカーに表示されるラベルカテゴリの名前。各ラベルカテゴリ名は一意である必要があります。  | 
| categoryAttributes |  いいえ  |  JSON オブジェクトのリスト。 **各 JSON オブジェクトの必須パラメータ:** `name`, `type` `minimum` が `maximum` の場合、`type` と `"number"` は必須です。 **各 JSON オブジェクトの任意パラメータ:** `description`, `enum`, `editsAllowed`, `isRequired`  | このパラメータを使用して、`labels` で指定する特定のラベルにラベルカテゴリ属性を追加します。ラベルに 1 つ以上のラベルカテゴリ属性を追加するには、その `label` と同じ `labels` JSON オブジェクトを `categoryAttributes` JSON オブジェクトに含めます。詳細については、以下のテーブルを参照してください。 | 
| editsAllowed |  いいえ  |  String **サポートされる値**: `"none"`: 修正は許可されていません。 または `"any"`(デフォルト): すべての修正が許可されます。  |  ワーカーがラベルを編集できるかどうかを指定します。 動画フレームまたは 3D 点群の*調整*ラベル付けジョブの場合、このパラメータを `labels` リストの 1 つ以上の JSON オブジェクトに追加して、ワーカーがラベルを編集できるかどうかを指定します。 3D 点群と動画フレームの*検証*ラベル付けジョブの場合、このパラメータを `"none"` の値で `labels` リスト内の各 JSON オブジェクトに追加します。これにより、すべてのラベルが編集不可になります。  | 

### frameAttributes と categoryGlobalAttributes スキーマ
<a name="sms-category-attributes-schema"></a>

次の表に、`frameAttributes` を使用してフレーム属性を作成し、`categoryGlobalAttributes` と `categoryAttributes` パラメータを使用してラベルカテゴリ属性を作成するために使用できるパラメータと使用する必要のあるパラメータを示します。


****  

|  [Parameter] (パラメータ)  |  [Required] (必須)  |  使用できる値  |  [Description] (説明)  | 
| --- | --- | --- | --- | 
| name |  はい  |  String  |  このパラメータを使用して、ラベルカテゴリ属性またはフレーム属性に名前を割り当てます。これは、ワーカーに表示される属性名です。 ラベルカテゴリ設定ファイル内のラベルカテゴリ属性名は、それぞれ一意である必要があります。グローバルラベルカテゴリ属性とラベル固有のラベルカテゴリ属性には、同じ名前を付けることはできません。  | 
| type |  はい  |  String **必須の値**: `"string"` または `"number"`   |  このパラメータを使用して、ラベルカテゴリまたはフレームの属性タイプを定義します。 `type` に `"string"` を指定し、この属性に `enum` の値を指定すると、ワーカーは指定した選択肢の 1 つから選択できるようになります。 `"string"` に `type` を指定し、この属性に `enum` の値を指定しない場合、ワーカーはフリーフォームテキストを入力できます。 `type` に `number` を指定する場合、ワーカーは指定された `minimum` から `maximum` の間の数字を入力できます。  | 
| enum |  いいえ  |  文字列のリスト  |  このパラメータを使用して、ワーカーがこのラベルカテゴリまたはフレーム属性に対して選択できるオプションを定義します。ワーカーは、`enum` で指定された 1 つの値を選択できます。例えば、 [`["foo", "buzz", "bar"`]を `enum` に指定する場合、ワーカーは `foo`、`buzz`、または `bar` から、いずれかを選択できます。 `enum` リストを使用するには、`type` に `"string"` を指定する必要があります。  | 
| description |  `frameAttributes`: はい `categoryAttributes` または `categoryGlobalAttributes`: いいえ  |  String  |  このパラメータを使用して、ラベルカテゴリまたはフレーム属性の説明を追加します。このフィールドを使用して、ワーカーに属性に関する詳細情報を提供できます。 このフィールドは、フレーム属性でのみ必須です。  | 
| minimum および maximum | 属性 type が "number" の場合は必須です。 | 整数 |  これらのパラメータを使用して、ワーカーが数値ラベルカテゴリ属性またはフレーム属性に入力できる最小値と最大値を指定します。 `minimum` と `maximum` を使用するには、`type` に `"number"` を指定する必要があります。  | 
| editsAllowed |  いいえ  |  String **必須の値**: `"none"`: 修正は許可されていません。 または `"any"`(デフォルト): すべての修正が許可されます。  |  ワーカーがラベルカテゴリまたはフレーム属性を編集できるかどうかを指定します。 動画フレームまたは 3D 点群の*調整*と*検証*のラベル付けジョブの場合は、このパラメータをラベルカテゴリとフレーム属性の JSON オブジェクトに追加して、ワーカーが属性を編集できるかどうかを指定します。  | 
| isRequired |  いいえ  |  ブール値  |  ワーカーが属性に注釈を付ける必要があるかどうかを指定します。ワーカーは、すべての必須属性に注釈を付けるまで、ジョブを送信できません。  | 

## ラベルとラベルカテゴリの属性クォータ
<a name="sms-point-cloud-label-cat-limits"></a>

クラスごとに最大 10 個のラベルカテゴリ属性を指定できます。この 10 属性クォータには、グローバルラベルカテゴリ属性が含まれます。例えば、4 つのグローバルラベルカテゴリ属性を作成し、3 つのラベルカテゴリ属性をラベル `X` に割り当てると 、そのラベルには合計 4\$13=7 のラベルカテゴリ属性が割り当てられます。すべてのラベルカテゴリおよびラベルカテゴリ属性の制限については、次の表を参照してください。


****  

|  タイプ  |  最小  |  最大  | 
| --- | --- | --- | 
|  ラベル (`Labels`)  |  1  |  30  | 
|  ラベル名の文字数クォータ  |  1  |  16  | 
|  ラベルごとのラベルカテゴリ属性 (`categoryAttributes` と `categoryGlobalAttributes` の合計)  |  0  |  10  | 
|  ラベルごとのフリーフォームテキスト入力ラベルカテゴリ属性 (`categoryAttributes` と `categoryGlobalAttributes` の合計)。  | 0 | 5 | 
|  フレーム属性  |  0  |  10  | 
|  `frameAttributes` のフリーフォームテキスト入力属性。  | 0 | 5 | 
|  属性名の文字数クォータ (`name`)  |  1  |  16  | 
|  属性説明の文字数クォータ (`description`)  |  0  |  128  | 
|  属性タイプの文字数クォータ (`type`)  |  1  |  16  | 
|  `enum` リストで `string` 属性に許可されている値  | 1 | 10 | 
|  `enum` リスト内の値の文字クォータ  | 1 | 16 | 
| フリーフォームテキストのフリーフォームテキスト応答の最大文字数 frameAttributes | 0 | 1,000 | 
| フリーフォームテキストのフリーフォームテキスト応答の最大文字数 categoryAttributes と categoryGlobalAttributes | 0 | 80 | 