步驟 2:在 Amazon Comprehend 上執行實體分析任務 - Amazon Kendra

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

步驟 2:在 Amazon Comprehend 上執行實體分析任務

將範例資料集儲存在 S3 儲存貯體之後,您會執行 Amazon Comprehend 實體分析任務,以從您的文件中擷取實體。這些實體將形成 Amazon Kendra 自訂屬性,並協助您篩選索引上的搜尋結果。如需詳細資訊,請參閱偵測實體

執行 Amazon Comprehend 實體分析任務

若要從資料集擷取實體,請執行 Amazon Comprehend 實體分析任務。

如果您在此步驟中使用 AWS CLI,請先建立並連接 AWS Amazon Comprehend 的 IAM 角色和政策,然後執行實體分析任務。若要對範例資料執行實體分析任務,Amazon Comprehend 需要:

  • a AWS Identity and Access Management (IAM) 角色將其識別為信任的實體

  • 連接至 AWS IAM 角色的 IAM 政策,授予其存取 S3 儲存貯體的許可

如需詳細資訊,請參閱 Amazon Comprehend 如何使用 IAM 和 Amazon Comprehend 的身分型政策

  1. 開啟位於 https://https://console.aws.amazon.com/comprehend/ 的 Amazon Comprehend 主控台。

    重要

    請確定您位於建立 Amazon S3 儲存貯體的相同區域。如果您位於另一個區域,請從頂端導覽列的區域選取器中選擇 AWS 您建立 S3 儲存貯體的區域。

  2. 選擇啟動 Amazon Comprehend

  3. 在左側導覽窗格中,選擇分析任務

  4. 選擇建立作業

  5. 任務設定區段中,執行下列動作:

    1. 對於名稱,輸入 data-entities-analysis

    2. 針對分析類型,選擇實體

    3. 針對語言,選擇英文

    4. 保持關閉任務加密

  6. 輸入資料區段中,執行下列動作:

    1. 針對資料來源,選擇我的文件

    2. 針對 S3 位置,選擇瀏覽 S3

    3. 針對選擇資源,從儲存貯體清單中按一下儲存貯體的名稱。

    4. 針對物件,選取 的選項按鈕data,然後選擇選擇

    5. 對於輸入格式,請選擇每個檔案一個文件

  7. 輸出資料區段中,執行下列動作:

    1. 對於 S3 位置,選擇瀏覽 S3,然後從儲存貯體清單中選擇儲存貯體的選項方塊,然後選擇選擇

    2. 保持關閉加密

  8. 存取許可區段中,執行下列動作:

    1. 針對 IAM 角色,選擇建立 IAM 角色

    2. 針對存取許可,選擇輸入和輸出 S3 儲存貯體

    3. 對於名稱尾碼,輸入 comprehend-role。此角色可讓您存取 Amazon S3 儲存貯體。

  9. 保留預設 VPC 設定

  10. 選擇建立作業

  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" } ] }
    2. 若要建立名為 的 IAM 角色,comprehend-role並將儲存comprehend-trust-policy.json的檔案連接至該角色,請使用 create-role 命令:

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

      其中:

      • path/comprehend-trust-policy.json本機裝置上的 的 filepath。

      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本機裝置上的 的檔案路徑。

    3. 將 Amazon Resource Name (ARN) 複製到文字編輯器,並將其儲存為 comprehend-role-arn

      注意

      ARN 的格式類似於 arn:aws:iam::123456789012:role/comprehend-role。您需要儲存為 的 ARN comprehend-role-arn才能執行 Amazon Comprehend 分析任務。

  2. 若要建立 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" } ] }
    2. 若要建立名為 的 IAM 政策comprehend-S3-access-policy來存取 S3 儲存貯體,請使用 create-policy 命令:

      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本機裝置上的 的 filepath。

      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本機裝置上的 的 filepath。

      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本機裝置上的 的 filepath。

    3. 將 Amazon Resource Name (ARN) 複製到文字編輯器,並將其儲存為 comprehend-S3-access-arn

      注意

      ARN 的格式類似於 arn:aws:iam::123456789012:role/comprehend-S3-access-policy。您需要儲存為 的 ARNcomprehend-S3-access-arn,才能將 comprehend-S3-access-policy 連接至 IAM 角色。

    4. 若要將 comprehend-S3-access-policy連接至您的 IAM 角色,請使用 attach-role-policy 命令:

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

      其中:

      • policy-arn 是您儲存為 的 ARNcomprehend-S3-access-arn

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

      其中:

      • policy-arn 是您儲存為 的 ARNcomprehend-S3-access-arn

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

      其中:

      • policy-arn 是您儲存為 的 ARNcomprehend-S3-access-arn

  3. 若要執行 Amazon Comprehend 實體分析任務,請使用 start-entities-detection-job 命令:

    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 是您儲存為 的 ARNcomprehend-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 是您儲存為 的 ARNcomprehend-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 是您儲存為 的 ARNcomprehend-role-arn

    • aws-region 是您的 AWS 區域。

  4. 複製實體分析並將其JobId儲存在文字編輯器中,做為 comprehend-job-idJobId 可協助您追蹤實體分析任務的狀態。

  5. 若要追蹤實體分析任務的進度,請使用 describe-entities-detection-job 命令:

    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 資料夾中。在繼續下一個步驟之前,請確定您的分析任務狀態已完成。