Exemples d'Amazon Comprehend utilisant AWS SDK for .NET - AWS SDK for .NET

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.

Exemples d'Amazon Comprehend utilisant AWS SDK for .NET

Les exemples de code suivants vous montrent comment effectuer des actions et implémenter des scénarios courants à l' AWS SDK for .NET aide d'Amazon Comprehend.

Les actions sont des extraits de code de programmes plus larges et doivent être exécutées dans leur contexte. Les actions vous indiquent comment appeler des fonctions de service individuelles, mais vous pouvez les visualiser dans leur contexte dans les scénarios correspondants.

Les scénarios sont des exemples de code qui vous montrent comment accomplir des tâches spécifiques en appelant plusieurs fonctions au sein d'un service ou en les combinant à d'autres Services AWS.

Chaque exemple inclut un lien vers le code source complet, où vous trouverez des instructions sur la façon de configurer et d'exécuter le code en contexte.

Actions

L'exemple de code suivant montre comment utiliserDetectDominantLanguage.

AWS SDK for .NET
Note

Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

using System; using System.Threading.Tasks; using Amazon.Comprehend; using Amazon.Comprehend.Model; /// <summary> /// This example calls the Amazon Comprehend service to determine the /// dominant language. /// </summary> public static class DetectDominantLanguage { /// <summary> /// Calls Amazon Comprehend to determine the dominant language used in /// the sample text. /// </summary> public static async Task Main() { string text = "It is raining today in Seattle."; var comprehendClient = new AmazonComprehendClient(Amazon.RegionEndpoint.USWest2); Console.WriteLine("Calling DetectDominantLanguage\n"); var detectDominantLanguageRequest = new DetectDominantLanguageRequest() { Text = text, }; var detectDominantLanguageResponse = await comprehendClient.DetectDominantLanguageAsync(detectDominantLanguageRequest); foreach (var dl in detectDominantLanguageResponse.Languages) { Console.WriteLine($"Language Code: {dl.LanguageCode}, Score: {dl.Score}"); } Console.WriteLine("Done"); } }

L'exemple de code suivant montre comment utiliserDetectEntities.

AWS SDK for .NET
Note

Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

using System; using System.Threading.Tasks; using Amazon.Comprehend; using Amazon.Comprehend.Model; /// <summary> /// This example shows how to use the AmazonComprehend service detect any /// entities in submitted text. /// </summary> public static class DetectEntities { /// <summary> /// The main method calls the DetectEntitiesAsync method to find any /// entities in the sample code. /// </summary> public static async Task Main() { string text = "It is raining today in Seattle"; var comprehendClient = new AmazonComprehendClient(); Console.WriteLine("Calling DetectEntities\n"); var detectEntitiesRequest = new DetectEntitiesRequest() { Text = text, LanguageCode = "en", }; var detectEntitiesResponse = await comprehendClient.DetectEntitiesAsync(detectEntitiesRequest); foreach (var e in detectEntitiesResponse.Entities) { Console.WriteLine($"Text: {e.Text}, Type: {e.Type}, Score: {e.Score}, BeginOffset: {e.BeginOffset}, EndOffset: {e.EndOffset}"); } Console.WriteLine("Done"); } }
  • Pour API plus de détails, voir DetectEntitiesla section AWS SDK for .NET APIRéférence.

L'exemple de code suivant montre comment utiliserDetectKeyPhrases.

AWS SDK for .NET
Note

Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

using System; using System.Threading.Tasks; using Amazon.Comprehend; using Amazon.Comprehend.Model; /// <summary> /// This example shows how to use the Amazon Comprehend service to /// search text for key phrases. /// </summary> public static class DetectKeyPhrase { /// <summary> /// This method calls the Amazon Comprehend method DetectKeyPhrasesAsync /// to detect any key phrases in the sample text. /// </summary> public static async Task Main() { string text = "It is raining today in Seattle"; var comprehendClient = new AmazonComprehendClient(Amazon.RegionEndpoint.USWest2); // Call DetectKeyPhrases API Console.WriteLine("Calling DetectKeyPhrases"); var detectKeyPhrasesRequest = new DetectKeyPhrasesRequest() { Text = text, LanguageCode = "en", }; var detectKeyPhrasesResponse = await comprehendClient.DetectKeyPhrasesAsync(detectKeyPhrasesRequest); foreach (var kp in detectKeyPhrasesResponse.KeyPhrases) { Console.WriteLine($"Text: {kp.Text}, Score: {kp.Score}, BeginOffset: {kp.BeginOffset}, EndOffset: {kp.EndOffset}"); } Console.WriteLine("Done"); } }
  • Pour API plus de détails, voir DetectKeyPhrasesla section AWS SDK for .NET APIRéférence.

