Analyse en temps réel à l'aide de l'API - 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.

Analyse en temps réel à l'aide de l'API

Les exemples suivants montrent comment utiliser l'API Amazon Comprehend pour une analyse en temps réel, à l'aide des kits de développement logiciel (SDK) et des AWS kits de développement logiciel (SDK) pour .NET, Java et Python. AWS CLI Utilisez les exemples pour en savoir plus sur les opérations synchrones d'Amazon Comprehend et comme éléments de base pour vos propres applications.

Les exemples .NET présentés dans cette section utilisent le kit AWS SDK for .NET. Vous pouvez utiliser le AWS Toolkit for Visual Studiopour développer des AWS applications à l'aide de .NET. Il inclut des modèles utiles et l'AWSexplorateur pour le déploiement d'applications et la gestion des services. Pour connaître le point de vue des développeurs .NETAWS, consultez le AWSguide destiné aux développeurs .NET.

Détecter la langue dominante

Pour déterminer la langue dominante utilisée dans le texte, utilisez l'DetectDominantLanguageopération. Pour détecter la langue dominante dans un maximum de 25 documents par lot, utilisez l'BatchDetectDominantLanguageopération. Pour plus d’informations, consultez API par lots en temps réel.

Utilisation de l AWS Command Line Interface

L'exemple suivant montre comment utiliser l'DetectDominantLanguageopération avec leAWS CLI.

L'exemple est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractère de continuation Unix, à savoir la barre oblique inversée (\), à la fin de chaque ligne par un accent circonflexe (^).

aws comprehend detect-dominant-language \ --region region \ --text "It is raining today in Seattle."

Amazon Comprehend répond comme suit :

{ "Languages": [ { "LanguageCode": "en", "Score": 0.9793661236763 } ] }

À l'aide du AWS SDK for Java SDK pour Python, ou AWS SDK for .NET

Pour des exemples de SDK expliquant comment déterminer la langue dominante, consultezÀ utiliser DetectDominantLanguage avec un AWS SDK ou CLI.

Détection des entités nommées

Pour déterminer les entités nommées dans un document, utilisez l'DetectEntitiesopération. Pour détecter des entités dans un maximum de 25 documents par lot, utilisez l'BatchDetectEntitiesopération. Pour plus d’informations, consultez API par lots en temps réel.

Utilisation de l AWS Command Line Interface

L'exemple suivant illustre l'utilisation de l'DetectEntitiesopération à l'aide duAWS CLI. Vous devez spécifier la langue du texte saisi.

L'exemple est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractère de continuation Unix, à savoir la barre oblique inversée (\), à la fin de chaque ligne par un accent circonflexe (^).

aws comprehend detect-entities \ --region region \ --language-code "en" \ --text "It is raining today in Seattle."

Amazon Comprehend répond comme suit :

{ "Entities": [ { "Text": "today", "Score": 0.97, "Type": "DATE", "BeginOffset": 14, "EndOffset": 19 }, { "Text": "Seattle", "Score": 0.95, "Type": "LOCATION", "BeginOffset": 23, "EndOffset": 30 } ], "LanguageCode": "en" }

À l'aide du AWS SDK for Java SDK pour Python, ou AWS SDK for .NET

Pour des exemples de SDK expliquant comment déterminer la langue dominante, consultezÀ utiliser DetectEntities avec un AWS SDK ou CLI.

Détecter les phrases clés

Pour déterminer les phrases nominales clés utilisées dans le texte, utilisez l'DetectKeyPhrasesopération. Pour détecter les phrases nominales clés dans un maximum de 25 documents par lot, utilisez cette BatchDetectKeyPhrasesopération. Pour plus d’informations, consultez API par lots en temps réel.

Utilisation de l AWS Command Line Interface

L'exemple suivant montre comment utiliser l'DetectKeyPhrasesopération avec leAWS CLI. Vous devez spécifier la langue du texte saisi.

L'exemple est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractère de continuation Unix, à savoir la barre oblique inversée (\), à la fin de chaque ligne par un accent circonflexe (^).

aws comprehend detect-key-phrases \ --region region \ --language-code "en" \ --text "It is raining today in Seattle."

