APIs em lote de análise de texto - Amazon Comprehend Medical

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

APIs em lote de análise de texto

Use o Amazon Comprehend Medical para analisar textos médicos armazenados no bucket do Amazon S3. Analise até 10 GB de documentos em um lote. Você usa o console para criar e gerenciar trabalhos de análise em lote ou usa APIs em lote para detectar entidades médicas, incluindo informações de saúde protegidas (PHI). As APIs iniciam, interrompem, listam e descrevem os trabalhos contínuos de análise em lote.

Informações sobre preços para análise de lotes e outras operações do Amazon Comprehend Medical podem ser encontradas aqui.

Aviso importante

As operações de análise do Amazon Comprehend Medical não substituem o aconselhamento, diagnóstico ou tratamento médico profissional. Identifique o limite de confiança certo para seu caso de uso e use limites de alta confiança em situações que exigem alta precisão. Para certos casos de uso, os resultados devem ser revisados e verificados por revisores humanos devidamente treinados. Todas as operações do Amazon Comprehend Medical só devem ser usadas em cenários de atendimento ao paciente após uma revisão que assegure a precisão e uma opinião médica confiável por profissionais médicos treinados.

Executar análise em lote usando as APIs

Você pode executar um trabalho de análise em lote usando o console do Amazon Comprehend Medical ou as APIs do Amazon Comprehend Medical Batch.

Pré-requisitos

Ao usar a API do Amazon Comprehend Medical, crie uma política do AWS Identity Access and Management (IAM) e anexe-a a um perfil do IAM. Para saber mais sobre as políticas de confiança e os perfis do IAM, consulte Políticas e permissões do IAM.

  1. Faça upload de seus dados em um bucket do S3.

  2. Para iniciar um novo trabalho de análise, use a operação StartEntitiesDetection V2Job ou a operação DetectionJob StartPhi. Ao iniciar o trabalho, informe ao Amazon Comprehend Medical o nome do bucket do S3 de entrada que contém os arquivos de entrada e designe o bucket do S3 de saída para gravar os arquivos após a análise em lote.

  3. Monitore o progresso do trabalho usando o console ou a operação DescribeEntitiesDetection V2Job ou a operação DetectionJob DescribePhi. Além disso, o ListEntitiesDetection V2Jobs e o ListPhi DetectionJobs permitem que você veja o status de todas as ontologias que vinculam trabalhos de análise em lote.

  4. Se você precisar interromper um trabalho em andamento, use o StopEntitiesDetection V2Job ou o StopPhi DetectionJob para interromper a análise.

  5. Para ver os resultados do seu trabalho de análise, consulte o bucket do S3 de saída que você configurou ao iniciar o trabalho.

Executar análise em lote usando o console

  1. Faça upload de seus dados em um bucket do S3.

  2. Para iniciar um novo trabalho de análise, selecione o tipo de análise que você executará. Em seguida, forneça o nome do bucket do S3 que contém os arquivos de entrada e o nome do bucket do S3 para o qual você deseja enviar os arquivos de saída.

  3. Monitore o status do seu trabalho enquanto ele estiver em andamento. No console, você pode visualizar todas as operações de análise em lote e seu status, incluindo quando a análise foi iniciada e finalizada.

  4. Para ver os resultados do seu trabalho de análise, consulte o bucket do S3 de saída que você configurou ao iniciar o trabalho.

Políticas do IAM para operações em lote

O perfil do IAM que chama as APIs em lote do Amazon Comprehend Medical deve ter uma política que conceda acesso aos buckets do S3 que contêm os arquivos de entrada e saída. Também deve ser atribuída uma relação de confiança que permite que o serviço do Amazon Comprehend Medical assuma a função. Para saber mais sobre as políticas de confiança e os perfis do IAM, consulte Perfis do IAM.

O perfil deve ter a política a seguir.

{ "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" } ] }

O perfil deve ter a relação de confiança a seguir. É recomendável usar as chaves de condição aws:SourceAccount ou aws:SourceArn para evitar o problema de segurança "confused deputy". Para saber mais sobre o problema do delegado confuso e como proteger sua AWS conta, consulte O problema do deputado confuso na documentação do 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:*" } } } ] }

Arquivos de saída de análise em lote

O Amazon Comprehend Medical cria um arquivo de saída para cada arquivo de entrada no lote. O arquivo tem a extensão .out. O Amazon Comprehend Medical primeiro cria um diretório no bucket S3 de saída usando o AwsAccountId- JobType- JobIdcomo nome e, em seguida, grava todos os arquivos de saída do lote nesse diretório. O Amazon Comprehend Medical cria esse novo diretório para que a saída de um trabalho não substitua a saída de outro.

A saída de uma operação em lote produz a mesma saída de uma operação síncrona. Para obter exemplos da saída gerada pelo Amazon Comprehend Medical, consulte Detectar entidades (versão 2).

Cada operação em lote produz três arquivos de manifesto que contêm informações sobre o trabalho.

  • Manifest: resume o trabalho. Fornece informações sobre os parâmetros usados para a tarefa, o tamanho total da tarefa e o número de arquivos processados.

  • success: fornece informações sobre os arquivos que foram processados com êxito. Inclui o nome do arquivo de entrada e saída e o tamanho do arquivo de entrada.

  • unprocessed: lista os arquivos que o trabalho em lote não processou, incluindo códigos de erro e mensagens de erro por arquivo.

O Amazon Comprehend Medical grava os arquivos no diretório de saída que você especificou para o trabalho em lotes. O arquivo de resumo do manifesto será gravado na pasta de saída, junto com uma pasta chamada Manifest_AccountId-Operation-JobId. Dentro da pasta do manifesto, há uma pasta success que contém o manifesto de sucesso. Também está incluída uma pasta failed que contém o manifesto do arquivo não processado. As seções a seguir mostram a estrutura dos arquivos do manifesto.

Arquivo de manifesto em lote

Veja a seguir a estrutura JSON do arquivo do manifesto em lote.

{"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" } }

Arquivo de manifesto de sucesso

Veja a seguir a estrutura JSON do arquivo que contém informações sobre arquivos processados com êxito.

{ "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 }] }

Arquivo de manifesto não processado

Veja a seguir a estrutura JSON do arquivo de manifesto que contém informações sobre arquivos não processados.

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