L'exemple de code suivant montre comment utiliserDetectPiiEntities.

AWS SDK for .NET
Note

Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

using System; using System.Threading.Tasks; using Amazon.Comprehend; using Amazon.Comprehend.Model; /// <summary> /// This example shows how to use the Amazon Comprehend service to find /// personally identifiable information (PII) within text submitted to the /// DetectPiiEntitiesAsync method. /// </summary> public class DetectingPII { /// <summary> /// This method calls the DetectPiiEntitiesAsync method to locate any /// personally dientifiable information within the supplied text. /// </summary> public static async Task Main() { var comprehendClient = new AmazonComprehendClient(); var text = @"Hello Paul Santos. The latest statement for your credit card account 1111-0000-1111-0000 was mailed to 123 Any Street, Seattle, WA 98109."; var request = new DetectPiiEntitiesRequest { Text = text, LanguageCode = "EN", }; var response = await comprehendClient.DetectPiiEntitiesAsync(request); if (response.Entities.Count > 0) { foreach (var entity in response.Entities) { var entityValue = text.Substring(entity.BeginOffset, entity.EndOffset - entity.BeginOffset); Console.WriteLine($"{entity.Type}: {entityValue}"); } } } }
  • Pour API plus de détails, voir DetectPiiEntitiesla section AWS SDK for .NET APIRéférence.

L'exemple de code suivant montre comment utiliserDetectSentiment.

AWS SDK for .NET
Note

Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

using System; using System.Threading.Tasks; using Amazon.Comprehend; using Amazon.Comprehend.Model; /// <summary> /// This example shows how to detect the overall sentiment of the supplied /// text using the Amazon Comprehend service. /// </summary> public static class DetectSentiment { /// <summary> /// This method calls the DetetectSentimentAsync method to analyze the /// supplied text and determine the overal sentiment. /// </summary> public static async Task Main() { string text = "It is raining today in Seattle"; var comprehendClient = new AmazonComprehendClient(Amazon.RegionEndpoint.USWest2); // Call DetectKeyPhrases API Console.WriteLine("Calling DetectSentiment"); var detectSentimentRequest = new DetectSentimentRequest() { Text = text, LanguageCode = "en", }; var detectSentimentResponse = await comprehendClient.DetectSentimentAsync(detectSentimentRequest); Console.WriteLine($"Sentiment: {detectSentimentResponse.Sentiment}"); Console.WriteLine("Done"); } }
  • Pour API plus de détails, voir DetectSentimentla section AWS SDK for .NET APIRéférence.

L'exemple de code suivant montre comment utiliserDetectSyntax.

AWS SDK for .NET
Note

Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

using System; using System.Threading.Tasks; using Amazon.Comprehend; using Amazon.Comprehend.Model; /// <summary> /// This example shows how to use Amazon Comprehend to detect syntax /// elements by calling the DetectSyntaxAsync method. /// </summary> public class DetectingSyntax { /// <summary> /// This method calls DetectSynaxAsync to identify the syntax elements /// in the sample text. /// </summary> public static async Task Main() { string text = "It is raining today in Seattle"; var comprehendClient = new AmazonComprehendClient(); // Call DetectSyntax API Console.WriteLine("Calling DetectSyntaxAsync\n"); var detectSyntaxRequest = new DetectSyntaxRequest() { Text = text, LanguageCode = "en", }; DetectSyntaxResponse detectSyntaxResponse = await comprehendClient.DetectSyntaxAsync(detectSyntaxRequest); foreach (SyntaxToken s in detectSyntaxResponse.SyntaxTokens) { Console.WriteLine($"Text: {s.Text}, PartOfSpeech: {s.PartOfSpeech.Tag}, BeginOffset: {s.BeginOffset}, EndOffset: {s.EndOffset}"); } Console.WriteLine("Done"); } }
  • Pour API plus de détails, voir DetectSyntaxla section AWS SDK for .NET APIRéférence.

L'exemple de code suivant montre comment utiliserStartTopicsDetectionJob.

AWS SDK for .NET
Note