Amazon Comprehend répond comme suit :

{ "LanguageCode": "en", "KeyPhrases": [ { "Text": "today", "Score": 0.89, "BeginOffset": 14, "EndOffset": 19 }, { "Text": "Seattle", "Score": 0.91, "BeginOffset": 23, "EndOffset": 30 } ] }

À l'aide du AWS SDK for Java SDK pour Python, ou AWS SDK for .NET

Pour des exemples de SDK qui détectent des phrases clés, consultezÀ utiliser DetectKeyPhrases avec un AWS SDK ou CLI.

Déterminer le sentiment

Amazon Comprehend fournit les opérations d'API suivantes pour analyser les sentiments :

Utilisation de la AWS Command Line Interface

L'exemple suivant montre comment utiliser l'DetectSentimentopération avec leAWS CLI. Cet exemple indique la langue du texte saisi.

L'exemple est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractère de continuation Unix, à savoir la barre oblique inversée (\), à la fin de chaque ligne par un accent circonflexe (^).

aws comprehend detect-sentiment \ --region region \ --language-code "en" \ --text "It is raining today in Seattle."

Amazon Comprehend répond comme suit :

{ "SentimentScore": { "Mixed": 0.014585512690246105, "Positive": 0.31592071056365967, "Neutral": 0.5985543131828308, "Negative": 0.07093945890665054 }, "Sentiment": "NEUTRAL", "LanguageCode": "en" }

À l'aide du AWS SDK for Java SDK pour Python, ou AWS SDK for .NET

Pour des exemples de SDK qui déterminent le sentiment du texte saisi, voirÀ utiliser DetectSentiment avec un AWS SDK ou CLI.

Analyse en temps réel pour un sentiment ciblé

Amazon Comprehend fournit les opérations d'API suivantes pour une analyse ciblée des sentiments en temps réel :

Si le texte que vous analysez n'inclut aucun sentiment cibléTypes d'entités, l'API renvoie un tableau d'entités vide.

Utilisation de la AWS Command Line Interface

L'exemple suivant montre comment utiliser l'DetectTargetedSentimentopération avec leAWS CLI. Cet exemple indique la langue du texte saisi.

L'exemple est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractère de continuation Unix, à savoir la barre oblique inversée (\), à la fin de chaque ligne par un accent circonflexe (^).

aws comprehend detect-targeted-sentiment \ --region region \ --language-code "en" \ --text "The burger was cooked perfectly but it was cold. The service was OK."

Amazon Comprehend répond comme suit :

{ "Entities": [ { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 4, "EndOffset": 10, "Score": 1, "GroupScore": 1, "Text": "burger", "Type": "OTHER", "MentionSentiment": { "Sentiment": "POSITIVE", "SentimentScore": { "Mixed": 0.001515, "Negative": 0.000822, "Neutral": 0.000243, "Positive": 0.99742 } } }, { "BeginOffset": 36, "EndOffset": 38, "Score": 0.999843, "GroupScore": 0.999661, "Text": "it", "Type": "OTHER", "MentionSentiment": { "Sentiment": "NEGATIVE", "SentimentScore": { "Mixed": 0, "Negative": 0.999996, "Neutral": 0.000004, "Positive": 0 } } } ] }, { "DescriptiveMentionIndex": [ 0 ], "Mentions": [ { "BeginOffset": 53, "EndOffset": 60, "Score": 1, "GroupScore": 1, "Text": "service", "Type": "ATTRIBUTE", "MentionSentiment": { "Sentiment": "NEUTRAL", "SentimentScore": { "Mixed": 0.000033, "Negative": 0.000089, "Neutral": 0.993325, "Positive": 0.006553 } } } ] } ] }

Détection de la syntaxe

Pour analyser le texte afin d'extraire les mots individuels et de déterminer les parties du discours pour chaque mot, utilisez l'DetectSyntaxopération. Pour analyser la syntaxe d'un maximum de 25 documents par lot, utilisez l'BatchDetectSyntaxopération. Pour plus d’informations, consultez API par lots en temps réel.

Utilisation du kit AWS Command Line Interface.

