テキスト分析バッチ API - Amazon Comprehend Medical

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

テキスト分析バッチ API

Amazon Comprehend Medical を使用して、Amazon S3 バケットに保存されている医療テキストを分析します。1 つのバッチで最大 10 GB のドキュメントを分析します。コンソールを使用してバッチ分析ジョブを作成および管理するか、またはバッチ API を使用して保護医療情報 (PHI) などの医療エンティティを検出します。API は、継続中のバッチ分析ジョブの開始、停止、一覧表示、および説明を実行します。

バッチ分析およびその他の Amazon Comprehend Medical オペレーションの価格情報については、こちらを参照してください。

重要な注意点

Amazon Comprehend Medical のバッチ分析オペレーションは、専門家による医療の助言、診断、または治療の代用品ではありません。ユースケースに適した信頼しきい値を特定し、高い精度を必要とする状況では高い信頼しきい値を使用してください。特定のユースケースでは、適切な訓練を受けたレビュー担当者によって人的に結果を見直し、検証する必要があります。Amazon Comprehend Medical のすべてのオペレーションは、訓練を受けた医療専門家による正確さと健全な医療判断の確認後、患者ケアのシナリオでのみ使用してください。

API を使用したバッチ分析の実行

バッチ分析ジョブは、Amazon Comprehend Medical コンソールまたは Amazon Comprehend Medical バッチ API を使用して実行できます。

前提条件

Amazon Comprehend Medical API を使用する場合、AWS Identity Access and Management (IAM) ポリシーを作成し、このポリシーを IAM ロールにアタッチします。IAM ロールと信頼ポリシーの詳細については、「IAM でのポリシーとアクセス許可」を参照してください。

  1. データを S3 バケットにアップロードします。

  2. 新しい分析ジョブを開始するには、 StartEntitiesDetectionV2Job オペレーションまたは StartPHI DetectionJob オペレーションのいずれかを使用します。ジョブを開始するときに、入力ファイルが含まれた入力 S3 バケットの名前を Amazon Comprehend Medical に指定し、バッチ分析後にファイルを書き込む出力 S3 バケットを指定します。

  3. コンソール、 DescribeEntitiesDetectionV2Job オペレーション、または DescribePHI DetectionJob オペレーションを使用して、ジョブの進行状況をモニタリングします。さらに、 ListEntitiesDetectionV2Jobs と ListPHIDetectionJobs を使用すると、バッチ分析ジョブをリンクするすべてのオントロジーのステータスを確認できます。

  4. 進行中のジョブを停止する必要がある場合は、 StopEntitiesDetectionV2Job または StopPHI DetectionJob を使用して分析を停止します。

  5. 分析ジョブの結果を表示するには、ジョブの開始時に設定した出力 S3 バケットを確認します。

コンソールを使用したバッチ分析の実行

  1. データを S3 バケットにアップロードします。

  2. 新しい分析ジョブを開始するには、実行する分析のタイプを選択します。入力ファイルが含まれる S3 バケットの名前と、出力ファイルを送信する S3 バケットの名前を指定します。

  3. 進行中のジョブのステータスを監視します。コンソールから、分析の開始日と終了日など、すべてのバッチ分析オペレーションとそのステータスを表示できます。

  4. 分析ジョブの結果を表示するには、ジョブの開始時に設定した出力 S3 バケットを確認します。

バッチオペレーションの IAM ポリシー

Amazon Comprehend Medical バッチ API を呼び出す IAM ロールには、入力ファイルと出力ファイルが含まれる S3 バケットへのアクセス権を付与するポリシーが必要です。Amazon Comprehend Medical サービスがロールを引き受けることができるようにする信頼関係も割り当てる必要があります。IAM ロールと信頼ポリシーの詳細については、「IAM ロール」を参照してください。

