人間によるレビューワークフローを作成する - アマゾン SageMaker

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

人間によるレビューワークフローを作成する

Amazon Augmented AI (Amazon A2I) の人間によるレビューワークフローまたはフロー定義を使用して、次の項目を指定します。

  • Amazon Textract および Amazon Rekognition 組み込みタスクタイプの場合、ヒューマンループが呼び出される条件

  • タスクの送信先となるワークフォース

  • ワーカータスクテンプレートと呼ばれるワークフォースが受け取る一連の指示

  • タスクを受け取ったワーカーの数やタスクを完了するための時間制限など、ワーカータスクの構成

  • 出力データが保存される場所

SageMaker コンソールまたは SageMaker を使用して、ヒューマンレビューワークフローを作成できます。CreateFlowDefinitionオペレーション. フロー定義の作成中に、Amazon Textract および Amazon Rekognition タスクタイプのコンソールを使用してワーカータスクテンプレートを作成できます。

重要

Amazon A2I カスタムタスクタイプでは、ヒューマンループを開始するヒューマンループのアクティベーション条件 (信頼しきい値など) は使用できません。コンソールを使用してカスタムタスクタイプのフロー定義を作成する場合、アクティベーション条件を指定することはできません。Amazon A2I API を使用してカスタムタスクタイプのフロー定義を作成する場合、HumanLoopActivationConditions パラメータの HumanLoopActivationConditionsConfig 属性を設定することはできません。ヒューマンレビューが開始されるタイミングを制御するには、カスタムアプリケーションで StartHumanLoop が呼び出される条件を指定します。この場合、すべての StartHumanLoop 呼び出しはヒューマンレビューになります。詳細については、「カスタムタスクタイプで Amazon Augmented AI を使用する」を参照してください。

前提条件

人間によるレビューワークフロー定義を作成するには、Augmented AI の使用の前提条件 で説明されている前提条件を満たしている必要があります。

API を使用して任意のタスクタイプのフロー定義を作成する場合、またはコンソールでフロー定義を作成するときにカスタムタスクタイプを使用する場合、まずワーカータスクテンプレートを作成します。詳細については、「ワーカータスクテンプレートを作成および管理する」を参照してください。

コンソールで組み込みタスクタイプのフロー定義を作成するときにワーカータスクテンプレートをプレビューする場合、フロー定義の作成に使用するロールに、ワーカータスクテンプレートプレビューを有効にする で説明されているようなポリシーを使用して、テンプレートアーティファクトを含む Amazon S3 バケットにアクセスするアクセス許可を付与してください。

ヒューマンレビューワークフローを作成する (コンソール)

この手順では、SageMaker コンソールを使用して Amazon Augmented AI (Amazon A2I) の人間によるレビューワークフローを作成します。Amazon A2I を初めて使用する場合、組織内のユーザーを使用してプライベートワークチームを作成し、フロー定義の作成時にこのワークチームの ARN を使用することをお勧めします。プライベートワークフォースを設定し、ワークチームを作成する方法については、「プライベートワークフォースを作成する (Amazon) SageMakerコンソール)」を参照してください。プライベートワークフォースをすでに設定している場合は、「を使用して作業チームを作成する SageMaker コンソール」を参照して、そのワークフォースにワークチームを追加する方法を学習します。

組み込みタスクタイプの 1 つで Amazon A2I を使用している場合、コンソールで人間によるレビューワークフローを作成するときに、Augmented AI が提供するデフォルトのワーカータスクテンプレートを使用してワーカー指示を作成できます。Augmented AI で提供されるデフォルトテンプレートのサンプルについては、Amazon A2I を使用したユースケースと例の組み込みタスクタイプを参照してください。