L'exemple suivant montre comment utiliser l'DetectSyntaxopération avec leAWS CLI. Cet exemple indique la langue du texte saisi.

L'exemple est mis en forme pour Unix, Linux et macOS. Pour Windows, remplacez le caractère de continuation Unix, à savoir la barre oblique inversée (\), à la fin de chaque ligne par un accent circonflexe (^).

aws comprehend detect-syntax \ --region region \ --language-code "en" \ --text "It is raining today in Seattle."

Amazon Comprehend répond comme suit :

{ "SyntaxTokens": [ { "Text": "It", "EndOffset": 2, "BeginOffset": 0, "PartOfSpeech": { "Tag": "PRON", "Score": 0.8389829397201538 }, "TokenId": 1 }, { "Text": "is", "EndOffset": 5, "BeginOffset": 3, "PartOfSpeech": { "Tag": "AUX", "Score": 0.9189288020133972 }, "TokenId": 2 }, { "Text": "raining", "EndOffset": 13, "BeginOffset": 6, "PartOfSpeech": { "Tag": "VERB", "Score": 0.9977611303329468 }, "TokenId": 3 }, { "Text": "today", "EndOffset": 19, "BeginOffset": 14, "PartOfSpeech": { "Tag": "NOUN", "Score": 0.9993606209754944 }, "TokenId": 4 }, { "Text": "in", "EndOffset": 22, "BeginOffset": 20, "PartOfSpeech": { "Tag": "ADP", "Score": 0.9999061822891235 }, "TokenId": 5 }, { "Text": "Seattle", "EndOffset": 30, "BeginOffset": 23, "PartOfSpeech": { "Tag": "PROPN", "Score": 0.9940338730812073 }, "TokenId": 6 }, { "Text": ".", "EndOffset": 31, "BeginOffset": 30, "PartOfSpeech": { "Tag": "PUNCT", "Score": 0.9999997615814209 }, "TokenId": 7 } ] }

À l'aide du AWS SDK for Java SDK pour Python, ou AWS SDK for .NET

Pour des exemples de SDK qui détectent la syntaxe du texte saisi, consultezÀ utiliser DetectSyntax avec un AWS SDK ou CLI.

API par lots en temps réel

Pour envoyer des lots contenant jusqu'à 25 documents, vous pouvez utiliser les opérations par lots en temps réel d'Amazon Comprehend. L'appel d'une opération par lots est identique à l'appel des API de document unique pour chaque document de la demande. L'utilisation des API par lots peut améliorer les performances de vos applications. Pour plus d’informations, consultez Traitement synchrone de plusieurs documents.

Traitement par lots avec AWS CLI

Ces exemples montrent comment utiliser les opérations d'API par lots à l'aide duAWS Command Line Interface. Toutes les opérations sauf l'BatchDetectDominantLanguageutilisation du fichier JSON suivant process.json appelé en entrée. Pour cette opération, l'LanguageCodeentité n'est pas incluse.

Le troisième document du fichier JSON ("$$$$$$$$") provoquera une erreur lors du traitement par lots. Il est inclus afin que les opérations incluent un BatchItemErrordans la réponse.

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

Les exemples sont formatés pour Unix, Linux et macOS. Pour Windows, remplacez le caractère de continuation Unix, à savoir la barre oblique inversée (\), à la fin de chaque ligne par un accent circonflexe (^).

Détecter la langue dominante à l'aide d'un batch (AWS CLI)

L'BatchDetectDominantLanguageopération détermine la langue dominante de chaque document d'un lot. Pour obtenir la liste des langues qu'Amazon Comprehend peut détecter, consultez. Langue dominante La AWS CLI commande suivante lance l'BatchDetectDominantLanguageopération.

aws comprehend batch-detect-dominant-language \ --endpoint endpoint \ --region region \ --cli-input-json file://path to input file/process.json

Voici la réponse de l'BatchDetectDominantLanguageopération :

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

Détecter les entités à l'aide d'un lot (AWS CLI)

Utilisez cette BatchDetectEntitiesopération pour rechercher les entités présentes dans un lot de documents. Pour plus d'informations sur les entités, consultez Entités. La AWS CLI commande suivante lance l'BatchDetectEntitiesopération.

