文字分析批次 API - Amazon Comprehend Medical

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

文字分析批次 API

使用 Amazon Comprehend Medical 分析存放在 Amazon S3 儲存貯體中的醫療文字。在一個批次中分析最多 10 GB 的文件。您可以使用主控台建立和管理批次分析任務,或使用批次 API 偵測醫療實體,包括受保護的健康資訊 (PHI)。API 會啟動、停止、列出和描述進行中的批次分析工作。

您可以在這裡找到批次分析和其他 Amazon Comprehend Medical 作業的定價資訊。

重要通知

Amazon Comprehend Medical 療的批次分析操作不能替代專業的醫療建議、診斷或治療。確認使用案例的相關可信度閾值,並在需要高準確性的情況下使用高可信度閾值。用於特定使用案例時,這些結果應由受過適當訓練的審查員進行審查和驗證。Amazon Comprehend Medical 的所有操作只能在病患照護案例中使用,以確保受過訓練的醫療專業人員進行準確性和合理的醫療判斷。

使用 API 執行批次分析

您可以使用亞馬遜醫療主控台或亞馬遜醫療 Batch API 執行批次分析任務。

先決條件

當您使用 Amazon Comprehend Medical API 時,請建立 AWS Identity 存取和管理 (IAM) 政策,並將其附加到 IAM 角色。若要進一步了解 IAM 角色和信任政策,請參閱 IAM 政策和許可。

  1. 將您的資料上傳到 S3 儲存貯體。

  2. 若要啟動新的分析工作,請使用 StartEntitiesDetection V2Job 作業或 Start DetectionJob Phi 作業。當您開始工作時,請告訴 Amazon Comprehend Medical 包含輸入檔案的輸入 S3 儲存貯體的名稱,並指定輸出 S3 儲存貯體以在批次分析後寫入檔案。

  3. 使用主控台或 DescribeEntitiesDetection V2Job 作業或描述 DetectionJob Phi 作業來監視工作進度。此外, ListEntitiesDetectionV2Jobs 和 ListPhi DetectionJobs 使您能夠查看所有本體鏈接批次分析作業的狀態。

  4. 如果您需要停止進行中的工作,請使用 StopEntitiesDetection V2Job 或 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:*" } } } ] }

Batch 分析輸出檔

Amazon Comprehend Medical 批次中的每個輸入檔案建立一個輸出檔案。檔案的副檔名為.out。Amazon Comprehend Medical 會先使用 AwsAccountIdJobType-JobId作為名稱,在輸出 S3 儲存貯體中建立目錄,然後將批次的所有輸出檔案寫入此目錄。Amazon Comprehend Medical 會建立這個新目錄,這樣一個任務的輸出就不會覆寫另一個任務的輸出。

批次作業的輸出會產生與同步作業相同的輸出。如需 Amazon Comprehend Medical 產生的輸出範例,請參閱。偵測實體(版本 2)

每個批次作業都會產生三個資訊清單檔案,其中包含工作相關資訊

  • Manifest— 總結工作。提供工作所使用的參數、工作的總大小以及已處理檔案數目的相關資訊。

  • success— 提供已成功處理之檔案的相關資訊。包括輸入和輸出檔案名稱以及輸入檔案的大小。

  • unprocessed— 列出批次工作未處理的檔案,包括每個檔案的錯誤代碼和錯誤訊息。

Amazon Comprehend Medical 會將檔案寫入您為批次任務指定的輸出目錄。摘要資訊清單檔案將與標題為的資料夾一起寫入輸出資料夾Manifest_AccountId-Operation-JobId。在清單文件夾中是一個success文件夾,其中包含成功清單。還包括一個文件failed夾,其中包含未處理的文件清單。以下各節顯示資訊清單檔案的結構。

Batch 清單文件

以下是批次資訊清單檔案的 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" }, { ...} ] }