ロールには、以下のポリシーが必要です。

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::input-bucket/*" ], "Effect": "Allow" }, { "Action": [ "s3:ListBucket" ], "Resource": [ "arn:aws:s3:::input-bucket", "arn:aws:s3:::output-bucket", ], "Effect": "Allow" }, { "Action": [ "s3:PutObject" ], "Resource": [ " arn:aws:s3:::output-bucket/*" ], "Effect": "Allow" } ] }

ロールには、以下の信頼関係が必要です。混乱した代理によるセキュリティの問題を防ぐために aws:SourceAccount および aws:SourceArn 条件キーを使用することをお勧めします。混乱した代理問題と AWS アカウントを保護する方法の詳細については、IAM ドキュメントの「混乱した代理問題」を参照してください。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Principal":{ "Service":[ "comprehendmedical.amazonaws.com" ] }, "Action":"sts:AssumeRole", "Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:comprehendmedical:region:account_id:*" } } } ] }

バッチ分析の出力ファイル

Amazon Comprehend Medical は、バッチ内の入力ファイルごとに 1 つの出力ファイルを作成します。ファイルの拡張子は .out です。Amazon Comprehend Medical は、まず AwsAccountId-JobType-JobId を名前として使用して出力 S3 バケットにディレクトリを作成し、バッチのすべての出力ファイルをこのディレクトリに書き込みます。Amazon Comprehend Medical は、ジョブの出力が別のジョブの出力を上書きしないように、この新しいディレクトリを作成します。

バッチオペレーションの出力では、同期オペレーションと同じ出力が生成されます。Amazon Comprehend Medical によって生成される出力の例については、「エンティティの検出 (バージョン 2)」を参照してください。

バッチオペレーションごとに、ジョブに関する情報が含まれた 3 つのマニフェストファイルが生成されます。

  • Manifest — ジョブを要約します。ジョブに使用されたパラメータ、ジョブの合計サイズ、および処理されたファイル数に関する情報を提供します。

  • success — 処理が成功したファイルに関する情報を提供します。入力ファイル名と出力ファイル名、および入力ファイルのサイズが含まれます。

  • unprocessed – バッチジョブで処理されなかったファイルをリスト表示します。ファイルごとのエラーコードとエラーメッセージも含まれます。

Amazon Comprehend Medical は、バッチジョブ用に指定された出力ディレクトリにこれらのファイルを書き込みます。概要マニフェストファイルは、Manifest_AccountId-Operation-JobId というタイトルのフォルダと共に出力フォルダに書き込まれます。マニフェストフォルダ内には、成功マニフェストを含む success フォルダがあります。また、未処理のファイルマニフェストを含む failed フォルダも含まれます。以降のセクションでは、マニフェストファイルの構造を示します。

バッチのマニフェストファイル

以下に、バッチのマニフェストファイルの JSON 構造を示します。

{"Summary" : {"Status" : "COMPLETED | FAILED | PARTIAL_SUCCESS | STOPPED", "JobType" : "EntitiesDetection | PHIDetection", "InputDataConfiguration" : { "Bucket" : "input bucket", "Path" : "path to files/account ID-job type-job ID" }, "OutputDataConfiguration" : { "Bucket" : "output bucket", "Path" : "path to files" }, "InputFileCount" : number of files in input bucket, "TotalMeteredCharacters" : total characters processed from all files, "UnprocessedFilesCount" : number of files not processed, "SuccessFilesCount" : total number of files processed, "TotalDurationSeconds" : time required for processing, "SuccessfulFilesListLocation" : "path to file", "UnprocessedFilesListLocation" : "path to file", "FailedJobErrorMessage": "error message or if not applicable, The status of the job is completed" } }

成功のマニフェストファイル

以下に、処理が成功したファイルに関する情報が含まれたファイルの JSON 構造を示します。

{ "Files": [{ "Input": "input path/input file name", "Output": "output path/output file name", "InputSize": size in bytes of input file }, { "Input": "input path/input file name", "Output": "output path/output file name", "InputSize": size in bytes of input file }] }

未処理のマニフェストファイル

以下に、未処理のファイルに関する情報が含まれたマニフェストファイルの JSON 構造を示します。

{ "Files" : [ { "Input": "file_name_that_failed", "ErrorCode": "error code for exception", "ErrorMessage": "explanation of the error code and suggestions" }, { ...} ] }