private static async void AnalyzeText(string text) { var analyticsServiceClient = new TextAnalyticsServiceClient(_subscriptionKey); Console.WriteLine(""); await AnalyzeLanguage(text, analyticsServiceClient); await AnalyzeSentiment(text, analyticsServiceClient); await DetectKeyPhrases(text, analyticsServiceClient); Console.WriteLine("Done !"); Console.WriteLine(""); }
private static async Task AnalyzeSentiment(string text, TextAnalyticsServiceClient analyticsServiceClient) { var sentiment = await analyticsServiceClient.AnalyzeSentimentAsync(text); Console.WriteLine(" - Sentiment "); foreach (var document in sentiment.documents) { Console.WriteLine($@" - {document.id} Sentiment [{document.score}]"); } foreach (var error in sentiment.errors) { Console.WriteLine($@" - Id: {error.id}, {error.message}"); } }
private static async Task DetectKeyPhrases(string text, TextAnalyticsServiceClient analyticsServiceClient) { var keyphrases = await analyticsServiceClient.DetectKeyPhrasesAsync(text); Console.WriteLine(" - KeyPhrases "); foreach (var document in keyphrases.documents) { foreach (var keyPhrase in document.keyPhrases) { Console.WriteLine($@" key phrase: {keyPhrase}"); } } foreach (var error in keyphrases.errors) { Console.WriteLine($@" - Id: {error.id}, {error.message}"); } }
private static async Task AnalyzeLanguage(string text, TextAnalyticsServiceClient analyticsServiceClient) { var analytic = await analyticsServiceClient.AnalyzeLanguageAsync(text); Console.WriteLine(" - Language "); foreach (var document in analytic.documents) { var langs = document.detectedLanguages.Aggregate("", (current, detectedLanguage) => current + $@"name: {detectedLanguage.name} [{detectedLanguage.iso6391Name}], score [{detectedLanguage.score}] { Environment.NewLine}"); Console.WriteLine($@" - Id: {document.id} - {langs}"); } foreach (var error in analytic.errors) { Console.WriteLine($@" - Id: {error.id}, {error.message}"); } }
static async Task ProcessTexts() { string msg = "Today is an excellent day! Every day is; you see, rain makes plants grow and sun makes us happy. It's all good, either way."; string apiUrl = "https://eastus.api.cognitive.microsoft.com/text/analytics/v2.1/"; string apiKey = "2b7db267d498432e80061c5c8146b7e7"; TextAnalyticsServiceClient svc = new TextAnalyticsServiceClient(apiUrl, apiKey); TextAnalyticsServiceResult svcResult = svc.ProcessAsync(msg).GetAwaiter().GetResult(); if (svcResult.Responses.Count > 0) { TextAnalyticsResponse response = svcResult.Responses.First(); Console.WriteLine("Sentiment Score: " + response.SentimentScore.ToString()); Console.WriteLine(); Console.WriteLine("Key Phrases: " + response.KeyPhrases.Count.ToString()); foreach (string keyPhrase in response.KeyPhrases) { Console.WriteLine(keyPhrase); } Console.WriteLine(); Console.WriteLine("Detected Languages: " + response.DetectedLanguages.Count.ToString()); foreach (TextAnalyticsLanguage detectedLanguage in response.DetectedLanguages) { Console.WriteLine(detectedLanguage.Name); } Console.WriteLine(); Console.WriteLine("Entities: " + response.Entities.Count.ToString()); foreach (TextAnalyticsEntity entity in response.Entities) { Console.WriteLine(entity.Name + " | " + entity.Type + " | " + entity.SubType); } Console.WriteLine(); Console.WriteLine("Errors: " + svcResult.Errors.Count.ToString()); foreach (TextAnalyticsError error in svcResult.Errors) { Console.WriteLine(error.Message); } Console.WriteLine(); } //Console.WriteLine("George Washington Farewell Address (partial)"); //string text2 = File.ReadAllText("texts/text2.txt"); //TextAnalyticsServiceResult result2 = await svc.ProcessAsync(text2); //string json2 = result2.ToJson(); //Console.WriteLine(json2); //Console.WriteLine(); //Console.WriteLine(); }