ステップ 3: Amazon S3 上のドキュメントに対する分析ジョブの実行 - Amazon Comprehend

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

ステップ 3: Amazon S3 上のドキュメントに対する分析ジョブの実行

Amazon S3 にデータを保存すると、Amazon Comprehend 分析ジョブの実行を開始することができます。感情分析ジョブでは、ドキュメントの全体的な雰囲気 (肯定的、否定的、中立、混在) が判定されます。エンティティ分析ジョブでは、ドキュメントから現実世界のオブジェクトの名前が抽出されます。そうしたオブジェクトとして、人物や場所、役職、イベント、日付、数量、商品、組織などがあります。このステップでは、2 つの Amazon Comprehend 分析ジョブを実行して、サンプルデータセットから感情とエンティティを抽出します。

前提条件

開始する前に、以下を実行します。

感情とエンティティを分析する

最初のジョブでは、サンプルデータセット内の各カスタマーレビューの感情を分析します。2 つ目のジョブでは、各カスタマーレビューのエンティティを抽出します。Amazon Comprehend の分析ジョブは、Amazon Comprehend コンソールまたは AWS CLIを使用して実行できます。

ヒント

Amazon Comprehend をサポートする AWS リージョンにいることを確認します。詳細については、『グローバルインフラストラクチャガイド』の「リージョン」の表を参照してください。

Amazon Comprehend コンソールを利用すると、一度に 1 つのジョブを作成します。感情分析ジョブとエンティティ分析ジョブの両方を実行するには、次の手順を繰り返す必要があります。最初のジョブでは IAM ロールを作成しますが、2 つ目のジョブでは最初のジョブの IAM ロールを再利用できます。IAM ロールは、同じ S3 バケットとフォルダを使用する限り再利用できます。

感情分析ジョブとエンティティ分析ジョブを実行する (コンソール)
  1. Amazon Simple Storage Service (Amazon S3) バケットを作成したリージョンと同じリージョンにいることを確認します。別のリージョンにいる場合は、ナビゲーションバーで、 AWS リージョンセレクタ から S3 バケットを作成したリージョンを選択します。

  2. Amazon Comprehend コンソール (https://console.aws.amazon.com/comprehend/) を開きます。

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

  4. ナビゲーションペインで、[分析ジョブ]] を選択します。

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

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

    1. [Name] (名前)に reviews-sentiment-analysis と入力します。

    2. 分析タイプで、時系列 を選択します。

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

    4. [Job 暗号化] 設定は無効のままにしておきます。

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

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

    2. [S3 上の場所]で、[S3 を参照]を選択し、バケットのリストからバケットを選択します。

    3. S3 バケットの [オブジェクト] で、input フォルダを選択します。

    4. input フォルダでサンプルデータセット amazon-reviews.csv を選択し、[選択] を選択します。

    5. [入力形式]で、[ファイルあたり 1 つのドキュメント]を選択します。

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

    1. [S3 上の場所]で、[S3 を参照]を選択し、バケットのリストからバケットを選択します。

    2. S3 バケットの [オブジェクト] で、output フォルダを選択し、[選択] を選択します。

    3. [暗号化] は無効のままにしておきます。

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

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

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

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

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

  11. ステップ 1 ~ 10 を繰り返して、エンティティ分析ジョブを作成します。以下の変更を加えます。

    1. [Job 設定][名前]reviews-entities-analysis と入力します。

    2. [Job 設定][分析タイプ][エンティティ] を選択します。

    3. [アクセス許可] で、[既存の IAM ロールを使用] を選択します。[ロール名] では、AmazonComprehendServiceRole-comprehend-access-role (感情ジョブ用に作成したロールと同じロール) を選択します。

感情分析ジョブとエンティティ分析ジョブの実行には、start-sentiment-detection-job および start-entities-detection-job コマンドを利用します。各コマンドを実行すると、 は出力 S3 の場所など、ジョブの詳細にアクセスできるJobId値を持つ JSON オブジェクト AWS CLI を表示します。

感情分析ジョブとエンティティ分析ジョブを実行するには (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://DOC-EXAMPLE-BUCKET/input/ --output-data-config S3Uri=s3://DOC-EXAMPLE-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://DOC-EXAMPLE-BUCKET/input/ --output-data-config S3Uri=s3://DOC-EXAMPLE-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

    JobStatusCOMPLETED と表示されるまで、数分かかります。

感情とエンティティの分析ジョブが完了しました。次のステップに進むには、両方のジョブを完了している必要があります。ジョブが完了するまでに数分かかることがあります。