Análisis por lotes de vinculación de ontologías - 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.

Análisis por lotes de vinculación de ontologías

Utilice Amazon Comprehend Medical para detectar entidades en textos clínicos almacenados en un bucket de Amazon Simple Storage Service (Amazon S3) y para vincular dichas entidades con ontologías estandarizadas. Puede utilizar análisis por lotes de vinculación de ontologías para analizar un conjunto de documentos o un único documento con un máximo de 20 000 caracteres. Tanto la consola como las operaciones de la API de procesamiento por lotes de vinculación de ontologías le permiten realizar operaciones para iniciar, detener, enumerar y describir los trabajos de análisis por lotes en curso.

Para obtener información sobre los precios de los análisis por lotes y otras operaciones de Amazon Comprehend Medical, consulte Precios de Amazon Comprehend Medical.

Realización de análisis por lotes

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

Realización de análisis por lotes mediante las operaciones de la API

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 el StartICD10CM, el StartSnomedCT o las operaciones InferenceJob. InferenceJob StartRxNormInferenceJob Proporcione el nombre del bucket de Amazon S3 que contiene los archivos de entrada y el nombre del bucket de Amazon S3 al que desea enviar los archivos de salida.

  3. Supervise el progreso del trabajo mediante DescribeICD10CM, DescribesNoMedCT u operations. InferenceJob InferenceJob DescribeRxNormInferenceJob Además, puede usar ListicD10CM y InferenceJobsListsNoMedCT para ver el estado de todas las ontologías que vinculan los InferenceJobs trabajos de análisis por lotes. ListRxNormInferenceJobs

  4. Si necesita detener un trabajo en curso, utilice StopicD10CM, StopsNoMedCT o para detener el análisis. InferenceJob InferenceJob StopRxNormInferenceJob

  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 quiere realizar. A continuación, indique el nombre del bucket de S3 que contiene los archivos de entrada y el nombre del bucket de S3 al que 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 operaciones de la 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 debe asignar una relación de confianza al rol de IAM para que el servicio Amazon Comprehend Medical pueda asumir dicho rol. Para obtener más información acerca de los roles de IAM y las políticas de confianza, consulte Roles de IAM.

El rol debe tener la siguiente política:

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

Una operación por lotes produce los mismos datos de salida que una operación sincrónica.

Cada operación por lotes produce los tres archivos de manifiesto siguientes 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ó con 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 se encuentran la carpeta success, que contiene el manifiesto de los archivos procesados, y la 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" : "ICD10CMInference | RxNormInference | SNOMEDCTInference", "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" }, { ...} ] }