

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

# ステップ 2: Amazon Comprehend でエンティティ分析ジョブを実行する
<a name="tutorial-search-metadata-entities-analysis"></a>

S3 バケットにサンプルデータセットを保存した後、Amazon Comprehend エンティティ分析ジョブを実行して、ドキュメントからエンティティを抽出します。これらのエンティティは Amazon Kendra カスタム属性を形成し、インデックスの検索結果をフィルタリングするのに役立ちます。詳細については、[エンティティの検出](https://docs.aws.amazon.com/comprehend/latest/dg/how-entities.html)を参照してください。

**Topics**
+ [Amazon Comprehend でエンティティ分析ジョブを実行する](#tutorial-search-metadata-entities-analysis-job)

## Amazon Comprehend でエンティティ分析ジョブを実行する
<a name="tutorial-search-metadata-entities-analysis-job"></a>

データセットからエンティティを抽出するには、Amazon Comprehend エンティティ分析ジョブを実行します。

このステップで AWS CLI を使用している場合は、まず Amazon Comprehend の AWS IAM ロールとポリシーを作成してアタッチし、エンティティ分析ジョブを実行します。サンプルデータでエンティティ分析ジョブを実行するには、Amazon Comprehend は次のものが必要です。
+ 信頼されたエンティティとして認識する AWS Identity and Access Management (IAM) ロール
+ S3 AWS バケットへのアクセス許可を付与する IAM ロールにアタッチされた IAM ポリシー

詳細については、「[Amazon Comprehend と IAM 連携の仕組み](https://docs.aws.amazon.com/comprehend/latest/dg/security_iam_service-with-iam.html)」および「[Amazon Comprehend の ID ベースのポリシー](https://docs.aws.amazon.com/comprehend/latest/dg/security_iam_id-based-policy-examples.html)」を参照してください。

### Amazon Comprehend エンティティ分析ジョブを実行するには (コンソール)
<a name="tutorial-search-metadata-entities-analysis-console"></a>

1. Amazon Comprehend コンソール ([https://console.aws.amazon.com/comprehend/](https://console.aws.amazon.com/comprehend/)) を開きます。
**重要**  
Amazon S3 バケットを作成したリージョンと同じリージョンに存在することを確認します。別のリージョンにいる場合は、上部のナビゲーションバーの AWS リージョンセレクターから S3 バケットを作成したリージョンを選択します。 ****

1. **[Launch Amazon Comprehend]** (Amazon Comprehend の起動) を選択します。

1.  左側のナビゲーションペインで、**[Analysis jobs]** (分析ジョブ) を選択します。

1.  **[Create job]** (ジョブの作成) を選択します。

1. **[Job settings]** (ジョブの設定) セクションで、以下の操作を行います。

   1.  **[Name]** (名前)に **data-entities-analysis** と入力します。

   1. **[Analysis type]** (分析タイプ) で、**[Entities]** (エンティティ) を選択します。

   1. **[Language]** (言語) で、**[English]** (英語) を選択します。

   1. **[Job encryption]** (ジョブの暗号化) は無効のままにしておきます。

1. **[Input data]** (入力データ) セクションで、以下の操作を行います。

   1. **[Data source]** (データソース) で、**[My documents]** (マイドキュメント) を選択します。

   1. **[S3 location]** (S3 の場所) で、**[Browse S3]** (S3 を閲覧する) を選択します。

   1. **[Choose resources]** (リソースの選択) については、バケットのリストからバケットの名前をクリックします。

   1. **[Objects]** (オブジェクト) で、`data` のオプションボタンを選択し、**[Choose]** (選択) をクリックします。

   1. **[Input format]** (入力形式) で、**[One document per file]** (ファイルあたり 1 つのドキュメント) を選択します。

1. **[Output data]** (出力データ) セクションで、以下の操作を行います。

   1. **[S3 locatio]** (S3 の場所) で、**[Browse S3]** (S3 を閲覧する)、バケットのリストからバケットのオプションボックスの順に選択し、**[Choose]** (選択) をクリックします。

   1. **[Encryption]** (暗号化) は無効のままにしておきます。

1. **[Access permissions]** (アクセス許可) セクションで、以下の操作を行います。

   1. **[IAM role]** (IAM ロール) で、**[Create an IAM role]** (IAM ロールの選択) を選択します。

   1. **[Permissions to access]** (アクセスの許可) で、**[Input and Output S3 buckets]** (S3 バケットの入力と出力) を選択します。

   1. **[Name suffix]** (サフィックスに名前を付ける) で、**comprehend-role** と入力します。このロールは、Amazon S3 バケットへのアクセスを提供します。

1. **[VPC settings]** (VPC 設定) は、デフォルト設定のままにしておきます。

1. **[ジョブの作成]** を選択します。

### Amazon Comprehend エンティティ分析ジョブを実行するには (AWS CLI)
<a name="tutorial-search-metadata-entities-analysis-cli"></a>

1. 信頼されたエンティティとして認識する Amazon Comprehend の IAM ロールを作成してアタッチするには、以下の操作を行います。

   1. 次の信頼ポリシーを、ローカルデバイスのテキストエディタで `comprehend-trust-policy.json` という JSON ファイルとして保存します。

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

****  

      ```
      {
        "Version":"2012-10-17",		 	 	 
        "Statement": [
          {
            "Effect": "Allow",
            "Principal": {
              "Service": "comprehend.amazonaws.com"
            },
            "Action": "sts:AssumeRole"
          }
        ]
      }
      ```

------

   1. `comprehend-role` という IAM ロールを作成するには、保存した `comprehend-trust-policy.json` ファイルをアタッチしてくださいそれをファイルして、[[create-role]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-role.html) コマンドを使用します。

------
#### [ Linux ]

      ```
      aws iam create-role \
                --role-name comprehend-role \
                --assume-role-policy-document file://path/comprehend-trust-policy.json
      ```

      コードの説明は以下のとおりです。
      + *path/* は、ローカルデバイス上の `comprehend-trust-policy.json` フォルダへのファイルパスです。

------
#### [ macOS ]

      ```
      aws iam create-role \
                --role-name comprehend-role \
                --assume-role-policy-document file://path/comprehend-trust-policy.json
      ```

      コードの説明は以下のとおりです。
      + *path/* は、ローカルデバイス上の `comprehend-trust-policy.json` フォルダへのファイルパスです。

------
#### [ Windows ]

      ```
      aws iam create-role ^
                --role-name comprehend-role ^
                --assume-role-policy-document file://path/comprehend-trust-policy.json
      ```

      コードの説明は以下のとおりです。
      + *path/* は、ローカルデバイス上の `comprehend-trust-policy.json` フォルダへのファイルパスです。

------

   1. Amazon リソースネーム (ARN) をテキストエディタにコピーし、`comprehend-role-arn` としローカルに保存します。
**注記**  
ARN は、*arn:aws:iam::123456789012:role/comprehend-role* というような形式になります。Amazon Comprehend 分析ジョブを実行するには、`comprehend-role-arn` として保存した ARN が必要になります。

1. S3 バケットへのアクセス許可を付与する IAM ポリシーを IAM ロールに作成し、アタッチするには、次の操作を行います。

   1. 次の信頼ポリシーを、ローカルデバイスのテキストエディタで `comprehend-S3-access-policy.json` という JSON ファイルとして保存します。

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

****  

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

------

   1. S3 バケットにアクセスする `comprehend-S3-access-policy` という IAM ポリシーを作成するには、[[create-policy]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/create-policy.html) コマンドを使用します。

------
#### [ Linux ]

      ```
      aws iam create-policy \
                --policy-name comprehend-S3-access-policy \
                --policy-document file://path/comprehend-S3-access-policy.json
      ```

      コードの説明は以下のとおりです。
      + *path/* は、ローカルデバイス上の `comprehend-S3-access-policy.json` フォルダへのファイルパスです。

------
#### [ macOS ]

      ```
      aws iam create-policy \
                --policy-name comprehend-S3-access-policy \
                --policy-document file://path/comprehend-S3-access-policy.json
      ```

      コードの説明は以下のとおりです。
      + *path/* は、ローカルデバイス上の `comprehend-S3-access-policy.json` フォルダへのファイルパスです。

------
#### [ Windows ]

      ```
      aws iam create-policy ^
                --policy-name comprehend-S3-access-policy ^
                --policy-document file://path/comprehend-S3-access-policy.json
      ```

      コードの説明は以下のとおりです。
      + *path/* は、ローカルデバイス上の `comprehend-S3-access-policy.json` フォルダへのファイルパスです。

------

   1. Amazon リソースネーム (ARN) をテキストエディタにコピーし、`comprehend-S3-access-arn` としローカルに保存します。
**注記**  
ARN は、*arn:aws:iam::123456789012:role/comprehend-S3-access-policy* というような形式になります。`comprehend-S3-access-policy` を IAM ロールにアタッチするには、`comprehend-S3-access-arn` として保存した ARN が必要になります。

   1. `comprehend-S3-access-policy` を IAM ロールにアタッチするには、[[attach-role-policy]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/iam/attach-role-policy.html) コマンドを使用します。

------
#### [ Linux ]

      ```
      aws iam attach-role-policy \
                --policy-arn policy-arn \
                --role-name comprehend-role
      ```

      コードの説明は以下のとおりです。
      + *policy-arn* は、`comprehend-S3-access-arn` として保存した ARN です。

------
#### [ macOS ]

      ```
      aws iam attach-role-policy \
                --policy-arn policy-arn \
                --role-name comprehend-role
      ```

      コードの説明は以下のとおりです。
      + *policy-arn* は、`comprehend-S3-access-arn` として保存した ARN です。

------
#### [ Windows ]

      ```
      aws iam attach-role-policy ^
                --policy-arn policy-arn ^
                --role-name comprehend-role
      ```

      コードの説明は以下のとおりです。
      + *policy-arn* は、`comprehend-S3-access-arn` として保存した ARN です。

------

1. Amazon Comprehend エンティティ分析ジョブを実行するには、[[start-entities-detection-job]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/comprehend/start-entities-detection-job.html) コマンドを使用します。

------
#### [ Linux ]

   ```
   aws comprehend start-entities-detection-job \
           --input-data-config S3Uri=s3://amzn-s3-demo-bucket/data/,InputFormat=ONE_DOC_PER_FILE \
           --output-data-config S3Uri=s3://amzn-s3-demo-bucket/ \
           --data-access-role-arn role-arn \
           --job-name data-entities-analysis \
           --language-code en \
           --region aws-region
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。
   + *role-arn* は、`comprehend-role-arn` として保存した ARN です。
   + *aws-region* はお客様の AWS リージョンです。

------
#### [ macOS ]

   ```
   aws comprehend start-entities-detection-job \
           --input-data-config S3Uri=s3://amzn-s3-demo-bucket/data/,InputFormat=ONE_DOC_PER_FILE \
           --output-data-config S3Uri=s3://amzn-s3-demo-bucket/ \
           --data-access-role-arn role-arn \
           --job-name data-entities-analysis \
           --language-code en \
           --region aws-region
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。
   + *role-arn* は、`comprehend-role-arn` として保存した ARN です。
   + *aws-region* はお客様の AWS リージョンです。

------
#### [ Windows ]

   ```
   aws comprehend start-entities-detection-job ^
           --input-data-config S3Uri=s3://amzn-s3-demo-bucket/data/,InputFormat=ONE_DOC_PER_FILE ^
           --output-data-config S3Uri=s3://amzn-s3-demo-bucket/ ^
           --data-access-role-arn role-arn ^
           --job-name data-entities-analysis ^
           --language-code en ^
           --region aws-region
   ```

   コードの説明は以下のとおりです。
   + amzn-s3-demo-bucket は、ご使用の S3 バケットの名前です。
   + *role-arn* は、`comprehend-role-arn` として保存した ARN です。
   + *aws-region* はお客様の AWS リージョンです。

------

1. エンティティ分析 `JobId` をコピーし、テキストエディタで `comprehend-job-id` という名前を付けて保存します。`JobId` は、エンティティ分析ジョブのステータスを追跡するのに役立ちます。

1. エンティティ分析ジョブの進行状況を追跡するには、[[describe-entities-detection-job]](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/comprehend/describe-entities-detection-job.html) コマンドを使用します。

------
#### [ Linux ]

   ```
   aws comprehend describe-entities-detection-job \
           --job-id entities-job-id \
           --region aws-region
   ```

   コードの説明は以下のとおりです。
   + *entities-job-id* は、保存した `comprehend-job-id`、
   + *aws-region* はお客様の AWS リージョンです。

------
#### [ macOS ]

   ```
   aws comprehend describe-entities-detection-job \
           --job-id entities-job-id \
           --region aws-region
   ```

   コードの説明は以下のとおりです。
   + *entities-job-id* は、保存した `comprehend-job-id`、
   + *aws-region* はお客様の AWS リージョンです。

------
#### [ Windows ]

   ```
   aws comprehend describe-entities-detection-job ^
           --job-id entities-job-id ^
           --region aws-region
   ```

   コードの説明は以下のとおりです。
   + *entities-job-id* は、保存した `comprehend-job-id`、
   + *aws-region* はお客様の AWS リージョンです。

------

`JobStatus` が `COMPLETED` に変わるまで数分かかることがあります。

このステップを完了すると、Amazon Comprehend はエンティティ分析結果を、S3 バケット内の自動生成されたフォルダ内の `output` フォルダに、`output.tar.gz` 圧縮ファイルとして保存します。分析ジョブのステータスが完了していることを確認し、次のステップに進みます。