

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

# Amazon Augmented AI による不適切なコンテンツの確認
<a name="a2i-rekognition"></a>

Amazon Augmented AI (Amazon A2I) を使用すると、人による機械学習予測のレビューに必要なワークフローを作成できます。

Amazon Rekognition は Amazon A2I と直接統合されているため、安全でないイメージを検出するユースケースで、人によるレビューを容易に実装できます。Amazon A2I は、イメージモデレーションのための人によるレビューワークフローを提供します。これにより、Amazon Rekognition からの予測を容易にレビューできます。ユースケースの信頼しきい値を定義し、時間の経過とともに調整できます。Amazon A2I では、自社組織または Amazon Mechanical Turk 内のレビューアーのプールを使用できます。AWS により品質、セキュリティ手順の順守について、AWS によりあらかじめスクリーニングされた労働力ベンダーを使用することもできます。

次のステップでは、Amazon Rekognition で Amazon A2I を 設定する方法について説明します。まず、Amazon A2I で人によるレビューをトリガーする条件を含むフロー定義を作成します。次に、フロー定義の Amazon リソースネーム (ARN) を Amazon Rekognition `DetectModerationLabel` オペレーションに渡します。`DetectModerationLabel` のレスポンスでは、人によるレビューが必要かどうかを確認できます。人によるレビューの結果は、フロー定義によって設定された Amazon S3 バケットで利用できます。

