Modos de processamento de documentos - Amazon Comprehend

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á.

Modos de processamento de documentos

O Amazon Comprehend oferece suporte a três modos de processamento de documentos. Sua escolha de modo depende do número de documentos que você precisa processar e da rapidez com que você precisa visualizar os resultados:

  • Síncrono de documento único – você chama o Amazon Comprehend com um único documento e recebe uma resposta síncrona, imediatamente entregue à sua aplicação (ou ao console).

  • Síncrono de vários documentos – você chama a API do Amazon Comprehend com uma coleção de até 25 documentos e recebe uma resposta síncrona.

  • Lote assíncrono – para uma coleção grande de documentos, coloque os documentos em um bucket do Amazon S3 e inicie um trabalho assíncrono (usando operações de console ou API) para analisar os documentos. O Amazon Comprehend armazena os resultados da análise no bucket/pasta do S3 que você especifica na solicitação.

Processamento de documento único

As operações de documento único são operações síncronas que retornam os resultados da análise do documento diretamente para sua aplicação. Use operações síncronas de documento único ao criar uma aplicação interativa que funcione em um documento por vez.

Para obter mais informações sobre as operações síncronas de API, consulte Análise em tempo real usando os modelos integrados (para console) e Análise em tempo real usando a API.

Processamento síncrono de vários documentos

Quando tiver vários documentos que deseja processar, você poderá usar as operações de API Batch* para enviar mais de um documento ao Amazon Comprehend por vez. Você pode enviar até 25 documentos em cada solicitação. O Amazon Comprehend envia de volta uma lista de respostas, uma para cada documento na solicitação. As solicitações feitas com essas operações são síncronas. Seu aplicativo chama a operação e, em seguida, aguarda a resposta do serviço.

O uso das operações Batch* é idêntico a chamar APIs de um único documento para cada um dos documentos na solicitação. O uso dessas APIs pode resultar em melhor desempenho para suas aplicações.

A entrada de cada uma das APIs é uma estrutura JSON contendo os documentos a serem processados. Para todas as operações, exceto BatchDetectDominantLanguage, você deve definir o idioma de entrada. Você pode definir apenas um idioma de entrada para cada solicitação. Por exemplo, veja a seguir a entrada para a operação BatchDetectEntities. Ela contém dois documentos e está em inglês.

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

A resposta de uma operação Batch* contém duas listas, ResultList e ErrorList. ResultList contém um registro para cada documento que foi processado com sucesso. O resultado de cada documento na solicitação é idêntico ao resultado que você obteria se executasse uma única operação de documento no documento. Os resultados de cada documento recebem um índice com base na ordem dos documentos no arquivo de entrada. A resposta da operação BatchDetectEntities é:

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

Quando ocorre um erro na solicitação, a resposta contém um ErrorList que identifica os documentos que continham um erro. O documento é identificado por seu índice na lista de entrada. Por exemplo, a entrada a seguir para a operação BatchDetectLanguage contém um documento que não pode ser processado:

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

A resposta do Amazon Comprehend inclui uma lista de erros que identifica o documento que continha um erro:

{ "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 obter mais informações sobre as operações síncronas de API, consulte APIs em lote em tempo real.

Processamento em lote assíncrono

Para analisar documentos grandes e coleções grandes de documentos, use as operações assíncronas do Amazon Comprehend.

Para analisar uma coleção de documentos, normalmente você seguirá as seguintes etapas:

  1. Armazene os documentos em um bucket do Amazon S3.

  2. Inicie um ou mais trabalhos de análise para analisar os documentos.

  3. Monitore o progresso dos trabalhos de análise.

  4. Recupere os resultados da análise de um bucket do S3 após a conclusão do trabalho.

Para obter mais informações sobre como usar as operações assíncronas de API, consulte Executando tarefas de análise usando o console (console) e Trabalhos de análise assíncrona usando a API.