Modes de traitement des documents - Amazon Comprehend

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Modes de traitement des documents

Amazon Comprehend prend en charge trois modes de traitement des documents. Le mode que vous choisissez dépend du nombre de documents que vous devez traiter et de la rapidité avec laquelle vous devez consulter les résultats :

  • Synchrone avec un seul document : vous appelez Amazon Comprehend avec un seul document et recevez une réponse synchrone, envoyée immédiatement à votre application (ou à la console).

  • Synchrone avec plusieurs documents : vous appelez l'API Amazon Comprehend avec une collection de 25 documents au maximum et vous recevez une réponse synchrone.

  • Lot asynchrone : pour une grande collection de documents, placez les documents dans un compartiment Amazon S3 et lancez une tâche asynchrone (à l'aide d'opérations de console ou d'API) pour analyser les documents. Amazon Comprehend stocke les résultats de l'analyse dans le compartiment ou le dossier S3 que vous spécifiez dans la demande.

Traitement d'un seul document

Les opérations sur un seul document sont des opérations synchrones qui renvoient les résultats de l'analyse du document directement à votre application. Utilisez les opérations synchrones sur un seul document lorsque vous créez une application interactive qui fonctionne sur un seul document à la fois.

Pour plus d'informations sur les opérations d'API synchrones, consultez Analyse en temps réel à l'aide des modèles intégrés (pour la console) etAnalyse en temps réel à l'aide de l'API.

Traitement synchrone de plusieurs documents

Lorsque vous souhaitez traiter plusieurs documents, vous pouvez utiliser les opérations d'Batch*API pour envoyer plusieurs documents à la fois à Amazon Comprehend. Vous pouvez envoyer jusqu'à 25 documents par demande. Amazon Comprehend renvoie une liste de réponses, une pour chaque document de la demande. Les demandes effectuées avec ces opérations sont synchrones. Votre application lance l'opération puis attend la réponse du service.

L'utilisation Batch* des opérations est identique à l'appel des API de document unique pour chacun des documents de la demande. L'utilisation de ces API peut améliorer les performances de vos applications.

L'entrée de chacune des API est une structure JSON contenant les documents à traiter. Pour toutes les opérationsBatchDetectDominantLanguage, à l'exception de la langue de saisie, vous devez définir la langue de saisie. Vous ne pouvez définir qu'une seule langue de saisie pour chaque demande. Par exemple, ce qui suit est l'entrée de l'BatchDetectEntitiesopération. Il contient deux documents et est en anglais.

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

La réponse d'une Batch* opération contient deux listes, la ResultList et laErrorList. ResultListIl contient un enregistrement pour chaque document traité avec succès. Le résultat pour chaque document de la demande est identique à celui que vous obtiendriez si vous exécutiez une seule opération sur le document. Un index est attribué aux résultats de chaque document en fonction de l'ordre des documents dans le fichier d'entrée. La réponse de l'BatchDetectEntitiesopération est la suivante :

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

Lorsqu'une erreur se produit dans la demande, la réponse ErrorList contient un identifiant les documents contenant une erreur. Le document est identifié par son index dans la liste d'entrée. Par exemple, l'entrée suivante de l'BatchDetectLanguageopération contient un document qui ne peut pas être traité :

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

La réponse d'Amazon Comprehend inclut une liste d'erreurs identifiant le document contenant une erreur :

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

Pour plus d'informations sur les opérations d'API par lots synchrones, consultezAPI par lots en temps réel.

Traitement par lots asynchrone

Pour analyser des documents volumineux et de grandes collections de documents, utilisez les opérations asynchrones d'Amazon Comprehend.

Pour analyser un ensemble de documents, vous devez généralement suivre les étapes suivantes :

  1. Stockez les documents dans un compartiment Amazon S3.

  2. Lancez une ou plusieurs tâches d'analyse pour analyser les documents.

  3. Surveillez la progression des tâches d'analyse.

  4. Récupérez les résultats de l'analyse depuis un compartiment S3 lorsque le travail est terminé.

Pour plus d'informations sur l'utilisation des opérations d'API asynchrones, consultez Exécution de tâches d'analyse à l'aide de la console (console) et. Tâches d'analyse asynchrones à l'aide de l'API