Amazon Rekognition で Amazon A2I を使用する方法のエンドツーエンドのデモを表示するには、* Amazon SageMaker AI デベロッパーガイド*で、以下のチュートリアルのいずれかを参照してください。
+ [デモ: Amazon A2I コンソールでスタート](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-get-started-console.html)
+ [デモ: Amazon A2I API を使用してスタート](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-get-started-api.html)

  API を使用してスタートするには、Jupyter ノートブックの例を実行することもできます。SageMaker ノートブックインスタンスで [Amazon Rekognition [例] に統合された Amazon Augmented AI (Amazon A2I)](https://github.com/aws-samples/amazon-a2i-sample-jupyter-notebooks/blob/master/Amazon%20Augmented%20AI%20(A2I)%20and%20Rekognition%20DetectModerationLabels.ipynb) ノートブックを使用するには、[Amazon A2I Jupyter ノートブックで SageMaker AI ノートブックインスタンスを使用](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-task-types-general.html#a2i-task-types-notebook-demo) を参照してください。

**Amazon A2I での DetectModerationLabels の実行**
**注記**  
同じ AWS リージョン にすべての Amazon A2I リソース と Amazon Rekognition リソースを作成します。

1. *SageMaker AI ドキュメント*で、[Amazon Augmented AI でスタート](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-getting-started.html) に記載されている前提条件を完了します。

   さらに、*SageMaker AI ドキュメント* で、[Amazon Augmented AI におけるアクセス許可とセキュリティ](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-permissions-security.html) のページのように IAM 許可を設定することを忘れないでください。

1. *SageMaker AI ドキュメント* で [ヒューマンレビュー ワークフローの作成](https://docs.aws.amazon.com/sagemaker/latest/dg/create-human-review-console.html) の手順に従います。

   人によるレビューワークフローでは、イメージの処理を管理します。これには、人によるレビュー、イメージの送信先となる作業チーム、作業チームが使用する UI テンプレート、および作業チームの結果が送信される Amazon S3 バケットをトリガーする条件が含まれます。

   `CreateFlowDefinition` の呼び出し中に、`HumanLoopRequestSource` を「AWS/Rekognition/DetectModerationLabels/Image/V3」に設定する必要があります。その後、人によるレビューをトリガーする条件をどのように設定するかを決定する必要があります。

   Amazon Rekognition では `ConditionType` 用に、`ModerationLabelConfidenceCheck` および `Sampling` の 2 つのオプションがあります。

   `ModerationLabelConfidenceCheck` は、モデレーションラベルの信頼度が一定範囲内にある場合にヒューマンループを作成します。最後に、`Sampling` は処理されたドキュメントをランダムな割合で収集し、人によるレビューに送信します。各 `ConditionType` はそれぞれ異なる `ConditionParameters` のセットを使用して、人によるレビューに含める結果を設定します。

   `ModerationLabelConfidenceCheck` には、`ConditionParameters` `ModerationLableName` があり、人によるレビューが必要なキーを設定します。また、信頼度があり、LessThan、GreaterThan、Equals を使用して、人によるレビューに送信される対象となるパーセンテージの範囲を設定します。`Sampling` には、`RandomSamplingPercentage` があり、人によるレビューに送信されるドキュメントの割合を設定します。

   次のコード例は、`CreateFlowDefinition` の部分的な呼び出しです。ラベル「Suggestive」の評価が 98 ％未満の場合、およびラベル「Female Swimwear or Underwear」の評価が 95％を超える場合は、人によるレビューにイメージが送信されます。つまり、下着や水着を着用した女性が写っているにもかかわらず、イメージが暗示的であるとは見なされない場合は、人によるレビューを使用してイメージを再確認することができます。

   ```
       def create_flow_definition():
       '''
       Creates a Flow Definition resource
   
       Returns:
       struct: FlowDefinitionArn
       '''
       humanLoopActivationConditions = json.dumps(
           {
               "Conditions": [
                   {
                     "And": [
                       {
                           "ConditionType": "ModerationLabelConfidenceCheck",
                           "ConditionParameters": {
                               "ModerationLabelName": "Suggestive",
                               "ConfidenceLessThan": 98
                           }
                       },
                       {
                           "ConditionType": "ModerationLabelConfidenceCheck",
                           "ConditionParameters": {
                               "ModerationLabelName": "Female Swimwear Or Underwear",
                               "ConfidenceGreaterThan": 95
                           }
                       }
                     ]
                  }
               ]
           }
       )
   ```

   `CreateFlowDefinition` は `FlowDefinitionArn` を返します。これは、次のステップで `DetectModerationLabels` を呼び出したときに使用します。

   詳細については、*SageMaker AI API リファレンス*で [CreateFlowDefinition](https://docs.aws.amazon.com/sagemaker/latest/dg/API_CreateFlowDefinition.html) を参照してください。

1. 「[不適切なイメージの検出](procedure-moderate-images.md)」で説明されているように、`DetectModerationLabels` を呼び出すときに `HumanLoopConfig` パラメータを設定します。`DetectModerationLabels` 設定での `HumanLoopConfig` 呼び出しの例については、ステップ 4 を参照してください。

   1. `HumanLoopConfig` パラメータ内で、`FlowDefinitionArn` をステップ 2 で作成したフロー定義の ARN に設定します。

   1. `HumanLoopName` を設定します。これは、リージョン内で一意で、小文字である必要があります。

   1. (オプション) `DataAttributes` を使用して、Amazon Rekognition に渡されたイメージに個人を特定できる情報がないかどうかを設定できます。情報を Amazon Mechanical Turk に送信するには、このパラメータを設定する必要があります。

1. `DetectModerationLabels` を実行します。

   次の例は、 AWS CLI と を使用して `HumanLoopConfig` セット`DetectModerationLabels`で AWS SDK for Python (Boto3) を実行する方法を示しています。

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

   以下の リクエスト例では、 SDK for Python (Boto3) を使用します。詳細については、*AWS SDK for Python (Boto) API リファレンス*の「[detect\$1moderation\$1labels](https://boto3.amazonaws.com/v1/documentation/api/latest/reference/services/rekognition.html#Rekognition.Client.detect_moderation_labels)」を参照してください。

   ```
   import boto3
   
   rekognition = boto3.client("rekognition", aws-region)
   
   response = rekognition.detect_moderation_labels( \
           Image={'S3Object': {'Bucket': bucket_name, 'Name': image_name}}, \
           HumanLoopConfig={ \
               'HumanLoopName': 'human_loop_name', \
               'FlowDefinitionArn': , "arn:aws:sagemaker:aws-region:aws_account_number:flow-definition/flow_def_name" \
               'DataAttributes': {'ContentClassifiers': ['FreeOfPersonallyIdentifiableInformation','FreeOfAdultContent']}
            })
   ```

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

   次のリクエスト例では、 CLI AWS を使用しています。詳細については、[https://docs.aws.amazon.com/cli/latest/reference/rekognition/detect-moderation-labels.html](https://docs.aws.amazon.com/cli/latest/reference/rekognition/detect-moderation-labels.html)*コマンド リファレンス[AWS CLI で ](https://docs.aws.amazon.com/cli/latest/reference/)検出モデレーションラベル* を参照してください。

   ```
   $ aws rekognition detect-moderation-labels \
       --image "S3Object={Bucket='bucket_name',Name='image_name'}" \
       --human-loop-config HumanLoopName="human_loop_name",FlowDefinitionArn="arn:aws:sagemaker:aws-region:aws_account_number:flow-definition/flow_def_name",DataAttributes='{ContentClassifiers=["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}'
   ```

   ```
   $ aws rekognition detect-moderation-labels \
       --image "S3Object={Bucket='bucket_name',Name='image_name'}" \
       --human-loop-config \
           '{"HumanLoopName": "human_loop_name", "FlowDefinitionArn": "arn:aws:sagemaker:aws-region:aws_account_number:flow-definition/flow_def_name", "DataAttributes": {"ContentClassifiers": ["FreeOfPersonallyIdentifiableInformation", "FreeOfAdultContent"]}}'
   ```

------

   `HumanLoopConfig` を有効にして `DetectModerationLabels` を実行すると、Amazon Rekognition は SageMaker AI API オペレーション `StartHumanLoop` を呼び出します。このコマンドは、`DetectModerationLabels` から応答を受け取り、例のフロー定義の条件と照合して確認します。レビューの条件を満たしている場合は、`HumanLoopArn` を返します。これは、フロー定義で設定した作業チームのメンバーが今イメージを確認できることを意味します。Amazon Augmented AI ランタイムオペレーション `DescribeHumanLoop` を呼び出すと、ループの結果に関する情報が表示されます。詳細については、*Amazon Augmented AI API リファレンス ドキュメント* で [DescribeHumanLoop](https://docs.aws.amazon.com/augmented-ai/2019-11-07/APIReference/API_DescribeHumanLoop.html) を参照してください。。

   イメージのレビューが完了すると、フロー定義の出力パスで指定されているバケットで結果を確認できます。また、レビューが完了すると、Amazon A2I から Amazon CloudWatch Events で通知されます。検索するイベントを確認するには、*SageMaker AI ドキュメント*で [CloudWatch Events](https://docs.aws.amazon.com/sagemaker/latest/dg/augmented-ai-cloudwatch-events.html) を参照してください。

   詳細については、*SageMaker AI ドキュメント*で [Amazon Augmented AI でスタート](https://docs.aws.amazon.com/sagemaker/latest/dg/a2i-getting-started.html)を参照してください。