aws comprehend batch-detect-entities \ --endpoint endpoint \ --region region \ --cli-input-json file://path to input file/process.json

Détecter les phrases clés à l'aide d'un batch (AWS CLI)

L'BatchDetectKeyPhrasesopération renvoie les phrases nominales clés d'un lot de documents. La AWS CLI commande suivante lance l'BatchDetectKeyNounPhrasesopération.

aws comprehend batch-detect-key-phrases --endpoint endpoint --region region --cli-input-json file://path to input file/process.json

Détectez les sentiments à l'aide d'un batch (AWS CLI)

Détectez l'impression générale d'un lot de documents à l'aide de cette BatchDetectSentimentopération. La AWS CLI commande suivante lance l'BatchDetectSentimentopération.

aws comprehend batch-detect-sentiment \ --endpoint endpoint \ --region region \ --cli-input-json file://path to input file/process.json

Traitement par lots avec AWS SDK for .NET

L'exemple de programme suivant montre comment utiliser l'BatchDetectEntitiesopération avec leAWS SDK for .NET. La réponse du serveur contient un BatchDetectEntitiesItemResultobjet pour chaque document traité avec succès. En cas d'erreur lors du traitement d'un document, un enregistrement figurera dans la liste des erreurs de la réponse. L'exemple récupère chacun des documents contenant une erreur et les renvoie.

L'exemple .NET présenté dans cette section utilise le AWS SDK for .NET. Vous pouvez utiliser le AWS Toolkit for Visual Studiopour développer des AWS applications à l'aide de .NET. Il inclut des modèles utiles et l'AWSexplorateur pour le déploiement d'applications et la gestion des services. Pour connaître le point de vue des développeurs .NETAWS, consultez le AWSguide destiné aux développeurs .NET.

using System; using System.Collections.Generic; using Amazon.Comprehend; using Amazon.Comprehend.Model; namespace Comprehend { class Program { // Helper method for printing properties static private void PrintEntity(Entity entity) { Console.WriteLine(" Text: {0}, Type: {1}, Score: {2}, BeginOffset: {3} EndOffset: {4}", entity.Text, entity.Type, entity.Score, entity.BeginOffset, entity.EndOffset); } static void Main(string[] args) { AmazonComprehendClient comprehendClient = new AmazonComprehendClient(Amazon.RegionEndpoint.USWest2); List<String> textList = new List<String>() { { "I love Seattle" }, { "Today is Sunday" }, { "Tomorrow is Monday" }, { "I love Seattle" } }; // Call detectEntities API Console.WriteLine("Calling BatchDetectEntities"); BatchDetectEntitiesRequest batchDetectEntitiesRequest = new BatchDetectEntitiesRequest() { TextList = textList, LanguageCode = "en" }; BatchDetectEntitiesResponse batchDetectEntitiesResponse = comprehendClient.BatchDetectEntities(batchDetectEntitiesRequest); foreach (BatchDetectEntitiesItemResult item in batchDetectEntitiesResponse.ResultList) { Console.WriteLine("Entities in {0}:", textList[item.Index]); foreach (Entity entity in item.Entities) PrintEntity(entity); } // check if we need to retry failed requests if (batchDetectEntitiesResponse.ErrorList.Count != 0) { Console.WriteLine("Retrying Failed Requests"); List<String> textToRetry = new List<String>(); foreach(BatchItemError errorItem in batchDetectEntitiesResponse.ErrorList) textToRetry.Add(textList[errorItem.Index]); batchDetectEntitiesRequest = new BatchDetectEntitiesRequest() { TextList = textToRetry, LanguageCode = "en" }; batchDetectEntitiesResponse = comprehendClient.BatchDetectEntities(batchDetectEntitiesRequest); foreach(BatchDetectEntitiesItemResult item in batchDetectEntitiesResponse.ResultList) { Console.WriteLine("Entities in {0}:", textList[item.Index]); foreach (Entity entity in item.Entities) PrintEntity(entity); } } Console.WriteLine("End of DetectEntities"); } } }