

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

# 步骤 3：在 Amazon S3 中对文档运行分析任务
<a name="tutorial-reviews-analysis"></a>

将数据存储到 Amazon S3 以后，您可以开始运行 Amazon Comprehend 分析任务。*情绪*分析任务确定文档的整体情绪（积极、消极、中性、或混合）。*实体*分析任务从文档中提取真实世界对象的名称。这些对象包括人物、地点、标题、事件、日期、数量、产品和组织。在此步骤中，您将运行两个 Amazon Comprehend 分析任务，从示例数据集中提取情绪和实体。

**Topics**
+ [先决条件](#tutorial-reviews-analysis-prereqs)
+ [分析情绪和实体](#tutorial-reviews-analysis-jobs)

## 先决条件
<a name="tutorial-reviews-analysis-prereqs"></a>

开始之前，请执行以下操作：
+ 完成 [步骤 1：向 Amazon S3 添加文档](tutorial-reviews-add-docs.md)。
+ （可选）如果您正在使用 AWS CLI，请填写[步骤 2：（仅限 CLI）为 Amazon Comprehend 创建 IAM 角色](tutorial-reviews-create-role.md)并准备好您的 IAM 角色 ARN。

## 分析情绪和实体
<a name="tutorial-reviews-analysis-jobs"></a>

您运行的第一项任务将分析示例数据集中每条客户评论的情绪。第二项工作提取每条客户评论中的实体。您可以使用 Amazon Comprehend 控制台或 AWS CLI。

**提示**  
请确保您所在的 AWS 地区支持亚马逊 Comprehend。有关更多信息，请参阅在《*全球基础设施指南*》中的[区域表](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)。

### 分析情绪和实体（控制台）
<a name="tutorial-reviews-analysis-jobs-console"></a>

使用 Amazon Comprehend 控制台时，您一次只能创建一个任务。您需要重复以下步骤才能同时运行情绪和实体分析任务。请注意，对于第一个任务，您需要创建一个 IAM 角色，但对于第二个任务，您可以重复使用第一个任务的 IAM 角色。只要您使用相同的 S3 存储桶和文件夹，就可以重复使用 IAM 角色。

**运行情绪和实体分析任务（控制台）**

1. 请确保您所在的区域与 Amazon Simple Storage Service (Amazon S3) 存储桶的创建区域相同。如果您在其他区域，请在导航栏中，从 AWS 区域选择**器中选择您创建 S3 存储桶的区域**。

1. 打开亚马逊 Comprehend 控制台，网址为 [https://console.aws.amazon.com/comprehend/](https://console.aws.amazon.com/comprehend/)

1. 选择**启动 Amazon Comprehend**。

1. 在导航窗格中，选择**分析任务**。

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

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

   1. 对于**名称**，请输入 `reviews-sentiment-analysis`。

   1. 在**分析类型**中，选择**情绪**。

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

   1. 将**任务加密**设置保留为禁用。

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

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

   1. 在 **S3 位置**，选择**浏览 S3**，然后从存储桶列表中选择您的存储桶。

   1. 在您的 S3 存储桶中，对于**对象**，选择您的 `input` 文件夹。

   1. 在 `input` 文件夹中，选择示例数据集 `amazon-reviews.csv`，然后选择**选择**。

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

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

   1. 在 **S3 位置**，选择**浏览 S3**，然后从存储桶列表中选择您的存储桶。

   1. 在您的 S3 存储桶中，对于**对象**，选择 `output` 文件夹，然后选择**选择**。

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

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

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

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

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

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

1. 重复步骤 1 - 10 创建实体分析任务。进行以下更改：

   1. 在**任务设置**中，对于**名称**中输入 `reviews-entities-analysis`。

   1. 在**任务设置**中，对于**分析类型**，选择**实体**。

   1. 在**访问权限**下，选择**使用现有 IAM 角色**。在**角色名称**中，选择`AmazonComprehendServiceRole-comprehend-access-role`（这与您为情绪任务创建的角色相同）。

### 分析情绪和实体 (AWS CLI)
<a name="tutorial-reviews-analysis-jobs-cli"></a>

您可以使用 `start-sentiment-detection-job` 和 `start-entities-detection-job` 命令来运行情绪和实体分析任务。运行每条命令后，会 AWS CLI 显示一个 JSON 对象，其`JobId`值允许您访问有关任务的详细信息，包括输出 S3 位置。

**运行情绪和实体分析作业 (AWS CLI)**

1. 通过在 AWS CLI中运行以下命令启动情绪分析任务。将 `arn:aws:iam::123456789012:role/comprehend-access-role` 替换为您之前复制到文本编辑器的 IAM 角色 ARN。如果您的默认 AWS CLI 区域与您创建 Amazon S3 存储桶时所在的区域不同，请添加`--region`参数并`us-east-1`替换为存储桶所在的区域。

   ```
   aws comprehend start-sentiment-detection-job 
   --input-data-config S3Uri=s3://amzn-s3-demo-bucket/input/
   --output-data-config S3Uri=s3://amzn-s3-demo-bucket/output/ 
   --data-access-role-arn arn:aws:iam::123456789012:role/comprehend-access-role
   --job-name reviews-sentiment-analysis
   --language-code en
   [--region us-east-1]
   ```

1. 提交任务后，复制 `JobId` 并保存到文本编辑器中。您需要使用 `JobId` 来查找分析任务的输出文件。

1. 通过运行以下命令启动实体分析任务。

   ```
   aws comprehend start-entities-detection-job 
   --input-data-config S3Uri=s3://amzn-s3-demo-bucket/input/
   --output-data-config S3Uri=s3://amzn-s3-demo-bucket/output/ 
   --data-access-role-arn arn:aws:iam::123456789012:role/comprehend-access-role
   --job-name reviews-entities-analysis
   --language-code en
   [--region us-east-1]
   ```

1. 提交任务后，复制 `JobId` 并保存到文本编辑器中。

1. 检查您的任务的状态。您可以通过跟踪其 `JobId` 来查看任务的进度。

   要跟踪您的情绪分析任务，请运行以下命令。将 `sentiment-job-id` 替换为在运行情绪分析后复制的 `JobId`。

   ```
   aws comprehend describe-sentiment-detection-job
   --job-id sentiment-job-id
   ```

   要跟踪您的实体分析任务，请运行以下命令。将 `entities-job-id` 替换为在运行实体分析后复制的 `JobId`。

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

   `JobStatus` 需要几分钟才能显示为 `COMPLETED`。

您已经完成了情绪和实体分析任务。应先完成这两项任务，然后再继续下一步。可能需要几分钟时间完成任务。