

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

# 步骤 2：在 Amazon Comprehend 上运行实体分析任务 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) 角色
+ 附加到 AWS IAM 角色的 IAM 策略，该策略授予其访问您的 S3 存储桶的权限

有关更多信息，请参阅[如何将 Amazon Comprehend 与 IAM 配合使用](https://docs.aws.amazon.com/comprehend/latest/dg/security_iam_service-with-iam.html)和[适用于 Amazon Comprehend 的基于身份的策略](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. 选择**启动 Amazon Comprehend**。

1.  在左侧导航窗格中，选择**分析作业**。

1.  请选择**创建任务**。

1. 在**任务设置**部分，执行以下操作：

   1.  对于**名称**，请输入 **data-entities-analysis**。

   1. 对于**分析类型**，选择**实体**。

   1. 在**语言**中，选择**英语**。

   1. 保持**作业加密**处于关闭状态。

1. 请在**输入数据**部分，执行以下操作：

   1. 在**数据来源**中，选择**我的文档**。

   1. 对于 **S3 位置**，选择**浏览 S3**。

   1. 在**选择资源**中，从存储桶列表中单击存储桶的名称。

   1. 对于**对象**，选择 `data` 的选项按钮，然后单击**选择**。

   1. 对于**输入格式**，选择**每行一个文档**。

1. 请在**输出数据**部分，执行以下操作：

   1. 对于 **S3 位置**，选择**浏览 S3**，然后从存储桶列表中选择存储桶的选项框并单击**选择**。

   1. 保持**加密**处于关闭状态。

1. 在**访问权限**部分，执行以下操作：

   1. 对于 **IAM 角色**，选择**创建 IAM 角色**。

   1. 在**访问权限**中，请选择**输入和输出 S3 存储桶**。

   1. 在**名称后缀**中，输入 **comprehend-role**。该角色提供对 Amazon S3 存储桶的访问权限。

1. 保持默认的 **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 Resource Name（ARN）复制到您的文本编辑器中，并将其作为 `comprehend-role-arn` 保存到本地。
**注意**  
ARN 具有类似于 *arn:aws:iam::123456789012:role/comprehend-role* 的格式。您需要保存的 `comprehend-role-arn` 的 ARN 才能运行 Amazon Comprehend 分析任务。

1. 要创建 IAM 策略并将其附加到您的 IAM 角色以授予其访问您的 S3 存储桶的权限，请执行以下操作：

   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. 要创建名为 `comprehend-S3-access-policy` 的 IAM 策略以访问您的 S3 存储桶，请使用 [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 Resource Name（ARN）复制到您的文本编辑器中，并将其作为 `comprehend-S3-access-arn` 保存到本地。
**注意**  
ARN 具有类似于 *arn:aws:iam::123456789012:role/comprehend-S3-access-policy* 的格式。您需要保存的 ARN 才能将 `comprehend-S3-access-arn` 附加到您的 `comprehend-S3-access-policy` IAM 角色。

   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*是您另存为的 ARN。`comprehend-S3-access-arn`

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

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

      其中：
      + *policy-arn*是您另存为的 ARN。`comprehend-S3-access-arn`

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

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

      其中：
      + *policy-arn*是您另存为的 ARN。`comprehend-S3-access-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*是你保存的 ARN，`comprehend-role-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*是你保存的 ARN，`comprehend-role-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*是你保存的 ARN，`comprehend-role-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 将实体分析结果作为压缩的 `output.tar.gz` 文件存储在 S3 存储桶中自动生成的文件夹内的 `output` 文件夹中。确保您的分析作业状态已完成，然后再继续下一步。