Modos de procesamiento de documentos - Amazon Comprehend

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.

Modos de procesamiento de documentos

Amazon Comprehend admite tres modos de procesamiento de documentos. El modo que elija dependerá del número de documentos que necesite procesar y de la rapidez con la que necesite ver los resultados:

  • Sincrónico de un solo documento: llama a Amazon Comprehend con un solo documento y recibe una respuesta sincrónica que se envía a su aplicación (o a la consola) de inmediato.

  • Sincrónico de varios documentos: llama a la API de Amazon Comprehend con una colección de hasta 25 documentos y recibe una respuesta sincrónica.

  • Lote asíncrono: para una colección de documentos grande, coloque los documentos en un bucket de Amazon S3 e inicie un trabajo asincrónico (mediante operaciones de consola o API) para analizar los documentos. Amazon Comprehend almacena los resultados del análisis en el bucket/carpeta S3 que especifique en la solicitud.

Procesamiento de un solo documento

Las operaciones de un solo documento son operaciones sincrónicas que devuelven los resultados del análisis del documento directamente a la aplicación. Utiliza operaciones sincrónicas de un solo documento cuando crea una aplicación interactiva que funcione en un documento a la vez.

Para obtener más información sobre las operaciones sincrónicas de la API, consulte Análisis en tiempo real mediante los modelos integrados (para la consola) y Análisis en tiempo real mediante la API.

Procesamiento sincrónico de varios documentos

Si desea procesar varios documentos, puede utilizar las operaciones de API de Batch* para enviar más de un documento a Amazon Comprehend a la vez. Puede enviar hasta 25 documentos en cada solicitud. Amazon Comprehend devuelve una lista de respuestas, una para cada documento de la solicitud. Las solicitudes realizadas con estas operaciones son sincrónicas. La aplicación llama a la operación y, a continuación, espera la respuesta del servicio.

El uso de las operaciones de Batch* es idéntico a llamar a las API de un solo documento para cada uno de los documentos de la solicitud. El uso de estas API puede mejorar el rendimiento de sus aplicaciones.

La entrada a cada una de las API es una estructura JSON que contiene los documentos que se van a procesar. Debe configurar el idioma de entrada para todas las operaciones, excepto para BatchDetectDominantLanguage. Puede definir solo un idioma de entrada para cada solicitud. Por ejemplo, la siguiente es la entrada de la operación BatchDetectEntities. Contiene dos documentos y está en inglés.

{ "LanguageCode": "en", "TextList": [ "I have been living in Seattle for almost 4 years", "It is raining today in Seattle" ] }

La respuesta de una operación Batch* contiene dos listas, la ResultList y la ErrorList. La ResultList contiene un registro por cada documento que se haya procesado correctamente. El resultado de cada documento de la solicitud es idéntico al resultado que obtendría si ejecutara una sola operación de documento en el documento. A los resultados de cada documento se les asigna un índice en función del orden de los documentos en el archivo de entrada. La respuesta de la operación BatchDetectEntities es:

{ "ResultList" : [ { "Index": 0, "Entities": [ { "Text": "Seattle", "Score": 0.95, "Type": "LOCATION", "BeginOffset": 22, "EndOffset": 29 }, { "Text": "almost 4 years", "Score": 0.89, "Type": "QUANTITY", "BeginOffset": 34, "EndOffset": 48 } ] }, { "Index": 1, "Entities": [ { "Text": "today", "Score": 0.87, "Type": "DATE", "BeginOffset": 14, "EndOffset": 19 }, { "Text": "Seattle", "Score": 0.96, "Type": "LOCATION", "BeginOffset": 23, "EndOffset": 30 } ] } ], "ErrorList": [] }

Cuando se produce un error en la solicitud, la respuesta contiene una ErrorList que identifica los documentos que contenían el error. El documento se identifica por su índice en la lista de entradas. Por ejemplo, la siguiente entrada de la operación BatchDetectLanguage contiene un documento que no puede procesarse:

{ "TextList": [ "hello friend", "$$$$$$", "hola amigo" ] }

La respuesta de Amazon Comprehend incluye una lista de errores que identifica el documento que contenía el error:

{ "ResultList": [ { "Index": 0, "Languages":[ { "LanguageCode":"en", "Score": 0.99 } ] }, { "Index": 2 "Languages":[ { "LanguageCode":"es", "Score": 0.82 } ] } ], "ErrorList": [ { "Index": 1, "ErrorCode": "InternalServerException", "ErrorMessage": "Unexpected Server Error. Please try again." } ] }

Para obtener más información sobre las operaciones de la API del lote sincrónico, consulte API por lotes en tiempo real.

Procesamiento por lotes asincrónico

Para analizar documentos y colecciones de documentos de gran tamaño, utilice las operaciones asíncronas de Amazon Comprehend.

Para analizar un conjunto de documentos, debe llevar a cabo los siguientes pasos:

  1. Almacene los documentos en un bucket de Amazon S3.

  2. Inicie uno o más trabajos de análisis para analizar los documentos.

  3. Supervise el progreso de los trabajos de análisis.

  4. Recupere los resultados del análisis de un bucket de S3 cuando se complete el trabajo.

Para obtener más información sobre las operaciones asíncronas de la API, consulte Ejecución de trabajos de análisis mediante la consola (para la consola) y Trabajos de análisis asíncrono mediante la API.