フロー定義を作成するには (コンソール)

  1. https://console.aws.amazon.com/sagemaker/ で SageMaker コンソールを開きます。

  2. ナビゲーションペインの [Augmented AI ] セクションで、[Human review workflows (ヒューマンレビューワークフロー)] を選択し、[Create human review workflow (ヒューマンレビューワークフローの作成)] を選択します。

  3. [Overview (概要)] で、次の操作を行います。

    1. [Name (名前)] に、一意のワークフロー名を入力します。名前は小文字で 63 文字まで入力できます。アカウントの AWS リージョン内で一意の名前にしてください。有効な文字は、a~z、0~9、- (ハイフン) です。

    2. [S3 location for output (出力先の S3 の場所)] に、ヒューマンレビューの結果を保存する S3 バケットを入力します。このバケットは、ワークフローと同じ AWS リージョンにある必要があります。

    3. [IAM role] (IAM ロール) に対して、必要なアクセス許可を持つロールを選択します。組み込みタスクタイプを選択し、コンソールでワーカーテンプレートをプレビューする場合は、「ワーカータスクテンプレートプレビューを有効にする 」で説明されているポリシーのタイプをアタッチしたロールを指定します。

  4. [Task type (タスクタイプ)] で、ヒューマンワーカーが実行するタスクタイプを選択します。

  5. Amazon Rekognition または Amazon Textract タスクタイプを選択した場合、人間によるレビューを実行する条件を指定します。

    • Amazon Rekognition 画像モデレーションタスクの場合、人間によるレビューを開始する推論信頼スコアのしきい値間隔を選択します。

    • Amazon Textract タスクの場合、特定のフォームキーが欠落しているとき、またはフォームキー検出の信頼性が低いときに、人間によるレビューを開始できます。テキスト内のすべてのフォームキーを評価した後、フォームキーに必要なしきい値より信頼度が低い場合に、人間によるレビューを開始することもできます。2 つの変数で信頼しきい値を指定します。識別信頼度そして資格確信。これらの変数の詳細については、「Amazon Textract で Amazon Augmented AI を使用する」を参照してください。

    • どちらのタスクタイプでも、一部のデータオブジェクト (イメージまたはフォーム) とそのラベルを人間にランダムに送信してレビューすることができます。

  6. ワーカータスクテンプレートを設定および指定します。

    1. Amazon Rekognition または Amazon Textract タスクタイプを使用している場合は、次のようにします。

      1. [Create template (テンプレートの作成)] セクションで、次の操作を行います。

        • Amazon Rekognition および Amazon Textract タスクタイプの Amazon A2I デフォルトテンプレートを使用してワーカー向け指示書を作成するには、[Build from a default template] (デフォルトテンプレートからビルド) を選択します。

          • [Build from a default template (デフォルトテンプレートからビルド)] を選択した場合、[Worker task design (ワーカータスクデザイン)] で指示を作成します。

            • 現在の AWS リージョンに一意のテンプレート名を指定します。

            • [Instructions (指示)] セクションを使用して、タスクを完了するための詳しい手順を指定します。ワーカーが高い精度を達成できるよう、良い例と悪い例を挙げます。

            • (オプション) [Additional instructions (追加手順)] を提供して、ワーカーに追加の情報と手順を提供します。

              効果的な手順の作成については、「適切なワーカー指示書の作成」を参照してください。

        • テンプレートを作成したら、[Template (テンプレート)] メニューからテンプレートを選択し、ワーカーに対してタスクを簡単に説明するための [Task description (タスクの説明)] を入力します。カスタムテンプレートを作成する方法については、「ワーカータスクテンプレートを作成する」を参照してください。

    2. カスタムタスクタイプを使用している場合は、次の手順を行います。

      1. [Worker task template] (ワーカータスクテンプレート) セクションで、リストからテンプレートを選択します。SageMaker コンソールで作成したすべてのテンプレートがこのリストに表示されます。カスタムタスクタイプのテンプレートを作成する方法については、「ワーカータスクテンプレートを作成および管理する」を参照してください。

  7. (オプション) ワーカーテンプレートをプレビューします。

    Amazon Rekognition および Amazon Textract タスクタイプの場合、[See a sample worker task] (サンプルワーカータスクを表示) を選択してワーカータスク UI をプレビューできます。

    カスタムタスクタイプのフロー定義を作成している場合は、RenderUiTemplate オペレーションを使用してワーカータスク UI をプレビューできます。詳細については、「ワーカータスクテンプレートをプレビューする」を参照してください。

  8. [Workers (ワーカー)] で、ワークフォースタイプを選択します。

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

次のステップ

ヒューマンレビューワークフローを作成すると、コンソールの [Human review workflows (ヒューマンレビューワークフロー)] に表示されます。フロー定義の Amazon リソースネーム (ARN) および設定の詳細を表示するには、名前を選択してワークフローを選択します。

組み込みタスクタイプを使用している場合、フロー定義 ARN を使用して、その AWS サービスの API (Amazon Textract API など) を使用してヒューマンループを開始できます。カスタムタスクタイプの場合、ARN を使用して、Amazon Augmented AI ランタイム API によるヒューマンループを開始できます。両方のオプションの詳細については、「ヒューマンループを作成および開始する」を参照してください。

ヒューマンレビューワークフローを作成する (API)

SageMaker API を使用してフロー定義を作成するには、CreateFlowDefinition オペレーションを使用します。Augmented AI の使用の前提条件を完了したら、次の手順に従って、この API オペレーションを使用する方法について説明します。

概要を説明します。CreateFlowDefinitionオペレーション、および各パラメータの詳細については、「」を参照してください。CreateFlowDefinition