Il y en a plus à ce sujet GitHub. Trouvez l’exemple complet et découvrez comment le configurer et l’exécuter dans le référentiel d’exemples de code AWS.

using System; using System.Threading.Tasks; using Amazon.Comprehend; using Amazon.Comprehend.Model; /// <summary> /// This example scans the documents in an Amazon Simple Storage Service /// (Amazon S3) bucket and analyzes it for topics. The results are stored /// in another bucket and then the resulting job properties are displayed /// on the screen. This example was created using the AWS SDK for .NEt /// version 3.7 and .NET Core version 5.0. /// </summary> public static class TopicModeling { /// <summary> /// This methos calls a topic detection job by calling the Amazon /// Comprehend StartTopicsDetectionJobRequest. /// </summary> public static async Task Main() { var comprehendClient = new AmazonComprehendClient(); string inputS3Uri = "s3://input bucket/input path"; InputFormat inputDocFormat = InputFormat.ONE_DOC_PER_FILE; string outputS3Uri = "s3://output bucket/output path"; string dataAccessRoleArn = "arn:aws:iam::account ID:role/data access role"; int numberOfTopics = 10; var startTopicsDetectionJobRequest = new StartTopicsDetectionJobRequest() { InputDataConfig = new InputDataConfig() { S3Uri = inputS3Uri, InputFormat = inputDocFormat, }, OutputDataConfig = new OutputDataConfig() { S3Uri = outputS3Uri, }, DataAccessRoleArn = dataAccessRoleArn, NumberOfTopics = numberOfTopics, }; var startTopicsDetectionJobResponse = await comprehendClient.StartTopicsDetectionJobAsync(startTopicsDetectionJobRequest); var jobId = startTopicsDetectionJobResponse.JobId; Console.WriteLine("JobId: " + jobId); var describeTopicsDetectionJobRequest = new DescribeTopicsDetectionJobRequest() { JobId = jobId, }; var describeTopicsDetectionJobResponse = await comprehendClient.DescribeTopicsDetectionJobAsync(describeTopicsDetectionJobRequest); PrintJobProperties(describeTopicsDetectionJobResponse.TopicsDetectionJobProperties); var listTopicsDetectionJobsResponse = await comprehendClient.ListTopicsDetectionJobsAsync(new ListTopicsDetectionJobsRequest()); foreach (var props in listTopicsDetectionJobsResponse.TopicsDetectionJobPropertiesList) { PrintJobProperties(props); } } /// <summary> /// This method is a helper method that displays the job properties /// from the call to StartTopicsDetectionJobRequest. /// </summary> /// <param name="props">A list of properties from the call to /// StartTopicsDetectionJobRequest.</param> private static void PrintJobProperties(TopicsDetectionJobProperties props) { Console.WriteLine($"JobId: {props.JobId}, JobName: {props.JobName}, JobStatus: {props.JobStatus}"); Console.WriteLine($"NumberOfTopics: {props.NumberOfTopics}\nInputS3Uri: {props.InputDataConfig.S3Uri}"); Console.WriteLine($"InputFormat: {props.InputDataConfig.InputFormat}, OutputS3Uri: {props.OutputDataConfig.S3Uri}"); } }

Scénarios

L'exemple de code suivant montre comment créer une application qui analyse les cartes de commentaires des clients, les traduit depuis leur langue d'origine, détermine leur sentiment et génère un fichier audio à partir du texte traduit.

AWS SDK for .NET

Cet exemple d’application analyse et stocke les cartes de commentaires des clients. Plus précisément, elle répond aux besoins d’un hôtel fictif situé à New York. L’hôtel reçoit les commentaires des clients dans différentes langues sous la forme de cartes de commentaires physiques. Ces commentaires sont chargés dans l’application via un client Web. Après avoir chargé l’image d’une carte de commentaires, les étapes suivantes se déroulent :

  • Le texte est extrait de l’image à l’aide d’Amazon Textract.

  • Amazon Comprehend détermine le sentiment du texte extrait et sa langue.

  • Le texte extrait est traduit en anglais à l’aide d’Amazon Translate.

  • Amazon Polly synthétise un fichier audio à partir du texte extrait.

L’application complète peut être déployée avec AWS CDK. Pour le code source et les instructions de déploiement, consultez le projet dans GitHub.

Les services utilisés dans cet exemple
  • Amazon Comprehend

  • Lambda

  • Amazon Polly

  • Amazon Textract

  • Amazon Translate