API de análisis de texto por lotes - Amazon Comprehend Medical

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

API de análisis de texto por lotes

Utilice Amazon Comprehend Medical para analizar textos médicos almacenados en un bucket de Amazon S3. Puede analizar hasta 10 GB de documentos en un lote. Puede utilizar la consola para crear y administrar trabajos de análisis por lotes o utilizar las API de procesamiento por lotes para detectar entidades médicas, incluida información sanitaria protegida (PHI). Las API inician, detienen, enumeran y describen los trabajos de análisis por lotes en curso.

Para ver información sobre precios de análisis por lotes y otras operaciones de Amazon Comprehend Medical, consulte esta página.

Aviso importante

Las operaciones de análisis por lotes de Amazon Comprehend Medical no sustituyen el asesoramiento, el diagnóstico ni el tratamiento médico profesional. Identifique el umbral de confianza adecuado para su caso de uso y utilice umbrales de confianza altos en situaciones que requieran una alta precisión. En ciertos casos de uso, los resultados deberán ser revisados y verificados por revisores humanos debidamente entrenados. Todas las operaciones de Amazon Comprehend Medical solo deben utilizarse en escenarios de atención al paciente después de que un profesional médico debidamente formado haya revisado su exactitud y buen juicio médico.

Realizar análisis por lotes mediante las API

Puede ejecutar un trabajo de análisis por lotes mediante la consola de Amazon Comprehend Medical o con las API de procesamiento por lotes de Amazon Comprehend Medical.

Requisitos previos 

Cuando utilice la API de Amazon Comprehend Medical, cree una política de AWS Identity Access and Management (IAM) y asóciela a un rol de IAM. Para obtener más información sobre las políticas de confianza y los roles de IAM, consulte Políticas y permisos de IAM.

  1. Cargue sus datos en un bucket de S3.

  2. Para iniciar un nuevo trabajo de análisis, utilice la operación StartEntitiesDetection V2Job o la operación DetectionJob StartPhi. Cuando inicie el trabajo, indique a Amazon Comprehend Medical el nombre del bucket de S3 que contiene los archivos de entrada y designe el bucket de salida de S3 donde se escribirán los archivos tras realizar el análisis por lotes.

  3. Supervise el progreso del trabajo mediante la consola o la operación DescribeEntitiesDetection V2Job o la operación DescribePhi. DetectionJob Además, ListEntitiesDetection V2Jobs y ListPhi DetectionJobs permiten ver el estado de todas las ontologías que vinculan los trabajos de análisis por lotes.

  4. Si necesita detener un trabajo en curso, utilice StopEntitiesDetection V2Job o StopPhi para detener el análisis. DetectionJob

  5. Para ver los resultados de un trabajo de análisis, consulte el bucket de salida de S3 que configuró al iniciar el trabajo.

Realización de un análisis por lotes mediante la consola

  1. Cargue sus datos en un bucket de S3.

  2. Para iniciar un nuevo trabajo, seleccione el tipo de análisis que va a realizar. A continuación, indique el nombre del bucket de S3 que contiene los archivos de entrada y el nombre del bucket de S3 donde desea enviar los archivos de salida.

  3. Monitorice el estado del trabajo mientras está en marcha. En la consola puede ver todas las operaciones de análisis por lotes y su estado, incluido el momento en que se inició y finalizó el análisis.

  4. Para ver los resultados de un trabajo de análisis, consulte el bucket de S3 de salida que configuró al iniciar el trabajo.

Políticas de IAM para operaciones por lotes

El rol de IAM que llama a las API de procesamiento por lotes de Amazon Comprehend Medical debe tener una política que conceda acceso a los buckets de S3 que contienen los archivos de entrada y salida. También se le debe asignar una relación de confianza que permita al servicio Amazon Comprehend Medical asumir ese rol. Para obtener más información sobre las políticas de confianza y los roles de IAM, consulte Roles de IAM.

El rol debe tener la siguiente política de 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" } ] }

El rol debe tener la siguiente relación de confianza. Se recomienda utilizar las claves de condición aws:SourceAccount y aws:SourceArn para evitar el problema de seguridad del suplente confuso. Para obtener más información sobre el problema del diputado confuso y cómo proteger tu AWS cuenta, consulta El problema del diputado confuso en la documentación de 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:*" } } } ] }

Archivos de salida de análisis por lotes

Amazon Comprehend Medical crea un archivo de salida para cada archivo de entrada de un lote. Este archivo tiene la extensión .out. Amazon Comprehend Medical crea primero un directorio en el bucket S3 de salida con AwsAccountIdel nombre JobTypeJobId- - y, a continuación, escribe todos los archivos de salida del lote en este directorio. Amazon Comprehend Medical crea este nuevo directorio para que los datos de salida de un trabajo no sobrescriban los de otro.

La salida de una operación por lotes es igual a la de una operación sincrónica. Para ver ejemplos de la salida generada por Amazon Comprehend Medical, consulte Detección de entidades (versión 2).

Cada operación por lotes produce tres archivos de manifiesto que contienen información sobre el trabajo.

  • Manifest: ofrece un resumen del trabajo. Proporciona información sobre los parámetros utilizados, el tamaño total del trabajo y el número de archivos procesados.

  • success: proporciona información sobre los archivos que se han procesado correctamente. Incluye el nombre de los archivos de entrada y de salida, y el tamaño del archivo de entrada.

  • unprocessed: muestra los archivos que el trabajo por lotes no procesó, incluidos códigos de error y mensajes de error por archivo.

Amazon Comprehend Medical escribe los archivos en el directorio de salida que especificó para el trabajo por lotes. El archivo de manifiesto de resumen se escribirá en la carpeta de salida, junto con una carpeta titulada Manifest_AccountId-Operation-JobId. Dentro de la carpeta del manifiesto hay una carpeta success que contiene el manifiesto de los archivos procesados. También se incluye una carpeta failed que contiene el manifiesto de los archivos sin procesar. En las secciones siguientes se muestra la estructura de archivos de manifiesto.

Archivo de manifiesto de procesamiento por lotes

Esta es la estructura JSON del archivo de manifiesto por lotes:

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

Archivo de manifiesto de los archivos procesados

Esta es la estructura JSON del archivo que contiene información sobre los archivos procesados correctamente:

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

Archivo de manifiesto de los archivos no procesados

Esta es la estructura JSON del archivo de manifiesto que contiene información sobre los archivos no procesados:

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