フロー定義を作成するには (API)

  1. FlowDefinitionName に一意の名前を入力します。名前は、アカウントの AWS リージョン内で一意である必要があり、63 文字以内で指定できます。有効な文字は、a~z、0~9、- (ハイフン) です。

  2. RoleArn に、データソースへのアクセスを許可するように設定したロールの ARN を入力します。

  3. HumanLoopConfig に、ワーカーに関する情報と、ワーカーに表示する内容を入力します。HumanLoopConfig の各パラメータの詳細については、「HumanLoopConfig」を参照してください。

  4. (オプション) 組み込みタスクタイプを使用している場合、HumanLoopActivationConfig でヒューマンループを開始する条件を指定します。HumanLoopActivationConfig パラメータに必要な入力を作成する方法については、「Amazon Augmented AI のヒューマンループのアクティベーション条件に対する JSON スキーマ」を参照してください。こちらで条件を指定しない場合、組み込みタスクタイプ (Amazon Textract または Amazon Rekognition など) に関連付けられた AWS サービスにフロー定義を指定すると、そのサービスはすべてのタスクを人間のワーカーに送信してレビューを行います。

    カスタムタスクタイプを使用している場合、HumanLoopActivationConfig は無効になります。カスタムタスクタイプを使用してタスクをヒューマンワーカーに送信するタイミングを制御する方法については、「カスタムタスクタイプで Amazon Augmented AI を使用する」を参照してください。

  5. (オプション) 組み込みタスクタイプを使用する場合、統合のソース (Amazon Rekognition や Amazon Textract など) を HumanLoopRequestSource パラメータに指定します。

  6. OutputConfig の場合、Amazon Simple Storage Service (Amazon S3) でヒューマンループの出力を保存する場所を指定します。

  7. (オプション) Tags を使用して、フロー定義の分類と整理に役立つキーと値のペアを入力します。タグはそれぞれ、1 つのキーと 1 つの値で構成されており、どちらもお客様側が定義します。

Amazon Textract – Key-value pair extraction

AWS SDK for Python (Boto3) を使用して Amazon Textract の人間によるレビューワークフロー (フロー定義) を作成するリクエストの例を次に示します。'AWS/Textract/AnalyzeDocument/Forms/V1' を使用して Amazon Textract ヒューマンループを作成する必要があります。Mechanical Turk ワークフォースを使用している場合は PublicWorkforceTaskPrice のみを含めます。

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopRequestSource={ 'AwsManagedHumanLoopRequestSource': 'AWS/Textract/AnalyzeDocument/Forms/V1' }, HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_account_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::aws_account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )
Amazon Rekognition – Image moderation

AWS SDK for Python (Boto3) を使用して Amazon Rekognition の人間によるレビューワークフロー (フロー定義) を作成するリクエストの例を次に示します。'AWS/Rekognition/DetectModerationLabels/Image/V3' を使用して Amazon Rekognition フロー定義を作成する必要があります。Mechanical Turk ワークフォースを使用している場合は PublicWorkforceTaskPrice のみを含めます。

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopRequestSource={ 'AwsManagedHumanLoopRequestSource': 'AWS/Rekognition/DetectModerationLabels/Image/V3' }, HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_account_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::aws_account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )
Custom Workflow

カスタムの統合で人間によるレビューワークフロー (フロー定義) を作成するリクエストの例を次に示します。このタイプの人間によるレビューワークフローを作成する場合、HumanLoopRequestSource をフロー定義リクエストから省略します。Mechanical Turk ワークフォースを使用している場合に含める必要があるのは PublicWorkforceTaskPrice のみです。

sagemaker_client = boto3.client('sagemaker', aws_region) response = sagemaker_client.create_flow_definition( FlowDefinitionName='ExampleFlowDefinition', HumanLoopActivationConfig={ 'HumanLoopActivationConditionsConfig': { 'HumanLoopActivationConditions': '{...}' } }, HumanLoopConfig={ 'WorkteamArn': 'arn:aws:sagemaker:aws_region:aws_account_number:workteam/private-crowd/workteam_name', 'HumanTaskUiArn': 'arn:aws:sagemaker:aws_region:aws_acount_number:human-task-ui/template_name', 'TaskTitle': 'Example task title', 'TaskDescription': 'Example task description.', 'TaskCount': 123, 'TaskAvailabilityLifetimeInSeconds': 123, 'TaskTimeLimitInSeconds': 123, 'TaskKeywords': [ 'Keyword1','Keyword2' ], 'PublicWorkforceTaskPrice': { 'AmountInUsd': { 'Dollars': 123, 'Cents': 123, 'TenthFractionsOfACent': 123 } } }, OutputConfig={ 'S3OutputPath': 's3://bucket/path/', 'KmsKeyId': '1234abcd-12ab-34cd-56ef-1234567890ab' }, RoleArn='arn:aws:iam::account_number:role/role_name', Tags=[ { 'Key': 'KeyName', 'Value': 'ValueName' }, ] )

次のステップ

CreateFlowDefinition API オペレーションの正常な呼び出しの戻り値は、フロー定義 Amazon リソースネーム (ARN) です。

組み込みタスクタイプを使用している場合、フロー定義 ARN を使用して、その AWS サービスの API (Amazon Textract API など) を使用してヒューマンループを開始できます。カスタムタスクタイプの場合、ARN を使用して、Amazon Augmented AI ランタイム API によるヒューマンループを開始できます。これらのオプションの詳細については、「ヒューマンループを作成および開始する」を参照してください。