

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

# 註釋 PDF 檔案
<a name="cer-annotation-pdf"></a>

在 SageMaker AI Ground Truth 中註釋訓練 PDFs 之前，請先完成下列先決條件：
+ 安裝 python3.8.x
+ 安裝 [ jq](https://stedolan.github.io/jq/download/)
+ 安裝 [AWS CLI](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html)

  如果您使用的是 us-east-1 區域，則可以略過安裝 AWS CLI，因為它已與您的 Python 環境一起安裝。在此情況下，您會建立虛擬環境以在 Cloud9 中使用 AWS Python 3.8。
+ 設定您的[AWS 登入](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-files.html)資料
+ 建立私有 [SageMaker AI Ground Truth 人力資源](https://docs.aws.amazon.com/sagemaker/latest/dg/sms-workforce-private-use-cognito.html)以支援註釋

  在安裝期間使用工作團隊時，請務必在新的私有人力資源中記錄您選擇的工作團隊名稱。

**Topics**
+ [設定您的環境](#cer-annotation-pdf-set-up)
+ [將 PDF 上傳至 S3 儲存貯體](#cer-annotation-pdf-upload)
+ [建立註釋任務](#cer-annotation-pdf-job)
+ [使用 SageMaker AI Ground Truth 註釋](#w2aac35c23c21c19c15)

## 設定您的環境
<a name="cer-annotation-pdf-set-up"></a>

1. 如果使用 Windows，請安裝 [Cygwin](https://cygwin.com/install.html)；如果使用 Linux 或 Mac，請略過此步驟。

1. 從 GitHub 下載[註釋成品](http://github.com/aws-samples/amazon-comprehend-semi-structured-documents-annotation-tools)。解壓縮檔案。

1. 從終端機視窗中，導覽至解壓縮資料夾 (**amazon-comprehend-semi-structured-documents-annotation-tools-main**)。

1. 此資料夾包含您執行`Makefiles`以安裝相依性、設定 Python virtualenv 和部署所需資源的 選項。檢閱**讀我**檔案以做出您的選擇。

1. 建議選項使用單一命令將所有相依性安裝到 Virtualenv 中，從範本建置 CloudFormation 堆疊，並使用 AWS 帳戶 互動式指導將堆疊部署到 。執行以下命令：

   `make ready-and-deploy-guided`

   此命令提供一組組態選項。請確定您的 AWS 區域 正確無誤。對於所有其他欄位，您可以接受預設值或填入自訂值。如果您修改 CloudFormation 堆疊名稱，請在後續步驟中視需要將其寫下來。  
![\[顯示 CloudFormation 組態選項的終端機工作階段。\]](http://docs.aws.amazon.com/zh_tw/comprehend/latest/dg/images/deploy_guided_anno.png)

   CloudFormation 堆疊會建立和管理註釋工具所需的 [AWS lambda](https://aws.amazon.com/lambda/)、[AWS IAM](https://aws.amazon.com/iam/) 角色和 [AWS S3](https://aws.amazon.com/s3/) 儲存貯體。

   您可以在 CloudFormation 主控台的堆疊詳細資訊頁面中檢閱這些資源。

1. 命令會提示您開始部署。CloudFormation 會在指定的區域中建立所有資源。  
![\[顯示已部署 CloudFormation 組態的終端機工作階段。\]](http://docs.aws.amazon.com/zh_tw/comprehend/latest/dg/images/deploy_guided_anno_2.png)

   當 CloudFormation 堆疊狀態轉換為 create-complete 時，資源即可使用。

## 將 PDF 上傳至 S3 儲存貯體
<a name="cer-annotation-pdf-upload"></a>

在[設定](#cer-annotation-pdf-set-up)區段中，您部署了 CloudFormation 堆疊，該堆疊會建立名為 **comprehend-semi-structured-documents-\$1\$1AWS：：Region\$1-\$1\$1AWS：：AccountId\$1** 的 S3 儲存貯體。您現在將來源 PDF 文件上傳至此儲存貯體。

**注意**  
此儲存貯體包含標籤工作所需的資料。Lambda 執行角色政策會授予 Lambda 函數存取此儲存貯體的許可。  
您可以使用 S3Bucket' 金鑰，在 **CloudFormation Stack 詳細資訊**中找到 S3 儲存貯體名稱。**SemiStructuredDocumentsS3Bucket**

1. 在 S3 儲存貯體中建立新的資料夾。將此新資料夾命名為 '**src**'。

1. 將 PDF 來源檔案新增至您的 '**src**' 資料夾。在後續步驟中，您會註釋這些檔案來訓練您的辨識器。

1. （選用） 以下 CLI AWS 範例可用來將來源文件從本機目錄上傳至 S3 儲存貯體：

   `aws s3 cp --recursive local-path-to-your-source-docs s3://deploy-guided/src/`

   或者，使用您的區域和帳戶 ID：

   `aws s3 cp --recursive local-path-to-your-source-docs s3://deploy-guided-Region-AccountID/src/`

1. 您現在擁有私有 SageMaker AI Ground Truth 人力資源，並將來源檔案上傳至 S3 儲存貯體 **deploy-guided/src/**；您已準備好開始註釋。

## 建立註釋任務
<a name="cer-annotation-pdf-job"></a>

`bin` 目錄中的 **comprehend-ssie-annotation-tool-cli.py** 指令碼是一種簡單的包裝函式命令，可簡化 SageMaker AI Ground Truth 標籤工作的建立。python 指令碼會從 S3 儲存貯體讀取來源文件，並建立對應的單一頁面資訊清單檔案，每行一個來源文件。然後指令碼會建立標記任務，需要資訊清單檔案做為輸入。

python 指令碼使用您在[設定](#cer-annotation-pdf-set-up)區段中設定的 S3 儲存貯體和 CloudFormation 堆疊。指令碼所需的輸入參數包括：
+ **input-s3-path**：S3 Uri 到您上傳到 S3 儲存貯體的來源文件。例如：`s3://deploy-guided/src/`。您也可以將您的區域和帳戶 ID 新增至此路徑。例如：`s3://deploy-guided-Region-AccountID/src/`。
+ **cfn-name**：CloudFormation 堆疊名稱。如果您使用堆疊名稱的預設值，您的 cfn-name 是 **sam-app**。
+ **work-team-name**：您在 SageMaker AI Ground Truth 中建置私有人力資源時建立的人力資源名稱。
+ **job-name-prefix**：SageMaker AI Ground Truth 標籤工作的字首。請注意，此欄位有 29 個字元的限制。時間戳記會附加至此值。例如：`my-job-name-20210902T232116`。
+ entity**-types**：您希望在標記任務期間使用的實體，以逗號分隔。此清單必須包含您要在訓練資料集中註釋的所有實體。Ground Truth 標記任務只會顯示這些實體，以供註釋器在 PDF 文件中標記內容。

若要檢視指令碼支援的其他引數，請使用 `-h`選項來顯示說明內容。
+ 使用輸入參數執行下列指令碼，如上一份清單所述。

  ```
  python bin/comprehend-ssie-annotation-tool-cli.py \
  --input-s3-path s3://deploy-guided-Region-AccountID/src/ \
  --cfn-name sam-app \
  --work-team-name my-work-team-name \
  --region us-east-1 \
  --job-name-prefix my-job-name-20210902T232116 \
  --entity-types "EntityA, EntityB, EntityC" \
  --annotator-metadata "key=info,value=sample,key=Due Date,value=12/12/2021"
  ```

  指令碼會產生下列輸出：

  ```
  Downloaded files to temp local directory /tmp/a1dc0c47-0f8c-42eb-9033-74a988ccc5aa
  Deleted downloaded temp files from /tmp/a1dc0c47-0f8c-42eb-9033-74a988ccc5aa
  Uploaded input manifest file to s3://comprehend-semi-structured-documents-us-west-2-123456789012/input-manifest/my-job-name-20220203-labeling-job-20220203T183118.manifest
  Uploaded schema file to s3://comprehend-semi-structured-documents-us-west-2-123456789012/comprehend-semi-structured-docs-ui-template/my-job-name-20220203-labeling-job-20220203T183118/ui-template/schema.json
  Uploaded template UI to s3://comprehend-semi-structured-documents-us-west-2-123456789012/comprehend-semi-structured-docs-ui-template/my-job-name-20220203-labeling-job-20220203T183118/ui-template/template-2021-04-15.liquid
  Sagemaker GroundTruth Labeling Job submitted: arn:aws:sagemaker:us-west-2:123456789012:labeling-job/my-job-name-20220203-labeling-job-20220203t183118
  (amazon-comprehend-semi-structured-documents-annotation-tools-main) user@3c063014d632 amazon-comprehend-semi-structured-documents-annotation-tools-main %
  ```

## 使用 SageMaker AI Ground Truth 註釋
<a name="w2aac35c23c21c19c15"></a>

現在您已設定必要的資源並建立標籤工作，您可以登入標籤入口網站並註釋 PDFs。

1. 使用 Chrome 或 Firefox Web 瀏覽器登入 [SageMaker AI 主控台](https://console.aws.amazon.com/sagemaker)。

1. 選取**標記人力資源**，然後選擇**私有**。

1. 在**私有人力資源摘要**下，選取您使用私有人力資源建立的標記入口網站登入 URL。使用適當的登入資料登入。

   如果您沒有看到任何列出的任務，請不要擔心，更新可能需要一些時間，具體取決於您上傳用於註釋的檔案數量。

1. 選取您的任務，然後在右上角選擇**開始工作**以開啟註釋畫面。

   您會在註釋畫面中看到其中一個文件開啟，並在上面看到您在設定期間提供的實體類型。在實體類型右側有一個箭頭，您可以用來導覽文件。  
![\[Amazon Comprehend 註釋畫面。\]](http://docs.aws.amazon.com/zh_tw/comprehend/latest/dg/images/annotation_demo1.png)

   註釋開啟的文件。您也可以在每個文件上移除、復原或自動標記註釋；這些選項可在註釋工具的右側面板中使用。  
![\[Amazon Comprehend 註釋右側面板中的可用選項。\]](http://docs.aws.amazon.com/zh_tw/comprehend/latest/dg/images/data_annotation.png)

   若要使用自動標籤，請為其中一個實體的執行個體加上註釋；然後，該特定字詞的所有其他執行個體都會自動以該實體類型加上註釋。

   完成後，請選取右下角的**提交**，然後使用導覽箭頭移至下一個文件。重複此操作，直到您已註釋所有 PDFs 為止。

註釋所有訓練文件後，您可以在此位置的 Amazon S3 儲存貯體中找到 JSON 格式的註釋：

```
/output/your labeling job name/annotations/
```

輸出資料夾也包含輸出資訊清單檔案，其中列出訓練文件中的所有註釋。您可以在下列位置找到輸出資訊清單檔案。

```
/output/your labeling job name/manifests/
```