翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
SageMaker AI Ground Truth でトレーニング PDFs に注釈を付ける前に、次の前提条件を完了してください。
-
Python3.8.x のインストール。
-
jq
のインストール -
AWS CLI のインストール
us-east-1 リージョンを使用している場合は、Python AWS 環境にインストール済みであるため、CLI のインストールをスキップできます。この場合、 AWS Cloud9 で Python 3.8 を使用する仮想環境を作成します。
-
AWS 認証情報を設定する
-
注釈をサポートするプライベート SageMaker AI Ground Truth ワークフォースを作成する
選択したワークチーム名は、インストール時に使用するので、新しいプライベートワークフォースに必ず記録してください。
環境のセットアップ
-
Windows を使用している場合は Cygwin
をインストールし、Linux または Mac の場合は、この手順をスキップします。 -
GitHub からアノテーションアーティファクト
をダウンロードします。ファイル を解凍します。 -
ターミナルウィンドウから、解凍したフォルダー ([amazon-comprehend-semi-structured-documents-annotation-tools-main) に移動します。
-
このフォルダーには、依存関係のインストール、Python virtualenv の設定、および必要なリソースのデプロイを行うために実行する
Makefiles
オプションが含まれています。readme ファイルを確認して選択してください。 -
推奨されるオプションでは、単一のコマンドを使用してすべての依存関係を virtualenv にインストールし、テンプレートから AWS CloudFormation スタックを構築し、インタラクティブなガイダンス AWS アカウント を使用してスタックを にデプロイします。次のコマンドを実行してください。
make ready-and-deploy-guided
このコマンドは一連の設定オプションを表します。 AWS リージョン が正しいことを確認してください。他のすべてのフィールドで、デフォルト値をそのまま使用するか、カスタム値を入力できます。 AWS CloudFormation スタック名を変更する場合は、次のステップで必要に応じて書き留めます。
CloudFormation スタックは、注釈ツールに必要な AWS lambdas
、AWS IAM ロール 、および AWS S3 バケット を作成および管理します。 これらの各リソースは、CloudFormation コンソールのスタック詳細ページで確認できます。
-
コマンドにより、デプロイ開始を促されます。CloudFormation は、指定されたリージョンにすべてのリソースを作成します。
CloudFormation スタックのステータスが「作成完了」に移行すると、リソースは使用可能になります。
PDF を S3 バケットにアップロードする
「セットアップ」 セクションで、CloudFormation スタックをデプロイしました。このスタックは、comprehend-semi-structured-documents-${AWS::Region}-${AWS::AccountId} という名前の S3 バケットを作成します。ソース PDF ドキュメントをこのバケットにアップロードします。
注記
このバケットには、ラベル付けジョブに必要なデータが含まれています。 Lambda 実行ロールポリシーは、このバケットへのアクセスを Lambda 関数に付与します。
S3 バケット名は、「SemiStructuredDocumentsS3Bucket」キーを使って、[CloudFormation スタックの詳細] で確認できます。
-
S3 バケットに新規フォルダを作成します。この新しいフォルダに「src」という名前を付けます。
-
PDF ソースファイルを 「src」フォルダに追加します。次の手順では、これらのファイルに注釈を付けて、レコグナイザーを訓練します。
-
(オプション) ソースドキュメントをローカルディレクトリから AWS S3 バケットにアップロードするために使用できる CLI の例を次に示します。
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
/ これで、プライベートの SageMaker AI Ground Truth ワークフォースがあり、ソースファイルを deploy-guided/src/ の S3 バケットにアップロードしました。注釈を作成する準備が整いました。
注釈ジョブの作成
bin
ディレクトリの comprehend-ssie-annotation-tool-cli.py スクリプトは、SageMaker AI Ground Truth ラベル付けジョブの作成を効率化するシンプルなラッパーコマンドです。Python スクリプトは S3 バケットからソースドキュメントを読み取り、単一ページのマニフェストファイルを作成します。これは、1 行あたり 1 つのソースドキュメントが対応します。 次に、スクリプトはマニフェストファイルを入力として必要とするラベル付けジョブを作成します。
Python スクリプトは、「セットアップ」 セクションで設定したS3 バケットと CloudFormation スタックを使用します。このスクリプトに必要な入力パラメータには以下が含まれます。
-
input-s3-path: S3 バケットにアップロードしたソースドキュメントへの S3 URI。例:
s3://deploy-guided/src/
。このパスにリージョンとアカウント ID を追加することもできます。 例:s3://deploy-guided-Region-AccountID/src/
。 -
cfn-name: CloudFormation スタックの名前。スタック名にデフォルト値を使用した場合、CFN 名は 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-namesam-app
\ --work-team-namemy-work-team-name
\ --regionus-east-1
\ --job-name-prefixmy-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 での注釈付け
必要なリソースを設定し、ラベル付けジョブを作成したら、ラベル付けポータルにログインして PDF に注釈を付けることができます。
-
Chrome または Firefox ウェブブラウザを使用して SageMaker AI コンソール
にログインします。 -
[ラベル付けワークフォース] を選択し、[プライベート] を選択します。
-
[プライベートワークフォースの概要] で、プライベートワークフォースで作成したラベリングポータルのサインイン URL を選択します。適切な認証情報を使用してサインインします。
リストにジョブが表示されなくても心配はいりません。注釈用にアップロードしたファイルの数によっては、更新に時間がかかる場合があります。
-
タスクを選択し、右上で [作業開始] を選択して注釈画面を開きます。
注釈画面でいずれかのドキュメントが開き、その上に、設定時に指定したエンティティタイプが表示されます。 エンティティタイプの右側には、ドキュメント間を移動できる矢印があります。
開いているドキュメントに注釈を付けます。また、各ドキュメントの注釈を削除、元に戻す、または自動タグ付けすることもできます。これらのオプションは注釈ツールの右側のパネルにあります。
自動タグを使用するには、エンティティのいずれかのインスタンスに注釈を付けます。その特定の単語以外のすべてのインスタンスには、そのエンティティタイプで自動的に注釈が付けられます。
完了したら、右下の [送信] を選択し、ナビゲーション矢印を使用して次のドキュメントに移動します。すべての PDF に注釈が付けられるまで、これを繰り返します。
すべてのトレーニングドキュメントに注釈を付けると、次の場所にある Amazon S3 バケットに JSON 形式の注釈が表示されます。
/output/
your labeling job name
/annotations/
出力フォルダには、トレーニングドキュメント内のすべての注釈を一覧表示する出力マニフェストファイルも含まれています。 出力マニフェストファイルは次の場所にあります。
/output/
your labeling job name
/manifests/