步骤 3:在 Amazon S3 中对文档运行分析任务 - Amazon Comprehend

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

步骤 3:在 Amazon S3 中对文档运行分析任务

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

先决条件

开始之前,请执行以下操作:

分析情绪和实体

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

提示

请确保您所在的 AWS 地区支持亚马逊 Comprehend。有关更多信息,请参阅在《全球基础设施指南》中的区域表

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

运行情绪和实体分析任务(控制台)
  1. 请确保您所在的区域与 Amazon Simple Storage Service (Amazon S3) 存储桶的创建区域相同。如果您在其他区域,请在导航栏中,从 AWS 区域选择器中选择您创建 S3 存储桶的区域

  2. 打开亚马逊 Comprehend 控制台,网址为 https://console.aws.amazon.com/comprehend/

  3. 选择启动 Amazon Comprehend

  4. 在导航窗格中,选择分析任务

  5. 请选择创建任务

  6. 任务设置部分,执行以下操作:

    1. 对于名称,请输入 reviews-sentiment-analysis

    2. 分析类型中,选择情绪

    3. 语言中,选择英语

    4. 任务加密设置保留为禁用。

  7. 请在输入数据部分,执行以下操作:

    1. 数据来源中,选择我的文档

    2. S3 位置,选择浏览 S3,然后从存储桶列表中选择您的存储桶。

    3. 在您的 S3 存储桶中,对于对象,选择您的 input 文件夹。

    4. input 文件夹中,选择示例数据集 amazon-reviews.csv,然后选择选择

    5. 对于输入格式,选择每行一个文档

  8. 请在输出数据部分,执行以下操作:

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

    2. 在您的 S3 存储桶中,对于对象,选择 output 文件夹,然后选择选择

    3. 加密保持关闭状态。

  9. 访问权限部分,执行以下操作:

    1. 对于IAM角色,选择创建IAM角色

    2. 访问权限中,请选择输入和输出 S3 存储桶

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

  10. 请选择创建任务

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

    1. 任务设置中,对于名称中输入 reviews-entities-analysis

    2. 任务设置中,对于分析类型,选择实体

    3. 访问权限中,选择使用现有IAM角色。在角色名称中,选择AmazonComprehendServiceRole-comprehend-access-role(这与您为情绪任务创建的角色相同)。

您可以使用 start-sentiment-detection-jobstart-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]
  2. 提交任务后,复制 JobId 并保存到文本编辑器中。您需要使用 JobId 来查找分析任务的输出文件。

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

    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]
  4. 提交任务后,复制 JobId 并保存到文本编辑器中。

  5. 检查您的任务的状态。您可以通过跟踪其 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

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